newsgrep - News


grep-3.11 released [stable]

Item posted by Jim Meyering <meyering> on Sat 13 May 2023 09:16:55 AM UTC.

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

This release makes PCRE patterns like [\d] work again, at the expense of
reverting to the behavior of grep 3.8, in that patterns like \w and \b go
back to using ASCII rather than Unicode interpretations.  However, if you
build grep using pcre2 newer than 10.42, then \w and \b do work properly.

Special thanks to Bruno Haible for all his fine work improving gnulib
and helping to test tools like grep that use it.

I bootstrapped this release with very recent gnulib, autoconf and
automake, hoping to flush out any bugs before releases of the latter two.

There have been 22 commits by 4 people in the 7 weeks since 3.10.

See the NEWS below for a brief summary.

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

  Carlo Marcelo Arenas Bel√≥n (2)
  Jim Meyering (13)
  Josh Soref (1)
  Paul Eggert (6)

 [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.11
or run this command from a git-cloned grep directory:
  git shortlog v3.10..v3.11

Here are the compressed sources:   (2.7MB)   (1.7MB)

Here are the GPG detached signatures:

Use a mirror for higher download bandwidth:

Here are the SHA1 and SHA256 checksums:

  73ef2b57c32a81b5671a853dd33efc58ab6c23f7  grep-3.11.tar.gz
  HzEBSVPnHDzdztuXaSrXYgy51tBPvcGeDY3YNvh2Irs=  grep-3.11.tar.gz
  955146a0a4887eca33606e391481bbef37055b86  grep-3.11.tar.xz
  HbKu3eidDepCsW2VKPiUyNFdrk4ZC1muzHj1qVEnbqs=  grep-3.11.tar.xz

Verify the base64 SHA256 checksum with cksum -a sha256 --check
from coreutils-9.2 or OpenBSD's cksum since 2007.

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.11.tar.gz.sig

The signature should match the fingerprint of the following key:

  pub   rsa4096/0x7FD9FCCB000BEEEE 2010-06-14 [SCEA]
        Key fingerprint = 155D 3FC5 00C8 3448 6D1E  EA67 7FD9 FCCB 000B EEEE
  uid                   [ unknown] Jim Meyering <>
  uid                   [ unknown] Jim Meyering <>
  uid                   [ unknown] Jim Meyering <>

If that command fails because you don't have the required public key,
or that public key has expired, try the following commands to retrieve
or refresh it, and then rerun the 'gpg --verify' command.

  gpg --locate-external-key

  gpg --recv-keys 7FD9FCCB000BEEEE

  wget -q -O- '' | gpg --import -

As a last resort to find the key, you can try the official GNU

  wget -q
  gpg --keyring gnu-keyring.gpg --verify grep-3.11.tar.gz.sig

This release was bootstrapped with the following tools:
  Autoconf 2.72c.20-9c018
  Automake 1.16i
  Gnulib v0.1-6153-gc2a5953f17


* Noteworthy changes in release 3.11 (2023-05-13) [stable]

** Bug fixes

  With -P, patterns like [\d] now work again.  Fixing this has caused
  grep to revert to the behavior of grep 3.8, in that patterns like \w
  and \b go back to using ASCII rather than Unicode interpretations.
  However, future versions of GNU grep and/or PCRE2 are likely to fix
  this and change the behavior of \w and \b back to Unicode again,
  without breaking [\d] as 3.10 did.
  [bug introduced in grep 3.10]

  grep no longer fails on files dated after the year 2038,
  when running on 32-bit x86 and ARM hosts using glibc 2.34+.
  [bug introduced in grep 3.9]

  grep -P no longer fails to match patterns using negated classes
  like \D or \W when linked with PCRE2 10.34 or newer.
  [bug introduced in grep 3.8]

** Changes in behavior

  grep --version now prints a line describing the version of PCRE2 it uses.
  For example, it prints this when built with the very latest from git:
    grep -P uses PCRE2 10.43-DEV 2023-04-14
  or this with what's currently available in Fedora 37:
    grep -P uses PCRE2 10.40 2022-04-14

  previous versions of grep wouldn't respect the user provided settings for
  PCRE_CFLAGS and PCRE_LIBS when building if a libpcre2-8 pkg-config module
  was found.

Back to the top

Powered by Savane 3.13-12ab.
Corresponding source code