newsGNU Core Utilities - News


coreutils-9.3 released [stable]

Item posted by Pádraig Brady <pixelbeat> on Tue 18 Apr 2023 03:11:21 PM UTC.

This is to announce coreutils-9.3, a stable release.
This is a bug fix release coming about 4 weeks after the 9.2 release.
See the NEWS below for a summary of changes.

There have been 26 commits by 3 people in the 29 days since 9.2.
Thanks to everyone who has contributed!
The following people contributed changes to this release:

  Nick Alcock (1)
  Paul Eggert (5)
  Pádraig Brady (20)

Pádraig [on behalf of the coreutils maintainers]


Here is the GNU coreutils home page:

For a summary of changes and contributors, see:;a=shortlog;h=v9.3
or run this command from a git-cloned coreutils directory:
  git shortlog v9.2..v9.3

Here are the compressed sources:   (14MB)   (5.6MB)

Here are the GPG detached signatures:

Use a mirror for higher download bandwidth:

Here are the SHA1 and SHA256 checksums:

  b657a5fe51eed93cdafd9fe69594305ff040dd00  coreutils-9.3.tar.gz
  oz0sC8Sb48eaR5SUTc2HEDv0l7U6FLr81DHIylOXUlI=  coreutils-9.3.tar.gz
  cd1fd7e27d46fd2497b8f2a670b54785530ef7d2  coreutils-9.3.tar.xz
  rbz8/omSNbceh2jc8HzVMlILf1T5qAZIQ/jRmakEu6o=  coreutils-9.3.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 coreutils-9.3.tar.gz.sig

The signature should match the fingerprint of the following key:

  pub   rsa4096/0xDF6FD971306037D9 2011-09-23 [SC]
        Key fingerprint = 6C37 DC12 121A 5006 BC1D  B804 DF6F D971 3060 37D9
  uid                   [ unknown] Pádraig Brady <>
  uid                   [ unknown] Pádraig Brady <>

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 DF6FD971306037D9

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

This release was bootstrapped with the following tools:
  Autoconf 2.72c.17-0cc3
  Automake 1.16.5
  Gnulib v0.1-6046-g4b60490554
  Bison 3.8.2


* Noteworthy changes in release 9.3 (2023-04-18) [stable]

** Bug fixes

  cp --reflink=auto (the default), mv, and install
  will again fall back to a standard copy in more cases.
  Previously copies could fail with permission errors on
  more restricted systems like android or containers etc.
  [bug introduced in coreutils-9.2]

  cp --recursive --backup will again operate correctly.
  Previousy it may have issued "File exists" errors when
  it failed to appropriately rename files being replaced.
  [bug introduced in coreutils-9.2]

  date --file and dircolors will now diagnose a failure to read a file.
  Previously they would have silently ignored the failure.
  [This bug was present in "the beginning".]

  md5sum --check again correctly prints the status of each file checked.
  Previously the status for files was printed as 'OK' once any file had passed.
  This also applies to cksum, sha*sum, and b2sum.
  [bug introduced in coreutils-9.2]

  wc will now diagnose if any total counts have overflowed.
  [This bug was present in "the beginning".]

  `wc -c` will again correctly update the read offset of inputs.
  Previously it deduced the size of inputs while leaving the offset unchanged.
  [bug introduced in coreutils-8.27]

  Coreutils programs no longer fail for timestamps past the year 2038
  on obsolete configurations with 32-bit signed time_t, because the
  build procedure now rejects these configurations.
  [This bug was present in "the beginning".]

** Changes in behavior

  'cp -n' and 'mv -n' now issue an error diagnostic if skipping a file,
  to correspond with -n inducing a nonzero exit status as of coreutils 9.2.
  Similarly 'cp -v' and 'mv -v' will output a message for each file skipped
  due to -n, -i, or -u.

** New features

  cp and mv now support --update=none to always skip existing files
  in the destination, while not affecting the exit status.
  This is equivalent to the --no-clobber behavior from before v9.2.

Back to the top

Powered by Savane 3.13-b921.
Corresponding source code