* Noteworthy changes in release ?.? (????-??-??) [?]
+** Improvements
+
+ md5sum --check now supports the -r format from the corresponding BSD tool.
+ This also affects sha1sum, sha224sum, sha384sum and sha512sum.
+
+ pwd now works also on systems without openat. On such systems, pwd
+ would fail when run from a directory whose absolute name contained
+ more than PATH_MAX / 3 components. Also affected due to their use
+ of canonicalize_* functions: df, stat, readlink.
+
+** Changes in behavior
+
+ timeout now only processes the first signal received from the set
+ it is handling (SIGTERM, SIGINT, ...). This is to support systems that
+ implicitly create threads for some timer functions (like GNU/kFreeBSD).
+
+
+* Noteworthy changes in release 8.13 (2011-09-08) [stable]
+
+** Bug fixes
+
+ chown and chgrp with the -v --from= options, now output the correct owner.
+ I.E. for skipped files, the original ownership is output, not the new one.
+ [bug introduced in sh-utils-2.0g]
+
+ cp -r could mistakenly change the permissions of an existing destination
+ directory. [bug introduced in coreutils-6.8]
+
+ cp -u -p would fail to preserve one hard link for each up-to-date copy
+ of a src-hard-linked name in the destination tree. I.e., if s/a and s/b
+ are hard-linked and dst/s/a is up to date, "cp -up s dst" would copy s/b
+ to dst/s/b rather than simply linking dst/s/b to dst/s/a.
+ [This bug appears to have been present in "the beginning".]
+
+ fts-using tools (rm, du, chmod, chgrp, chown, chcon) no longer use memory
+ proportional to the number of entries in each directory they process.
+ Before, rm -rf 4-million-entry-directory would consume about 1GiB of memory.
+ Now, it uses less than 30MB, no matter how many entries there are.
+ [this bug was inherent in the use of fts: thus, for rm the bug was
+ introduced in coreutils-8.0. The prior implementation of rm did not use
+ as much memory. du, chmod, chgrp and chown started using fts in 6.0.
+ chcon was added in coreutils-6.9.91 with fts support. ]
+
+ pr -T no longer ignores a specified LAST_PAGE to stop at.
+ [bug introduced in textutils-1.19q]
+
+ printf '%d' '"' no longer accesses out-of-bounds memory in the diagnostic.
+ [bug introduced in sh-utils-1.16]
+
+ split --number l/... no longer creates extraneous files in certain cases.
+ [bug introduced in coreutils-8.8]
+
+ timeout now sends signals to commands that create their own process group.
+ timeout is no longer confused when starting off with a child process.
+ [bugs introduced in coreutils-7.0]
+
+ unexpand -a now aligns correctly when there are spaces spanning a tabstop,
+ followed by a tab. In that case a space was dropped, causing misalignment.
+ We also now ensure that a space never precedes a tab.
+ [bug introduced in coreutils-5.3.0]
+
+** Changes in behavior
+
+ chmod, chown and chgrp now output the original attributes in messages,
+ when -v or -c specified.
+
+ cp -au (where --preserve=links is implicit) may now replace newer
+ files in the destination, to mirror hard links from the source.
+
+** New features
+
+ date now accepts ISO 8601 date-time strings with "T" as the
+ separator. It has long parsed dates like "2004-02-29 16:21:42"
+ with a space between the date and time strings. Now it also parses
+ "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
+ variants like "2004-02-29T16:21:42.333-07:00"
+
+ md5sum accepts the new --strict option. With --check, it makes the
+ tool exit non-zero for any invalid input line, rather than just warning.
+ This also affects sha1sum, sha224sum, sha384sum and sha512sum.
+
+ split accepts a new --filter=CMD option. With it, split filters output
+ through CMD. CMD may use the $FILE environment variable, which is set to
+ the nominal output file name for each invocation of CMD. For example, to
+ split a file into 3 approximately equal parts, which are then compressed:
+ split -n3 --filter='xz > $FILE.xz' big
+ Note the use of single quotes, not double quotes.
+ That creates files named xaa.xz, xab.xz and xac.xz.
+
+ timeout accepts a new --foreground option, to support commands not started
+ directly from a shell prompt, where the command is interactive or needs to
+ receive signals initiated from the terminal.
+
+** Improvements
+
+ cp -p now copies trivial NSFv4 ACLs on Solaris 10. Before, it would
+ mistakenly apply a non-trivial ACL to the destination file.
+
+ cp and ls now support HP-UX 11.11's ACLs, thanks to improved support
+ in gnulib.
+
+ df now supports disk partitions larger than 4 TiB on MacOS X 10.5
+ or newer and on AIX 5.2 or newer.
+
+ join --check-order now prints "join: FILE:LINE_NUMBER: bad_line" for an
+ unsorted input, rather than e.g., "join: file 1 is not in sorted order".
+
+ shuf outputs small subsets of large permutations much more efficiently.
+ For example `shuf -i1-$((2**32-1)) -n2` no longer exhausts memory.
+
+ stat -f now recognizes the GPFS, MQUEUE and PSTOREFS file system types.
+
+ timeout now supports sub-second timeouts.
+
+** Build-related
+
+ Changes inherited from gnulib address a build failure on HP-UX 11.11
+ when using /opt/ansic/bin/cc.
+
+ Numerous portability and build improvements inherited via gnulib.
+
+
+* Noteworthy changes in release 8.12 (2011-04-26) [stable]
+
+** Bug fixes
+
+ tail's --follow=name option no longer implies --retry on systems
+ with inotify support. [bug introduced in coreutils-7.5]
+
+** Changes in behavior
+
+ cp's extent-based (FIEMAP) copying code is more reliable in the face
+ of varying and undocumented file system semantics:
+ - it no longer treats unwritten extents specially
+ - a FIEMAP-based extent copy always uses the FIEMAP_FLAG_SYNC flag.
+ Before, it would incur the performance penalty of that sync only
+ for 2.6.38 and older kernels. We thought all problems would be
+ resolved for 2.6.39.
+ - it now attempts a FIEMAP copy only on a file that appears sparse.
+ Sparse files are relatively unusual, and the copying code incurs
+ the performance penalty of the now-mandatory sync only for them.
+
+** Portability
+
+ dd once again compiles on AIX 5.1 and 5.2
+
+
+* Noteworthy changes in release 8.11 (2011-04-13) [stable]
+
** Bug fixes
cp -a --link would not create a hardlink to a symlink, instead
which will discard any cache associated with the files, or
processed portion thereof.
+ dd now warns that 'iflag=fullblock' should be used,
+ in various cases where partial reads can cause issues.
+
** Changes in behavior
cp now avoids syncing files when possible, when doing a FIEMAP copy.
- The sync in only needed on Linux kernels before 2.6.38.
+ The sync is only needed on Linux kernels before 2.6.39.
[The sync was introduced in coreutils-8.10]
cp now copies empty extents efficiently, when doing a FIEMAP copy.
df now aligns columns consistently, and no longer wraps entries
with longer device identifiers, over two lines.
+ install now rejects its long-deprecated --preserve_context option.
+ Use --preserve-context instead.
+
test now accepts "==" as a synonym for "="
if it uses helper processes for compression and its parent
ignores CHLD signals. [bug introduced in coreutils-6.9]
- tail without -f no longer access uninitialized memory
+ tail without -f no longer accesses uninitialized memory
[bug introduced in coreutils-7.6]
timeout is now immune to the signal handling of its parent.
ls -LR exits with status 2, not 0, when it encounters a cycle
- ls -is is now consistent with ls -lis in ignoring values returned
+ "ls -is" is now consistent with ls -lis in ignoring values returned
from a failed stat/lstat. For example ls -Lis now prints "?", not "0",
for the inode number and allocated size of a dereferenced dangling symlink.
join has significantly better performance due to better memory management
ls now uses constant memory when not sorting and using one_per_line format,
- no matter how many files are in a given directory
+ no matter how many files are in a given directory. I.e., to list a directory
+ with very many files, ls -1U is much more efficient.
od now aligns fields across lines when printing multiple -t
specifiers, and no longer prints fields that resulted entirely from
* Noteworthy changes in release 6.12 (2008-05-31) [stable]
+** New features
+
+ cp, install, mv, and touch now preserve nanosecond resolution on
+ file timestamps, on platforms that have the 'utimensat' and
+ 'futimens' system calls.
+
** Bug fixes
chcon, runcon: --help output now includes the bug-reporting address
"rm --interactive=never F" no longer prompts for an unwritable F
- "rm -rf D" would emit an misleading diagnostic when failing to
+ "rm -rf D" would emit a misleading diagnostic when failing to
remove a symbolic link within the unwritable directory, D.
Introduced in coreutils-6.0. Similarly, when a cross-partition
"mv" fails because the source directory is unwritable, it now gives