+Version 0.19.7 - December 2015
+
+* Programming languages support:
+ - XML:
+ xgettext can now load custom string extraction rules supplied by
+ consumer projects. The rules are written in XML, utilizing the
+ Internationalization Tag Set (ITS) standard. All the existing
+ XML-based language scanners (Glade, GSettings, and AppData) are
+ rewritten using ITS. In addition, msgfmt now has --xml option to
+ merge translations back to the original XML document.
+
+* Portability:
+ - Improve OS/2 kLIBC support (still not complete)
+ - Remove dependency on expat
+
+Version 0.19.6 - September 2015
+
+* Programming languages support:
+ - AppData:
+ xgettext now supports AppData file format, used by software center
+ applications (e.g., GNOME Software) to describe installable
+ applications.
+
+* A new macro AM_GNU_GETTEXT_REQUIRE_VERSION can be used to indicate
+ autopoint to pull the latest available infrastructure, instead of
+ the exact version specified with AM_GNU_GETTEXT_VERSION. When
+ AM_GNU_GETTEXT_REQUIRE_VERSION is used, AM_GNU_GETTEXT_VERSION is
+ ignored.
+
+* po/Makefile.in.in can now insert the file $(DOMAIN).pot-header to
+ $(DOMAIN).pot, instead of the standard header comments.
+
+* Bug fixes:
+ - Fix mishandling of gettext version numbers for minor releases, in
+ po-mode.el and gettextize.
+ - Fix build with --enable-relocatable.
+
+Version 0.19.5 - July 2015
+
+* xgettext now has a feature to perform syntax checks on msgid, which
+ could enforce common styles of translatable strings, such as to
+ prefer Unicode characters to the corresponding ASCII characters.
+ They can be enabled with --check option or special "xgettext: "
+ comment in the source code. By default, no syntax checks are
+ enabled.
+
+* msgfilter and msgexec now have an option --newline, which appends a
+ newline character to filter input and trims it from the filter
+ output. This would allow filter programs to be more POSIX friendly.
+
+* The base Unicode standard is now updated to 8.0.0. This
+ particularly improves "\N{...}" notation handling of xgettext for
+ Perl and Python.
+
+* msginit is now capable of generating "Plural-Forms:" from Unicode
+ CLDR. This feature is still experimental, but you can try it by
+ setting the GETTEXTCLDRDIR environment variable pointing to the
+ directory where the CLDR archive is extracted. The actual
+ conversion is done by a helper program 'cldr-plural', which can be
+ used as a generic converter and evaluator of CLDR plural forms.
+
+* Programming languages support:
+ - C++ with KDE: xgettext and msgfmt can now recognize KUIT (KDE User
+ Interface Text) markup. See the documentation section "KUIT
+ Format Strings" for more info.
+ - C++ with KDE: xgettext now recognizes all default KDE keywords.
+ This removes the need for a long list of --keyword and --flag
+ options to perform a reasonable extraction.
+
+* Bug fixes:
+ - xgettext C++11 raw string recognition is now stricter and don't
+ accept unbalanced delimiters.
+ - Suppress baseless warnings which msgfmt emits when processing a
+ .desktop file.
+ - xgettext line wrapping behaviour is now consistent between comment
+ lines and non-comment lines.
+ - Fix msgfilter-7 test failure on some platforms.
+ - Fix VPATH build.
+
+Version 0.19.4 - December 2014
+
+* The --keyword option of xgettext now accepts same argument number
+ for both singular and plural forms.
+
+* Programming languages support:
+ - C#: xgettext now properly handles Unicode characters encoded with
+ surrogate pairs.
+ - C/C++: xgettext now recognizes ISO/IEC 9899:2011 string literals
+ prefixed by R, u8, u8R, u, uR, U, UR, L, or LR.
+ - Shell: xgettext now properly recognizes Bash ANSI-C quoting ($'...').
+
+* Bug fixes:
+ - Fix integer overflow when reading certain MO files with msgunfmt.
+ - Avoid invalid memory access in various cases. In particular, when
+ the same argument number is specified for singular/plural
+ arguments, and when checking Lisp and Scheme format strings.
+
+* Portability:
+ - Building on Mac OS X 10.10 and AIX 7.1 is now supported.
+
+Version 0.19.3 - October 2014
+
+* Bug fixes:
+ - Fix xgettext mishandling of octal character escapes in C.
+ - Fix autopoint infinite recursion with certain configure.ac.
+
+* The po/Makevars file has a new field MSGINIT_OPTIONS, that can be
+ used to adjust msginit's operation. This is particularly useful for
+ controlling line wrapping behavior together with MSGMERGE_OPTIONS
+ and XGETTEXT_OPTIONS.
+
+* Portability:
+ - Building on Solaris 10 and 11 with Solaris Studio compiler is now
+ fixed.
+
+Version 0.19.2 - July 2014
+
+* Bug fixes:
+ - Fix xgettext crash in parsing empty string literals in C and Vala.
+ - ChangeLog file is added back to the gettext infrastructure. It was
+ mistakenly removed in 0.19.
+ - Autoconf macro trace in autopoint now works again with Autoconf 2.68
+ or earlier. It was a regression in 0.19.
+
+Version 0.19.1 - June 2014
+
+* Programming languages support:
+
+ - Desktop Entry:
+ msgfmt now always reads the po/LINGUAS file, regardless of whether
+ the LINGUAS environment variable is set. The variable can now be
+ used to restrict the languages list read from the po/LINGUAS file.
+
+ - Vala:
+ Bug fix in xgettext handling of "//" in string literals. This was
+ a regression after the C-99 Unicode escape support.
+
+* The po/Makevars.template file now contains the newly added variables.
+
+* msgfmt now treats errors in the PO file header as non-fatal. Since
+ 0.19 msgfmt started to abort on the fatal errors, but some
+ translation systems are still not ready to supply valid headers.
+
+* Future backward-incompatibilities:
+ - In future Gettext versions, msgfmt will treat header errors as
+ fatal and terminate the command execution.
+
+Version 0.19 - June 2014
+
+* Programming languages support:
+
+ - Desktop Entry:
+ xgettext and msgfmt now support .desktop files, used by desktop
+ applications, as input and output.
+
+ - GSettings:
+ xgettext now supports GSettings schema file format used by GNOME
+ applications.
+
+ - JavaScript:
+ xgettext now recognizes E4X (ECMA-357) constructs.
+
+ - PHP:
+ Single and double quotes around heredoc markers are now recognized.
+
+ - Python:
+ The acceptable format specifiers in the braced-syntax format
+ strings are now limited to the Standard Format Specifiers, to
+ reasonably avoid false-positives.
+
+ - Scheme:
+ The gettext shorthand form _"abc", used by GIMP script-fu, is now
+ recognized by xgettext.
+
+ - C and Vala:
+ xgettext now recognizes C99-style Unicode character escapes.
+
+* The --add-location option of msgattrib, msgcat, msgcomm, msgconv,
+ msgen, msgfilter, msggrep, msgmerge, msguniq, and xgettext commands
+ now takes an optional argument 'never', 'full', or 'file', to
+ control the format of "#: ..." comments.
+
+* msgfmt now has --source option to keep generated .java file when
+ running in Java mode.
+
+* msgattrib now has --empty option that sets msgstr to empty when
+ clearing fuzzy flag.
+
+* msgexec and msgfilter pass the plural information to subprocess
+ through the environment variable MSG{EXEC,FILTER}_MSGID_PLURAL and
+ MSG{EXEC,FILTER}_PLURAL_FORM.
+
+* New built-in filters 'quot' and 'boldquot' have been added to
+ msgfilter. These filters convert Latin quotation marks ('...',
+ "...") into Unicode quotation marks (for example, U+2018) if
+ possible, similar to the sed commands used in po/Rules-quot and
+ po/Rules-boldquot.
+
+* The po/Makevars file has a couple of new options PO_DEPENDS_ON_POT
+ and DIST_DEPENDS_ON_UPDATE_PO, that can be used to adjust the
+ behavior of updating PO files on demand.
+
+* xgettext now strips prefixed string before the comment tag. This is
+ useful to support C-style comment like this:
+
+ /*
+ * TRANSLATORS: first line
+ * second line
+ */
+
+ In this example, the extracted comment does not contain "* " at the
+ beginning of each line.
+
+* libgettextpo library:
+ - Memory leak fixes in the PO file parser.
+
+* Documentation:
+ - A complete example showing the use of GNU gettext in a GNOME 3
+ application has been added.
+
+\f
+Version 0.18.3 - July 2013
+
+* Runtime behaviour:
+ On Mac OS X systems, the setlocale() function now properly
+ invalidates loaded message catalogs when a locale has been set.
+
+* Programming languages support:
+
+ - C++:
+ The gnu::autosprintf class now provides an assignment operator.
+
+ - Glade:
+ xgettext now supports GtkBuider file format used by Glade 3.
+ xgettext now also extracts contexts (msgctxt) from Glade 2 and
+ GtkBuider files.
+
+ - JavaScript:
+ xgettext now partially supports JavaScript. Since the current
+ JavaScript specification (ECMA-262) does not define the standard
+ set of formatting methods nor translation functions, the
+ implementation supports only a limited set of formatting methods
+ and translation functions commonly used in Gjs and other popular
+ JavaScript implemenations and libraries.
+
+ - Lua:
+ xgettext now supports Lua, using Ľubomír Remák's lua-gettext.
+
+ - Python:
+ xgettext and msgfmt's format string checking now recognize Python
+ format string in braced syntax (PEP 3101). xgettext now also
+ supports explicit string concatenation with '+' and handles
+ platform dependent line terminators (LF/CR/CRLF) transparently.
+
+ - Tcl:
+ Bug fix in xgettext Unicode escape handling.
+
+ - Vala:
+ xgettext now supports Vala.
+
+* msgattrib now has --previous option to keep previous msgid when
+ making messages fuzzy, similar to msgmerge --previous.
+
+* msgfmt now checks PO file headers more strictly with less
+ false-positives.
+
+* 'gettextize' now checks macro directories specified with
+ AC_CONFIG_MACRO_DIRS in configure.ac.
+
+* Portability:
+ - msginit now does not require GNU sed.
+ - The Makefile rule for generating en@quot and en@boldquot now uses
+ @SED@ variable instead of hard-coded 'sed' command to allow users
+ to supply GNU sed.
+
+* Future backward-incompatibilities:
+ - In future Gettext versions, the files installed by 'gettextize'
+ will require Automake 1.10 or later. This will improve the
+ compatibility of user projects with newer Automake versions.
+\f
+Version 0.18.2 - December 2012
+
+* xgettext now understands the block comment syntax of Guile 2.0.
+
+* libgettextpo library:
+ - The initial msgstr of a new message is now "", not NULL.
+ - Bug fixes in the functions po_message_is_range, po_file_check_all,
+ po_message_check_all.
+
+* Installation options:
+ The configure options --with-xz and --with-bzip2 can be used to specify
+ alternate compression methods for the archive used by the 'autopoint'
+ program. These options, together with --with-git, allow to trade
+ dependencies against installed package size. --with-xz has the highest
+ compression rate, followed by --with-git, followed by --with-bzip2.
+
+* Autoconf macros:
+ - The autoconf macros installed by 'gettextize' now work with the
+ forthcoming Automake 1.14 and require Autoconf version 2.60 or
+ newer.
+
+* Portability:
+ - Building on MacOS X 10.7, Cygwin 1.7.10, and newer 64-bit mingw is
+ now supported.
+\f
Version 0.18.1 - June 2010
* msggrep: A '$' anchor in a regular expression now also matches the end of
* better C format string implementation. The xgettext will classify
strings as being a format string, or not, in the .po file. The
programmer can override the decision explicitly for each string
- by specifying `xgettext:c-format' and `xgettext:no-c-format'
+ by specifying 'xgettext:c-format' and 'xgettext:no-c-format'
respectively in a C comment preceding the string.
* msgmerge program now always produces output. Fuzzy or non-existing
* Norwegian translation by Karl Anders �gard
-* Configure command line option `--with-gnu-gettext' is renamed to
- `--with-included-gettext'
+* Configure command line option '--with-gnu-gettext' is renamed to
+ '--with-included-gettext'
* gettextize now can determine whether the aclocal.m4 of the project
- is sufficent
+ is sufficient
* use automake for Makefile.in generation
* msgcmp program to find matches in two .po files
-* programs now have exit status != 0 if errors occured
+* programs now have exit status != 0 if errors occurred
* libintl.a is now selfcontained and can be used without context in
other projects (even on systems missing alloca)