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