Repository navigation
Release v0.21.0 - #23
Merged
Merged
Conversation
Give benchmark fixtures a valid dummy RPC endpoint and mempool database, require real collected tests, and clamp disabled fast-tier timeouts. Add regressions for migration paths and bufferutils parity, and make mutator randomness reproducible from a printed FUZZ_SEED.
Vendor the protocol-time resolver and derive one immutable clock context per block. Preserve raw timestamps in block storage while routing protocol time through decoder decisions and retrying failed history reads.
…covery text Every durable REORG_HALT recovery message now names both the audited clear-history path and a full resync, so operators are pointed at the safe recovery instead of a resync-only assumption. Also initializes the clear-history cache fields beside the other halt fields on a fresh decoder, and adds a test pinning their presence.
Add a side-effect-free migration status mode that reports applied and pending migration file names in a stable JSON schema, so tooling can check migration state without risking a write. Cover the read-only query path, fresh-database behavior, failures, cleanup, and argument safety.
The full CI script validated required sibling repos up front but never propagated that requirement into the tiers themselves, so a sibling removed mid-run could silently skip coverage instead of failing the gate. Export the strict-sibling flag right after the presence check so every tier inherits it from one place.
… points Coverage checking previously excluded unloaded files from the denominator and let floors trail measured coverage by up to nearly 10 points, hiding regressions in files nothing ever imported. Add full-file coverage measurement with a single documented non-owned exclusion, remeasure, and ratchet every floor to within 1.5 points of the new measurement, with a sync test enforcing the exclusion list and the gap going forward.
…sting Widen the mutation-testing glob to cover the split decoder modules instead of stopping at the pre-split facade, and add the newly exposed text-literal-reading tests to the mutation-only ignore list while keeping them live under the plain unit suite. Add a weekly scheduled workflow that runs the mutation suite and archives a nonempty report, closing the gap where mutation coverage had no recurring run.
Commits the pending tier-timing edit so the full CI script reports elapsed seconds on each tier's pass/fail line, bringing the generated CI-tier block back in sync with the wiring tool.
Move block persistence into named helpers and divide oversized test suites without changing behavior.
Wires the decoder's existing test:unit suite-title pin into bin/ci-full.sh as a tier of its own, and refreshes the pin and its rename and split maps to the current tree so the tier starts green.
Cover startup failure logging and exit behavior, including logger failures. Pin crash handler installation, event normalization, and listener cleanup.
The pending-migration log lines and startup errors named a src/migrate.js that does not exist; they now name src/db/migrate.js.
Record the new crash-reporting suite in the title map. Keep the wire-fidelity fixture compatible with the shipped encoder relay-fee lookup.
Restore the sibling-gated taproot fixture to its pre-row state so the crash-reporting coverage remains scoped to the requested surfaces.
Provide the relay fee response required by encoder transaction construction.
Replace stale operator commands and add a source-wide regression guard.
Describe shipping each sibling at its canonical origin head, matching the encoder file.
Configure pooled and direct connection parameters for UTC date handling. Add focused coverage for the timezone settings and retained pool safeguards.
Add the manual UTC-preserving conversion, baseline it when the live column already uses DATETIME, and cover the schema and runner contracts.
Warn for HTTP-200 RPC -5 responses while preserving error logging for code-less body errors. Add focused connector coverage for both paths.
Map changed source and test files to the existing Mocha runner groups. Preserve full-tier behavior while deferring Docker suites from fast landing checks.
Require the plan invocation to remain directly nested under the fast-tier condition and unique in the CI driver.
Document the driver version and per-connection session statement behind the UTC pool setting.
Scan top-level schema definitions for TIMESTAMP columns and pin the migration ledger, conversion order, and UTC connection settings.
Inspect emitted schema SQL so comments cannot satisfy the DATETIME requirement.
Keep the runtime assertions active while allowing the existing suite identity pin to remain unchanged.
Keep all four tests visible to dry-run collection and refresh the committed suite-title inventory.
Read the migration statement module directly so the completeness test guards the required source declaration as well as rejecting the legacy type.
Strip JavaScript comments before checking the migration ledger source so comment-only type text cannot satisfy the completeness pin.
Require the DATETIME match to begin at the applied_at column string so an ALTER statement cannot satisfy the completeness check.
Exercise timestamp conversion, idempotency, and fresh-schema baselining against the integration venue.
Compare consensus constants, normalized function bodies, and a shared median-time fixture against the trusted indexer sibling.
Replace source-text parity with value vectors for the shared consensus clock and refresh the unit suite-title pin.
Refresh the title pin for the integration migration suite and compare every supported test script from the ci-full tier. Keep the rename and split records aligned with the regenerated pin.
Each fix was re-derived from the code, verified against its own tests, and adversarially re-checked before it was accepted. - A null halt id makes clearReorgHalt skip its superseded-halt check instead of refusing - xchain-decoder destructive-DDL guard has the same ALTER ONLINE/IGNORE TABLE prefix bypass - CREATE TRIGGER / CREATE EVENT pass the auto-migration destructive guard, a smuggle channel like the ... - Decoder ActionManifestConformance failure messages point at src/XChainDecoder.js, but the action-name set and ... - Envelope reveal: pubkey capture reads the reveal's ins[0] witness, so a 20-byte payload records the tapscript ... - Adversarial vector corpus does not pin the input-0 rule or the bare-opcode payload-element rule - xchain-decoder's bufferutils.js reverseBuffer doc still claims a new-buffer return the tracker twin already ... - /live sends reorg_halted:false without reorg_halt_checked_at, so a probe that never ran reads as a clean ... - GET /status and /live leave out reorg_halt_cleared_at/_reason, so a cleared decoder looks like one that was ... - Re-pin the at1 suite-title map for the added halt-diagnostics tests
Replay first-parent develop history with optional consensus narrowing. Report selection shares and verify required source-to-test mappings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v0.21.0
Base:
masterat6d49ed2c583b444ad127e8bb5800cc589631590fHead:
release/v0.21.0ate219a18af1f6a223fec9a872c3cc30f0acf97658Landed refs