Traverse v0.11.0
Traverse v0.11.0
Released 2026-09-16.
Traverse v0.11.0 is a minor lockstep crate + npm release. Its throughline
is one real runtime.wasm orchestrator: native hosts and the browser
embedder all drive the same nested-wasmi capability executor inside an
application-owned runtime.wasm, instead of a canned WAT fixture (native) or
a hand-rolled TypeScript WASI/emit_event path (browser). Spec
1402-runtime-wasm-orchestrator-convergence is complete on main.
PR #1427 (FR-010) required this cut to be 0.11.0+, not a 0.10.x patch:
bundles without runtime/runtime.wasm (+ .sha256) fail closed at
BundleEmbedder.init.
Highlights
Real nested-wasmi runtime.wasm
- Spike
#1403proved WASM-hosting-WASM under nested wasmi (Decision 87). crates/traverse-runtime-wasmhosts the nested-wasmi executor and audited
C-ABI export boundary (FR-011, ADR-0073).- Shared, engine-agnostic
emit_eventvalidation and placement constraint
evaluation live intraverse-contractsso Wasmtime (native) and nested
wasmi (runtime.wasm) share one core (FR-005, Decision 88). crates/traverse-native-bridgebuilds a realruntime.wasmexporting the
unchangedruntime-wasm-bridge/1.0.0ABI (spec071).
Production host driver + three-native-host conformance
RuntimeWasmHost(traverse-runtime) loads, dispatches, and drains
lifecycle/domain envelopes fromruntime.wasm; EventBroker durability
stays host-owned (Decision 89).- Swift/wasmi, Kotlin/Chicory, and .NET/Wasmtime pass the existing bridge
conformance corpus against the real artifact (#1428). - The digest is published through
runtime/native-runtime-registry.json(spec075,#1421).
Browser convergence
traverse-embedder-webBundleEmbedderandcomposedWorkflowload
digest-verifiedruntime/runtime.wasmfrom the app bundle and drive the
same bridge ABI as native hosts (#1408).- Interim TypeScript
wasi.ts/emitEventHost.tsand per-capability Host
ABI import gating are removed. - Starter / fixture bundles ship
runtime/runtime.wasm+.sha256.
Release pipeline
- Crate and npm versions stay lockstep on every cut (Decision 85,
#1415). - Honest Python CLI consume example (
examples/consume-python).
Upgrade notes
- Breaking (web embedder): app bundles must include
runtime/runtime.wasmandruntime/runtime.wasm.sha256(sha256:<64 hex>).
Bundles that relied on the interim TypeScript executor will fail at
inituntil those files are added (copy from
runtime/runtime.wasmin this repo, or the published native-runtime
artifact digest). - Rust crate APIs for existing local Wasmtime callers are unchanged.
- Native host adapters keep the same
runtime-wasm-bridge/1.0.0export
surface; they must resolve the new certifiedruntime.wasmdigest via
the native runtime artifact registry. - Pin
traverse-embedder-web@0.11.0(or later) together with crates at
0.11.0— versions are lockstep.
Validation
Release preparation must pass these local gates before tagging:
cargo build --workspace
cargo test --workspace
bash scripts/ci/repository_checks.sh
bash scripts/ci/spec_alignment_check.sh
bash scripts/ci/coverage_gate.sh
TRAVERSE_PUBLISH_DRY_RUN=1 TRAVERSE_PUBLISH_NO_VERIFY=1 bash scripts/ci/publish_crates.shThe tagged commit must pass the GitHub version-guard, repository-checks,
coverage-gate, native-artifact-certification, and stress-test jobs before
the tag-triggered crates.io / npm publish jobs can run.
Release steps
Per the release process, from a clean main
checkout after CI is green:
bash scripts/ci/bump_version.sh 0.11.0
git push origin main
git push origin v0.11.0
git push origin web-v0.11.0Then complete the post-cut docs / website checklist in
the release process,
including republishing the native runtime.wasm registry entry under
runtime_version 0.11.0 when the bump changes the certified artifact
identity (spec 075 FR-007).
Further reading
- Changelog
- Release process
- Native runtime artifact registry
- Spec
1402-runtime-wasm-orchestrator-convergence - Website truth-pass: traverse-framework/website#97
Traceability
- Governing specs:
048-semver-publishing-pipeline,
1402-runtime-wasm-orchestrator-convergence,071,068,075,098,
1277 - Themes / issues:
#1402,#1403,#1407,#1408,#1421,#1423,
#1428, release#1432 - Decisions: 85–89; ADR-0072, ADR-0073
- Range:
v0.10.2..v0.11.0