Repository navigation
v2.2.0
Upgrade to Snowball 3.2.0 with Ukrainian and Early Modern English support. The package now provides 36 algorithms: 35 languages and historical English.
New algorithms
import { ukrainian, earlyModernEnglish, createStemmer, Languages } from 'multilingual-stemmer';
ukrainian('книгами');
earlyModernEnglish('bringeth');
createStemmer('uk')('акварельний');
createStemmer('earlymodernenglish')('bringeth');
createStemmer(Languages.EarlyModernEnglish)('bringeth');Results: книг, bring, акварел, bring, bring.
Changes and compatibility
- Regenerate all algorithms and synchronize the Rust runtime with Snowball 3.2.0.
- French now removes the colloquial elision
z'. Rebuild affected French search indexes so documents and queries use the same algorithm version. - Use
Languages.Xmembers or string identifiers. Specific numeric enum values are not part of the API contract. - The published library supports Node.js ≥22 and browsers. Development and builds require Node.js ≥24.14.
- Update dependencies to TypeScript 7, Vitest 5, pnpm 12, wasm-opt 2 / Binaryen 132, and wasm-bindgen 0.2.129; update GitHub Actions.
- Clear
distbefore builds and include full third-party license notices in the npm package.
Verification
- 63 tests covering all 36 algorithms.
- Install the npm tarball in a clean project and verify all 2,471,881 corpus words on Node.js 22.0.0.
- Validate the TypeScript consumer and a Vite production build in Chrome with 1,264 browser checks.