(_D_EXACT_NAMELEN): Renamed from NLENGTH, for
[platform/upstream/coreutils.git] / NEWS
diff --git a/NEWS b/NEWS
index cb12994..bac4ecd 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,290 @@
 GNU coreutils NEWS                                    -*- outline -*-
 
-* Major changes in release 5.3.1 (2005-??-??) [unstable]
+* Major changes in release 6.0-cvs (2006-??-??) [unstable]
+
+** Improved robustness
+
+  df: if the file system claims to have more available than total blocks,
+  report the number of used blocks as being "total - available"
+  (a negative number) rather than as garbage.
+
+  dircolors: a new autoconf run-test for AIX's buggy strndup function
+  prevents malfunction on that system;  may also affect cut, expand,
+  and unexpand.
+
+  fts no longer changes the current working directory, so its clients
+  (chmod, chown, chgrp, du) no longer malfunction under extreme conditions.
+
+  pwd and other programs using lib/getcwd.c work even on file systems
+  where dirent.d_ino values are inconsistent with those from stat.st_ino.
+
+  rm's core is now reentrant: rm --recursive (-r) now processes
+  hierarchies without changing the working directory at all.
+
+** Changes in behavior
+
+  basename and dirname now treat // as different from / on platforms
+  where the two are distinct.
+
+  `cp --link --no-dereference' now works also on systems where the
+  link system call cannot create a hard link to a symbolic link.
+  This change has no effect on systems with a Linux-based kernel.
+
+  csplit and nl now use POSIX syntax for regular expressions, not
+  Emacs syntax.  As a result, character classes like [[:print:]] and
+  interval expressions like A\{1,9\} now have their usual meaning,
+  . no longer matches the null character, and \ must precede the + and
+  ? operators.
+
+  date: a command like date -d '2006-04-23 21 days ago' would print
+  the wrong date in some time zones.  (see the test for an example)
+
+  df now considers "none" and "proc" file systems to be dummies and
+  therefore does not normally display them.  Also, inaccessible file
+  systems (which can be caused by shadowed mount points or by chrooted
+  bind mounts) are now dummies, too.
+
+  expr no longer complains about leading ^ in a regular expression
+  (the anchor is ignored), or about regular expressions like A** (the
+  second "*" is ignored).  expr now exits with status 2 (not 3) for
+  errors it detects in the expression's values; exit status 3 is now
+  used only for internal errors (such as integer overflow, which expr
+  now checks for).
+
+  ln now uses different (and we hope clearer) diagnostics when it fails.
+  ln -v now acts more like FreeBSD, so it generates output only when
+  successful and the output is easier to parse.
+
+  ls now defaults to --time-style='locale', not --time-style='posix-long-iso'.
+  However, the 'locale' time style now behaves like 'posix-long-iso'
+  if your locale settings appear to be messed up.  This change
+  attempts to have the default be the best of both worlds.
+
+  mkfifo and mknod no longer set special mode bits (setuid, setgid,
+  and sticky) with the -m option.
+
+  nohup's usual diagnostic now more precisely specifies the I/O
+  redirections, e.g., "ignoring input and appending output to
+  nohup.out".  Also, nohup now redirects stderr to nohup.out (or
+  $HOME/nohup.out) if stdout is closed and stderr is a tty; this is in
+  response to Open Group XCU ERN 71.
+
+  rm --interactive now takes an optional argument, although the
+  default of using no argument still acts like -i.
+
+  rm no longer fails to remove an empty, unreadable directory
+
+  seq changes:
+
+    seq defaults to a minimal fixed point format that does not lose
+    information if seq's operands are all fixed point decimal numbers.
+    You no longer need the `-f%.f' in `seq -f%.f 1048575 1024 1050623',
+    for example, since the default format now has the same effect.
+
+    seq now lets you use %a, %A, %E, %F, and %G formats.
+
+    seq now uses long double internally rather than double.
+
+  sort now reports incompatible options (e.g., -i and -n) rather than
+  silently ignoring one of them.
+
+  sort now supports obsolete usages like "sort +1 -2" when conforming
+  to POSIX 1003.1-2001, since this is a pure extension to POSIX.
+  However, "sort +1" still sorts the file named "+1".
+
+  stat's --format=FMT option now works the way it did before 5.3.0:
+  FMT is automatically newline terminated.  The first stable release
+  containing this change was 5.92.
+
+  stat accepts the new option --printf=FMT, where FMT is *not*
+  automatically newline terminated.
+
+  stat: backslash escapes are interpreted in a format string specified
+  via --printf=FMT, but not one specified via --format=FMT.  That includes
+  octal (\ooo, at most three octal digits), hexadecimal (\xhh, one or
+  two hex digits), and the standard sequences (\a, \b, \f, \n, \r, \t,
+  \v, \", \\).
+
+  With no operand, 'tail -f' now silently ignores the '-f' only if
+  standard input is a FIFO or pipe and POSIXLY_CORRECT is set.
+  Formerly, it ignored the '-f' when standard input was a FIFO, pipe,
+  or socket.
+
+** Scheduled for removal
+
+  ptx's --copyright (-C) option is scheduled for removal in 2007, and
+  now evokes a warning.  Use --version instead.
+
+  rm's --directory (-d) option is scheduled for removal in 2006.  This
+  option has been silently ignored since coreutils 5.0.  On systems
+  that support unlinking of directories, you can use the "unlink"
+  command to unlink a directory.
+
+  Similarly, we are considering the removal of ln's --directory (-d,
+  -F) option in 2006.  Please write to <bug-coreutils@gnu.org> if this
+  would cause a problem for you.  On systems that support hard links
+  to directories, you can use the "link" command to create one.
+
+** New programs
+
+  base64: base64 encoding and decoding (RFC 3548) functionality.
+  sha224sum: print or check a SHA224 (224-bit) checksum
+  sha256sum: print or check a SHA256 (256-bit) checksum
+  sha384sum: print or check a SHA384 (384-bit) checksum
+  sha512sum: print or check a SHA512 (512-bit) checksum
+
+** New features
+
+  chgrp now supports --preserve-root, --no-preserve-root (default),
+  as it was documented to do, and just as chmod, chown, and rm do.
+
+  New dd iflag= and oflag= flags:
+
+    'directory' causes dd to fail unless the file is a directory, on
+    hosts that support this (e.g., Linux kernels, version 2.1.126 and
+    later).  This has limited utility but is present for completeness.
+
+    'noatime' causes dd to read a file without updating its access
+    time, on hosts that support this (e.g., Linux kernels, version
+    2.6.8 and later).
+
+    'nolinks' causes dd to fail if the file has multiple hard links,
+    on hosts that support this (e.g., Solaris 10 and later).
+
+  ls accepts the new option --group-directories-first, to make it
+  list directories before files.
+
+  rm now accepts the -I (--interactive=once) option.  This new option
+  prompts once if rm is invoked recursively or if more than three
+  files are being deleted, which is less intrusive than -i prompting
+  for every file, but provides almost the same level of protection
+  against mistakes.
+
+  sort now accepts the --random-sort (-R) option and `R' ordering option.
+
+  wc accepts a new option --files0-from=FILE, where FILE contains a
+  list of NUL-terminated file names.
+
+** Bug fixes
+
+  cat with any of the options, -A -v -e -E -T, when applied to a
+  file in /proc or /sys (linux-specific), would truncate its output,
+  usually printing nothing.
+
+  cp -p would fail in a /proc-less chroot, on some systems
+
+  When `cp -RL' encounters the same directory more than once in the
+  hierarchy beneath a single command-line argument, it no longer confuses
+  them with hard-linked directories.
+
+  fts-using tools (chmod, chown, chgrp, du) no longer fail due to
+  a double-free bug -- it could be triggered by making a directory
+  inaccessible while e.g., du is traversing the hierarchy under it.
+
+  fts-using tools (chmod, chown, chgrp, du) no longer misinterpret
+  a very long symlink chain as a dangling symlink.  Before, such a
+  misinterpretation would cause these tools not to diagnose an ELOOP error.
+
+  mv: moving a symlink into the place of an existing non-directory is
+  now done atomically;  before, mv would first unlink the destination.
+
+  mv -T DIR EMPTY_DIR no longer fails unconditionally.  Also, mv can
+  now remove an empty destination directory: mkdir -p a b/a; mv a b
+
+  rm (on systems with openat) can no longer exit before processing
+  all command-line arguments.
+
+  rm is no longer susceptible to a few low-probability memory leaks.
+
+  rm -r no longer fails to remove an inaccessible and empty directory
+
+  rm -r's cycle detection code can no longer be tricked into reporting
+  a false positive (introduced in fileutils-4.1.9).
+
+  shred --remove FILE no longer segfaults on Gentoo systems
+
+  sort would fail for large inputs (~50MB) on systems with a buggy
+  mkstemp function.  sort and tac now use the replacement mkstemp
+  function, and hence are no longer subject to limitations (of 26 or 32,
+  on the maximum number of files from a given template) on HP-UX 10.20,
+  SunOS 4.1.4, Solaris 2.5.1 and OSF1/Tru64 V4.0F&V5.1.
+
+  tail -f once again works on a file with the append-only
+  attribute (affects at least Linux ext2, ext3, xfs file systems)
+
+* Major changes in release 5.97 (2006-06-24) [stable]
+* Major changes in release 5.96 (2006-05-22) [stable]
+* Major changes in release 5.95 (2006-05-12) [stable]
+* Major changes in release 5.94 (2006-02-13) [stable]
+
+[see the b5_9x branch for details]
+
+* Major changes in release 5.93 (2005-11-06) [stable]
+
+** Bug fixes
+
+  dircolors no longer segfaults upon an attempt to use the new
+  STICKY_OTHER_WRITABLE (OWT) attribute.
+
+  du no longer overflows a counter when processing a file larger than
+  2^31-1 on some 32-bit systems (at least some AIX 5.1 configurations).
+
+  md5sum once again defaults to using the ` ' non-binary marker
+  (rather than the `*' binary marker) by default on Unix-like systems.
+
+  mkdir -p and install -d no longer exit nonzero when asked to create
+  a directory like `nonexistent/.'
+
+  rm emits a better diagnostic when (without -r) it fails to remove
+  a directory on e.g., Solaris 9/10 systems.
+
+  tac now works when stdin is a tty, even on non-Linux systems.
+
+  "tail -c 2 FILE" and "touch 0101000000" now operate as POSIX
+  1003.1-2001 requires, even when coreutils is conforming to older
+  POSIX standards, as the newly-required behavior is upward-compatible
+  with the old.
+
+  The documentation no longer mentions rm's --directory (-d) option.
+
+** Build-related bug fixes
+
+  installing .mo files would fail
+
+
+* Major changes in release 5.92 (2005-10-22) [stable]
+
+** Bug fixes
+
+  chmod now diagnoses an invalid mode string starting with an octal digit
+
+  dircolors now properly quotes single-quote characters
+
+
+* Major changes in release 5.91 (2005-10-17) [stable candidate]
+
+** Bug fixes
+
+  "mkdir -p /a/b/c" no longer fails merely because a leading prefix
+  directory (e.g., /a or /a/b) exists on a read-only file system.
+
+** Removed options
+
+  tail's --allow-missing option has been removed.  Use --retry instead.
+
+  stat's --link and -l options have been removed.
+  Use --dereference (-L) instead.
+
+** Deprecated options
+
+  Using ls, du, or df with the --kilobytes option now evokes a warning
+  that the long-named option is deprecated.  Use `-k' instead.
+
+  du's long-named --megabytes option now evokes a warning.
+  Use -m instead.
+
+
+* Major changes in release 5.90 (2005-09-29) [unstable]
 
 ** Bring back support for `head -NUM', `tail -NUM', etc. even when
   conforming to POSIX 1003.1-2001.  The following changes apply only
