Repository navigation
release: 0.16.0 - #119
Merged
Merged
release: 0.16.0#119
Conversation
Adopts the Mojo 1.1.0 stable toolchain (max ==26.6.0, from 1.0.0 / 26.5.0). That alone makes this a minor rather than a patch: downstream addons compile against the published src/, so taking this upgrade moves them onto that toolchain. No public Mojo signature changed, so they compile unmodified once there. It also corrects every computed error message the framework produces. The eight throw_js_*_dynamic helpers handed a Mojo String's buffer to napi_throw_*, which reads a NUL-terminated const char*, so every generated type-mismatch error trailed heap garbage in every release to date. A substring assertion cannot see a suffix, which is how it survived; the tests now compare whole messages. Three new exports (hostConsoleError, parallelSquares, asyncRuntimeInitOk's companion diagnostics) and one new shipped document, docs/MOJO-RULES.md — the framework's own FFI rules, generated from CLAUDE.md and gated, so a consumer compiling against src/ finally gets the rules that keep that code from crashing. Verified before tagging: all packages in sync at 0.16.0; `npm ci` succeeds with the bumped and as-yet-unpublished optional dependencies and leaves the lockfile untouched; all four target packages already exist on npm so OIDC can push a new version of each; the platform gate passes; 816 tests and 12 GC tests green; the publish pipeline rehearsed on main with nothing shipped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Cuts 0.16.0. Seven files: the six synced version sites plus the changelog heading.
Why minor, not patch. The Mojo pin moves from 1.0.0 to 1.1.0. Downstream addons compile against the published
src/, so taking this upgrade moves them onto that toolchain — which this project treats as part of the public contract. No public Mojo signature changed, so they compile unmodified once there.Why now. Two things are waiting on it:
@qkstat/retrieveand@qkstat/embedbuild against the published source, so they cannot adopt Mojo 1.1.0 until this ships.greet: expected string, got numberuffertoday.Consumer-visible surface. The corrected error messages, three new exports, and one new shipped document (
docs/MOJO-RULES.md, generated fromCLAUDE.mdand gated). The warnings-as-errors default added this cycle lives in build scripts that are not in the published file set, so it never reaches a consumer's build.Verified before tagging — the same list 0.15.1 recorded:
npm cisucceeds with the bumped, as-yet-unpublished optional dependencies and leaves the lockfile untouchedmainviaworkflow_dispatch, which ships nothingPublishing happens when a GitHub release is published, not on this merge.
🤖 Generated with Claude Code