Skip to content

Release v0.23.0 - #66

Merged
jdogresorg merged 283 commits into
masterfrom
release/v0.23.0
Oct 12, 2026
Merged

jdogresorg merged 283 commits into
masterfrom
release/v0.23.0

Conversation

@jdogresorg

Copy link
Copy Markdown
Contributor

What this release carries

Added

  • Added co-located indexer URLs to the hub config and honored per-coin hub seed and route settings.
  • Added an isolated bootstrap restore rehearsal and recovery of shared containers after a redeploy.
  • Recognized the UNARMED go-live sentinels in the release guards.

Changed

  • Applied container limits and resource overrides consistently at creation.
  • Made update all continue past a guard refusal and failed closed when the latest release lookup errors.

Fixed

  • Guarded coin node and datadir bind mount sources against drift.
  • Preserved the container environment on recreate and blocked stake teardown on a sleeping source address.
  • Dropped the encoder from autoheal because a restart cannot clear a tracker halt.

Testnet activation

  • MIRROR_ADMISSION_ACTIVATION.BTC:testnet on BTC:testnet at height 154234
  • MIRROR_ADMISSION_ACTIVATION.LTC:testnet on LTC:testnet at height 4903068
  • MIRROR_ADMISSION_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67936053
  • MIRROR_ADMISSION_CONSUMER_ACTIVATION.BTC:testnet on BTC:testnet at height 154291
  • MIRROR_ADMISSION_CONSUMER_ACTIVATION.LTC:testnet on LTC:testnet at height 4903291
  • MIRROR_ADMISSION_CONSUMER_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67936888
  • ANCHOR_ATTEST_BARRIER_ACTIVATION.BTC:testnet on BTC:testnet at height 154291
  • TOKEN_BRIDGE_ACTIVATION.BTC:testnet on BTC:testnet at height 154567
  • TOKEN_BRIDGE_ACTIVATION.LTC:testnet on LTC:testnet at height 4903068
  • TOKEN_BRIDGE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67951140
  • TOKEN_POLICY_INHERITANCE_ACTIVATION.BTC:testnet on BTC:testnet at height 154567
  • TOKEN_POLICY_INHERITANCE_ACTIVATION.LTC:testnet on LTC:testnet at height 4903068
  • TOKEN_POLICY_INHERITANCE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67951140
  • ORACLE_PRICE_AGE_HOURLY_ACTIVATION.BTC:testnet on BTC:testnet at height 154778
  • ORACLE_PRICE_AGE_HOURLY_ACTIVATION.LTC:testnet on LTC:testnet at height 4905005
  • ORACLE_PRICE_AGE_HOURLY_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956923
  • LIST_SHARE_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_SHARE_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_SHARE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_SHARE_CONSUMER_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_SHARE_CONSUMER_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_SHARE_CONSUMER_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_UNION_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_UNION_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_UNION_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_TRANSFER_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_TRANSFER_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_TRANSFER_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_ADDRESS_REF_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_ADDRESS_REF_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_ADDRESS_REF_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_TICK_COIN_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_TICK_COIN_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_TICK_COIN_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • MARKET_LIST_SOURCE_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • MARKET_LIST_SOURCE_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • MARKET_LIST_SOURCE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_CHANGE_REMATCH_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • LIST_CHANGE_REMATCH_ACTIVATION.LTC:testnet on LTC:testnet at height 4905004
  • LIST_CHANGE_REMATCH_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67956922
  • LIST_SHARE_PRODUCER_ACTIVATION.BTC:testnet on BTC:testnet at height 154777
  • ORACLE_HOURLY_WINDOW_FIRST_ROUND.testnet on oracle:testnet at height 5082
  • ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ANCHOR_EMPTY_FOLD_REJECT_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • COOLDOWN_MATURITY_ESCROW_REVERSAL_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • DISPENSER_REFILL_POLICY_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • DISPENSER_REFILL_POLICY_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • DISPENSER_REFILL_POLICY_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.BTC:testnet on BTC:testnet at block time 1791804379
  • ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.LTC:testnet on LTC:testnet at block time 1791804379
  • ATTEST_RELAY_RESPONSE_DEADLINE_ACTIVATION.DOGE:testnet on DOGE:testnet at block time 1791804379
  • BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BRIDGE_ROW_FIELDS_TERMINAL_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ADMIT_CHAIN_MARGIN_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ATTEST_BATCH_HEAD_STATE_HASH_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ANCHOR_PREACTIVATION_STATUS_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ANCHOR_PREACTIVATION_STATUS_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ANCHOR_PREACTIVATION_STATUS_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ANCHOR_ARCHIVE_FOLD_TERM_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • CROSS_CHAIN_REMOTE_TOKEN_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • SEND_GATED_TOTAL_TICK_ID_ACTIVATION.BTC:testnet on BTC:testnet at block time 1791804379
  • SEND_GATED_TOTAL_TICK_ID_ACTIVATION.LTC:testnet on LTC:testnet at block time 1791804379
  • SEND_GATED_TOTAL_TICK_ID_ACTIVATION.DOGE:testnet on DOGE:testnet at block time 1791804379
  • PRICE_LANDED_STRICT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • PRICE_LANDED_STRICT_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • PRICE_LANDED_STRICT_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ATTEST_RELAY_FEE_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ATTEST_RELAY_FEE_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ATTEST_RELAY_FEE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • BIGINT_SURFACE_STRIP_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BIGINT_SURFACE_STRIP_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BIGINT_SURFACE_STRIP_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ACTION_ADMISSION_DISPATCHED_ONLY.BTC:testnet on BTC:testnet at height 156230
  • ACTION_ADMISSION_DISPATCHED_ONLY.LTC:testnet on LTC:testnet at height 4912984
  • ACTION_ADMISSION_DISPATCHED_ONLY.DOGE:testnet on DOGE:testnet at height 67989993
  • VM_LINT_BANNED_WITH_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • VM_LINT_BANNED_WITH_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • VM_LINT_BANNED_WITH_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • VM_LINT_NESTING_DEPTH_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • VM_LINT_NESTING_DEPTH_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • VM_LINT_NESTING_DEPTH_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • DISPENSER_DELAY_PROTOCOL_TIME_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BRIDGE_POLICY_REFUSAL_RECORD_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • PRICE_WIRE_TRAILING_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • PRICE_WIRE_TRAILING_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • PRICE_WIRE_TRAILING_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • ORACLE_SNAPSHOT_AGE_SECONDS_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • BET_FEED_LIST_EDIT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BET_FEED_LIST_EDIT_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BET_FEED_LIST_EDIT_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • CROSS_CHAIN_OFFER_LIST_EXPORT.BTC:testnet on BTC:testnet at height 156230
  • CROSS_CHAIN_OFFER_LIST_EXPORT.LTC:testnet on LTC:testnet at height 4912984
  • CROSS_CHAIN_OFFER_LIST_EXPORT.DOGE:testnet on DOGE:testnet at height 67989993
  • VM_LINT_DESTRUCTURE_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • VM_LINT_DESTRUCTURE_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • VM_LINT_DESTRUCTURE_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • GOV_TALLY_FAILOVER_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • BRIDGE_PROOF_READY_SNAPSHOT_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • LANDING_CLEAR_FRONTIER_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • LANDING_CLEAR_FRONTIER_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • LANDING_CLEAR_FRONTIER_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993
  • REORG_SNAPSHOT_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.BTC:testnet on BTC:testnet at height 156230
  • CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.LTC:testnet on LTC:testnet at height 4912984
  • CROSS_CHAIN_OFFER_LIST_ENFORCEMENT.DOGE:testnet on DOGE:testnet at height 67989993
  • FEDERATED_HUB_ACTIVATION.BTC:testnet on BTC:testnet at height 156230
  • FEDERATED_HUB_ACTIVATION.LTC:testnet on LTC:testnet at height 4912984
  • FEDERATED_HUB_ACTIVATION.DOGE:testnet on DOGE:testnet at height 67989993

