[Top][All Lists]

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

coreutils-8.20 released [stable]

From: Pádraig Brady
Subject: coreutils-8.20 released [stable]
Date: Tue, 23 Oct 2012 18:42:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

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".

also posted as:

reply via email to

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