報せNews
2026-09-06 報 release. 6 September 2026
kotoshu 0.8.0 ships the integrations wave
The wave-1 program reaches RubyGems in one cut, bringing Unicode word detection for Greek and Cyrillic, directory-mode checking, baselines, inline ignores, and framework integrations for Rails, RSpec, Rake, and Jekyll.
- kotoshu 0.8.0 puts the whole wave-1 program on RubyGems in one cut: the thirteen language modules and nineteen keyboard layouts, directory-mode checking, CI baselines, inline ignore directives, a pre-commit hook, and four framework integrations, with no new runtime dependencies anywhere. The release also repairs remote
kotoshu setupfor staged languages through a sublayout-first, flat-fallback strategy, letskotoshu/tasksandkotoshu/jekyllload standalone, and compares baseline paths canonically. - Unicode word detection is the headline fix: word extraction had accepted only ASCII letters, so Greek and Ukrainian users could not check any text through the CLI. Extraction now follows the configured language’s tokenizer, using Greek for
eland Cyrillic forukwith the in-word apostrophe kept (Мар’яна), and Latin capitals such as Å and Ä for Latin languages, while languages without a script tokenizer keep the historical behavior and the frozen conformance vectors are unchanged. Swedish dictionary loading is fixed alongside:COMPOUNDRULE )kuses)itself as a flag character, and every flag is now escaped at compile time so the affix reader no longer raises. - Directory mode —
kotoshu check DIR [DIR ...]— checks every file with a known text extension under--include/--excludecontrol, honoring.gitignoreand.ignorethrough a standard glob subset (last-match wins, anchoring, nested scoping; files inside ignored directories cannot be re-included) and skipping hidden files plus.git,node_modules,vendor, andtargetby default. JSON and SARIF emit one combined document with per-file entries,--baselineapplies per file, and single-file and stdin behavior is byte-identical to before. - Ignores and baselines arrive as a pair:
kotoshu:disable-line,disable-next-line [WORDS], and the nestabledisable-file/enable-fileblock are recognized in each format’s comment syntax, with suppressed words moving tosuppressed_errors— listed by--show-suppressedand marked in result JSON and SARIF.kotoshu baseline initrecords existing debt count-based, so baselines survive reformatting;check --baselinelets covered errors pass, fails new ones, and reports stale entries as the debt shrinks. - The integrations are opt-in and dependency-free: an ActiveModel
SpellingValidatorthat raises one validation error per misspelling with the top suggestion in the message (real ActiveModel standalone — Rails not required), RSpec matchers whose failures list each misspelling and its suggestions, a Rake task over repository text files, and a safe Jekyll generator that fails the build on new spelling errors while a.kotoshu-baseline.jsonin the site source keeps baselined debt from blocking builds. The pre-commit hook (idkotoshu,language: system) ships too — honestly documented as requiring Ruby and the gem on PATH. - Norwegian is not in this cut. The registry added nb at v1.3.0 today, but the gem-side
no→nbalias and the Norwegian language module are next-cut work; 0.8.0’s thirteen new modules are the wave-1 thirteen and no more.
see also kotoshu 0.8.0 on RubyGems CHANGELOG Integrations — docs Ignores & baselines — docs