This roadmap shows priorities and readiness, not promised dates.
Now
- The current public product includes the explicit Self Front-end Preview on top of Bootstrap Foundations and the installed application loops.
- Compiler, runtime, npm installer, artifacts, documentation, and Playground identify one current product.
- The installed Stage 2 compiler is the default on supported current-mode routes. The exact recoverable Rust Stage 0 remains explicit for comparison, recovery, and declared compatibility routes.
- An explicit installed Stage 1 Compiler Preview consumes the Topaz-authored production path through generated Rust with complete provenance and no hidden target fallback.
- Omitted selection and explicit
--compiler selfuse installed C2 across all 21 declared current-mode routes; unsupported explicit self requests fail before source or output work. - C2 supplies a complete versioned semantic product, including profile decisions, lowering, generated Rust, and deterministic provenance; the host adapter only validates and decodes it.
- Installed native and Python products run offline, managed browser products own their static bundle and local-data boundary, and generated services own bounded inbound HTTP authority, isolation, deadlines, observation, and shutdown.
- Fixed-length mutable
ByteBuffersupports contiguous binary work while immutableBytesremains the snapshot and transport value across the accepted native, Python, Web, and Web Worker boundaries. - A maintained multi-module CodeImage kernel builds with stock installed Topaz, exposes fail-closed native-selection decisions, and preserves exact byte and fault behavior through source-free Web and Worker artifacts.
- Run targeted differential checks when a related implementation changes. Reserve full cross-platform and full differential campaigns for the public-minor RC that owns them.
Next
- Preserve the installed self default, explicit Rust Stage 0 recovery, fixed-point identity, and fail-closed selection across ordinary product work.
- Qualify the separate public compiler-source snapshot only after its source review, hygiene, license, and end-to-end byte-reproduction gates are complete.
- Keep the HTTP service, local-data, browser, native, Python, and binary-media loops as non-regressing predecessor products.
- Add no compiler-only dialect or convenience syntax. A real compiler-workload blocker still requires its own language or capability decision.
Release boundary
Bootstrap Foundations, the typed-terminal Self Front-end Preview, the explicit
Stage 1 producer, and the Stage 2 Fixed Point are available as Topaz 5.16.0 /
topaz-5.16.
Use topaz compiler preview [entry] --producer stage1 --terminal rust-source --out-dir <directory> for Stage 1. The installed route records complete
producer and generated-source provenance, runs source-free, preserves
independent Rust Stage 0 recovery, and fails without hidden target fallback.
The explicit Stage 2 route executes the separate C2 image and generates fresh
R2 from the embedded compiler source set. The fixed-point court records equal
decoded compiler semantics, equal bounded canonical observations, and raw
byte-identical R1/R2 while keeping provenance differences explicit. Installed
source-free qualification and the bounded dual-engine Application Loop,
compiler/standard-library, LIT, CodeImage, and isolated Lispex regressions are
complete. The complete command disposition and exact public-candidate gate are
fixed. Installed C2 is the default for supported current-mode compilation;
Rust Stage 0 remains the independent recovery and compatibility engine. The
separate Stage 2 producer command remains an explicit fixed-point Preview.
Topaz 5.16.0 / topaz-5.16 publishes Self-hosted Default. Compiler selection
respects the effective package language mode, C2 preparation is bounded, and
the installed product keeps explicit Rust recovery, an outcome-based field
ledger, deterministic reconstruction, and same-byte promotion evidence. These
are product guarantees rather than claims that the Rust host and recovery
chain have disappeared. Completed checkpoints remain recorded in
History.
Later
- Keep the self-hosted default only while reproducible Stage 1/Stage 2 results, installed dual-engine agreement, and an independently usable Rust recovery path remain intact.
- Treat self-hosting progress as an implementation milestone, not an automatic reason for a major version. A major release still requires a real incompatible user contract.
- Keep general native aggregate layout, arbitrary host FFI, a new Web ABI, SIMD, browser fetch, outbound networking, remote package publication, router and middleware frameworks, shared server state, databases, TLS termination, WebSocket, and new syntax outside this train.
- Preserve explicit older language modes as compatibility inputs rather than parallel current identities.
Bounded integration evidence
LIT and Lispex integration records remain useful internal compatibility and regression evidence. They do not define this release queue, make LIT a public Topaz backend, or establish whole-language equivalence. Large LIT, N-way, mutation, and differential campaigns run only when their owned semantics change or an applicable release candidate requires them.
Research
- Expand differential and fuzzing tools that find places where code generators misunderstand the language.
- Consider model checking or mechanized proofs only where there is a concrete artifact and a useful way to reproduce the result.
- Keep broad optimizer work, async syntax, recoverable faults, grapheme APIs, and user-defined templates as research topics until a future language decision accepts them.