Skip to content

Release v0.17.0 - xchain-decoder - #17

Merged
jdogresorg merged 5 commits into
masterfrom
release/v0.17.0
Sep 11, 2026
Merged

Release v0.17.0 - xchain-decoder#17
jdogresorg merged 5 commits into
masterfrom
release/v0.17.0

Conversation

@jdogresorg

Copy link
Copy Markdown
Contributor

Bumps the package and lockfile to 0.17.0 and dates the 0.17.0 changelog entry. The
vendored mainnet activation twins ship armed at genesis.

Platform notes ride xchain-node's Release.

The connector stamps the last successful and the last failed node RPC, and
/live, /status and the health method carry node_last_ok_at plus a
node_unreachable object (since, last answer, seconds) while the most recent
call failed. A decoder whose coin node never answered once sat five and a
half days reading healthy on every surface an operator polls; this is the
field that says so. Reported only: the healthy gate is unchanged and a test
pins that /live stays 200 while the node is unreachable, because a restart
cannot fix an outage upstream of the service.
… the 2026-09-09 ruling

Vendored ORACLE_FEE_SET_CAPTURE (at its base gate's instant), DISPENSER_EXPIRY_REALIGN and DISPENSER_CANCEL_GRACE maps armed byte-equal to the canonical; the batch-limits module regenerated by its sync tool; tests re-aimed onto the armed rule.

Identity on the measured mainnet history (ISSUE and ANCHOR only); the from-genesis replay witness is the next milestone.
- fix(decoder): pass siblings-ref at both CI call sites so release PRs check siblings at the train branch
- fix(decoder): pin the original unique-index migration revision in the checksum rebaseline so a production node stops logging a mismatch

Squashed from the local landing commits: e6415ad9 bacefb8c
…'s SIGKILL

The signal handler only set stopFlag. The parse loop did break at its next
block boundary, but the Express listener and the MariaDB pool kept the event
loop alive and nothing called exit, so every `docker stop` of a decoder ended
in exit 137, and a kill mid-rollback is what resets the dispenser purge budget.

src/shutdown.js is the indexer's bounded drain: flip the health flag, stop(),
close the listener and wait for the loop together, close both pools last, and
hard-exit non-zero at SHUTDOWN_TIMEOUT_MS (default 100 s, under the 120 s
budget xchain-node now gives a decoder). Database gains the close() it never
had. The chaos source pin follows the handler into the drain.
Bumps the package and lockfile to 0.17.0 and dates the 0.17.0 changelog entry. The
vendored mainnet activation twins ship armed at genesis.
@jdogresorg
jdogresorg merged commit d859c45 into master Sep 11, 2026
11 of 12 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