libdatrie

0.2.14 (2025-11-25)
======
- No more dependency on autoconf-archive when building from Git.
- Check and link to locale_charset() available in libiconv 1.17.
  - Issue #25, PR #27, reported and fixed by John Hein.
- Problem fixes for parallel build.
  - Debian #1105545, "make --shuffle=reverse", reported by Lucas Nussbaum.
  - Issue #28, writing to the same file, reported by
    @enter-github-username@github.com.
- Catch more malloc() failures caught by Coverity Scan
  - Issue #20, reported by Peng Wu.
- Updated build scripts to latest toolchain.
- Minor documentation fix.
- Minor error handling improvement in tests.

0.2.13 (2021-01-29)
======
- Fix wrong key listing in byte trie
  (Issue #9, Thanks @legale for the report.)
- Fix cross-compiling issue caused by AC_FUNC_MALLOC
  (Issue #11, Thanks Vanessa McHale for the report.)
- Fix isspace() arg problem on NetBSD.
  (Personal mail, Thanks Sean for the report;
   PR #8, Thanks OBATA Akio for an individual pull request.)
- Fix some documentations.
- Really use TRIE_CHAR_TERM in TrieChar string termination.
  Changing TRIE_CHAR_TERM definition now won't break the code.
- Fix Windows build issue by avoiding <unistd.h> include.
  (Partially addressing PR #15, Thanks @fanc999 for first raising this.)
- [New APIs] Add serialization of the trie into memory buffer.
  (PR #12, Thanks KOLANICH for the contribution.)

0.2.12 (2018-06-19)
======
- More C90 (ANSI C) compliance.
  (Thanks Peter Moulder for the patch)
- Prevent some compiling conflicts with other sources.
  (Thanks Peter Moulder for the patch)
- Fix miscellaneous compiler warnings.
- Prevent trimming on extremely long dictionary path names.

0.2.11 (2018-04-23)
======
- Detect iconv() error more correctly in trietool.
  (Thanks Daniel Macks for the report on Issue #3)
- Clarify package description that search time is O(m), where m is
  key length, not O(1), while still claiming that it's independent
  of database size.
  (Thanks @flackbash for the report on Issue #4)
- Fix trie_state_get_data() on a prefix key.
  (Thanks Filip Pytloun from the pytries project for the initial patch)
- Fix reported segfault on full-range alpha map.
  (Thanks Xiao Wang for the report on Issue #6,
  and @nevermatch for the analysis.)

0.2.10 (2015-10-20)
======
- Correctly check doxygen version on configure.
  (Thanks Petr Gajdos for the patch.)
- Optimization on AlphaMap mapping.
  (contributing to 0.2% less run time for LibThai word breaking)

0.2.9 (2015-05-03)
=====
- Fix binary file opening on Windows
  (Thanks phongphan.p for the report and initial patch.)
- Fix infinite loop on empty trie iteration.
  (Thanks Sergei Lebedev for the report and analysis.)
- Micro-optimization with LIKELY/UNLIKELY hints.
  (contributing to 4.76% faster dictionary loading, 1.95% faster
  word breaking for LibThai)
- Improved error handling
- 'trietool-0.2' utility is renamed to just 'trietool'
- Improved documentation
  (Thanks edgehogapp for the suggestion.)
- No timestamp on Doxygen-generated doc
  (Thanks Debian Reproducible)

0.2.8 (2014-01-10)
=====
- Fix compiler warnings in test suites.
- Fix edge-case error on alphabet set of size 255.
  (Thanks Naoki Youshinaga for the report, test case, and analysis.)
- Fail trie operations on non-alphabet inputs, rather than silently allowing
  them to sneak in as false keys.
  (Thanks Naoki Youshinaga for the suggestion.)
- Improved documentation.

0.2.7.1 (2013-10-22)
=======
- Bump library versioning to reflect API addition.
  (Change missing in previous release)

0.2.7 (2013-10-21)
=====
- Fix portability issue with non-GCC compilers.
  [Thanks Gabi Daver for the report and fix (via Mikhail Korobov).]
- Fix compiler warnings.
- New utility API for comparing AlphaChar strings.
- Add test suites.
- Update doxygen doc generation.

0.2.6 (2013-01-23)
=====
- New API trie_state_walkable_chars() for breadth-first traversal.
- New class TrieIterator for callback-free enumeration.
- Improved performance on key enumeration.
- Improved AlphaMap range merging.
- Bug fixes.
[Many thanks to Mikhail Korobov for improvements in this version.]

0.2.5 (2011-11-04)
=====
- Fix missing 'extern "C"' in header file. [Patch from Aurimas Černius]
- Minor documentation fix.

0.2.4 (2010-06-30)
=====
- Close file on saving trie. [Bug report from Xu Jiandong]
- Add trie_store_if_absent() API which fails on adding duplicated key.
  This is useful for preventing race condition in multi-thread applications.
  [Suggestion from Dan Searle]
- Add trie_fread() and trie_fwrite() APIs for reading/writing trie data in
  an open file, allowing trie to be embeded as part of a bigger file.
  [Suggestion from NIIBE Yutaka]

0.2.3 (2010-02-27)
=====
- More robustness against corrupted trie files.
- License clarification in individual source files.

0.2.2 (2009-04-29)
=====
- Support building with linkers without symbol versioning supports,
  including Mac, Cygwin, MinGW.
- Support other iconv implementations than that's in glibc, for Mac and MinGW.

0.2.1 (2009-04-05)
=====
- Fix errors in documentation
- Symbol versioning to ease upgrade across SONAME
- Minor cleanups

0.2.0 (2009-03-24)
=====
- New APIs for performance: trie_state_copy(), trie_state_is_single()
- Clean-ups

0.1.99.2 (2008-12-15)
========
- More robust handling of alphabet ranges
- Allow co-existence with libdatrie0

0.1.99.1 (2008-12-12)
========
- Breaking ABI with libdatrie0
- More capacity with 32-bit node index
- Adjusted API for non-file trie usage
- All data in one file, no more *.br and *.tl split
- Drop SBTrie wrapper; all features are merged into Trie
- Domain characters are now Unicode

0.1.3 (2008-01-28)
=====
- Fix memory bug which can crash on some platforms, reportedly win32.
  (shepmaster)
- Fix symbols exporting, so it builds on Mac. (Vee Satayamas)
- Remove excessive documentation for private API's.
- Add the SBM file format documentation frequently asked for

0.1.2 (2007-08-25)
=====
- Limited symbols export, to avoid name clashing
- Improved error handling for edge cases
- Fix crashes

0.1.1 (2006-10-12)
=====
- Fix compiler warnings
- Man page for trietool

0.1.0 (2006-09-18)
=====
- Initial release
- BASE-TAIL Double-array trie structure
- Single-byte character map support

