Skip to content

Release v0.20.1 - #14

Merged
jdogresorg merged 23 commits into
masterfrom
release/v0.20.1
Sep 24, 2026
Merged

jdogresorg merged 23 commits into
masterfrom
release/v0.20.1

Conversation

@jdogresorg

@jdogresorg jdogresorg commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Release v0.20.1

Coordinated platform release across the 13-repo v0.20.1 train.

  • Base: master
  • Head: release/v0.20.1

What changes

  • Makes the simulator match chain deploy gating, oracle roundFloor, and balance scoping.
  • Uses CONTRACT_ECMA_VERSION in meta_validation, scans all of src/, and adds code-point coverage for the toolkit gate.
  • Splits VM worker dispatch and gateway injection helpers while preserving watchdog behavior for queued requests.
  • Fixes differential-fuzz dependency setup and strengthens language-version source resolution.

Sibling release PRs

Filled in by open-release-prs.sh --execute once every PR above has a number:

Extract initialization, block boundary, and execution handling into named helpers. Preserve queue ordering, fault behavior, IPC shapes, and coverage flushing.
…il loudly on a moved module

Extensionless specifiers survive a move to a directory index, a re-export
shim no longer passes the hardcoded-ecmaVersion scan vacuously, and only an
isolated-vm probe failure may skip the validateSyntax cases.
…ll of src/

meta_validation.js parsed with a literal ecmaVersion 2020 instead of the
shared consensus constant, and the pin test only scanned metering.js and
syntax.js by name. Point the parse at CONTRACT_ECMA_VERSION and have the
drift test walk every .js file under src/ so a new hardcoded parse site
anywhere is caught automatically.
…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.
…es manifests

The diff job ran differential_run.js compare without ever installing
node_modules, so differential.js's require of fast-check crashed the
process before it could parse a single manifest. The shell loop treated
that nonzero exit the same as a real consensus divergence, so every
scheduled run failed with a misleading "divergence" verdict.

Add the missing install step, and have the diff step distinguish a
tool crash (no DIFFERENTIAL DIVERGENCE marker in the compare output)
from an actual divergence verdict, so each gets its own distinct
::error:: message.
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