Releases: chewing/libchewing
Releases · chewing/libchewing
v0.6.0-rc.1
What's New in libchewing 0.6.0-rc.1 (UNRELEASED)
This release contains many improvements and bug fixes. It's the first
release since 2016. We have started a major rewrite in Rust so we expect
to have more frequent releases in the following months.
-
Added
- New API chewing_phone_to_bopomofo to convert syllable in u16 to bopomofo
string [ShengYenPeng]. #166 - New API chewing_set_autoLearn and chewing_get_autoLearn can be used to
disable and enable new phrase auto learning. [Hiunn-hué] #261 - Add default config test for autoLearn option [Billy Su].
- Add Android platform support [hiroshiyui]. #408
- New chewing Rust crate can be downloaded from
crates.io [Kan-ru Chen]. #423 - Add several CMake presets for supported configurations [Kan-ru Chen]. #424
- New API chewing_phone_to_bopomofo to convert syllable in u16 to bopomofo
-
Changed
- Implement has_userphrase in testhelper with the public
chewing_userphrase_lookup API. [ShengYenPeng]. #223 - Updated HSU layout's JVC conversion to be more intuitive [Hiunn-hué]. #259
- Phrase auto learning now only triggers after committing [Hiunn-hué]. #260
- chewing_handle_CtrlNum now handles cursor better and has clearer error
message if there is nothing to be added to user phrase. [Hiunn-hué] #277 - chewing_handle_ShiftLeft and chewing_handle_ShiftRight now also displays
aux message for new user phrases added. [Hiunn-hué] #278 - Symbol used for full-width colon changed from ︰ (U+FE30) to : (U+FF1A)
[school510587] #304 - Support cross compiling with qemu. [sgn] #333
- CMake minimum version changed to 3.21.0
- Rewrite chewing internal in Rust [Kan-ru Chen] #347 #378
- Implement has_userphrase in testhelper with the public
-
Dictionary
-
Bug fixed
- Fix ChoiceEndChoice expression always true [Billy Su].
- Fix strncpy warning in hash.c [Bo-Cheng Jhan].
- Fix unable to input some Bopomofos with ET26 layout [Hiunn-hué]. #235
- Fix double free in userphrase-hash's TerminateUserphrase [cwlin]. #254
- Fix hash item offsett calculation in uhash [cwlin]. #255
- Fix ChoiceEndChoice expression always true [Billy Su]. #258
- Fix clearing bopomofo buffer after switching Chi-Eng mode [Hiunn-hué]. #268
- Fix chewing_handle_Space cannot input space with empty buffer [Hiunn-hué]. #274
- Fix a strncpy warning and use ARRAY_SIZE [school510587] #296
- Enhance chewing.py to support platforms with 64-bit pointer [cheese] #310
- Fix init_database to correctly read phrase frequency for sorting [yan12125] #334 #337
- Fix installation of data files [yan12125] #350
- Fix building shared library on all supported platforms [Kan-ru Chen] #375 #376
- Fix dvorak-qwerty symbol mapping [hiroshiyui] #407
- prevent memory leak in error case of GetDefaultUserPhrasePath [Kuang-che Wu].
- Fix PinYinData keySeq buffer overflow in PinYinInput() [Kuang-che Wu]. #238
- Fix trying to allocate buffer of negative size [Kuang-che Wu].
- Fix access violation due to negative cursor position [Kuang-che Wu].
- Fix several buffer overflow. [ChangZhuo Chen]. #241 #242
-
Platform-specific
- Install instructions for Mac OS [Chocobo1].
New Contributors
- @cwlin made their first contribution in #254
- @Billy4195 made their first contribution in #258
- @splasky made their first contribution in #280
- @school510587 made their first contribution in #296
- @cheese made their first contribution in #310
- @sgn made their first contribution in #333
- @ianchen-tw made their first contribution in #396
- @hiroshiyui made their first contribution in #408
Full Changelog: v0.5.1...v0.6.0-rc.1
v0.5.1
v0.5.0
What's New in libchewing 0.5.0 (May 2, 2016)
- New feature
- Add Carpalx keyboard layout support #217.
- Dictionary
- Misc
- Tweak several comments.
- Fix libchewing document.
- Remove old/dead code.
- Improve code readability and consistency.
- Update automake syntax #114.
- Add test cases #169 #177.
- Update Python sample code.
- Add debug tool dump_database.
- Integrate coverity scan in https://scan.coverity.com/.
- Platform-specific
- Update README for OS X.
- Set WITH_INTERNAL_SQLITE3 to true by default in MS-Windows.
- Fix Visual Studio compiling warnings/errors #168 #171 #189 #190 #213.
- Add a cmake option BUILD_DLL to enable building *.dll with MS VC++ #185.
- Make the python binding of libchewing support Windows dll files #186.
- Don't use SIGSTOP in MS-Windows.
- Bug fixed
- Successful stories:
- Rime Input Method Engine (RIME) takes partial dictionary from
libchewing. - PIME (writing input methods for Windows easily with Python) supports
Chewing IM by default.
- Rime Input Method Engine (RIME) takes partial dictionary from
v0.4.0
What's New in libchewing 0.4.0 (Apr 11, 2014)
- Add the following APIs:
- Userphrase manipulation
- chewing_userphrase_enumerate
- chewing_userphrase_has_next
- chewing_userphrase_get
- chewing_userphrase_add
- chewing_userphrase_remove
- chewing_userphrase_lookup
- Keyboardless action
- chewing_cand_open
- chewing_cand_close
- chewing_cand_string_by_index_static
- chewing_cand_choose_by_index
- chewing_cand_list_first
- chewing_cand_list_last
- chewing_cand_list_has_next
- chewing_cand_list_has_prev
- chewing_cand_list_next
- chewing_cand_list_prev
- chewing_commit_preedit_buf
- chewing_clean_preedit_buf
- chewing_clean_bopomofo_buf
- Bopomofo buffer
- chewing_bopomofo_Check
- chewing_bopomofo_String_static
- Static API
- chewing_aux_String_static
- chewing_buffer_String_static
- chewing_cand_String_static
- chewing_commit_String_static
- chewing_kbtype_String_static
- Misc
- chewing_new2
- Userphrase manipulation
- Dictionary format:
- Remove text data support
- Introduce platform independent binary data representation
- Move binary data to share/libchewing/*
- Userphrase format:
- Support SQLite-based user phrase storage and manipulation
- New coding style:
- Use scripts/indent.sh to change coding style
- Bug fixed:
- Fix chewing_zuin_Check wrong return value #62
- Fix numlock key cannot output number #45
- Fix negative frequency problem #75
- Fix cannot select candidate when symbol exists #79
- Avoid clearing the buffer when Up arrow key is pressed and escCleanAllBuf is 1.
- Fix cannot handle numlock 9 correctly #88
- Fix invalid characters are committed when pre-edit buffer is full
- Fix AutoLearnPhrase cannot fill correct wordSeq #108
- Fix wrong auto learn when symbol in between #112
- Fix missing rpl_malloc for cross compilation #118
- Fix '\n' appear in symbol table #126
- Reopen candidate list for symbols with down key #127 #135
- Let up key close candidate list of symbols #131 #138
- Misc:
- Add `make check' in cmake build
- Change MAX_UTF8_SIZE to 4
- Update official website URL
- Use CreateFileA() instead of CreateFile() to stick with the ANSI API
- Do not check phrase longer than MAX_PHRASE_LEN
- Implement dynamic programming phrasing algorithm #73
- Clean bopomofo buffer when mode change to English mode #89 #97
- Update README to GFM.
- Replace 'INCLUDE' with 'AM_CPPFLAGS' #68 #114 #116
- Use [Shift]+[-] to input EM DASH (u+2014) as default #113 #124
- Use Backspace to close candidate window #128
- Use PgUp/PgDn to turn pages of candidates #129
- Update Windows default search path #78
- The word "zuin", "Zhuyin" are obsolete terms for "Bopomofo"
- Add const whenever possible in several APIs
- Toggle shape mode with shift-space #141 #142
- Successful stories:
- chewing-windows-tsf project provides Text Services Framework
support for Microsoft Windows.
- chewing-windows-tsf project provides Text Services Framework
What's New in libchewing 0.3.5 (Jul 28, 2013)
- Improve CMake rules
- Visual Studio build included
- Dictionary improvements
- Remove duplicated phrases, fix Bopomofo representation
- tool tweaks
- travis-ci support (https://travis-ci.org/chewing/libchewing)
- drone.io support (https://drone.io/github.com/chewing/libchewing)
- coveralls.io support (https://coveralls.io/r/chewing/libchewing)
- editorconfig support (http://editorconfig.org/)
- Add new chewing_set_logger API
- Prevent unaligned memory access
- Reduce maxChiSymbolLen to 39 to avoid overflow
- Do not store user phrase when its length is 1
- Check chiSymbolBufLen in chewing_handle_Numlock()
- Set isSymbol to 0 in SetChoiceInfo
- Fix 'j', 'k' in select mode cannot handle symbol selecting
- Do not call GetCharNext() when GetCharFirst() fails
- Successful stories:
. FreeArray utilizes libchewing for selecting phrases of Array
input method
What's New in libchewing 0.3.4 (Dec 31, 2012)
- Improve the description of libchewing API
- Simplified examples to illustrate the usage are added
- Revise libchewing API. Check the documentation for details
- Support THL (Taiwan Huayu Luomapinyin) and MPS2 Pinyin keyboard layout
- Reimplementation of unit test framework. No external 'check' package
is required - Fix several phrase errors
- Add exceptional phrase as well
- Improved developer and user guide
- Introduce CMake based build system, which is convenient to MS-Windows
based environments. - Add --enable-gcov to enable gcov coverage
- Fix possible strncat() overflow
- Consistent checks for bopomofo sequence internally
- Handle incomplete bopomofo with space key properly
- Internal structure refactoring
- Read hash path from CHEWING_PATH environment variable
- Make libchewing thread-safe
- Fix IM crash by changing default candidate per page to 10
- Fix the detection of ncursesw
- Fix the usage of autotools
- Update and tune symbols
- Fix valgrind warning
- Fix several compilation warnings
- Fix GCC visibility availability for Darwin specific PIC code
- Fix hash table initialization and its memory leakage
- Support building with mingw32 toolchain
- Fix GNU Hurd build
- Fix Microsoft VC build
- Fix Windows 64-bit build
- Fix mingw32/64 + WINE build
- Successful stories:
. GCIN supports experimental Chewing IM since version 1.6.4
. HIME supports Chewing IM
. UCIMF supports Chewing IM
. Fcitx supports Chewing IM
. mozc (IM framework maintained by Google) provides Chewing support
. JMCCE (reworked version) supports libchewing
What's New in libchewing 0.3.3 (Feb 27, 2011)
- Fix memory access violation.
- Improved Python binding.
- Merged with libchewing-data project. (r455)
- Improved random key stroke tester.
- Fix the handling of phonetic symbols in Hsu's keyboard.
- Fix unexpected candidate disorder when doing symbol choice.
- Revised phrase choice from rearward logic.
- Fix cross compilation.
- Improved shell script to merge changes form libchewing-data.
- Successful stories:
. Google ChromeOS provides built-in Chewing IM support
. MeeGo platform provides built-in Chewing IM support
What's New in libchewing 0.3.2 (Dec 1, 2008)
- Add gcc visibility support to hide private APIs.
- APIs and Headers refactoring.
- Doxygen-friendly API documentation.
- New binary data manipulation approach to dramatically reduce storage
usage and loading time via memory mapping. (enabled by default) - New word segmentation method based on mmseg.
- Improved auto-learn new phrases method.
- Improved test suite and added simple benchmark program.
- Option to indicate the behavior for phrase choice to be rearward
or not. - New APIs to enumerate supported keyboard types.
- Repair improper memory access.
- API united in Win32 and UNIX world.
- Initial Python binding support.
- Merged with libchewing-data project. (r342)
- Canonical debugging messages.
- Successful stories:
. OpenBSD porting
. ibus-chewing : chewing engine for ibus input method framework.
. UIM-chewing leveraging libchewing 0.3.x development branch.
What's New in libchewing 0.3.1 (Oct 1, 2008)
- New keyboard layout DACHEN_CP26.
- Add key '`' to open symbol table.
- Erase candidate and reset its length when 'Esc' key is handled.
- Closes candidate window when user pressed 'Up' key.
- Doing select at the end of edit buffer works on the
last phrase (interval). - Improved reminding message text.
- Sync with libchewingdata project.
- A new HanYu-PinYin mapping table
- More robust behavior when IM crashes.
- Allow '#' comment and blank line in tsi.src.
- Fix chewing switch between Full/Half mode and cursor moves one space in
gedit. - Fix when list available phrases to choice, user's own phrases are
not included. - Release PgUp/PgDn key event to running applications.
- Fix portability issues on FreeBSD.
- Fix incorrect initialization.
- Fix pinyin key order, put "shun" before "shuo".
- Fix various potenital boffer overflow bugs.
- Fix various memory leaks.
- chewing_set_PinYinMethod to support multiple PinYin methods.
- chewing_handle_CtrlOption was removed.
- New structure SymbolEntry.
- Rename selectAreaLen to candPerPage.
- Added bEasySymbolInput.
What's New in libchewing 0.3.0 (May 15, 2006)
- This is a new development branch differing a lot from
0.2.x series, and breaks API/ABI for new features. - UTF-8 based language engine core for common Unicode
environment. - Porting layer for POSIX/Unix-like and Win32 to reduce the
redundant porting process. - New API design for better consistency.
- Merge the efforts from libchewing-data subproject, which
means various phrases have been reviewed and corrected. - Zuin fixes and symbol improvements.
- Support key 'j' / 'k' for paging in selection mode.
- Fix some internal memory management bugs and leaks.
- Improved internal test suite.
- New binary-form of user hash data to speed up loading and
solve hash data corruption. - Better calculating of internal tree and phone constants.
- Revised tsi.src for richer phrases and avoiding crashes.
- Merge phone and phrase from CNS11643.
- Reduce the amount for the expose for internal symbols.
- Improved Han-Yu PinYin to use table-lookup implementation.
- Experimental frequency-evaluation. (re-compute chewing
lifetime) - Implement the choice mechanism for pair symbols.
- Improved Tab handling to allow the switching over different
frequency orders of candidated phrases. - New auxiliary module for simpler API uses.
- Experimental memory-mapping based binary data handling to
speed up data loading. - Successful stories:
. Sun Solaris 10 U2 and 11 will provide built-in Chewing
IM support.
. OXIM input method suite from OpenDesktop/OSSI provides
Chewing support as its default input method.
. New Win32-Chewing subproject to provide efficient input
method solution on Microsoft Windows platforms.