** 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]
+
+ 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.
+
+** New features
+
+ 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 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.
+
+ 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.
+
+
+* 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
copying the symlink and then not preserving its timestamp.
[bug introduced in coreutils-8.0]
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.
+ It no longer reads the zero bytes from the input, and also can efficiently
+ create a hole in the output file when --sparse=always is specified.
+
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
"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