Release v0.20.0 - #18
Merged
Merged
Conversation
…rop the _v2 alias from the api, the pin tool and the pin (activation registry row 22, D103)
… or moved under src/consensus from the indexer's bytes, callers on literal registry keys, pins re-recorded (activation registry row 21c)
…te files and reads a moved hub path from the pin; the armed-map census counts literal-key callers (activation registry rows 28-pin and 22)
…arrier paths (activation registry row 23)
…t (no error entries)
…t W5, re-cut fingerprint kept)
…oved into src/db/ The code-structure pass moved src/db.js to src/db/index.js and kept path.join(__dirname, 'sql') at both readers, so the sync-owned DDL directory resolved to src/db/sql/, which does not exist, and the container died at boot with ENOENT from verifySyncTables. Both call sites now go through one sqlDir() helper that resolves src/sql/. The existing verifySyncTables unit tests stub fs.readdirSync and never touched the real directory, which is how the gate stayed green. The new test resolves the same directory the boot path reads, asserts it exists on disk with every sync-owned .sql file, and drives verifySyncTables and createTableFromFile with fs left unstubbed.
…r-sync # Conflicts: # CHANGELOG.md
…gistry P11)
A changed-hash move requires a reason and writes one atomic {from, to, path, date, reason} record. Verified 17/0 byte-identical across indexer, sync and hub.
…and shared_rows_2 from the indexer)
…espace arming, carrier re-pin
…0.0 train (dq3 (a)) This reverts commit 707fe79; the token bridge and policy gates stay dark on v0.20.0 and arm on the next train.
This was referenced Sep 17, 2026
… the BTC instant The v0.20.0 family was sized 2026-09-16 20:41Z from last-99-block cadences. LTC testnet then ran at about 82 s per block against the 146.6 s that sizing assumed, pulling its producer boundary to 3.2 h out while BTC's stayed 53.0 h out, and DOGE's drifted 7.5 h early. Two legs of one cross-chain match would have crossed the flag day about two days apart, which is what the same-wall-clock-instant rule exists to prevent. Re-measured 2026-09-17 22:45Z over a trailing window as long as the lead being sized: TBTC 152,891 at 576.7 s per block, TLTC 4,889,190 at 82.5 s, TDOGE 67,904,912 at 27.7 s. BTC is unchanged, still keyed to epoch close 153,216 plus 6 buried; LTC and DOGE are converted onto that same instant, and each consumer is its own producer plus six hours at its own measured cadence rather than a block count carried over from the first sizing. Arms the TRAIN_ACTIVATION 0.20.0 row at testnet 153,116, 106 blocks and about 17 h below the BTC producer. resolveRuleSet reads only the local map, so with no row every block above the boundary keeps resolving under 0.19.0, and a manifest naming 0.20.0 halts a fleet in which no build implements it. Records the cadence-window rule the re-cut used and makes the re-size rule per chain instead of BTC-keyed, so an LTC or DOGE drift past the six-hour ordering margin forces a re-cut the way an overrun BTC height already does. (cherry picked from commit 5760e5d6561a53505e7f9d45dfaa2142aa5248f8)
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.
Title: Release v0.20.0
Summary
Changed
carrier_logic_pin_ops --movecan re-pin changed carrier logic and record path and hash transitions atomically.Sibling release PRs
Merge order
Merge order: merge after xchain-vm, in any order with xchain-decoder, xchain-encoder, xchain-utxo-tracker, xchain-regtest-miner, and before xchain-indexer.
CI note
GitHub CI on this branch clones sibling repos at develop, not at this release branch, unless a workflow call passes siblings-ref for release branches. A cross-repo guard failure here can reflect that develop-only comparison rather than a real disagreement with a sibling still on this release branch; check the venue pre-push gate (which ships each companion at its own release branch) before treating a red guard as a defect.