@@ -38,16 +322,44 @@ GNU coreutils NEWS                                    -*- outline -*-
                       POSIX 1003.2-1992    POSIX 1003.1-2001
     sort +4           sort -k 5            sort ./+4
     tail +4           tail -n +4           tail ./+4
-    tail - main.c     tail main.c          tail -- - main.c
+    tail - f          tail f               [see (*) below]
     tail -c 4         tail -c 10 ./4       tail -c4
     touch 12312359 f  touch -t 12312359 f  touch ./12312359 f
     uniq +4           uniq -s 4            uniq ./+4
 
+    (*) "tail - f" does not conform to POSIX 1003.1-2001; to read
+    standard input and then "f", use the command "tail -- - f".
+
   These changes are in response to decisions taken in the January 2005
   Austin Group standardization meeting.  For more details, please see
   "Utility Syntax Guidelines" in the Minutes of the January 2005
   Meeting <http://www.opengroup.org/austin/docs/austin_239.html>.
 
+** Binary input and output are now implemented more consistently.
+  These changes affect only platforms like MS-DOS that distinguish
+  between binary and text files.
+
+  The following programs now always use text input/output:
+
+    expand unexpand
+
+  The following programs now always use binary input/output to copy data:
+
+    cp install mv shred
+
+  The following programs now always use binary input/output to copy
+  data, except for stdin and stdout when it is a terminal.
+
+    head tac tail tee tr
+    (cat behaves similarly, unless one of the options -bensAE is used.)
+
+  cat's --binary or -B option has been removed.  It existed only on
+  MS-DOS-like platforms, and didn't work as documented there.
+
+  md5sum and sha1sum now obey the -b or --binary option, even if
+  standard input is a terminal, and they no longer report files to be
+  binary if they actually read them in text mode.
+
 ** Changes for better conformance to POSIX
 
   cp, ln, mv, rm changes:
@@ -78,6 +390,11 @@ GNU coreutils NEWS                                    -*- outline -*-
     --indicator-style=slash.  Use --file-type or
     --indicator-style=file-type to get -p's old behavior.
 
+  nice changes:
+
+    Documentation and diagnostics now refer to "nicenesses" (commonly
+    in the range -20...19) rather than "nice values" (commonly 0...39).
+
   nohup changes:
 
     nohup now ignores the umask when creating nohup.out.
@@ -106,6 +423,8 @@ GNU coreutils NEWS                                    -*- outline -*-
   permissions like =xX and =u, and did not properly diagnose some invalid
   strings like g+gr, ug,+x, and +1.  These bugs have been fixed.
 
+  csplit could produce corrupt output, given input lines longer than 8KB
+
   dd now computes statistics using a realtime clock (if available)
   rather than the time-of-day clock, to avoid glitches if the
   time-of-day is changed while dd is running.  Also, it avoids
@@ -129,6 +448,14 @@ GNU coreutils NEWS                                    -*- outline -*-
 
   "pr -D FORMAT" now accepts the same formats that "date +FORMAT" does.
 
+  stat now exits nonzero if a file operand does not exist
+
+** Improved robustness
+
+  Date no longer needs to allocate virtual memory to do its job,
+  so it can no longer fail due to an out-of-memory condition,
+  no matter how large the result.
+
 ** Improved portability
 
   hostid now prints exactly 8 hexadecimal digits, possibly with leading zeros,
