ANN: libchewing 0.8.0 Released

12 views
Skip to first unread message

Kan-Ru Chen

unread,
May 14, 2024, 9:01:27 AMMay 14
to chewing-devel
Hi,

大家好,從 2022 年 4/29 開始的 Rust Rewrite (89ef2a8) 終於進入一個新的里程碑!
0.8.0 是第一個完全用 Rust 重寫的 libchewing 的第一個 release,接下來將會有
新的開發計畫!

重大變更:新字典格式與舊有工具不相容

現有使用者字典將會自動備份及轉移,但舊有工具若無法直接操作字典檔案,
請使用新的 `chewing-cli` 工具來檢視、傾出或建構使用者字典。目前已測試
chewing-editor 可正常操作。

Download the source tarball from github releases:

https://github.com/chewing/libchewing/releases/tag/v0.8.0

libchewing releases can be verified with the following minisign public key

minisign -Vm libchewing-0.8.0.tar.zst \
-P RWRzJFnXiLZleAyCIv1talBjyRewelcy9gzYQq9pd3SKSFBPoy57sf5s

What's New in libchewing 0.8.0 (May 14, 2024)
---------------------------------------------------------

**BREAKING CHANGE**

New dictionary format is not compatible with old tools. Existing user dictionary
will be automatically backed up and migrated however old tools might not be able
to manipulate the dictionary directly.

The `chewing-editor` program can still be used to edit user dictionaries. In
this release we also introduced a new `chewing-cli` tool to inspect/dump/build
user dictionaries. See `chewing-cli(1)` for more details.

This version also closed/fixed many issues. Find the complete list of closed
issues here: https://github.com/chewing/libchewing/milestone/7?closed=1

* Added
- A new command line tool `chewing-cli` is included in this release. It can
create or inspect dictionary files.
- Reintroduce DictionaryMut as a separate trait.

* Changed
- CMake default preset switched to build with rust.
- CMake minimum required version bumped to 3.24.0.
- System dictionary and user dictionary file now uses platform standard paths.
See https://docs.rs/chewing/latest/chewing/path/fn.data_dir.html for
details.
- Improved TrieBufDictionary::from ergonomics.
- Rename DictEntries to Entries.
- Ensure all fallible API returns Error.
- Improved algorithm so using Tab key to find alternative phrasing is more
responsive.
- Easy symbol input now accepts arbitrary long "symbols". (rust)
- Removed duplicated symbols "●" and "○" from symbols input.

* Buf fixed
- chewing_cand_CheckDone result was reversed in capi (introduced in v0.7.0)
- Correctly ignore instead of absorb keys when the pre-edit buffer is empty.
(introduced in v0.6.0)
- Reset pagination page number when searching for next candidate range.
(introduced in v0.7.0)
- chewing_bopomofo_String_static did not return key sequence for pinyin input
mode. (introduced in v0.6.0)
- Different chewing_*_static() functions were using one shared global buffer.
(introduced in v0.6.0)
- Special symbol selection missed a couple symbols that was in C version.
(introduced in v0.7.0)
- Panics when a new selection replaces more than one existing selections.
(introduced in v0.7.0)
- Selection created from alternative bopomofo was not considered in
conversion. (introduced in v0.6.0)

* Removed
- HashMap implemented Dictionary was removed.

* Documentation
- Clarify the accepted value of `chewing_handle_Default` method.


**Full Changelog**: https://github.com/chewing/libchewing/compare/v0.7.0...v0.8.0

Happy hacking,
Kan-ru
Reply all
Reply to author
Forward
0 new messages