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 default compiler is the exact recoverable Rust Stage 0. The installed Self Front-end Preview runs the complete embedded Topaz-authored front end through Typed and compares its managed observation with Rust Stage 0 without the original source.
- 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
- Build an explicit Stage 1 Compiler Preview from the accepted Topaz-authored front end without changing the default engine.
- Require reproducible installed Stage 1 observations and agreement with Rust Stage 0 before any later fixed-point work.
- 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 and the typed-terminal Self Front-end Preview are
available as Topaz 5.12.0 / topaz-5.12. Its installed surface is
topaz compiler preview [entry] --out-dir <directory>. The current route
proves the Topaz-authored lexer, layout, parser, logical import closure, name
resolver, static checker, Typed projection, and structured diagnostics through
a typed-terminal canonical observation. Complete self-source, corpus,
resource, installed-product, and recovery readiness is closed.
It never changes the Rust default or silently falls back.
The next conditional public result is Topaz 5.13.0 / topaz-5.13, and it opens
only when the Stage 1 Compiler Preview result passes its exact gate. Completed
checkpoints remain recorded in History.
Later
- Make the self-hosted compiler kernel the default only after reproducible Stage 1/Stage 2 results, installed dual-engine agreement, and an independently usable Rust recovery path.
- 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.