Releases: chewing/libchewing
Releases · chewing/libchewing
v0.9.1
What's New in libchewing 0.9.1 (October 26, 2024)
-
Bug Fixes
- Disable automatic selections snapshot which introduced more problems then
what it tried to solve. (introduced in v0.9.0)
- Disable automatic selections snapshot which introduced more problems then
-
Build
- Statically link C runtime on Windows
- Use vcpkg on Windows
Full Changelog: v0.9.0...v0.9.1
v0.9.0
What's New in libchewing 0.9.0 (August 11, 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.
- Automatically load extra dictionaries found in search path
- ${CHEWING_PATH}/dictionary.d/*.dat
- Automatic snapshot selections when the curser is moved.
- Support two new input modes:
-
Developer Features
- BREAKING: Remove language_mode and character_form methods (Rust).
- BREAKING: Remove unused pinyin.tab file
- BREAKING: Remove most unused C code but keep compat C headers.
- 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
- Define version macros
- CHEWING_VERSION_MAJOR
- CHEWING_VERSION_MINOR
- CHEWING_VERSION_PATCH
-
Bug Fixes
- Separate special handling by pinyin variants (#298)
- Panic when selecting phrases backwards at the end of buffer. (introduced in
v0.8.0)
-
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
- Support new editor options in the fuzzer.
- Generate test cases from fuzzer 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
- Append
git describe
to version string for unreleased version.
-
New Contributors
- @chenrui333 made their first contribution in #560
- @wusyong made their first contribution in #582
Full Changelog: v0.8.5...v0.9.0
v0.9.0-rc.3
What's New in libchewing 0.9.0-rc.3 (July 28, 2024)
-
Bug fixes
- Add back 0.5.x compat C headers. (introduced in v0.9.0-rc.1)
- Panic when connecting symbol to symbol or symbol to phrase. (introduced in v0.9.0-rc.1)
- Panic when selecting phrases backwards at the end of buffer. (introduced in v0.8.0)
- Panic when autocommit in select mode triggered by the simple engine. (introduced in v0.9.0-rc.2)
-
Testing
- Support new editor options in the fuzzer.
- Generate test cases from fuzzer input.
-
Misc
- Append
git describe
to version string for unreleased version.
- Append
Full Changelog: v0.9.0-rc.2...v0.9.0-rc.3
v0.9.0-rc.2
What's New in libchewing 0.9.0-rc.2 (July 22, 2024)
- Features
- Revert mode switch notifications change.
- Make simple engine compatiable with Plain Zhuyin in ibus-chewing.
- Automatic snapshot selections when the curser is moved.
- Developer Features
- Define version macros
- CHEWING_VERSION_MAJOR
- CHEWING_VERSION_MINOR
- CHEWING_VERSION_PATCH
- Define version macros
Full Changelog: v0.9.0-rc.1...v0.9.0-rc.2
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 #560
- @wusyong made their first contribution in #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