=========
Changelog
=========

Version 1.0.0 (2012/06/08)
--------------------------
Yeah... after nearly 6 years, polib reaches the stable state :)
Changes and fixes in this release:
- polib.pofile and polib.mofile functions can now return a custom class (thanks Craig Blaszczyk)
- polib now can find the metadata entry no matter where it is located (thanks François Poirotte)
- fixed issue #28 (IOError on reading obsolete "previous msgid" entries) (thanks James Ni)
- Dropped python 2.4 support

Version 0.7.0 (2011/07/14)
--------------------------
This version adds support for python 3 (thanks to Vinay Sajip).
polib now supports out-of-the-box any version of python ranging from 2.4 to latest 3.X version.
polib is now 5 years old ;) so the 0.7.X branch will be the last before the 1.X stable branch.

Version 0.6.4 (2011/07/13)
--------------------------
 - Better api, autodetected_encoding is no longer required to explicitely set the encoding (fixes issue #23),
 - Fixed issue #24 Support indented PO files (thanks to François Poirotte).

Version 0.6.3 (2011/02/19)
--------------------------
 - Fixed issue #19 (Disappearing newline characters due to textwrap module),
 - ensure wrapping works as expected.

Version 0.6.2 (2011/02/09)
--------------------------
 - Backported textwrap.TextWrapper._wrap_chunks that has support for the drop_whitespace parameter added in Python 2.6 (Fixes #18: broken compatibility with python 2.5, thanks @jezdez).

Version 0.6.1 (2011/02/09)
--------------------------
 - fixed regression that prevented POFile initialization from data to work (issue #17).

Version 0.6.0 (2011/02/07)
--------------------------
 - polib is now `fully documented <http://polib.readthedocs.org>`_,
 - switched from doctests to unit tests to keep the polib.py file clean,
 - fixed issue #7 (wrapping issues, thanks @jezdez),
 - added a __eq__ method to _BaseFile (thanks @kost BebiX),
 - handle msgctxt correctly when compiling mo files,
 - compiled mo files are now exactly the same as those compiled by msgfmt without using hash tables.

Version 0.5.5 (2010/10/30)
--------------------------
 - Removed multiline handling code, it was a mess and was the source of potential bugs like issue #11,
 - Fixed typo in README and CHANGELOG, fixes issue #13.

Version 0.5.4 (2010/10/02)
--------------------------
 - fixed an issue with detect_encoding(), in some cases it could return an invalid charset.

Version 0.5.3 (2010/08/29)
--------------------------
 - correctly unescape lines containing both \\\\n and \\n (thanks to Martin Geisler),
 - fixed issue #6: __str__() methods are returning unicode instead of str,
 - fixed issue #8: POFile.merge error when an entry is obsolete in a .po, that this entry reappears in the .pot and that we merge the two,
 - added support to instanciate POFile objects using data instead of file path (thanks to Diego Búrigo Zacarão),
 - fixed issue #9: POFile.merge drop fuzzy attributes from translations (thanks to Tim Gerundt),
 - fixed issue #10: Finding entries with the same msgid and different context (msgctxt).

Version 0.5.2 (2010/06/09)
--------------------------
 - fixed issue #1: untranslated_entries() also show fuzzy message,
 - write back the fuzzy header if present in the pofile,
 - added support for previous msgctxt, previous msgid and previous msgid_plural comments (fixes issue #5),
 - better handling of lines wrapping.

Version 0.5.1 (2009/12/14)
--------------------------
 - fixed issue #0025: setup.py requires CHANGELOG but it's not present in polib-0.5.0-tar.gz

Version 0.5.0 (2009/12/13)
--------------------------
 - fixed issue #0017: UnicodeDecodeError while writing a mo-file,
 - fixed issue #0018: implemented support for msgctxt,
 - fixed bug when compiling plural msgids/strs,
 - API docs are no longer included, hopefully next release will ship with sphinx documentation,
 - parse msg plural entries correctly when reading mo files,
 - fixed issue #0020 and #0021: added ability to check for duplicate when adding entries to po/mo files, this is optional and not enabled by default because it slows down considerably the library,
 - fixed issue #0022: unescaping code is insufficient,
 - fixed issue #0023: encoding error when saving mo file as po file (thanks to sebastien.sable for the patch !).

Version 0.4.2 (2009/06/05)
--------------------------
 - fixed issue #0007: use the codecs module to open files,
 - fixed issue #0014: plural forms are not saved correctly in the mo file (thanks lorenzo.gil.sanchez for the patch),
 - fixed issue #0015: no LICENSE file included in tarball,  
 - removed Version/Date from README,
 - added test pot files to MANIFEST.in,
 - performance improvment in find() method (thanks Thomas !).

Version 0.4.1 (2009/03/04)
--------------------------
 - fixed issue #0006: plural msgstrs were saved unsorted,
 - fixed issue #0008: long comment lines broke 'save()' method,
 - removed performance shortcuts: they were in fact inefficient, I was misleaded by the python profile module, kudos to Thomas for making me realise that,
 - fixed issue #0010: wrong polib version number,
 - fixed issue #0011: occurrences parsing is now more robust and can handle weird references formats (like in eToys OLPC po files),
 - fixed issue #0012: improved merge() method.

Version 0.4.0 (2008/11/26)
--------------------------
 - fixed bug #0005: percent_translated divide by 0 on empty po files,
 - fixed bug #0004: occurrences that have hiphens are wrapped when they should not,
 - changes in how encoding is handled,
 - remove deprecation warnings for typo on "occurrences",
 - added POEntry.__cmp__() method to sort entries like gettext does,
 - fixed POEntry.transalated(),
 - added a merge() method to POFile class, that behaves like the gettext msgmerge utility,
 - obsolete entries are now written at the end of the file and with only msgid/msgstr like gettext does,
 - fixed some bugs in mo files parsing,
 - renamed quote/unquote functions to escape/unescape,
 - various cosmetic changes.

Version 0.3.1 (2007/12/13)
--------------------------
 - fixed bug #0002: typo on "occurrences",
 - fixed bug #0003: mismatch in exception instance names,
 - removed deprecation warnings,
 - removed unused charset() method in POFile/MOFile objects,
 - fixed bug in multibytes string length (added regression tests),
 - fixed a bug in detect_encoding(),
 - added a find() method to _BaseFile class,
 - proper handling of quoting and unquoting,
 - proper handling of multiline strings in metadata 

Version 0.3.0 (2007/10/17)
--------------------------
 - speed improvements,
 - polib can now compile mo files,
 - unicode support,
 - fixed bug #0001: global name 'sorted' is not defined" on python 2.3.

Version 0.1.0 (2006-08-08)
--------------------------
Initial release
