報せNews
2026-09-10 報 release. 10 September 2026
kotoshu 1.0.0: the stability freeze
The coordinated 1.0 cut: the Ruby gem, @kotoshu/wasm, and kotoshu-server all reach 1.0.0 with the public surface frozen and the 2,630-vector Ruby==Rust conformance contract gated in CI on both sides.
- Version 1.0 freezes the strict two-stage resource model, in which setup is never implicit and the hot path never downloads; the CLI exit codes 0 through 3 and the JSON and SARIF output shapes; the kotoshu.resources/v1 registry schema and the /v1 HTTP prefix; the extension points for custom dictionary types and suggestion algorithms; and the behavioral contract itself, which is the set of 2,630 frozen conformance vectors that the Ruby and Rust engines must both match byte for byte, now enforced by CI jobs in both repositories.
- The last blocker before the cut was found by running the audit checklist, not by a user: suggestion ranking silently changed when the frequency cache passed its 7-day TTL, because the reader fell back to a differently-curated local dataset. Fixed, tested with the cache deliberately expired, and the compare job added so the invariant can never drift silently again.
- At 1.0 the gem is on RubyGems, @kotoshu/wasm is on npm with loadPack language packs for English, German, and Portuguese, and kotoshu-server ships model-aware checking. The GitHub action runs in six repositories including this one, and kotoshu-lsp, PyPI, crates.io, the Go client, and the zero-install playground complete the channel picture.
see also Docs home gem on RubyGems Performance and correctness