summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS328
1 files changed, 327 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 7122f410..4bffdf23 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,322 @@
GNU coreutils NEWS -*- outline -*-
+* Noteworthy changes in release 8.23 (2014-07-18) [stable]
+
+** Bug fixes
+
+ chmod -Rc no longer issues erroneous warnings for files with special bits set.
+ [bug introduced in coreutils-6.0]
+
+ cp -a, mv, and install --preserve-context, once again set the correct SELinux
+ context for existing directories in the destination. Previously they set
+ the context of an existing directory to that of its last copied descendent.
+ [bug introduced in coreutils-8.22]
+
+ cp -a, mv, and install --preserve-context, no longer seg fault when running
+ with SELinux enabled, when copying from file systems that return an error
+ when reading the SELinux context for a file.
+ [bug introduced in coreutils-8.22]
+
+ cp -a and mv now preserve xattrs of symlinks copied across file systems.
+ [bug introduced with extended attribute preservation feature in coreutils-7.1]
+
+ date could crash or go into an infinite loop when parsing a malformed TZ="".
+ [bug introduced with the --date='TZ="" ..' parsing feature in coreutils-5.3.0]
+
+ dd's ASCII and EBCDIC conversions were incompatible with common practice and
+ with POSIX, and have been corrected as follows. First, conv=ascii now
+ implies conv=unblock, and conv=ebcdic and conv=ibm now imply conv=block.
+ Second, the translation tables for dd conv=ascii and conv=ebcdic have been
+ corrected as shown in the following table, where A is the ASCII value, W is
+ the old, wrong EBCDIC value, and E is the new, corrected EBCDIC value; all
+ values are in octal.
+
+ A W E
+ 041 117 132
+ 133 112 255
+ 135 132 275
+ 136 137 232
+ 174 152 117
+ 176 241 137
+ 313 232 152
+ 325 255 112
+ 345 275 241
+
+ [These dd bugs were present in "the beginning".]
+
+ df has more fixes related to the newer dynamic representation of file systems:
+ Duplicates are elided for virtual file systems like tmpfs.
+ Details for the correct device are output for points mounted multiple times.
+ Placeholder values are output for inaccessible file systems, rather than
+ than error messages or values for the wrong file system.
+ [These bugs were present in "the beginning".]
+
+ df now outputs all appropriate entries in the presence of bind mounts.
+ On some systems, entries would have been incorrectly elided due to
+ them being considered "dummy" mounts.
+ [bug introduced in coreutils-8.22]
+
+ du now silently ignores directory cycles introduced with bind mounts.
+ Previously it would issue a warning and exit with a failure status.
+ [bug introduced in coreutils-8.1]
+
+ head --bytes=-N and --lines=-N now handles devices more
+ consistently, not ignoring data from virtual devices like /dev/zero,
+ or on BSD systems data from tty devices.
+ [bug introduced in coreutils-5.0.1]
+
+ head --bytes=-N - no longer fails with a bogus diagnostic when stdin's
+ seek pointer is not at the beginning.
+ [bug introduced with the --bytes=-N feature in coreutils-5.0.1]
+
+ head --lines=-0, when the input does not contain a trailing '\n',
+ now copies all input to stdout. Previously nothing was output in this case.
+ [bug introduced with the --lines=-N feature in coreutils-5.0.1]
+
+ id, when invoked with no user name argument, now prints the correct group ID.
+ Previously, in the default output format, it would print the default group ID
+ in the password database, which may be neither real nor effective. For e.g.,
+ when run set-GID, or when the database changes outside the current session.
+ [bug introduced in coreutils-8.1]
+
+ ln -sf now replaces symbolic links whose targets can't exist. Previously
+ it would display an error, requiring --no-dereference to avoid the issue.
+ [bug introduced in coreutils-5.3.0]
+
+ ln -sr '' F no longer segfaults. Now works as expected.
+ [bug introduced with the --relative feature in coreutils-8.16]
+
+ numfmt now handles blanks correctly in all unibyte locales. Previously
+ in locales where character 0xA0 is a blank, numfmt would mishandle it.
+ [bug introduced when numfmt was added in coreutils-8.21]
+
+ ptx --format long option parsing no longer falls through into the --help case.
+ [bug introduced in TEXTUTILS-1_22i]
+
+ ptx now consistently trims whitespace when processing multiple files.
+ [This bug was present in "the beginning".]
+
+ seq again generates correct output with start or end values = -0.
+ [bug introduced in coreutils-8.20.]
+
+ shuf --repeat no longer dumps core if the input is empty.
+ [bug introduced with the --repeat feature in coreutils-8.22]
+
+ sort when using multiple threads now avoids undefined behavior with mutex
+ destruction, which could cause deadlocks on some implementations.
+ [bug introduced in coreutils-8.6]
+
+ tail -f now uses polling mode for VXFS to cater for its clustered mode.
+ [bug introduced with inotify support added in coreutils-7.5]
+
+** New features
+
+ od accepts a new option: --endian=TYPE to handle inputs with different byte
+ orders, or to provide consistent output on systems with disparate endianness.
+
+ configure accepts the new option --enable-single-binary to build all the
+ selected programs in a single binary called "coreutils". The selected
+ programs can still be called directly using symlinks to "coreutils" or
+ shebangs with the option --coreutils-prog= passed to this program. The
+ install behavior is determined by the option --enable-single-binary=symlinks
+ or --enable-single-binary=shebangs (the default). With the symlinks option,
+ you can't make a second symlink to any program because that will change the
+ name of the called program, which is used by coreutils to determine the
+ desired program. The shebangs option doesn't suffer from this problem, but
+ the /proc/$pid/cmdline file might not be updated on all the platforms. The
+ functionality of each program is not affected but this single binary will
+ depend on all the required dynamic libraries even to run simple programs.
+ If you desire to build some tools outside the single binary file, you can
+ pass the option --enable-single-binary-exceptions=PROG_LIST with the comma
+ separated list of programs you want to build separately. This flag
+ considerably reduces the overall size of the installed binaries which makes
+ it suitable for embedded system.
+
+** Changes in behavior
+
+ chroot with an argument of "/" no longer implicitly changes the current
+ directory to "/", allowing changing only user credentials for a command.
+
+ chroot --userspec will now unset supplemental groups associated with root,
+ and instead use the supplemental groups of the specified user.
+
+ cut -d$'\n' again outputs lines identified in the --fields list, having
+ not done so in v8.21 and v8.22. Note using this non portable functionality
+ will result in the delayed output of lines.
+
+ ls with none of LS_COLORS or COLORTERM environment variables set,
+ will now honor an empty or unknown TERM environment variable,
+ and not output colors even with --colors=always.
+
+** Improvements
+
+ chroot has better --userspec and --group look-ups, with numeric IDs never
+ causing name look-up errors. Also look-ups are first done outside the chroot,
+ in case the look-up within the chroot fails due to library conflicts etc.
+
+ install now allows the combination of the -D and -t options.
+
+ numfmt supports zero padding of numbers using the standard printf
+ syntax of a leading zero, for example --format="%010f".
+ Also throughput was improved by up to 800% by avoiding redundant processing.
+
+ shred now supports multiple passes on GNU/Linux tape devices by rewinding
+ the tape before each pass, avoids redundant writes to empty files,
+ uses direct I/O for all passes where possible, and attempts to clear
+ inode storage used for small files on some file systems.
+
+ split avoids unnecessary input buffering, immediately writing input to output
+ which is significant with --filter or when writing to fifos or stdout etc.
+
+ stat and tail work better with HFS+, HFSX, LogFS and ConfigFS. stat -f
+ --format=%T now reports the file system type, and tail -f now uses inotify,
+ rather than the default of issuing a warning and reverting to polling.
+
+
+* Noteworthy changes in release 8.22 (2013-12-13) [stable]
+
+** Bug fixes
+
+ df now processes the mount list correctly in the presence of unstatable
+ mount points. Previously it may have failed to output some mount points.
+ [bug introduced in coreutils-8.21]
+
+ df now processes symbolic links and relative paths to special files containing
+ a mounted file system correctly. Previously df displayed the statistics about
+ the file system the file is stored on rather than the one inside.
+ [This bug was present in "the beginning".]
+
+ df now processes disk device nodes correctly in the presence of bind mounts.
+ Now df shows the base mounted file system rather than the last one mounted.
+ [This bug was present in "the beginning".]
+
+ install now removes the target file if the strip program failed for any
+ reason. Before, that file was left behind, sometimes even with wrong
+ permissions.
+ [This bug was present in "the beginning".]
+
+ ln --relative now updates existing symlinks correctly. Previously it based
+ the relative link on the dereferenced path of an existing link.
+ [This bug was introduced when --relative was added in coreutils-8.16.]
+
+ ls --recursive will no longer exit with "serious" exit code (2), if there
+ is an error reading a directory not specified on the command line.
+ [Bug introduced in coreutils-5.3.0]
+
+ mkdir, mkfifo, and mknod now work better when creating a file in a directory
+ with a default ACL whose umask disagrees with the process's umask, on a
+ system such as GNU/Linux where directory ACL umasks override process umasks.
+ [bug introduced in coreutils-6.0]
+
+ mv will now replace empty directories in the destination with directories
+ from the source, when copying across file systems.
+ [This bug was present in "the beginning".]
+
+ od -wN with N larger than 64K on a system with 32-bit size_t would
+ print approximately 2*N bytes of extraneous padding.
+ [Bug introduced in coreutils-7.0]
+
+ rm -I now prompts for confirmation before removing a write protected file.
+ [Bug introduced in coreutils-6.8]
+
+ shred once again uses direct I/O on systems requiring aligned buffers.
+ Also direct I/O failures for odd sized writes at end of file are now handled.
+ [The "last write" bug was introduced in coreutils-5.3.0 but masked
+ by the alignment bug introduced in coreutils-6.0]
+
+ tail --retry -f now waits for the files specified to appear. Before, tail
+ would immediately exit when such a file is initially inaccessible.
+ [This bug was introduced when inotify support was added in coreutils-7.5]
+
+ tail -F has improved handling of symlinks. Previously tail didn't respond
+ to the symlink target (re)appearing after being (re)created.
+ [This bug was introduced when inotify support was added in coreutils-7.5]
+
+** New features
+
+ cp, install, mkdir, mknod, mkfifo and mv now support "restorecon"
+ functionality through the -Z option, to set the SELinux context
+ appropriate for the new item location in the file system.
+
+ csplit accepts a new option: --suppressed-matched, to elide the lines
+ used to identify the split points.
+
+ df --output now accepts a 'file' field, to propagate a specified
+ command line argument through to the output.
+
+ du accepts a new option: --inodes to show the number of inodes instead
+ of the blocks used.
+
+ id accepts a new option: --zero (-z) to delimit the output entries by
+ a NUL instead of a white space character.
+
+ id and ls with -Z report the SMACK security context where available.
+ mkdir, mkfifo and mknod with --context set the SMACK context where available.
+
+ id can now lookup by user ID, in addition to the existing name lookup.
+
+ join accepts a new option: --zero-terminated (-z). As with the sort,uniq
+ option of the same name, this makes join consume and produce NUL-terminated
+ lines rather than newline-terminated lines.
+
+ uniq accepts a new option: --group to print all items, while separating
+ unique groups with empty lines.
+
+ shred accepts new parameters to the --remove option to give greater
+ control over that operation, which can greatly reduce sync overhead.
+
+ shuf accepts a new option: --repeat (-r), which can repeat items in
+ the output.
+
+** Changes in behavior
+
+ cp --link now dereferences a symbolic link as source before creating the
+ hard link in the destination unless the -P,--no-deref option is specified.
+ Previously, it would create a hard link of the symbolic link, even when
+ the dereferencing options -L or -H were specified.
+
+ cp, install, mkdir, mknod and mkfifo no longer accept an argument to the
+ short -Z option. The --context equivalent still takes an optional argument.
+
+ dd status=none now suppresses all non fatal diagnostic messages,
+ not just the transfer counts.
+
+ df no longer accepts the long-obsolescent --megabytes option.
+
+ stdbuf now requires at least one buffering mode option to be specified,
+ as per the documented interface.
+
+** Improvements
+
+ base64 encoding throughput for bulk data is increased by about 60%.
+
+ md5sum can use libcrypto hash routines where allowed to potentially
+ get better performance through using more system specific logic.
+ sha1sum for example has improved throughput by 40% on an i3-2310M.
+ This also affects sha1sum, sha224sum, sha256sum, sha384sum and sha512sum.
+
+ stat and tail work better with EFIVARFS, EXOFS, F2FS, HOSTFS, SMACKFS, SNFS
+ and UBIFS. stat -f --format=%T now reports the file system type, and tail -f
+ now uses inotify for files on all those except SNFS, rather than the default
+ (for unknown file system types) of issuing a warning and reverting to polling.
+
+ shuf outputs subsets of large inputs much more efficiently.
+ Reservoir sampling is used to limit memory usage based on the number of
+ outputs, rather than the number of inputs.
+
+ shred increases the default write block size from 12KiB to 64KiB
+ to align with other utilities and reduce the system call overhead.
+
+ split --line-bytes=SIZE, now only allocates memory as needed rather
+ than allocating SIZE bytes at program start.
+
+ stty now supports configuring "stick" (mark/space) parity where available.
+
+** Build-related
+
+ factor now builds on aarch64 based systems [bug introduced in coreutils-8.20]
+
+
* Noteworthy changes in release 8.21 (2013-02-14) [stable]
** New programs
@@ -16,6 +333,9 @@ GNU coreutils NEWS -*- outline -*-
with such a minimum SIZE (or a maximum SIZE if it is negative).
du recognizes -t SIZE as equivalent, for compatibility with FreeBSD.
+ timeout now accepts the --preserve-status option to always propagate the exit
+ status, useful for commands that can run for an indeterminite amount of time.
+
** Bug fixes
cp --no-preserve=mode now no longer exits non-zero.
@@ -79,6 +399,9 @@ GNU coreutils NEWS -*- outline -*-
the system by skipping duplicate entries (identified by the device number).
Consequently, df also elides the early-boot pseudo file system type "rootfs".
+ cut -d$'\n' no longer outputs lines identified in the --fields list,
+ to align with other implementations and to avoid delayed output of lines.
+
nl no longer supports the --page-increment option, which has been
deprecated since coreutils-7.5. Use --line-increment instead.
@@ -823,6 +1146,9 @@ GNU coreutils NEWS -*- outline -*-
However, with the above change to %X, %Y and %Z, we've made %W work
the same way as the others.
+ stat gained support for several printf-style flags, such as %'s for
+ listing sizes with the current locale's thousands separator.
+
* Noteworthy changes in release 8.6 (2010-10-15) [stable]
@@ -3891,7 +4217,7 @@ packages, see ./old/*/NEWS.
========================================================================
-Copyright (C) 2001-2013 Free Software Foundation, Inc.
+Copyright (C) 2001-2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or