[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

grep-2.22 released [stable]

From: Jim Meyering
Subject: grep-2.22 released [stable]
Date: Sun, 1 Nov 2015 18:36:31 -0800

Hash: SHA512

This is to announce grep-2.22, a stable release.
Special thanks to Norihiro Tanaka and Paul Eggert
for making so many fine changes.

There have been 86 commits by 6 people in the 49 weeks since 2.21.

See the NEWS below for a brief summary.

Thanks to everyone who has contributed!
The following people contributed changes to this release:

  Jim Meyering (34)
  Norihiro Tanaka (17)
  Paul Eggert (32)
  Santiago Ruano Rincón (1)
  Yuliy Pisetsky (1)
  Zev Weiss (1)

Jim [on behalf of the grep maintainers]

Here is the GNU grep home page:

For a summary of changes and contributors, see:;a=shortlog;h=v2.22
or run this command from a git-cloned grep directory:
  git shortlog v2.21..v2.22

To summarize the 344 gnulib-related changes, run these commands
from a git-cloned grep directory:
  git checkout v2.22
  git submodule summary v2.21

Here are the compressed sources and a GPG detached signature[*]:

Use a mirror for higher download bandwidth:

[*] 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.22.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 --recv-keys 7FD9FCCB000BEEEE

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.69.147-5ad35
  Automake 1.99a
  Gnulib v0.1-606-g956fa54


* Noteworthy changes in release 2.22 (2015-11-01) [stable]

** Improvements

  Performance has improved for patterns containing very long strings,
  reducing preprocessing time for an N-byte regexp from O(N^2) to
  only slightly superlinear for most patterns.  Before, a command like
  the following would take over a minute, but now, it takes less than
  a second:
  : | grep -f <(seq -s '' 99999)

  When building grep, 'configure' now uses PCRE's pkg-config module for
  configuration information, rather than attempting to guess it by hand.

** Bug fixes

  A DFA matcher bug made this command mistakenly print its input line:
    echo axb | grep -E '^x|x$'
  Likewise for this equivalent command:
    echo axb | grep -e '^x' -e 'x$'
  [bug introduced in grep-2.19 ]

  grep no longer reads from uninitialized memory or from beyond the end
  of the heap-allocated input buffer.  This fix addressed CVE-2015-1345.
  [bug introduced in grep-2.19 ]

  With -z, '.' and '[^x]' in a pattern now consistently match newline.
  Previously, they sometimes matched newline, and sometimes did not.
  [bug introduced in grep-2.4]

  When the JIT stack is exhausted, grep -P now grows the stack rather
  than reporting an internal PCRE error.

  'grep -D skip PATTERN FILE' no longer hangs if FILE is a fifo.
  [bug introduced in grep-2.12]

  --exclude and related options are now matched against entire
  command-line arguments, not against command-line components.
  [bug introduced in grep-2.6]

  Fix performance degradation of grep -Fw in unibyte locales.
  [bug introduced in grep-2.19 ]

also posted as:


reply via email to

[Prev in Thread] Current Thread [Next in Thread]