Release v0.23.0

Base: master at 5bc40e57990ff6a40fa7b7e0a71f8355695173ec
Head: release/v0.23.0 at c06ee3563047d74ac023d04260fe45ff167593b0

Landed refs

  • c06ee35 Release v0.23.0
  • 6c22602 Wait for the attest-mirror stack explorer before calling the stack ready
  • 07e06bb Raise the attest-mirror stack indexers' rate limit
  • 488e97b Merge: Seed the attest-mirror stack hub with each indexer's database coordinates
  • 6804722 Seed the attest-mirror stack hub with each indexer's database coordinates
  • 624cce3 Give the config chaos experiments the sidecar fs calls and a writable config directory
  • 2ae9c9d Merge: Update R-E2E-006 for the probe-free credential rotation check
  • 034ab22 Update R-E2E-006 for the probe-free credential rotation check
  • dc47a26 Set the repo git identity at session start and turn attribution off
  • 088938f Merge: Update database credential contract tests
  • f7395db Update database credential contract tests
  • 63a2c7b Merge: Split provisioning tests within structure limits
  • bef206f Merge: Release self-update lock before re-exec
  • c079148 Merge: Accept pinned sibling main checkouts
  • 34a5686 Split provisioning tests within structure limits
  • b01670a Grant exact mainnet HubMirror access
  • 23b4ade Merge six e2e shards per coin
  • 0e8f533 Merge per-install database passwords
  • 8e7ea23 Merge database host port override
  • 491fe33 Merge bootstrap publish refusal reason
  • 3a70710 Release self-update lock before re-exec
  • f5b111f Shard nightly action matrix six ways
  • 04c3e03 Generate database passwords per install
  • faaa777 Allow overriding the database host port
  • 111019a Split lock handoff helpers for structure checks
  • 1e2d4b9 Split refusal-reason test helper out of the describe block
  • a724135 Accept pinned sibling main checkouts
  • b44273d Make self-update lock handoff atomic
  • 15f5d7d Preserve bootstrap refusal diagnostics
  • 103e41a Fix 11 review findings in xchain-node
  • d739477 Merge: Mark package as private
  • 4e17d40 Mark package as private
  • 541e76c Merge: Use stdout for health probe diagnostics
  • 2319f37 Use stdout for health probe diagnostics
  • b9304e8 Report failed health probe responses
  • 513e600 Merge: Split go-live scanner test suites
  • b1f96a5 Split go-live scanner test suites
  • dc3a356 Merge: publish-bootstraps: skip the run while the roll hold file exists
  • 755a774 Exercise UNARMED scanner behavior
  • ec9a271 Narrow UNARMED sentinel scope
  • 865eaa1 Recognize UNARMED go-live sentinels
  • 18660fc publish-bootstraps: skip the run while the roll hold file exists
  • 0a042cf Merge reviewed lane work into develop
  • 2cf694a Split schema readiness test groups
  • 73b2cbe Wait for indexer schema readiness signal
  • 435cb36 test: split the configured database name cases into named helpers
  • 84a7481 fix: review round corrections
  • 04094dc Merge: Fail closed when latest release lookup errors
  • 96c5250 Merge: fix(node): preserve drift guard executor injection
  • d83c030 Merge: Restore the coverage test timeout
  • 7c0eb79 Restore the coverage test timeout
  • ebe9941 sync trunk
  • d491c50 Fail closed when latest release lookup errors
  • bced378 fix(node): preserve drift guard executor injection
  • 89eb602 Merge: fix(node): keep stop budget import unchanged
  • dfbf213 Merge: Preserve indexer URLs for ambiguous hub networks
  • a983404 Re-take the identity pin for the re-synced coin registry
  • f74942c Re-sync the coin registry from the canonical xchain-hub/src/coins
  • 9061b56 Keep mirror repair coverage within reset tests
  • 6bc0929 Match mirror cursor repair predicate exactly
  • 5c83d0f Recognize repaired mirror cursor ids
  • c661958 sync trunk
  • 8456c6c sync trunk
  • 5747fab Block stake teardown on a sleeping source address
  • 8914d20 Fix node shared-service uninstall and attest-mirror leg findings
  • 44b0d93 Preserve indexer URLs for ambiguous hub networks
  • 9f0faaf Cover colocated hub indexer URLs
  • becc96b Prefer Docker DNS for co-located hub indexers
  • 3286e22 fix(node): keep stop budget import unchanged
  • 8bfdd2a fix(node): preserve container environment on recreate
  • b872674 Keep hub config networks module within structure limits
  • 912bd3d Wire co-located indexer URLs into hub config
  • b373a64 sync trunk
  • cf28b8a Compose co-located LTC and DOGE indexer URLs for the hub
  • ebeb719 Merge: Harden coin conformance sibling guard
  • 59ad265 Isolate config tests from database lookup
  • e7dcbdd Harden coin conformance sibling guard
  • d25067a Give coverage tests runner headroom
  • 8393402 Merge: Stabilize hub network config test
  • a7bb64c Stabilize hub network config test
  • 5eeb628 Merge: Guard datadir mount source drift
  • 15217e3 Guard datadir mount source drift
  • 887a34d sync trunk
  • bb6ac24 Merge: Clarify attribution license term
  • 9e6c903 sync trunk
  • feebe22 Review round 2026-10-06, fourth pass: 2 review fixes in xchain-node
  • e2faed1 Guard coin node bind mount sources
  • b6117a1 Review round 2026-10-06, third pass: 1 review fix in xchain-node
  • cd788dc Review round 2026-10-06, second pass: 1 review fix in xchain-node
  • 7fba6f6 Clarify attribution license term
  • 123e973 Merge: sync trunk
  • 859c060 Merge: sync trunk
  • a3d75a8 Merge: Keep encoder autoheal coverage within structure limits
  • 0c1c3aa Review round 2026-10-06: 5 review fixes in xchain-node
  • 55d1ea2 sync trunk
  • 1e3cf5f sync trunk
  • 6951c07 Keep encoder autoheal coverage within structure limits
  • 685149c sync trunk
  • 65e7b07 Make the node container actions in the module menu rebuild the node
  • cf03056 Make update all continue past a guard refusal
  • b8ef7d1 Drop the encoder from autoheal since its probe 503s on a tracker halt a restart cannot clear
  • 21c3470 Merge master (v0.22.7 hotfix) back into develop
  • 2b8fa40 Merge: Move the reset and update module operation suites into topic subdirectories to make room in the directory
  • d739c94 Merge: Move docker service error-branch and monitor suites into topic subdirectories to free room under the files-per-di
  • 436be04 Merge: Move autoheal backoff and probation suites into topic subdirectories
  • e3731db Merge: Move database service suites into external_db, watermark and build_module subdirectories to make room under the p
  • c692467 Move the reset and update module operation suites into topic subdirectories to make room in the directory
  • 7c5c414 Move autoheal backoff and probation suites into topic subdirectories
  • a484f8f Move docker service error-branch and monitor suites into topic subdirectories to free room under the files-per-directory limit
  • 39ab69f Move database service suites into external_db, watermark and build_module subdirectories to make room under the per-directory file limit
  • d5c9d33 Merge: Wire the integration tier into npm run ci and stub the hub consensus env guard in the docker command fixture so i
  • ac74062 Wire the integration tier into npm run ci and stub the hub consensus env guard in the docker command fixture so it never inspects a live hub container
  • 97483af Merge: Pin the chaos config tests to a stub database service so they no longer depend on the host's database container
  • d2bd352 Pin the chaos config tests to a stub database service so they no longer depend on the host's database container
  • 4410e1b sync trunk
  • d10f317 Run the fuzz, chaos and e2e tiers in npm run ci and stub readFileSync in the config fuzz
  • 991fe20 Merge master (v0.22.6 hotfix) back into develop
  • 5abd8d5 Merge: Give the bootstrap health gate test db stubs a strict container lookup
  • f1d5ace Give the bootstrap health gate test db stubs a strict container lookup
  • 772c7e9 Give the bootstrap test db stub a strict container lookup that follows the lenient one
  • 231f2c0 sync trunk
  • 6fba4ea sync trunk
  • 06be19f Merge: Add the CLA Assistant step to the PR checklist
  • 1b2f765 Merge: Collect the boundary test tier in the ci script
  • 9dc2fee Add the CLA Assistant step to the PR checklist
  • 5d1ecd7 Merge master (v0.22.5 hotfix) back into develop
  • 4f98eca sync trunk
  • f06b425 Collect the boundary test tier in the ci script
  • 178bf01 Merge: Run the e2e suite with whichever preflight file the ref carries
  • 9c8556d sync trunk
  • 5abd6c3 Run the e2e suite with whichever preflight file the ref carries
  • 495c556 Merge: Merge develop: restore package.json to develop
  • d99956d Merge develop: restore package.json to develop
  • df6f9c0 sync trunk
  • c63ba29 sync trunk
  • 337d2bc Refuse a bootstrap restore only after archive verification, validate the validator signing pubkey, stop treating a failed DB inspect as a fresh install and keep services recoverable when a reset wipe fails (review 10111 10085 10026 10029 10028)
  • 9f355fe Read the node's remote release tag in the menu, gate release hashes by host arch, map asset rate limits, guard a missing remote node entry and drop the unused latest-version path (review 10070 10072 10068 10069 10071)
  • 0eae6a9 sync trunk
  • cb731be sync trunk
  • 2124265 Merge: Read the decoder reorg halt from a plain body or a JSON-RPC result envelope
  • 0f6f22c Make the boundary tier's fs stubs complete
  • 7449779 Read the decoder reorg halt from a plain body or a JSON-RPC result envelope
  • 6f79270 Stop the service before a bootstrap restore when the registry lookup errors
  • 2509268 Collect the boundary test tier in npm run ci
  • 4236064 Merge: sync trunk
  • 982a5b0 Merge: Trim install_lifecycle e2e file back under the 400 line limit
  • 55114a7 sync trunk
  • 9b7ad97 Trim install_lifecycle e2e file back under the 400 line limit
  • 0f885c8 sync trunk
  • e61770b Move the generated DOGE signer environment reads into config
  • 8c4e473 Merge master (v0.22.4 hotfix) back into develop
  • c9ce779 Restore original E2E contract comments
  • 85d40df sync trunk
  • f9f7d1a Merge: Extract container run argument helpers
  • a8b7bdb Extract container run argument helpers
  • f51afb7 Preserve E2E contract comments
  • 0cc6ae5 Apply container limits during creation
  • 809b0d2 Apply container resource overrides consistently
  • 0593788 sync trunk
  • a478ddf Isolate update preflight guards in the e2e harness
  • 6e2ed3a Merge: Keep passing env escaping fuzz cases unchanged and assert the env contract only in failing ones
  • d876175 Align update scenario label with graceful stop
  • 40b9d72 Keep passing env escaping fuzz cases unchanged and assert the env contract only in failing ones
  • 1936fea Keep fuzz env comments within the block cap and preserve comment coverage
  • eb299f4 Tighten update replacement command coverage
  • 0ad61cb Restore full all-module update coverage in the e2e update flow
  • ef4971b Keep install lifecycle scenario within the file line limit
  • 74ca601 Update e2e scenarios to the current module-ops contracts
  • 3f4911e Assert string container ID rejections
  • 2e9ac0d sync trunk
  • 4a121ef sync trunk
  • 47975a7 Merge: Clarify MariaDB precheck success stub
  • 96d9004 Narrow e2e coverage to environment contract
  • d5ce5e5 sync trunk
  • 75a52b6 Merge: Derive satisfied indexer ledger rows for a from-genesis reset
  • 8e35791 Align e2e scenarios with current contracts
  • 426e4ff Merge: Enforce additive suite title comparisons
  • a870ada Restore container ID rejection contract
  • 0c367fb Clarify MariaDB precheck success stub
  • 272f7bc Require Error container ID rejections
  • 08afe95 Derive satisfied indexer ledger rows for a from-genesis reset
  • 5ec3644 Align fuzz environment contracts
  • adcc8d5 sync trunk
  • 174973a Remove unrelated chaos dependency overrides
  • 2288791 sync trunk
  • ab78c30 Enforce additive suite title comparisons
  • c7e042b sync trunk
  • 671c579 Keep active split records blocking
  • b260d1c Merge: Fix dependency fallback test isolation
  • 2469b14 Merge: Keep hub regression within structure limits
  • f0a89e9 Merge: Align process resilience chaos contracts
  • bed6022 Refresh additive suite title pin
  • a57c477 sync trunk
  • ed8bbb5 Remove unrelated fuzz contract rewrites
  • 99e7ca1 Fix dependency fallback test isolation
  • 6d5e384 sync trunk
  • 28ea0f1 Keep hub regression within structure limits
  • cb9038d Align process resilience chaos contracts
  • cbf0643 Align fuzz tests with strict runtime contracts
  • 33e4a15 sync trunk
  • 33ec580 Merge: Use a public bootstrap rehearsal database name
  • 646c98b Merge: Restore original Stryker test order
  • 91cd5cf Merge: Test Docker argument dependency fallbacks
  • c86a03d Limit stale container recovery to hub
  • 0d4a669 Use a public bootstrap rehearsal database name
  • 59f22c5 Restore original Stryker test order
  • 6da908b sync trunk
  • ee6000a Test Docker argument dependency fallbacks
  • 9d6acee sync trunk
  • 23b63f6 sync trunk
  • ea474f0 sync trunk
  • 2b848d5 Merge: Stub integration update target
  • 1b75db6 Merge: sync trunk
  • 3aca3cd test(pins): prove growth cannot mask drops
  • f79b029 fix(pins): allow additive suite title growth
  • 325a63a Stub integration update target
  • e795958 Make module orchestration test hermetic
  • 893a69c Restore complete mutation operator coverage
  • eeb16f3 Complete split-service mutation coverage
  • 284307a sync trunk
  • efc4363 Test stale hub container recovery
  • 0c84393 sync trunk
  • 29e8daa sync trunk
  • 7589cde sync trunk
  • 3aa4b4a Add isolated bootstrap restore rehearsal
  • 158e286 Merge: Fix config proxyquire stub keys
  • 6cdac10 Recover shared containers after redeploy
  • 1118934 Pin Docker argument dependency fallbacks
  • 9cb483e Cover split services in mutation runs
  • 0a1b8aa Mutate the split service modules and fail the scheduled run on an empty report
  • b9a87c3 Fix config proxyquire stub keys
  • dfbfd10 Preserve required Docker argument dependencies
  • 8cc6fd6 sync trunk
  • 020f2a6 Merge: Honor per-coin hub route precedence
  • 4b29dae Honor per-coin hub route precedence
  • bd0b8d5 Confirm develop CI recovery
  • 4f2574f Merge master (v0.22.3 hotfix) back into develop
  • cf63b8c Merge: Honor per-coin hub seed configuration
  • 12760de Honor per-coin hub seed configuration
  • bd3fd45 Merge: Expect HTTPS modulesUrls clone in null-branch fuzz case
  • f392b32 Expect HTTPS modulesUrls clone in null-branch fuzz case
  • 4f1a51f Merge: Assert complete resolveArgs refusal messages
  • 88d8125 Restore encoder process resilience scenarios
  • 8bdb5f4 sync trunk
  • 6f7c000 Merge: Pin clone call by arguments in git clone chaos tests
  • cabe608 Merge: test release asset exports
  • 0350571 Fix focused process resilience chaos cases
  • 47b4b30 Assert complete resolveArgs refusal messages
  • 10e99bc sync trunk
  • 234c184 sync trunk
  • bd27386 Pin clone call by arguments in git clone chaos tests
  • fbc50d2 Merge: test validator token balance pagination
  • 763572e Merge: Assert container ID rejections on the Error message
  • db828b3 test release asset exports
  • acdaff3 Stub the database and discovery steps in the precheck hub failure chaos case
  • 1a53524 test validator token balance pagination
  • be6fa70 Assert container ID rejections on the Error message
  • c60b89d Merge master (v0.22.2 hotfix) back into develop
  • 24cbef1 Pin the loud refusal in the resolveArgs fuzz cases
  • fd79391 Merge: split module menu test cases
  • c2bc3f8 split module menu test cases
  • 8f5d9a0 sync trunk
  • 8948164 Merge: Test truthy broadcast lock selection
  • c4287dd Test truthy broadcast lock selection
  • a77e432 sync trunk
  • 7c99270 sync trunk
  • ec4e4e4 Merge: test github downloader host architecture
  • 77545ec test validator send lock helpers
  • 02e87ff test module menu choices
  • e0ae4ae Merge: Test halt marker SQL builders
  • 4e606f7 test github downloader host architecture
  • 1ac013f Test halt marker SQL builders
  • 535e4c4 Merge: Add direct tracker height unit coverage
  • 2a2329e Merge: test: cover exported module names
  • 3fc2a10 Merge master (v0.22.1 hotfix) back into develop
  • 5d46c2a Add direct tracker height unit coverage
  • 782060d test: cover exported module names
  • 9c5da90 Merge: Add testnet-shaped hub failover identities
  • 51a7cfa Add testnet-shaped hub failover identities
  • 1221104 Regenerate CI tier timing block
  • 70c8bdb Merge master (v0.22.0 release) back into develop

