Releases: chewing/libchewing
v0.9.0-rc.1
What's New in libchewing 0.9.0-rc.1 (July 16, 2024)
-
Features
- Support two new input modes:
- Fuzzy mode - support prefix search, partial zhuyin search, toneless input.
- Simple mode - like the traditional input method on Windows 95 which does
not perform any intelligent phrasing.
- Allow space key for pagination regardless of space_is_select_key mode.
- Merge DOWN and SPACE key behavior in pagination.
- A new option to disable fullwidth toggle key.
- Workman layout support.
- Load embedded mini dictionary if system dictionaries were not found.
- Show notification about mode switches triggered by input.
- Automatically load extra dictionaries found in search path
- ${CHEWING_PATH}/dictionary.d/*.dat
- Support two new input modes:
-
Developer Features
- BREAKING: Remove language_mode and character_form methods
- BREAKING: Remove unused pinyin.tab file
- BREAKING: Remove most unused C code
- Bump minimum supported Rust version to 1.77
- Enable ELF symbol versioning. All existing symbols are marked as version
CHEWING_0.5 and new symbols from this release are marked as CHEWING_0.9. - A new set of configuration API:
- chewing_config_has_option
- chewing_config_get_int
- chewing_config_set_int
- chewing_config_get_str
- chewing_config_set_str
- New API to get runtime library version:
- chewing_version
- chewing_version_major
- chewing_version_minor
- chewing_version_patch
- chewing_version_extra
- New API to acknowledge output buffers:
- chewing_ack
-
Bug Fixes
- Separate special handling by pinyin variants (#298)
-
Dictionary
- Default dictionary updates and fixes (#331)
-
Performance
- Optimize K shortest path algorithm to handle long pre-edit buffer. This
allowed us to remove the special DP algorithm and keep only the graph search
based algorithm in conversion.
- Optimize K shortest path algorithm to handle long pre-edit buffer. This
-
Testing
- Add benchmarks for the conversion module
- Add tests for options and default values
- Add test for chewing_config_set_str
- Test chewing_config_set_str with chewing.keyboard_type
- Allow switching keyboard layout in genkeystroke
- Add test for simple engine symbol input
-
Miscellaneous Tasks
- Drop outdated ChangeLog
- Add option to turn off tests run
- Use system corrosion if available
- Regenerate chewing.h using latest cbindgen
- Include CTest and use the built-in BUILD_TESTING option
- Manage SQLite dependency with CMake
- Print status about SQLite3 module
- Remove unused test files
- Bump Corrosion to v0.5
- Fix building without using CMake presets
- Force linking chewing_version obj file
-
New Contributors
- @chenrui333 made their first contribution in https://github.com/chewing/libchewing/pull/560
- @wusyong made their first contribution in https://github.com/chewing/libchewing/pull/582
Full Changelog: v0.8.5...v0.9.0-rc.1
v0.8.5
What's New in libchewing 0.8.5 (July 8, 2024)
-
Changed
- Bump default Corrosion version to v0.5
-
Bug fixed
Full Changelog: v0.8.4...v0.8.5
v0.8.4
What's New in libchewing 0.8.4 (Jun 1, 2024)
- Bug fixed
- Config options were incorrectly reset after certain operations. (introduced in v0.8.0)
- Incorrect mapping for KB_DVORAK and KB_DVORAK_HSU layouts. (introduced in v0.8.0)
- Installation failure if build with testing off. (introduced in v0.8.3)
Full Changelog: v0.8.3...v0.8.4
v0.8.3
What's New in libchewing 0.8.3 (May 25, 2024)
-
Changed
- Simplified build options on the Windows platform.
- Enabled CTest BUILD_TESTING option to disable tests.
- Default uses system Corrosion if available.
-
Bug fixed
- Fix more wrong Hsu (許氏) keyboard fuzz conversion (ㄍㄧ to ㄐㄧ and ㄍㄩ to ㄐㄩ) (introduced in v0.8.0)
Full Changelog: v0.8.2...v0.8.3
v0.8.2
What's New in libchewing 0.8.2 (May 21, 2024)
- Bug fixed
- Wrong Hsu (許氏) keyboard fuzz conversion (ㄍㄧ to ㄐㄧ and ㄍㄩ to ㄐㄩ) (introduced in v0.8.0)
- Wrong symbol map location when building as a CMake submodule.
Full Changelog: v0.8.1...v0.8.2
v0.8.1
What's New in libchewing 0.8.1 (May 15, 2024)
- Buf fixed
- Fail to build on aarch64 due to type mismatch. (introduced in v0.8.0)
Full Changelog: v0.8.0...v0.8.1
v0.8.0
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-cliis included in this release. It can
create or inspect dictionary files. - Reintroduce DictionaryMut as a separate trait.
- A new command line tool
-
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_Defaultmethod.
- Clarify the accepted value of
Full Changelog: v0.7.0...v0.8.0
v0.8.0-rc.4
Download the source tarball from github releases:
https://github.com/chewing/libchewing/releases/tag/v0.8.0-rc.4
libchewing releases can be verified with the following minisign public key
minisign -Vm libchewing-0.8.0-rc.4.tar.zst \
-P RWRzJFnXiLZleAyCIv1talBjyRewelcy9gzYQq9pd3SKSFBPoy57sf5s
Buf fixed
- 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)
Full Changelog: v0.8.0-rc.3...v0.8.0-rc.4
v0.8.0-rc.3
Download the source tarball from github releases:
https://github.com/chewing/libchewing/releases/tag/v0.8.0-rc.3
libchewing releases can be verified with the following minisign public key
minisign -Vm libchewing-0.8.0-rc.3.tar.zst \
-P RWRzJFnXiLZleAyCIv1talBjyRewelcy9gzYQq9pd3SKSFBPoy57sf5s
Buf fixed
- 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)
Full Changelog: v0.8.0-rc.2...v0.8.0-rc.3
v0.8.0-rc.2
Download the source tarball from github releases:
https://github.com/chewing/libchewing/releases/tag/v0.8.0-rc.2
libchewing releases can be verified with the following minisign public key
minisign -Vm libchewing-0.8.0-rc.2.tar.zst \
-P RWRzJFnXiLZleAyCIv1talBjyRewelcy9gzYQq9pd3SKSFBPoy57sf5s
Buf fixed
- chewing_cand_CheckDone result was reversed in capi (introduced in v0.7.0)
Full Changelog: v0.8.0-rc.1...v0.8.0-rc.2