Skip to content

Releases: chewing/libchewing

v0.9.1

26 Oct 07:54
v0.9.1
bab0250
Compare
Choose a tag to compare

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)
  • Build

    • Statically link C runtime on Windows
    • Use vcpkg on Windows

Full Changelog: v0.9.0...v0.9.1

v0.9.0

10 Aug 22:35
v0.9.0
83e03cc
Compare
Choose a tag to compare

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.
  • 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.
  • 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

Full Changelog: v0.8.5...v0.9.0

v0.9.0-rc.3

27 Jul 23:21
v0.9.0-rc.3
f189488
Compare
Choose a tag to compare
v0.9.0-rc.3 Pre-release
Pre-release

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.

Full Changelog: v0.9.0-rc.2...v0.9.0-rc.3

v0.9.0-rc.2

21 Jul 22:50
v0.9.0-rc.2
d2e1118
Compare
Choose a tag to compare
v0.9.0-rc.2 Pre-release
Pre-release

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

Full Changelog: v0.9.0-rc.1...v0.9.0-rc.2

v0.9.0-rc.1

16 Jul 12:32
v0.9.0-rc.1
a77806d
Compare
Choose a tag to compare
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
  • 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.
  • 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

Full Changelog: v0.8.5...v0.9.0-rc.1

v0.8.5

08 Jul 21:24
v0.8.5
9be4851
Compare
Choose a tag to compare

What's New in libchewing 0.8.5 (July 8, 2024)

  • Changed

    • Bump default Corrosion version to v0.5
  • Bug fixed

    • Hanyu Pinyin empty rime handling. (#585, introduced in v0.8.0, reported by Jidanni)
    • Printable non A-Z chars should output symbols in pinyin. (#592, introduced in v0.8.0, reported by Jidanni)

Full Changelog: v0.8.4...v0.8.5

v0.8.4

31 May 22:46
v0.8.4
9199c9e
Compare
Choose a tag to compare

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

25 May 10:16
v0.8.3
02e9211
Compare
Choose a tag to compare

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

21 May 13:36
v0.8.2
bf99982
Compare
Choose a tag to compare

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

15 May 13:17
v0.8.1
b57d968
Compare
Choose a tag to compare

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