Compare every rejected fuzz token against the full operator-facing error so changes to the valid argument details cannot pass unnoticed.
Use a non-port module fixture so build and run failure tests remain isolated from host-port discovery. Normalize caught rejection values while retaining each exact diagnostic assertion.
Stub published host ports so the focused chaos cases reach their intended Docker failure paths.
The null-branch clone case asserted a git@ URL, but modulesUrls is HTTPS by design. It now asserts the same table the sibling URL case uses.
Suppress the default hub API URL when seed URLs come from the per-coin config, while preserving explicit URLs outside seed mode. Add focused config-service coverage.
The supplied base passed all three develop CI jobs, and the affected non-Bitcoin E2E path recovered without an xchain-node content change. No source fix is needed.
Keep the fallback API route until merged seed selection is known. An explicitly empty per-coin seed list now overrides host seed defaults, while seeded regtest and mainnet routes still omit the pinned API URL.
Keep the built-in volume-name and published-port functions when a partial dependency injection omits either binding.
Point chaos config-service doubles at the live config module so the config directory override is applied.
…ty report

The Stryker mutate globs now reach the module, docker, database, bootstrap and status split directories, and the weekly mutation workflow errors when no report is produced.
Include every selected service implementation directory without negative globs. Require both mutation reports to be nonempty before the scheduled artifact upload.
Retain the originally required host-port and volume-name helpers when dependency injection omits them.
Resolve stale singleton container references by canonical Docker name. Skip config delivery when the named hub is also absent while preserving real network attachment failures.
Verify signed mainnet indexer archives by importing them into a disposable test database and comparing block-row, token, and issuance counts. Serialize the rehearsal with other mutating commands and always remove the database it creates.
Exercise updateHub with a removed stored container ID and verify it retries the canonical Docker name before delivering configuration.
Include every selected service split in mutation runs and require both scheduled reports to be nonempty. Keep the dry run compatible with config isolation and source-inspection tests without excluding tests or narrowing mutate ranges.
Allow a lane symlink into a main checkout only when the declared sibling SHA matches HEAD and tracked state is clean.
Extract the re-exec phase and test fixtures into focused helpers. Keep every function within the repository readability limit without changing the atomic handoff behavior.
Use a validated host environment override for MariaDB publication and fallback connections. Cover collision checks, connection fallback, and invalid values.
Remove static service database password fallbacks and persist fresh credentials on first configuration. Cover native installs, reuse, and cross-install uniqueness.
Set the full nightly plan to six shards for each coin, reducing the measured action share to about 34 minutes while using 18 concurrent runners for the combined matrix. Pin the count and total concurrency in the workflow contract test.
Make the re-executed child acquire the command lock normally so a competing mutator can win the handoff interval and cause the update to refuse.
Escape schema-name wildcard characters for the mainnet grant while retaining the non-mainnet wildcard. Add focused coverage and refresh the suite-title pin.
Keep the HubMirror grant coverage in smaller suite callbacks and condense its implementation rationale for the style checks.
Assert generated credentials and sidecar persistence without requiring a database container. Verify shared hub and indexer password relationships under the current per-install credential contract.
dbPasswordCanRotate answers without inspecting the host database
container, so an install never reaches the getDatabaseContainerId seam.
R-E2E-006 asserts that the probe is absent, and the e2e env comment
describes the database seal as a guard rather than a required path.
… config directory

