Skip to content

v0.8.0

Compare
Choose a tag to compare
@kanru kanru released this 14 May 12:41
· 193 commits to master since this release
v0.8.0
8f7c805

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: v0.7.0...v0.8.0