Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / NEWS
diff --git a/NEWS b/NEWS
index e8651a3..b9507ed 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,308 @@
+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
@@ -752,7 +1057,7 @@ Version 0.10.35 - April 1998, by Ulrich Drepper
 * 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
@@ -762,11 +1067,11 @@ Version 0.10.35 - April 1998, by Ulrich Drepper
 
 * 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
 
@@ -812,7 +1117,7 @@ Version 0.10 - December 1995, by Ulrich Drepper
 
 * 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)