v0.9.8-06
Toka v0.9.8-06
This release is a broad stabilization and tooling release since v0.9.8-05, focused on the build system, TKI interface reuse, parameter/resource semantics, trait syntax, cross-platform packaging, and public documentation.
Highlights
- Introduced and stabilized the JSON dependency manifest protocol used by
tokac --dump-dependencies. - Added the incremental build driver and hardened
toka buildintegration. - Fixed several incremental-build ownership, cache fallback, path identity, and stale-interface issues.
- Added validated
.tkimetadata handling, including compiler/interface version checks, target checks, source hash checks, and source fallback. - Added archive-backed cached library testing and expanded cached-lib coverage.
- Stabilized TKI replay for core/string, generic containers, morphology, effects, closures, postfix operators, and cached module identity.
- Added pass-suite timing and cached-lib validation to the test workflow.
- Tightened parameter morphology rules, including rejection of type-side reference parameters and clearer binding-side morphology.
- Enforced
cedeparameter consumption contracts. - Added
whereimpl constraints, trait bound set syntax, required@markers on trait declarations, and associated type /per typesyntax. - Added the standard
Iteratortrait. - Refactored and hardened member access lowering, including morphic member identity access and stricter prefix checks.
- Added WASI/WebAssembly cross-compilation support and playground self-tests.
- Fixed release packaging/linking issues on macOS x64, Windows, and zstd discovery through CMake.
- Refreshed README, syntax documentation, website content, install guidance, and project positioning.
Build System and TKI
This release includes a major step forward for Toka's build infrastructure:
- JSON dependency manifests are now versioned and machine-readable.
.tkiinterface files are validated using explicit compiler, format, target, and source metadata.- The resolver can fall back from stale or invalid interfaces to source files.
- Interface path behavior, dotted output directories, multi-root output conflicts, and source-less interface use cases are covered by tests.
- Cached library mode is now part of the pass-suite workflow.
- Cached-lib coverage now reaches 53 cached objects while preserving dependency-closed archive safety.
Language and Semantics
This release tightens several core language rules:
- Function parameters use binding-side morphology more consistently.
- Type-side borrow/reference parameter forms are rejected.
cedein a function signature is now treated as an executable contract: the value must actually be consumed or forwarded.- Trait declarations now require the
@Traitform. - Trait bound sets use the canonical
@{TraitA, TraitB}form. where:constraints are supported for impl prerequisites.- Associated types and
per typeassociated types are introduced. - Standard iterator support is added.
Compiler and Runtime Fixes
- Member access codegen was refactored and hardened.
- Pointer lowering and captured-resource handling were stabilized.
- Nonblocking socket ABI handling was fixed for variadic
fcntl. - Windows LLVM DLL linking and macOS x64 release linker setup were fixed.
- CMake now finds zstd more robustly across Homebrew layouts.
WebAssembly, Playground, and IDE
- Added WASI 32-bit cross-compilation support.
- Added playground runtime fixes, stdin/stdout handling, compiler-rt math builtin support, and self-tests.
- Improved VSCode extension packaging and LSP path resolution.
Documentation
- Rewrote and refreshed the README and Chinese README.
- Added an English syntax guide and upgraded the Chinese syntax guide for public use.
- Refreshed website introduction, installation, CLI/tooling, and project-structure pages.
- Clarified Toka's design positioning around explicit resource semantics, safety, performance, and simplicity.
- Updated citation/version metadata for
0.9.8-06.
Validation
The final tagged commit passes the full local validation suite:
PASS: 287 / 287- ODR path and interface behavior tests passed
- TKI cache validation tests passed
- Incremental build tests passed
- Cached-lib path validated with 53 cached objects