@@ -150,9 +477,18 @@ GNU coreutils NEWS                                    -*- outline -*-
 
   cp and mv: the --reply=X option is deprecated
 
+  date accepts the new option --rfc-3339=TIMESPEC.  The old --iso-8602 (-I)
+  option is deprecated; it still works, but new applications should avoid it.
+  date, du, ls, and pr's time formats now support new %:z, %::z, %:::z
+  specifiers for numeric time zone offsets like -07:00, -07:00:00, and -07.
+
   dd has new iflag= and oflag= flags "binary" and "text", which have an
   effect only on nonstandard platforms that distinguish text from binary I/O.
 
+  dircolors now supports SETUID, SETGID, STICKY_OTHER_WRITABLE,
+  OTHER_WRITABLE, and STICKY, with ls providing default colors for these
+  categories if not specified by dircolors.
+
   du accepts new options: --time[=TYPE] and --time-style=STYLE
 
   join now supports a NUL field separator, e.g., "join -t '\0'".
@@ -161,14 +497,22 @@ GNU coreutils NEWS                                    -*- outline -*-
   ls no longer outputs an extra space between the mode and the link count
   when none of the listed files has an ACL.
 
-  If stdin is a terminal, nohup now closes it and then reopens it with an
-  unreadable file descriptor.  (This step is skipped if POSIXLY_CORRECT is set.)
-  This prevents the command from tying up an OpenSSH session after you logout.
+  md5sum --check now accepts multiple input files, and similarly for sha1sum.
+
+  If stdin is a terminal, nohup now redirects it from /dev/null to
+  prevent the command from tying up an OpenSSH session after you logout.
+
+  "rm -FOO" now suggests "rm ./-FOO" if the file "-FOO" exists and
+  "-FOO" is not a valid option.
 
   stat -f -c %S outputs the fundamental block size (used for block counts).
   stat -f's default output format has been changed to output this size as well.
   stat -f recognizes file systems of type XFS and JFS
 
+  "touch -" now touches standard output, not a file named "-".
+
+  uname -a no longer generates the -p and -i outputs if they are unknown.
+
 * Major changes in release 5.3.0 (2005-01-08) [unstable]
 
 ** Bug fixes
@@ -241,15 +585,15 @@ GNU coreutils NEWS                                    -*- outline -*-
 
   Fixes for "nice":
 
-    If it fails to lower the nice value due to lack of permissions,
+    If it fails to lower the niceness due to lack of permissions,
     it goes ahead and runs the command anyway, as POSIX requires.
 
-    It no longer incorrectly reports an error if the current nice
-    value happens to be -1.
+    It no longer incorrectly reports an error if the current niceness
+    happens to be -1.
 
-    It no longer assumes that nice values range from -20 through 19.
+    It no longer assumes that nicenesses range from -20 through 19.
 
-    It now consistently adjusts out-of-range nice values to the
+    It now consistently adjusts out-of-range nicenesses to the
     closest values in range; formerly it sometimes reported an error.
 
   pathchk no longer accepts trailing options, e.g., "pathchk -p foo -b"
@@ -282,6 +626,8 @@ GNU coreutils NEWS                                    -*- outline -*-
   mv (when moving between partitions) no longer fails when
   operating on too many command-line-specified nonempty directories.
 
+  "readlink -f" is more compatible with prior implementations
+
   rm (without -f) no longer hangs when attempting to remove a symlink
   to a file on an off-line NFS-mounted partition.
 
@@ -465,6 +811,9 @@ GNU coreutils NEWS                                    -*- outline -*-
     rather than two-byte int.  This makes a difference only on hosts like
     Cray systems where the C short int type requires more than two bytes.
 
+  readlink accepts new options: --canonicalize-existing (-e)
+  and --canonicalize-missing (-m).
+
   The stat option --filesystem has been renamed to --file-system, for
   consistency with POSIX "file system" and with cp and du --one-file-system.