Download the source tarball from releases:
https://codeberg.org/chewing/libchewing/releases/tag/v0.12.0
libchewing releases can be verified with OpenPGP
gpgv libchewing-0.12.0.tar.zst.asc libchewing-0.12.0.tar.zst
Chewing Project has migrated to Codeberg, find the annoncement here:
https://chewing.im/posts/2026-03-30-move_to_codeberg.html
What's New in libchewing 0.12.0 (April 6, 2026)
---------------------------------------------------------
* Features
- dict: loading user dictionary are now also controlled by enabled_dicts
in `chewing_new3()`.
- dict: deleted phrases now can be recorded in a separate chewing-deleted.dat
exclusion dictionary. This allows excluding phrases from even built-in
dictionaries. Deleted phrases will not be auto learned again.
- editor: new config option "chewing.auto_snapshot_selections" (default false)
can be used to control whether phrase selections are automatically locked
after some condition.
* Bug Fixes
- dict: fixed parsing trie dictionary file with extension fields.
- dict: fixed trie_buf tombstone is not cleared after adding phrase again.
- dict: use max freq of all dictionaries as phrase frequency to avoid repeatedly
adding static dictionary freq to user dictionary freq.
* Changes
- rust: breaking! renamed SystemDictionaryLoader to AssetLoader.
- rust: breaking! renamed UserDictionaryLoader to UserDictionaryManager.
- rust: Dictionary trait gained a new `set_usage()` method.
- conversion: adjust max output paths down to 10.
**Full Changelog**:
https://codeberg.org/chewing/libchewing/compare/v0.11.0...v0.12.0
Happy hacking,
Kan-ru