This is to announce grep-3.10, a stable release,
fixing a bug with -P and d. TL;DR, grep-3.9 would do this:$ LC_ALL=en_US.UTF-8 grep -P ‘d’ <<< ٠١٢٣٤٥٦٧٨٩
٠١٢٣٤٥٦٧٨٩It should print nothing, like it has always done.
For more detail, see https://lists.gnu.org/r/bug-grep/2023-03/msg00005.htmlThanks to Paul Eggert for catching the D variant and to Bruno Haible
for assiduously tending gnulib and for testing grep on so many
different systems.There have been 12 commits by 2 people in the 17 days since 3.9.
See the NEWS below for a brief summary.
Thanks to everyone who has contributed!
The following people contributed changes to this release:Jim Meyering (8)
Paul Eggert (4)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=v3.10
or run this command from a git-cloned grep directory:
git shortlog v3.9..v3.10Here are the compressed sources:
https://ftp.gnu.org/gnu/grep/grep-3.10.tar.gz (2.7MB)
https://ftp.gnu.org/gnu/grep/grep-3.10.tar.xz (1.7MB)Here are the GPG detached signatures:
https://ftp.gnu.org/gnu/grep/grep-3.10.tar.gz.sig
https://ftp.gnu.org/gnu/grep/grep-3.10.tar.xz.sigUse a mirror for higher download bandwidth:
https://www.gnu.org/order/ftp.htmlHere are the SHA1 and SHA256 checksums:
7d3d830703183532f0b66619f0b148827e86eda7 grep-3.10.tar.gz
3nsh2OM0jqZWnG/Vc06QoxFp72JCnqPc5Ipvwd2F0mA= grep-3.10.tar.gz
b8413017681fcd6249e0d0fb9c78225944074f23 grep-3.10.tar.xz
JO+ltZX7WnEAh5tRuIaKC7h6ccGD0CxMYCYzuIr2hVs= grep-3.10.tar.xzVerify 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.10.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 <jim@meyering.net>
uid [ unknown] Jim Meyering <meyering@fb.com>
uid [ unknown] Jim Meyering <meyering@gnu.org>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 jim@meyering.net
gpg –recv-keys 7FD9FCCB000BEEEE
wget -q -O- ‘https://savannah.gnu.org/project/release-gpgkeys.php?group=grep&download=1’ | gpg –import –
As a last resort to find the key, you can try the official GNU
keyring:wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
gpg –keyring gnu-keyring.gpg –verify grep-3.10.tar.gz.sigThis release was bootstrapped with the following tools:
Autoconf 2.72a.92-8db0
Automake 1.16i
Gnulib v0.1-5916-gf61570c0efNEWS
* Noteworthy changes in release 3.10 (2023-03-22) [stable]
** Bug fixes
With -P, d now matches only ASCII digits, regardless of PCRE
options/modes. The changes in grep-3.9 to make b and w work
properly had the undesirable side effect of making d also match
e.g., the Arabic digits: ٠١٢٣٤٥٦٧٨٩. With grep-3.9, -P ‘d+’
would match that ten-digit (20-byte) string. Now, to match such
a digit, you would use p{Nd}. Similarly, D is now mapped to [^0-9].
[bug introduced in grep 3.9]