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
---------------------------------------------------------
* 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
---------------------------------------------------------
* 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 Pythin 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
----------------------------------------------------------
* 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
----------------------------------------------------------
* 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
mthod solution on Microsoft Windows platforms.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).