Skip to content

v0.9.8-07

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Jul 09:12

Toka v0.9.8-07

This release is a 1.0-freeze checkpoint focused on PAL safety, syntax conformance, and toolchain stability.

Highlights

  • Froze the PAL core model as Path-Anchored Ledger.
  • Added call-site implicit borrow checking, so payload arguments are now checked as simultaneous temporary borrows.
  • Rejected unsafe call aliases such as mutable/mutable, mutable/read, and cede/read overlaps.
  • Split PAL mutation operation classes so ordinary payload writes, exclusive mutations, and invalidating operations are tracked more precisely.
  • Improved local CFG state merging for if, guard, match, loops, break, continue, and labeled control flow.
  • Enforced explicit return dependency declarations for borrowed results such as -> str <- source.
  • Locked execution-boundary capture safety for escaping closures and thread-like boundaries.
  • Froze additional syntax rules for dyn traits, where bounds, handle hash placement, path visibility, kebab path boundaries, public unsafe API naming, match pattern safety, and common mistake diagnostics.
  • Added optional compiler audit instrumentation for assignment and handle-surface classification.
  • Hardened TKI replay/cache behavior and test-lib object reuse.
  • Fixed tokafmt to comply with explicit PAL return dependencies.
  • Kept optional stats headers buildable in the Emscripten playground path.
  • Expanded pass/fail/warn coverage, including warning verification and several syntax conformance matrices.

Breaking / Tightened Diagnostics

This release intentionally tightens several diagnostics as part of the 1.0 freeze work.

Code returning borrowed data from parameters or fields may now need explicit dependency annotations:

fn view(source: str) -> str <- source

Function calls are also checked as simultaneous temporary borrow groups. For example, passing the same payload as both mutable and readable/mutable arguments is rejected, while repeated read-only payload arguments remain valid.

Current Limits

  • dyn @Trait remains single-facet for now.
  • Associated type binding on dyn @Trait is not part of this release.
  • Async/thread semantics remain conservative; deeper async and concurrency consumers are post-freeze work.
  • Raw pointer alias proof remains outside the safe automatic PAL subset.

Verification

  • Full local rebuild completed successfully with:
./rebuild.sh
  • The rebuild produced tokac, toka, tokafmt, tokalsp, and forge.
  • GitHub Actions should validate the full platform matrix for this overwritten v0.9.8-07 tag.

Full Changelog

v0.9.8-06...v0.9.8-07