v0.9.0-rc.1
Pre-release
Pre-release
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