Skip to content

Traverse v0.11.0

Choose a tag to compare

@enricopiovesan enricopiovesan released this 16 Sep 18:04
· 41 commits to main since this release
Immutable release. Only release title and notes can be modified.
71c63e1

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 #1403 proved WASM-hosting-WASM under nested wasmi (Decision 87).
  • crates/traverse-runtime-wasm hosts the nested-wasmi executor and audited
    C-ABI export boundary (FR-011, ADR-0073).
  • Shared, engine-agnostic emit_event validation and placement constraint
    evaluation live in traverse-contracts so Wasmtime (native) and nested
    wasmi (runtime.wasm) share one core (FR-005, Decision 88).
  • crates/traverse-native-bridge builds a real runtime.wasm exporting the
    unchanged runtime-wasm-bridge/1.0.0 ABI (spec 071).

Production host driver + three-native-host conformance

  • RuntimeWasmHost (traverse-runtime) loads, dispatches, and drains
    lifecycle/domain envelopes from runtime.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 (spec 075, #1421).

Browser convergence

  • traverse-embedder-web BundleEmbedder and composedWorkflow load
    digest-verified runtime/runtime.wasm from the app bundle and drive the
    same bridge ABI as native hosts (#1408).
  • Interim TypeScript wasi.ts / emitEventHost.ts and 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.wasm and runtime/runtime.wasm.sha256 (sha256:<64 hex>).
    Bundles that relied on the interim TypeScript executor will fail at
    init until those files are added (copy from
    runtime/runtime.wasm in 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.0 export
    surface; they must resolve the new certified runtime.wasm digest 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.sh

The 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.0

Then 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

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