Skip to content

Release v0.20.0 - #18

Merged
jdogresorg merged 16 commits into
masterfrom
release/v0.20.0
Sep 18, 2026
Merged

jdogresorg merged 16 commits into
masterfrom
release/v0.20.0

Conversation

@jdogresorg

@jdogresorg jdogresorg commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Title: Release v0.20.0

Summary

Changed

  • The vendored registry includes shipped mirror-admission and anchor-attestation barrier heights.
  • carrier_logic_pin_ops --move can re-pin changed carrier logic and record path and hash transitions atomically.
  • Activation modules and fingerprint tooling follow the consolidated consensus layout.

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.

…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)
…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.
…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.
…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.
… 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)
@jdogresorg
jdogresorg merged commit 5c03236 into master Sep 18, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant