報せNews
2026-09-14 報 release. 14 September 2026
kotoshu 1.0.5: typo arming becomes a download
The typo-retrieval layer now ships prebuilt matrices for all six full-feature languages, setup backfills them on existing installs, and the engine records how it armed - plus a weekly guard against stale extension pins. The Rust crate follows at 0.2.1.
kotoshu setup LANG --typonow ends with the language's 26 MB KTM1 matrix in the cache, and an install set up before the matrices existed picks one up on its next setup run instead of deriving the index at load time. Arming measures about half a second where deriving took 25 to 45 seconds, and German - the language where the hybrid's benchmark win is largest - arms in 511 ms against 44.9 s derived.- The engine records which path won:
Kotoshu::Typo::Engine#armed_viaanswers:matrixor:derived,Kotoshu::ResourceManager.setup?(lang, resource: :typo_matrix)probes the artifact, andkotoshu setup --listprints per-resource detail such asen: spelling, model, typo, typo-matrix. A stale extension can no longer silently fall back to deriving - a weekly workflow compares the extension's kotoshu-rs pin against main and fails loudly with the fix recipe, and the release verify job installs the shipped gem and asserts the native surface before green-lighting a cut. - The Rust crate follows at 0.2.1 with the public matrix surface (
TypoEngine::from_matrix,TypoIndex::parse_ktm1/write_rows), and the model registry grew a fetchability gate: every primary, mirror, and vocab URL is probed with ranged requests on each pull request and before every release, so a dead mirror can never reach a tag again.
see also gem on RubyGems crate on crates.io registry