Release v0.20.1 - #17
Merged
Merged
Conversation
… pin with a compare mode
…push, release and hotfix refs unchanged
Move observability and crash-handler registrations into synchronous helpers while retaining each suite and hook once. Preserve titles, assertions, comments, await order, and execution order.
bin/pin-identity.js now writes the coins plus vendoredTwins pin format to bin/pins/at1-identity.json, but ci-full.sh and the CI workflow still compared against the old bin/pins/identity.json (coins plus conformance), which lacks vendoredTwins entirely and reads every vendored twin as a false added diff. Point both at the new pin file and check the new group names so the identity tier compares against the format the repo actually produces.
… on an outputless reveal
…2SH leg on an outputless reveal
…e label cap Byte-identical copy of xchain-hub/src/observability/index.js via bin/sync-observability.sh: unmatched request paths now share one overflow label past a fixed number of distinct first segments, so a flood of unmatched URLs cannot spend the shared per-metric series budget.
The identity pin hashes every vendored twin file; src/observability/index.js changed with the canonical copy, so the pin is regenerated from the tree and nothing else in it moves.
…e sweep Generated block: do not hand-edit it. Change the tier config and re-run the tier wirer, which owns both this file and the hook so the two cannot drift. The pre-push venue gate ran the whole GitHub transcript on every push, coverage re-runs and perf scenarios included. That is the right set to grade a release with and the wrong set to pay for on every push, especially while three venues serve every repo on the platform: a long gate does not just cost its own minutes, it forms a queue behind itself for every other session pushing that hour. A push now grades the fast tier. The tiers named in the generated block move to the scheduled full sweep, which already runs against every repo every three hours and before any release or deploy, so nothing stops being graded. The verdict line is rewritten with it, which is the part that matters: a fast run can no longer print "all tiers green (same set GitHub CI runs)". It prints which tiers were deferred and states plainly that they were NOT graded there, so a fast green can never be mistaken for a full one. The dispatcher's verdict cache is keyed on repo + sha + cmd, so a fast green cannot stand in for a full one either.
Install tini in the runtime image and use it as the container entrypoint so child processes are reaped and signals reach the API process.
…modules, document the instance lock file The api.js guard, limiter and CORS comments name the current module paths, the single-instance rationale counts the five in-process stores that exist, and ENCODER_INSTANCE_LOCK_FILE, prescribed by both lock-conflict errors, is now in the README env table. Adds the browser entry unit test the coverage survey required.
…modules, document the instance lock file The api.js guard, limiter and CORS comments name the current module paths, the single-instance rationale counts the five in-process stores that exist, and ENCODER_INSTANCE_LOCK_FILE, prescribed by both lock-conflict errors, is now in the README env table. Adds the browser entry unit test the coverage survey required.
…s, sanitize tracker halt reasons Bodies are size-checked after the limiter and concurrency gates, HEAD /status is a probe, estimatesmartfee keeps the JSON-RPC error body, getTransactionHex handles both verbose shapes, a tracker halt_reason no longer reaches callers verbatim, and a dead import and stale manifest pointers are removed.
…hared sibling helper
…anized modules, document the instance lock file
This was referenced Sep 23, 2026
This was referenced Sep 23, 2026
Pins the build image by digest to the node:22.23.2-bookworm build whose V8/ICU match xchain-vm's consensus runtime pin, so a floating tag can no longer drift the base past a Node patch that fails that check.
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.
Release v0.20.1
Coordinated platform release across the 13-repo v0.20.1 train.
masterrelease/v0.20.1What changes
tiniand reaps encoder container zombies.Sibling release PRs
Filled in by open-release-prs.sh --execute once every PR above has a number: