[Top][All Lists]

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

grep-3.5 released [stable]

From: Jim Meyering
Subject: grep-3.5 released [stable]
Date: Sun, 27 Sep 2020 20:34:21 -0700

Hash: SHA512

This is to announce grep-3.5, a stable release.

Thanks especially to Paul Eggert, Norihiro Tanaka and Bruno Haible
for changes both in grep proper and in gnulib.

There have been 56 commits by 3 people in the 38 weeks since 3.4.

See the NEWS below for a summary.

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

  Jim Meyering (22)
  Norihiro Tanaka (1)
  Paul Eggert (33)

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=v3.5
or run this command from a git-cloned grep directory:
  git shortlog v3.4-almost..v3.5

To summarize the 806 gnulib-related changes, run these commands
from a git-cloned grep directory:
  git checkout v3.5
  git submodule summary v3.4-almost

Here are the compressed sources:   (2.6MB)   (1.6MB)

Here are the GPG detached signatures[*]:

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-3.5.tar.gz.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.69c
  Automake 1.16b
  Gnulib v0.1-3927-g02b29b878


* Noteworthy changes in release 3.5 (2020-09-27) [stable]

** Changes in behavior

  The message that a binary file matches is now sent to standard error
  and the message has been reworded from "Binary file FOO matches" to
  "grep: FOO: binary file matches", to avoid confusion with ordinary
  output or when file names contain spaces and the like, and to be
  more consistent with other diagnostics.  For example, commands
  like 'grep PATTERN FILE | wc' no longer add 1 to the count of
  matching text lines due to the presence of the message.  Like other
  stderr messages, the message is now omitted if the --no-messages
  (-s) option is given.

  Two other stderr messages now use the typical form too.  They are
  now "grep: FOO: warning: recursive directory loop" and "grep: FOO:
  input file is also the output".

  The --files-without-match (-L) option has reverted to its behavior
  in grep 3.1 and earlier.  That is, grep -L again succeeds when a
  line is selected, not when a file is listed.  The behavior in grep
  3.2 through 3.4 was causing compatibility problems.

** Bug fixes

  grep -I no longer issues a spurious "Binary file FOO matches" line.
  [Bug#33552 introduced in grep 2.23]

  In UTF-8 locales, grep -w no longer ignores a multibyte word
  constituent just before what would otherwise be a word match.
  [Bug#43225 introduced in grep 2.28]

  grep -i no longer mishandles ASCII characters that match multibyte
  characters.  For example, 'LC_ALL=tr_TR.utf8 grep -i i' no longer
  dumps core merely because 'i' matches 'İ' (U+0130 LATIN CAPITAL
  LETTER I WITH DOT ABOVE) in Turkish when ignoring case.
  [Bug#43577 introduced partly in grep 2.28 and partly in grep 3.4]

  A performance regression with -E and many patterns has been mostly fixed.
  "Mostly" as there is a performance tradeoff between Bug#22357 and Bug#40634.
  [Bug#40634 introduced in grep 2.28]

  A performance regression with many duplicate patterns has been fixed.
  [Bug#43040 introduced in grep 3.4]

  An N^2 RSS performance regression with many patterns has been fixed
  in common cases (no backref, and no use of -o or --color).
  With only 80,000 lines of /usr/share/dict/linux.words, the following
  would use 100GB of RSS and take 3 minutes. With the fix, it used less
  than 400MB and took less than one second:
    head -80000 /usr/share/dict/linux.words > w; grep -vf w w
  [Bug#43527 introduced in grep 3.4]

** Build-related

  "make dist" builds .tar.gz files again, as they are still used in
  some barebones builds.

Also posted as:


reply via email to

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