Topaz grows through public minor releases and production-quality patch
checkpoints. Public minors mark the product boundary users install; patch
checkpoints record the concrete work that made the next boundary possible.
Product milestones
| Version | What changed |
|---|
| 5.0 | Established the expression-oriented, Result-first, Unicode-friendly language direction. |
| 5.1 | Added structured loops and clarified layout, operators, patterns, concurrency, and templates. |
| 5.2 | Locked the import/export module model and aligned the first public v5 toolchain. |
| 5.3 | Expanded the standard library and real-program support without splitting language meaning across distribution channels. |
| 5.4 | Standardized platform binaries and installation, then opened the Python generation track. |
| 5.5 | Promoted Python to a supported backend and expanded interpreter/Rust/Python agreement. |
| 5.6 | Unified the mature language, runtime, package, WASM Playground, and distribution surfaces. |
| 5.7 | Published the installed offline Web Application Loop with Data Lens and Markdown Live. |
| 5.8 | Published local text import/export and bounded package-isolated durable state as the Local Data Application Loop. |
| 5.9 | Published the bounded HTTP Service Application Loop with explicit inbound authority, finite limits, structured operations, and source-free artifacts. |
Patch checkpoints
Every closed patch checkpoint gets a public History row whether it was
published directly or accumulated on develop for the next public minor.
Older trains stay collapsed so the long-term product arc remains readable.
5.4.x — Python generation begins
| Checkpoint | Visibility | User-visible result |
|---|
| 5.4.1 | Public | Added the first experimental Python generation path alongside the existing interpreter and Rust output. |
5.5.x — Python backend closure
| Checkpoint | Visibility | User-visible result |
|---|
| 5.5.1 | Internal | Added same-kind Bytes ordering and stable natural sorting for generated Python arrays. |
| 5.5.2 | Internal | Aligned final top-level if and match values across the interpreter, generated Rust, and generated Python. |
| 5.5.3 | Internal | Made every backend reject top-level return arms consistently while preserving function-local returns. |
| 5.5.4 | Public | Aligned Python cleanup and fault behavior so deferred work does not drain after an unrecoverable fault. |
| 5.5.5 | Public | Added bounded JSON server-boundary behavior and exact cross-backend number, escape, duplicate-key, and error handling. |
| 5.5.6 | Public | Made unsupported Python shapes fail through complete, source-mapped diagnostics instead of incomplete output. |
| 5.5.7 | Public | Closed Option, Result, unit-value, and higher-order operation gaps in generated Python. |
| 5.5.8 | Public | Aligned floating-point identity and key behavior for Map, Set, and related container operations. |
5.6.x — installed products and Web foundations
| Checkpoint | Visibility | User-visible result |
|---|
| 5.6.1 | Public | Moved build work into disposable storage, bounded Python cache growth, and added managed artifact identity, licensing, and package guarantees. |
| 5.6.2 | Public | Refreshed documentation and npm presentation without changing behavior. |
| 5.6.3 | Public | Removed the private repository address from public npm metadata. |
| 5.6.4 | Public | Added the installed multi-module Application Loop foundation, offline native/Python package builds, and machine-readable agent-pack checking. |
| 5.6.5 | Public | Completed the installed Application Loop, fmt --check, localized guides, direct npm publication, and bounded field validation. |
| 5.6.6 | Internal | Added fixed-length mutable ByteBuffer and repaired Web allocation and returned-memory ownership for large binary products. |
| 5.6.7 | Internal | Added the checked Web Application lifecycle, safe browser host, web-app scaffold, loopback development command, and complete managed static bundle. |
| 5.6.8 | Internal | Shipped the maintained Data Lens and Markdown Live dogfood products, repaired their reproduced checker/host blockers, and prepared the atomic 5.7 boundary. |
5.7.x — Local Data Application Loop
| Checkpoint | Visibility | User-visible result |
|---|
| 5.7.1 | Internal | Added capability-gated local UTF-8 file open and deterministic text download, exercised by Data Lens with real CSV and JSON. |
| 5.7.2 | Internal | Added bounded package-isolated durable string state, explicit load/save/delete results, and reload recovery for maintained apps. |
| 5.7.3 | Internal | Hardened Data Lens and Markdown Live with realistic multilingual files, repeated operations, exact exports, focus recovery, and a renderer performance repair. |
| 5.7.4 | Internal | Froze the completed feature set, prepared the next language authority and version surfaces, and proved a read-only atomic activation rehearsal. |
5.8.x — Bounded HTTP Service Application Loop
| Checkpoint | Visibility | User-visible result |
|---|
| 5.8.1 | Internal | Added the managed bounded HTTP/1.1 service target, request-local cancellation and limits, source-free artifacts, and a Data Lens Service sharing the browser product's checked core. |
| 5.8.2 | Internal | Hardened slow, malformed, disconnected, oversized, overloaded, faulting, and nonterminating request paths while proving request isolation and capacity recovery. |
| 5.8.3 | Internal | Added effective configuration inspection, versioned structured operation logs, graceful lifecycle events, restart evidence, and repeated concurrent multilingual service workflows. |
| 5.8.4 | Internal | Proved the browser and service Data Lens products share one checked core, hardened realistic multilingual workflows, and prepared the next authority and read-only activation boundary. |
Current baseline
This manual describes the current Topaz product. Use Toolchain Status
for the exact installed identity and Legacy syntax migration
only when adapting genuinely old source forms.
Internal LIT integration evidence
Internal integration evidence covers one canonical Lispex-in-Topaz source
across the interpreter, generated Rust, generated Python, and Web routes on a
bounded four-host check surface. It changes neither the public product
boundary nor the language, and it does not establish source independence or
whole-language equivalence. LIT is not a public backend.