newsGNU Core Utilities - News: coreutils-8.20 released [stable]

Latest News
coreutils-8.27 released [stable] posted by pixelbeat, Thu 09 Mar 2017 06:11:15 AM UTC - 0 replies
coreutils-8.26 released [stable] posted by pixelbeat, Wed 30 Nov 2016 07:32:42 PM UTC - 0 replies
coreutils-8.25 released [stable] posted by pixelbeat, Wed 20 Jan 2016 11:37:30 AM UTC - 0 replies
coreutils-8.24 released [stable] posted by pixelbeat, Fri 03 Jul 2015 10:13:45 PM UTC - 0 replies
coreutils-8.23 released [stable] posted by pixelbeat, Fri 18 Jul 2014 11:35:25 PM UTC - 0 replies
[Submit News]
[58 news in archive]

coreutils-8.20 released [stable]

Item posted by Pádraig Brady <pixelbeat> on Tue 23 Oct 2012 05:34:12 PM UTC.

This is to announce coreutils-8.20, a stable release.

There have been 173 commits by 15 people in the 9 weeks since 8.19.

Executive summary: 8.20 is mainly a bug fix release, including an important
regression fix for cp since 8.11, where cp could corrupt copies on very
fragmented sparse input files. A regression fix for factor since 7.0 was
included where it could output some composite numbers as prime.
The core of factor was rewritten to be much faster, and seq also
received a large performance boost (up to 70x) in the common case of
integers being incremented by 1.

See the NEWS below for a brief summary.

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

Benno Schulenberg (3)
Bernhard Voelker (4)
Eric Blake (2)
Erik Auerswald (1)
Jim Meyering (60)
Nguyễn Thái Ngọc Duy (1)
Nick Alcock (1)
Niels Möller (1)
Nikolas Kallis (1)
Ondrej Oprala (3)
Pozsár Balázs (1)
Pádraig Brady (14)
Rob Day (1)
Stefano Lattarini (78)
Torbjörn Granlund (3)

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=v8.20
or run this command from a git-cloned coreutils directory:
git shortlog v8.19..v8.20

To summarize the 94 gnulib-related changes, run these commands
From a git-cloned coreutils directory:
git checkout v8.20
git submodule summary v8.19


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 coreutils-8.20.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 DF6FD971306037D9

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
Autoconf 2.68
Automake 1.11.6
Gnulib v0.0-7675-gd245e6d
Bison 2.4.3


  • Noteworthy changes in release 8.20 (2012-10-23) [stable]
    • New features

dd now accepts 'status=none' to suppress all informational output.

md5sum now accepts the --tag option to print BSD-style output with GNU
file name escaping. This also affects sha1sum, sha224sum, sha256sum,
sha384sum and sha512sum.

    • Bug fixes

cp could read from freed memory and could even make corrupt copies.
This could happen with a very fragmented and sparse input file,
on GNU/Linux file systems supporting fiemap extent scanning.
This bug also affects mv when it resorts to copying, and install.
[bug introduced in coreutils-8.11]

cp --no-preserve=mode now no longer preserves the original file's
permissions but correctly sets mode specified by 0666 & ~umask

du no longer emits a "disk-corrupted"-style diagnostic when it detects
a directory cycle that is due to a bind-mounted directory. Instead,
it detects this precise type of cycle, diagnoses it as such and
eventually exits nonzero.

factor (when using gmp) would mistakenly declare some composite numbers
to be prime, e.g., 465658903, 2242724851, 6635692801 and many more.
The fix makes factor somewhat slower (~25%) for ranges of consecutive
numbers, and up to 8 times slower for some worst-case individual numbers.
[bug introduced in coreutils-7.0, with GNU MP support]

ls now correctly colors dangling symlinks when listing their containing
directories, with orphaned symlink coloring disabled in LS_COLORS.
[bug introduced in coreutils-8.14]

rm -i -d now prompts the user then removes an empty directory, rather
than ignoring the -d option and failing with an 'Is a directory' error.
[bug introduced in coreutils-8.19, with the addition of --dir (-d)]

rm -r S/ (where S is a symlink-to-directory) no longer gives the invalid
"Too many levels of symbolic links" diagnostic.
[bug introduced in coreutils-8.6]

seq now handles arbitrarily long non-negative whole numbers when the
increment is 1 and when no format-changing option is specified.
Before, this would infloop:
b=100000000000000000000; seq $b $b
[the bug dates back to the initial implementation]

    • Changes in behavior

nproc now diagnoses with an error, non option command line parameters.

    • Improvements

factor's core has been rewritten for speed and increased range.
It can now factor numbers up to 2^128, even without GMP support.
Its speed is from a few times better (for small numbers) to over
10,000 times better (just below 2^64). The new code also runs a
deterministic primality test for each prime factor, not just a
probabilistic test.

seq is now up to 70 times faster than it was in coreutils-8.19 and prior,
but only with non-negative whole numbers, an increment of 1, and no
format-changing options.

stat and tail know about ZFS, VZFS and VMHGFS. stat -f --format=%T now
reports the file system type, and tail -f now uses inotify for files on
ZFS and VZFS file systems, rather than the default (for unknown file
system types) of issuing a warning and reverting to polling. tail -f
still uses polling for files on VMHGFS file systems.

    • Build-related

root-only tests now check for permissions of our dummy user,
$NON_ROOT_USERNAME, before trying to run binaries from the build directory.
Before, we would get hard-to-diagnose reports of failing root-only tests.
Now, those tests are skipped with a useful diagnostic when the root tests
are run without following the instructions in README.

We now build most directories using non-recursive make rules. I.e.,
rather than running make in man/, lib/, src/, tests/, instead, the top
level includes a $dir/ that describes how to build
the targets in the corresponding directory. Two directories remain
unconverted: po/, gnulib-tests/. One nice side-effect is that the more
accurate dependencies have eliminated a nagging occasional failure that
was seen when running parallel "make syntax-check".


No messages in coreutils-8.20 released [stable]


Back to the top

Powered by Savane 3.1-cleanup1