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).