1What's New in libchewing 0.5.1 (May 18, 2016) 2--------------------------------------------------------- 3* Bug fixed: 4 - Fix wrong CHEWING_DATADIR definition in CMake build #222. 5 - Fix j, k selection when symbol in between #149 #221. 6 7 8What's New in libchewing 0.5.0 (May 2, 2016) 9--------------------------------------------------------- 10* New feature 11 - Add Carpalx keyboard layout support #217. 12 13* Dictionary 14 - Update dictionary #151 #155 #188 #191 #201. 15 - Add debug tool: dump_database. 16 - Sort tsi.src #212. 17 18* Misc 19 - Tweak several comments. 20 - Fix libchewing document. 21 - Remove old/dead code. 22 - Improve code readability and consistency. 23 - Update automake syntax #114. 24 - Add test cases #169 #177. 25 - Update Python sample code. 26 - Add debug tool dump_database. 27 - Integrate coverity scan in https://scan.coverity.com/. 28 29* Platform-specific 30 - Update README for OS X. 31 - Set WITH_INTERNAL_SQLITE3 to true by default in MS-Windows. 32 - Fix Visual Studio compiling warnings/errors #168 #171 #189 #190 #213. 33 - Add a cmake option BUILD_DLL to enable building *.dll with MS VC++ #185. 34 - Make the python binding of libchewing support Windows dll files #186. 35 - Don't use SIGSTOP in MS-Windows. 36 37* Bug fixed 38 - Check if ld supports --no-defined #144. 39 - Fix unexpected candidate disorder for '1' #153 40 - Replace bash-izm '==' operator with '=' for test(1) # 158. 41 - Fix several Coverity errors #172 #173. 42 - Fix ChewingKillChar which is disabling OpenSymbolChoice #160 #181. 43 - ㄅ cannot overwrite ㄆ in HSU and ET26 #170 #183. 44 45* Successful stories: 46 - Rime Input Method Engine (RIME) takes partial dictionary from 47 libchewing. 48 - PIME (writing input methods for Windows easily with Python) supports 49 Chewing IM by default. 50 51 52What's New in libchewing 0.4.0 (Apr 11, 2014) 53--------------------------------------------------------- 54* Add the following APIs: 55 - Userphrase manipulation 56 - chewing_userphrase_enumerate 57 - chewing_userphrase_has_next 58 - chewing_userphrase_get 59 - chewing_userphrase_add 60 - chewing_userphrase_remove 61 - chewing_userphrase_lookup 62 - Keyboardless action 63 - chewing_cand_open 64 - chewing_cand_close 65 - chewing_cand_string_by_index_static 66 - chewing_cand_choose_by_index 67 - chewing_cand_list_first 68 - chewing_cand_list_last 69 - chewing_cand_list_has_next 70 - chewing_cand_list_has_prev 71 - chewing_cand_list_next 72 - chewing_cand_list_prev 73 - chewing_commit_preedit_buf 74 - chewing_clean_preedit_buf 75 - chewing_clean_bopomofo_buf 76 - Bopomofo buffer 77 - chewing_bopomofo_Check 78 - chewing_bopomofo_String_static 79 - Static API 80 - chewing_aux_String_static 81 - chewing_buffer_String_static 82 - chewing_cand_String_static 83 - chewing_commit_String_static 84 - chewing_kbtype_String_static 85 - Misc 86 - chewing_new2 87* Dictionary format: 88 - Remove text data support 89 - Introduce platform independent binary data representation 90 - Move binary data to share/libchewing/* 91* Userphrase format: 92 - Support SQLite-based user phrase storage and manipulation 93* New coding style: 94 - Use scripts/indent.sh to change coding style 95* Bug fixed: 96 - Fix chewing_zuin_Check wrong return value #62 97 - Fix numlock key cannot output number #45 98 - Fix negative frequency problem #75 99 - Fix cannot select candidate when symbol exists #79 100 - Avoid clearing the buffer when Up arrow key is pressed and escCleanAllBuf is 1. 101 - Fix cannot handle numlock 9 correctly #88 102 - Fix invalid characters are committed when pre-edit buffer is full 103 - Fix AutoLearnPhrase cannot fill correct wordSeq #108 104 - Fix wrong auto learn when symbol in between #112 105 - Fix missing rpl_malloc for cross compilation #118 106 - Fix '\n' appear in symbol table #126 107 - Reopen candidate list for symbols with down key #127 #135 108 - Let up key close candidate list of symbols #131 #138 109* Misc: 110 - Add `make check' in cmake build 111 - Change MAX_UTF8_SIZE to 4 112 - Update official website URL 113 - Use CreateFileA() instead of CreateFile() to stick with the ANSI API 114 - Do not check phrase longer than MAX_PHRASE_LEN 115 - Implement dynamic programming phrasing algorithm #73 116 - Clean bopomofo buffer when mode change to English mode #89 #97 117 - Update README to GFM. 118 - Replace 'INCLUDE' with 'AM_CPPFLAGS' #68 #114 #116 119 - Use [Shift]+[-] to input EM DASH (u+2014) as default #113 #124 120 - Use Backspace to close candidate window #128 121 - Use PgUp/PgDn to turn pages of candidates #129 122 - Update Windows default search path #78 123 - The word "zuin", "Zhuyin" are obsolete terms for "Bopomofo" 124 - Add const whenever possible in several APIs 125 - Toggle shape mode with shift-space #141 #142 126* Successful stories: 127 - chewing-windows-tsf project provides Text Services Framework 128 support for Microsoft Windows. 129 130 131What's New in libchewing 0.3.5 (Jul 28, 2013) 132--------------------------------------------------------- 133* Improve CMake rules 134 - Visual Studio build included 135* Dictionary improvements 136 - Remove duplicated phrases, fix Bopomofo representation 137 - tool tweaks 138* travis-ci support (https://travis-ci.org/chewing/libchewing) 139* drone.io support (https://drone.io/github.com/chewing/libchewing) 140* coveralls.io support (https://coveralls.io/r/chewing/libchewing) 141* editorconfig support (http://editorconfig.org/) 142* Add new chewing_set_logger API 143* Prevent unaligned memory access 144* Reduce maxChiSymbolLen to 39 to avoid overflow 145* Do not store user phrase when its length is 1 146* Check chiSymbolBufLen in chewing_handle_Numlock() 147* Set isSymbol to 0 in SetChoiceInfo 148* Fix 'j', 'k' in select mode cannot handle symbol selecting 149* Do not call GetCharNext() when GetCharFirst() fails 150* Successful stories: 151 . FreeArray utilizes libchewing for selecting phrases of Array 152 input method 153 154 155What's New in libchewing 0.3.4 (Dec 31, 2012) 156--------------------------------------------------------- 157* Improve the description of libchewing API 158 - Simplified examples to illustrate the usage are added 159* Revise libchewing API. Check the documentation for details 160* Support THL (Taiwan Huayu Luomapinyin) and MPS2 Pinyin keyboard layout 161* Reimplementation of unit test framework. No external 'check' package 162 is required 163* Fix several phrase errors 164 - Add exceptional phrase as well 165* Improved developer and user guide 166* Introduce CMake based build system, which is convenient to MS-Windows 167 based environments. 168* Add --enable-gcov to enable gcov coverage 169* Fix possible strncat() overflow 170* Consistent checks for bopomofo sequence internally 171* Handle incomplete bopomofo with space key properly 172* Internal structure refactoring 173* Read hash path from CHEWING_PATH environment variable 174* Make libchewing thread-safe 175* Fix IM crash by changing default candidate per page to 10 176* Fix the detection of ncursesw 177* Fix the usage of autotools 178* Update and tune symbols 179* Fix valgrind warning 180* Fix several compilation warnings 181* Fix GCC visibility availability for Darwin specific PIC code 182* Fix hash table initialization and its memory leakage 183* Support building with mingw32 toolchain 184* Fix GNU Hurd build 185* Fix Microsoft VC build 186* Fix Windows 64-bit build 187* Fix mingw32/64 + WINE build 188* Successful stories: 189 . GCIN supports experimental Chewing IM since version 1.6.4 190 . HIME supports Chewing IM 191 . UCIMF supports Chewing IM 192 . Fcitx supports Chewing IM 193 . mozc (IM framework maintained by Google) provides Chewing support 194 . JMCCE (reworked version) supports libchewing 195 196 197What's New in libchewing 0.3.3 (Feb 27, 2011) 198--------------------------------------------------------- 199* Fix memory access violation. 200* Improved Python binding. 201* Merged with libchewing-data project. (r455) 202* Improved random key stroke tester. 203* Fix the handling of phonetic symbols in Hsu's keyboard. 204* Fix unexpected candidate disorder when doing symbol choice. 205* Revised phrase choice from rearward logic. 206* Fix cross compilation. 207* Improved shell script to merge changes form libchewing-data. 208* Successful stories: 209 . Google ChromeOS provides built-in Chewing IM support 210 . MeeGo platform provides built-in Chewing IM support 211 212 213What's New in libchewing 0.3.2 (Dec 1, 2008) 214--------------------------------------------------------- 215* Add gcc visibility support to hide private APIs. 216* APIs and Headers refactoring. 217* Doxygen-friendly API documentation. 218* New binary data manipulation approach to dramatically reduce storage 219 usage and loading time via memory mapping. (enabled by default) 220* New word segmentation method based on mmseg. 221* Improved auto-learn new phrases method. 222* Improved test suite and added simple benchmark program. 223* Option to indicate the behavior for phrase choice to be rearward 224 or not. 225* New APIs to enumerate supported keyboard types. 226* Repair improper memory access. 227* API united in Win32 and UNIX world. 228* Initial Python binding support. 229* Merged with libchewing-data project. (r342) 230* Canonical debugging messages. 231* Successful stories: 232 . OpenBSD porting 233 . ibus-chewing : chewing engine for ibus input method framework. 234 . UIM-chewing leveraging libchewing 0.3.x development branch. 235 236 237What's New in libchewing 0.3.1 (Oct 1, 2008) 238---------------------------------------------------------- 239* New keyboard layout DACHEN_CP26. 240* Add key '`' to open symbol table. 241* Erase candidate and reset its length when 'Esc' key is handled. 242* Closes candidate window when user pressed 'Up' key. 243* Doing select at the end of edit buffer works on the 244 last phrase (interval). 245* Improved reminding message text. 246* Sync with libchewingdata project. 247* A new HanYu-PinYin mapping table 248* More robust behavior when IM crashes. 249* Allow '#' comment and blank line in tsi.src. 250* Fix chewing switch between Full/Half mode and cursor moves one space in 251 gedit. 252* Fix when list available phrases to choice, user's own phrases are 253 not included. 254* Release PgUp/PgDn key event to running applications. 255* Fix portability issues on FreeBSD. 256* Fix incorrect initialization. 257* Fix pinyin key order, put "shun" before "shuo". 258* Fix various potenital boffer overflow bugs. 259* Fix various memory leaks. 260* chewing_set_PinYinMethod to support multiple PinYin methods. 261* chewing_handle_CtrlOption was removed. 262* New structure SymbolEntry. 263* Rename selectAreaLen to candPerPage. 264* Added bEasySymbolInput. 265 266 267What's New in libchewing 0.3.0 (May 15, 2006) 268---------------------------------------------------------- 269* This is a new development branch differing a lot from 270 0.2.x series, and breaks API/ABI for new features. 271* UTF-8 based language engine core for common Unicode 272 environment. 273* Porting layer for POSIX/Unix-like and Win32 to reduce the 274 redundant porting process. 275* New API design for better consistency. 276* Merge the efforts from libchewing-data subproject, which 277 means various phrases have been reviewed and corrected. 278* Zuin fixes and symbol improvements. 279* Support key 'j' / 'k' for paging in selection mode. 280* Fix some internal memory management bugs and leaks. 281* Improved internal test suite. 282* New binary-form of user hash data to speed up loading and 283 solve hash data corruption. 284* Better calculating of internal tree and phone constants. 285* Revised tsi.src for richer phrases and avoiding crashes. 286* Merge phone and phrase from CNS11643. 287* Reduce the amount for the expose for internal symbols. 288* Improved Han-Yu PinYin to use table-lookup implementation. 289* Experimental frequency-evaluation. (re-compute chewing 290 lifetime) 291* Implement the choice mechanism for pair symbols. 292* Improved Tab handling to allow the switching over different 293 frequency orders of candidated phrases. 294* New auxiliary module for simpler API uses. 295* Experimental memory-mapping based binary data handling to 296 speed up data loading. 297* Successful stories: 298 . Sun Solaris 10 U2 and 11 will provide built-in Chewing 299 IM support. 300 . OXIM input method suite from OpenDesktop/OSSI provides 301 Chewing support as its default input method. 302 . New Win32-Chewing subproject to provide efficient input 303 method solution on Microsoft Windows platforms. 304 305 306What's New in libchewing 0.2.7 (Aug 8, 2005) 307---------------------------------------------------------- 308* Fix the keyboard type state changing bug. 309* Add new function to specify the space as the selection 310 key. 311* Improved debug messages. 312* Provide cutomized user-defined PinYin table support. 313* Add termination mechanism. 314* Successful stories: 315 . Chewing has its Win32 porting (MS-IME) via OVIME (the 316 Win32 port of OpenVanilla Input Method Framework). 317 318 319What's New in libchewing 0.2.6 (Feb 28, 2005) 320---------------------------------------------------------- 321* Experimental feature -- HanYu PinYing Keyboard layout. 322* Proper $HOME env handling. 323* SegFault workaround after libtabe's tsi.src merge. 324* Add the facility to input symbols. 325* Successful stories: 326 . Chewing becomes one of the built-in input methods in Sun 327 Java Desktop System (JDS). 328 329 330What's New in libchewing 0.2.5 (Dec 28, 2004) 331---------------------------------------------------------- 332* Merge SpaceChewing's frequency tweaking from zonble. 333* Minor fixes for building process and zuin core. 334* Successful stories: 335 . IIIMF-chewing 336 . SCIM-chewing 337 . OpenVanilla Input Method Framework for MacOS X 338 339 340What's New in libchewing 0.2.4 341---------------------------------------------------------- 342* Merge from SpaceChewing: 343 . Dvorak Hsu keyboard layout. 344 . Hanin style support. 345* Directly use tsi.src from libtabe. 346 . No longer maintain separate tsi.src. 347* Fix the word selection bug. 348* Fix phonetic index in Hsu keyboard, and do fuzzy "g e" 349 to "j e" convertion. 350* Provide pkg-config and RPM spec. 351* Allow users to specify forward/backward phrase addition. 352* Initial Win32 support. 353 354 355What's New in libchewing 0.2.3 356---------------------------------------------------------- 357* Fix candidate phrase choice bug. 358* Built-in debugging routines. 359* Test suite & sample implementation. 360* Merge the enhancements from SpaceChewing, such as 361 space key selection, Eten special symbol input, and 362 MacOSX awared information. 363* Fix broken encoding in sort_dic utility. 364* Doxygen documentation support. 365* Add Dvorak keyboard support. 366