Skip to content

Release v0.15.3 - xchain-node - #36

Merged
jdogresorg merged 1 commit into
masterfrom
hotfix/v0.15.3
Sep 8, 2026
Merged

jdogresorg merged 1 commit into
masterfrom
hotfix/v0.15.3

Conversation

@jdogresorg

Copy link
Copy Markdown
Contributor

XChain Platform v0.15.3

A patch train. xchain-node, xchain-indexer, xchain-sync, xchain-sdk and xchain-explorer move to 0.15.3; xchain-hub stays at 0.15.2 and the other seven components keep the tags they shipped under in v0.15.0. The pinned set is src/release-manifest.json at this tag; the signed artifact set and SHA256SUMS.asc are attached.

Order-independent chunked contract deployment

A contract whose source does not fit one transaction is deployed as chunk carriers plus an assembling DEPLOY, and the indexer assembled it only at the assembler's position from carriers already confirmed below it, so a group whose pieces confirmed out of order, including a correctly sequenced one that a reorg re-packed, failed permanently and burned its fee. A chunk group now deploys exactly once, in the block where its last piece confirms, whatever order the pieces arrived in: an assembling DEPLOY that lands early is held pending with its base fee paid, and the contract takes the index and address of the piece that completed it.

  • The explorer's DEPLOY detail reports which action deployed the contract and whether the assembly is still pending (deployed_contract_index, assembly_status), and the completing carrier's page shows the deploy card.
  • The SDK's deploy workflow resolves the contract through that field, and workflows.resolveDeployedContract(actionIndex) is public for clients that resume after a reorg.
  • The sync follower's schema version moves to 8 for the two new contract_executions columns.
  • Activation: genesis on mainnet and regtest; testnet from 2026-09-10 00:00:00 UTC. Every testnet indexer must run this release before that instant.

Price-batch reconciliation read

A hub deciding whether it still owed the chain a price batch could only guess, so windows the chain already carried were re-proposed every hour. The indexer now answers getpricebatches (which oracle rounds in a range already ride a valid PRICE batch), so a hub can skip re-publishing them.

Upgrade notes

Roll indexers before the explorer on every venue: the v0.15.3 explorer reads the new execution columns unconditionally. Do not roll the v0.15.3 sync client onto a replica that has already applied a later schema.

@jdogresorg
jdogresorg merged commit 8e612c0 into master Sep 8, 2026
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