getDefaultConfig persists generated database passwords into sidecars, so the partial fs stubs need the sidecar read and write calls and the real-fs experiments need a directory they can create.
…ates

The stack hub's xchain-indexer entries named only the indexer API host and port. The
explorer builds its pools from db_host and db_port and falls back to host and port,
so the stack explorer dialled the indexer API as MariaDB, held no pools and answered
every ping 503, failing any suite that boots against the stack's own explorer.
Every host-side caller reaches a stack indexer through its published port from one
source address, so the venue's hubs, indexers and suite share one 600 a minute bucket.
The hubs' admission-tip, request and stake reads used it up in about 40 seconds and
were refused with 429 for the rest of each window, so no admission heights were
published. The stack indexers now take the same high limit the stack encoders do.
The explorer answers ping 503 until its next hub config poll sees the seeded coins,
which can trail a warm boot by a minute, so a suite started right after setup failed
its initial explorer check. Setup now polls the explorer's ping and fails loudly if
it never answers.
Bump to 0.23.0 and record the release changelog. Arm the v0.23.0 testnet gates at BTC 156230, LTC 4912984 and DOGE 67989993, with instant 1791804379 for the time and change rows; mainnet stays unarmed. Tests that pinned the unarmed testnet state now read the armed rows, and the identity and suite-title pins are regenerated.
Generated from the ten signed v0.23.0 sibling tags and the platform tag; xchain-contracts stays at its existing component tag.
@jdogresorg
jdogresorg merged commit ac85fe0 into master Oct 12, 2026
6 of 7 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