polib-fixes / CHANGELOG

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

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
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.