grep - News
grep-2.19 released [stable]
Item posted by Jim Meyering <meyering> on Fri 23 May 2014 05:24:34 AM UTC.
This is to announce grep-2.19, a stable release.
While there is only one NEWS item below that mentions performance,
GNU grep has never before seen so many performance improvements in
a single release. Special thanks to Norihiro Tanaka and Paul Eggert
for all of that work, as well as for numerous bug fixes.
There have been 152 commits by 4 people in the 13 weeks since 2.18.
See the NEWS below for a brief summary.
Thanks to everyone who has contributed!
The following people contributed changes to this release:
Jim Meyering (22)
Norihiro Tanaka (35)
Paul Eggert (93)
Stephane Chazelas (2)
Jim [on behalf of the grep maintainers]
==================================================================
Here is the GNU grep home page:
http://gnu.org/s/grep/
For a summary of changes and contributors, see:
http://git.sv.gnu.org/gitweb/?p=grep.git;a=shortlog;h=v2.19
or run this command from a git-cloned grep directory:
git shortlog v2.18..v2.19
To summarize the 49 gnulib-related changes, run these commands
from a git-cloned grep directory:
git checkout v2.19
git submodule summary v2.18
==================================================================
Here are the compressed sources and a GPG detached signature[*]:
http://ftp.gnu.org/gnu/grep/grep-2.19.tar.xz
http://ftp.gnu.org/gnu/grep/grep-2.19.tar.xz.sig
Use a mirror for higher download bandwidth:
http://ftpmirror.gnu.org/grep/grep-2.19.tar.xz
http://ftpmirror.gnu.org/grep/grep-2.19.tar.xz.sig
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg --verify grep-2.19.tar.xz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys 7FD9FCCB000BEEEE
and rerun the 'gpg --verify' command.
This release was bootstrapped with the following tools:
Autoconf 2.69.117-1717
Automake 1.99a
Gnulib v0.1-125-gc2e80b7
==================================================================
NEWS
* Noteworthy changes in release 2.19 (2014-05-22) [stable]
** Improvements
Performance has improved, typically by 10% and in some cases by a
factor of 200. However, performance of grep -P in UTF-8 locales has
gotten worse as part of the fix for the crashes mentioned below.
** Bug fixes
grep no longer mishandles patterns like [a-[.z.]], and no longer
mishandles patterns like [^a] in locales that have multicharacter
collating sequences so that [^a] can match a string of two characters.
grep no longer mishandles an empty pattern at the end of a pattern list.
[bug introduced in grep-2.5]
grep -C NUM now outputs separators consistently even when NUM is zero,
and similarly for grep -A NUM and grep -B NUM.
[bug present since "the beginning"]
grep -f no longer mishandles patterns containing NUL bytes.
[bug introduced in grep-2.11]
Plain grep, grep -E, and grep -F now treat encoding errors in patterns
the same way the GNU regular expression matcher treats them, with respect
to whether the errors can match parts of multibyte characters in data.
[bug present since "the beginning"]
grep -w no longer mishandles a potential match adjacent to a letter that
takes up two or more bytes in a multibyte encoding.
Similarly, the patterns '\<', '\>', '\b', and '\B' no longer
mishandle word-boundary matches in multibyte locales.
[bug present since "the beginning"]
grep -P now reports an error and exits when given invalid UTF-8 data.
Previously it was unreliable, and sometimes crashed or looped.
[bug introduced in grep-2.16]
grep -P now works with -w and -x and backreferences. Before,
echo aa|grep -Pw '(.)\1' would fail to match, yet
echo aa|grep -Pw '(.)\2' would match.
grep -Pw now works like grep -w in that the matched string has to be
preceded and followed by non-word components or the beginning and end
of the line (as opposed to word boundaries before). Before, this
echo a@@a| grep -Pw @@ would match, yet this
echo a@@a| grep -w @@ would not. Now, they both fail to match,
per the documentation on how grep's -w works.
grep -i no longer mishandles patterns containing titlecase characters.
For example, in a locale containing the titlecase character
'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL LETTER J),
'grep -i Lj' now matches both 'LJ' (U+01C7 LATIN CAPITAL LETTER LJ)
and 'lj' (U+01C9 LATIN SMALL LETTER LJ).
Powered by Savane 3.13-da57.
Corresponding source code