mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-03-05 12:34:37 +02:00
393 lines
19 KiB
Plaintext
393 lines
19 KiB
Plaintext
Changes in release 4.1:
|
||
[4.0i]
|
||
* `cp -f FILE FILE' and `mv -f FILE FILE' no longer remove FILE
|
||
* touch works once again (DST-wise) when certain `--date DATE-TIME'
|
||
values are specified.
|
||
* shred's -u option (short form of --remove) is now accepted
|
||
[4.0h]
|
||
* cp --one-file-system (-x) no longer crosses filesystem boundaries.
|
||
* touch can once again operate on directories
|
||
[4.0g]
|
||
* New large-file support for AIX and HP-UX, and for cross-compiles.
|
||
* shred's default options are now suitable for devices, not files, since
|
||
shred is more reliable on devices. shred now does not remove by default;
|
||
the old -p or --preserve option was inverted and renamed to -u or --remove.
|
||
* shred -u now attempts to truncate devices before removing them.
|
||
* shred -v no longer outputs carriage-returns; shred -vv has no extra effect;
|
||
shred -v now outputs to stderr.
|
||
* shred now tries to find the size of a non-regular file by seeking to its end.
|
||
* dd now opens the output file for *read* access only if `seek=' is used.
|
||
[4.0f]
|
||
* `ls --color' no longer segfaults
|
||
* dd works once again
|
||
[4.0e]
|
||
* shred --devices option renamed to -D so that -d, -i and -r can be
|
||
compatible with rm.
|
||
* shred -s/--size=N option added to specify the size of the object to be
|
||
shredded.
|
||
* `shred -' now shreds stdout rather than stdin. This is incompatible with -v.
|
||
* shred now does not need to read from its output file, so opens it O_WRONLY
|
||
* `ls -l' uses `+' to designate each file that has a custom ACL
|
||
* eliminate race condition that could make touch truncate a nonempty file
|
||
* No longer use *_unlocked I/O macros on systems (like solaris5.5.1) where
|
||
they're not declared, so selected executables (e.g., rm) that are linked
|
||
with shared libraries will once again run on solaris5.6 systems.
|
||
[4.0d (aka 4.1-b3)]
|
||
* ls recognizes solaris 2 `doors'
|
||
* new program: shred
|
||
* ln: Allow creation of a hard link to a dangling symlink
|
||
* cp, mv, install: --verbose now prints a message for each backup-related
|
||
renaming
|
||
* portability fixes for copy.c's code to detect move-directory-into-self
|
||
* upgrade to automake-1.3b
|
||
* upgrade to autoconf-2.13, and...
|
||
* remove some of the kludges in m4/*.m4 that permitted
|
||
[4.1-b2]
|
||
* concurrent `mkdir -p' processes no longer fail when creating the
|
||
same hierarchy
|
||
* argmatch.c has been fixed so that the unambiguous usage `ls --color=n'
|
||
no longer evokes an error.
|
||
* now, specifying an improper argument for an option that accepts enumerated
|
||
values evokes diagnostics like this:
|
||
$ src/touch --time=x file
|
||
src/touch: invalid argument `x' for `--time'
|
||
Valid arguments are:
|
||
- `atime', `access', `use'
|
||
- `mtime', `modify'
|
||
Try `src/touch --help' for more information.
|
||
[4.1-b1]
|
||
* ls --quoting-style=c prints correct octal escapes for certain nonprinting
|
||
characters in file names.
|
||
* fix `ls -R .' formatting bug that broke mktexlsr
|
||
* moving a directory into itself is properly diagnosed in more cases
|
||
* moving a directory containing hard-linked files now works
|
||
|
||
Changes in release 4.0:
|
||
[4.0-b7]
|
||
* rm -rf '' no longer gets a failed assertion on the Hurd
|
||
[4.0-b6]
|
||
* rm simply fails as it should (rather than segfaulting) for
|
||
`mkdir -m 0100 x; rm -rf x'
|
||
[4.0-b5]
|
||
* still *more* mktime.c portability tweaks
|
||
[4.0-b4]
|
||
* mktime.c portability tweak for headers with GNU libc 5.4.44.
|
||
[4.0-b3]
|
||
* mktime.c works around problems with Digital Unix 4.0A and 4.0D.
|
||
* mktime.c handles dates in the spring-forward gap the same way other
|
||
implementations do
|
||
* install accepts long option --suffix=SUFFIX
|
||
[4.0-b2]
|
||
* man/Makefile.maint framework tweaks
|
||
* add test for `mv -i' bug
|
||
[4.0-pre1]
|
||
* fix serious bug whereby `touch a b; echo n|mv -i a b' would remove b.
|
||
[3.16z]
|
||
* portability tweaks
|
||
* avoid `root `cp -a' from Netapp snapshot' corruption
|
||
[3.16y]
|
||
* `install -D' now works
|
||
* distribute maintainer Makefiles in man/
|
||
[3.16x]
|
||
* man pages are now automatically generated from a combination of --help
|
||
output and the contents of new (though mostly empty), man/*.x files.
|
||
[3.16w]
|
||
* touch now interprets `-t TIME-DATE' as POSIX specifies
|
||
* `ls EMPTY-DIR EMPTY-DIR' once again outputs the directory names
|
||
[3.16v]
|
||
* portability fixes
|
||
* `ls -R EMPTY-DIR' now outputs the name of the directory
|
||
[3.16u]
|
||
* mv now fails (as it should) upon attempt to move a directory into itself
|
||
* `cp -a --one-file-system' now copies any mount point directories it
|
||
encounters on the selected file system.
|
||
[3.16t]
|
||
* cp (with --update) and ls compare time stamps with subsecond resolution when
|
||
available (e.g., on systems with recent Linux kernels and on Solaris 2.6).
|
||
* install once again does the -m-specified chmod *after* running strip
|
||
(this fixes another bug introduced in 3.16o)
|
||
[3.16s]
|
||
* df accept a new option --local (-l)
|
||
* touch works around a system-specific bug so it now affects existing,
|
||
zero-length files on certain systems
|
||
* chown now works even on certain SVR3 systems where it used to fail
|
||
[3.16r]
|
||
* include gettext's m4 macros
|
||
* minor cp bug fixed
|
||
* non-portable cp tests removed
|
||
* --without-included-regex now means don't compile regex.c
|
||
* rx support removed
|
||
[3.16q]
|
||
* `df', `du', and `ls' now accept a new option --block-size=SIZE,
|
||
where SIZE can be a positive integer block size, followed by an
|
||
optional SI prefix (e.g. `k' for kilo, `M' for Mega), followed by an
|
||
optional `B' (for ``byte'', indicating powers of 1024, which is the
|
||
default) or `D' (for ``decimal byte'', indicating powers of 1000).
|
||
SIZE can also be `human-readable' (for -h or --human-readable
|
||
behavior) or `si' (for -H or --si behavior).
|
||
* These suffixes can also be used by `dd'; e.g. `dd bs=1MB' is equivalent
|
||
to `dd bs=1048576'.
|
||
* The default block size for the `df' command is now obtained from the
|
||
DF_BLOCK_SIZE environment variable or, if that is not set, from BLOCK_SIZE.
|
||
Similarly for `du' and `ls'.
|
||
* The output columns of `df' have been adjusted slightly to accommodate
|
||
larger filesystems.
|
||
* fix gettext-related link failures seen when configuring certain ways
|
||
[3.16p]
|
||
* fix install bug introduced in 3.16o
|
||
* build/test changes only
|
||
[3.16o]
|
||
* chown accepts new option, --dereference. --no-dereference is now the default.
|
||
* install now shares core copying code with mv and cp
|
||
* mv (between distinct filesystems) now uses more of the core copying code
|
||
* fixed a bug or two in mv
|
||
* df once again displays negative numbers when that's what's returned
|
||
by get_fs_usage
|
||
[3.16n]
|
||
* `mv dir dir' once again does *not* remove dir/
|
||
* ls accepts new options:
|
||
--indicator-style=none (no indicators, the default)
|
||
--indicator-style=classify (all indicators)
|
||
(equivalent to -F or --classify)
|
||
--indicator-style=file-type (file type indicators)
|
||
(equivalent to -p or --file-type)
|
||
|
||
--quoting-style=literal (do not quote output)
|
||
--quoting-style=shell (minimally quote output for the shell)
|
||
--quoting-style=shell-always (always quote output with '' for the shell)
|
||
--quoting-style=c (quote output as for a C-language string)
|
||
(equivalent to -Q or --quote-name)
|
||
--quoting-style=escape (like c but omit enclosing "")
|
||
(equivalent to -b or --escape)
|
||
|
||
--show-control-chars is the opposite of --hide-control-chars
|
||
This option can be useful if output is to a terminal,
|
||
to override the default beahvior of hiding control characters.
|
||
|
||
* The QUOTING_STYLE environment variable can now be used to specify the
|
||
default value for ls's --quoting-style option. If not specified,
|
||
the default quoting style is 'literal', but this default may change to
|
||
'shell' in a future version of this package.
|
||
* ls's quoting style now affects operands in diagnostics, too.
|
||
* ls's --dired option now outputs the quoting style
|
||
using the format of the new --quoting-style option.
|
||
* ls's -e or --quote-shell option (introduced in 3.16j) has been removed;
|
||
use --quoting-style=shell to get its functionality.
|
||
[3.16m]
|
||
* mv can move (and doesn't read) special files
|
||
* remove maintainer mode
|
||
[3.16l]
|
||
* mv can finally move non-regular files between partitions
|
||
[3.16k]
|
||
* install accepts new option, -D
|
||
[3.16j]
|
||
* du accepts new options, --exclude=PAT and --exclude-from=FILE (-X FILE)
|
||
* ls now quotes file names for the shell by default, if they contain
|
||
characters that need quoting. Use -N to get the old default behavior.
|
||
The new behavior is also enabled by the new option -e or --quote-shell.
|
||
* ln --backup is now consistent with cp and mv in that --force is no longer
|
||
required when the destination is an existing non-directory.
|
||
* install accepts new option, --verbose (-v)
|
||
* mkdir -p is a lot faster when creating very deep directories on some systems
|
||
* rm -i no longer exits with status indicating failure solely because the
|
||
user declines to remove a file
|
||
* rm -r is a lot faster on some systems when removing deep hierarchies
|
||
* chgrp, chmod, and chown no longer give contradictory output when --verbose
|
||
is used and an operation fails
|
||
* ls's multicolumn option now uses variable width columns to conserve
|
||
vertical space
|
||
* install accepts new option, --preserve-timestamps
|
||
* du --megabytes --total now shows total in megabytes
|
||
* ls accepts new option, -h or --human-readable
|
||
* df, du, and ls now accept new option, -H or --si, for powers of 1000 not 1024
|
||
* df, du, and ls now consistently round to nearest, with ties going to even
|
||
* df, du, and ls now use `k' instead of `K' for `kilo',
|
||
and support larger abbreviations T(era), P(eta), E(xa), Z(etta), Y(otta)
|
||
* touch -d DATE now works on Unicos
|
||
* du accepts new option --max-depth=N
|
||
* rmdir accepts new options: --ignore-fail-on-non-empty and --verbose
|
||
* on most hosts df, du, and ls now overflow at 2**64 bytes, not 2**31 bytes
|
||
* all programs now work on large files on LFS systems like Solaris 2.6 and
|
||
Linux with the pre-2.1 development version of GNU libc.
|
||
* df now works with OpenBSD 2.1 beta
|
||
* cp -d FILE SYMLINK-TO-FILE doesn't erase FILE. Now it gives an error.
|
||
|
||
Changes in release 3.16:
|
||
* du --megabytes (-m) works
|
||
* ls -l works even on systems with non-POSIX strftime in their C library
|
||
|
||
Changes in release 3.15:
|
||
* touch --date=DATE bug (due to broken getdate.y) has been fixed
|
||
* ls -l no longer misformats the date when run in a locale for which the
|
||
locale's abbreviated week-day name (strftime's %a format) is shorter or
|
||
longer than the `normal' three bytes (with LANG=de it's a two-byte string).
|
||
* Using --program-prefix no longer applies the prefix twice
|
||
* ls --color properly restores color attributes upon completion when the
|
||
normal (`no') color attribute is not the default color.
|
||
* with ls -s --color, the `total' and size of the first file are printed
|
||
* ls --color stats symlinks and distinguishes between regular symlinks
|
||
and orphan ones.
|
||
* cp --preserve preserves owner and group of symlinks on Linux when run
|
||
with EUID == 0
|
||
* dircolors no longer accepts --print-data-base (alternate spelling of
|
||
--print-database)
|
||
|
||
Changes in release 3.14:
|
||
* ls --color highlights based on suffix rules only for regular files
|
||
* touch --date=DATE accepts dates like those in an RCS log listing, e.g.,
|
||
`1992/11/01 05:44:34'.
|
||
* install SRC DST no longer rejects non-regular, non-directory SRC
|
||
* df accepts -F as a synonym for -t for compatibility with Solaris
|
||
* cp -i /dev/null existing-file now prompts before overwriting the target
|
||
* ls --color highlights orphaned symlinks text on terminals that support it
|
||
* ls -l honors current locale with respect to abbreviated month names (and,
|
||
with --full-time day names) on systems with a locale-supporting strftime
|
||
function, e.g., ones based on recent versions of the GNU C library
|
||
* ls -l recognizes Cray's migrated dmf files.
|
||
* chgrp no longer aborts when given a group number larger than INT_MAX
|
||
* chgrp now fails when run by root with an unrecognized group name
|
||
* when possible, cp -p preserves owner/group even on symlinks in case
|
||
they're in a directory that has the sticky-bit set.
|
||
* cp --recursive --parents SRC DEST works when SRC is an absolute file name.
|
||
|
||
Changes in release 3.13:
|
||
* ls properly determines window size on SunOS and Solaris systems
|
||
* ls accepts new option --color[=WHEN] where WHEN is `always', `never',
|
||
or `auto'. --color=never is the default. --color is equivalent
|
||
to --color=always.
|
||
* new program: dircolors
|
||
* ls allows 0 as argument to --tabsize (-T) option. Using --tabsize=0
|
||
inhibits the use of TAB characters for separating columns.
|
||
* you can create a backup of FILE with cp --force --backup FILE FILE. Before,
|
||
that command failed saying that ``FILE' and `FILE' are the same file'.
|
||
* uses automake-generated Makefile templates
|
||
* chown and chgrp accept new option --no-dereference (-h)
|
||
* ln -f FILE FILE fails with a diagnostic rather than silently removing FILE
|
||
* when building on systems that have getopt_long (most GNU-oriented ones),
|
||
the system-provided function will be used -- so executables may be a
|
||
little smaller
|
||
* cp -p, and mv modify owner and/or group of symlinks on systems
|
||
(like Solaris) that provide the lchown system call.
|
||
* df no longer invokes the sync system call by default. You can use the
|
||
--sync option to make df invoke sync before getting file system sizes.
|
||
* internationalized diagnostic messages
|
||
* mkdir accepts new option: --verbose
|
||
* `cp file D/' uses the full file name `D/file' instead of `D//file'.
|
||
* cp --backup a~ a fails instead of silently destroying the source file
|
||
* df and du have new options --human-readable (-h) and --megabytes (-m).
|
||
* install now honors --backup (-b), --suffix=SUFFIX (-S SUFFIX), and
|
||
--version-control=WORD (-V WORD) options just as cp, ln, and mv do.
|
||
* ln --verbose output is less prone to misinterpretation
|
||
* ls -o works like -lG; for compatibility with other versions of ls
|
||
* cp has a new option to control creation of sparse files:
|
||
--sparse={auto,always,never}. --sparse=auto is the default.
|
||
* rm -rf '' behaves properly on SunOS 4 systems
|
||
* touch: rename long option name, --file, to --reference.
|
||
`touch --file' will continue to work a little longer.
|
||
* df fails if the same file system type is both selected and excluded.
|
||
* df works around SunOS statfs brokenness wrt filesystems larger than 2GB
|
||
* df better handles inconsistent mtab entries
|
||
* `ls -lDR dir dir2' works
|
||
* `ls -c' does what it's supposed to
|
||
* all programs include program name in --version output
|
||
* `ls --quote-name' works
|
||
* mv properly determines whether src and dest are the same file
|
||
Before, it could (though with very low probability) fail to do the move,
|
||
reporting that distinct source and destination are the same file.
|
||
* du --dereference (-L) works with directory symlinks
|
||
* du works on SunOS 4 systems even when accounting is enabled
|
||
* many programs that convert strings to integers now use strtol or strtoul
|
||
and detect overflow
|
||
|
||
User-visible changes in release 3.12:
|
||
* None.
|
||
User-visible changes in release 3.11:
|
||
* None.
|
||
User-visible changes in release 3.10:
|
||
* mkdir -p now ignores arguments that are existing directories. Before,
|
||
(contrary to POSIX spec) it would attempt to change ownership and/or
|
||
protections of existing directories listed on the command line. And
|
||
it would fail when such a directory was owned by another user.
|
||
* Fix bug in cp that made the commands `mkdir dir; touch foo; cp -P foo dir'
|
||
incorrectly change the permissions on directory, dir.
|
||
* df accepts a new option, --no-sync, that inhibits the default invocation
|
||
of the sync system call.
|
||
* ls accepts a new option, --dired, that makes emacs' dired mode more efficient
|
||
* skeletal texinfo documentation (mainly just the `invoking' nodes)
|
||
* ln accepts a new option: --no-dereference (-n). With this option,
|
||
if the destination command line argument is a symlink to a directory,
|
||
use that as the destination instead of the file in the directory.
|
||
* `ln -i no-such-file existing-file' gives a diagnostic and fails.
|
||
Before, if you responded `yes' to the prompt it would both remove
|
||
`existing-file' and fail to make a link.
|
||
* du no longer requires read access to all of the directory components
|
||
of the current working directory on systems with fchdir.
|
||
* touch -d 'date' is no longer off by one hour.
|
||
* New program: sync.
|
||
* Fix bug in cp that made the commands `ln -s . s; cp -rd s r' incorrectly
|
||
create `r' as a symlink instead of as a regular file.
|
||
* du's -S and -c options now work when used together.
|
||
Before, the grand total was always reported to be zero.
|
||
|
||
Major changes in release 3.9:
|
||
* --help gives a one-line description of each option and shows the
|
||
correspondence between short and long-named options.
|
||
* work around systems with BROKEN_STAT_MACROS
|
||
* work around problem where $(srcdir)/config.h was used instead of
|
||
../config.h -- this happened only when building in a subdirectory
|
||
and when config.h remained in $(srcdir) from a previous ./configure.
|
||
* GNU chmod treats symlinks the same way other vendor's versions do.
|
||
Now symlinks listed on the command line are processed (they were
|
||
ignored before); the permissions of the dereferenced files are
|
||
changed. Symlinks encountered in recursive traversals are still
|
||
ignored. This makes GNU chmod act more like e.g. Sun's.
|
||
* configure uses config.h, so DEFS won't exceed preprocessor limits of
|
||
some compilers on the number of symbols defined via -D.
|
||
* ls and cp can handle mount points on more systems
|
||
* cp, mkdir, and rmdir long option --path renamed to --parents; --path
|
||
will still work for a while
|
||
* cp, ln, and mv convert `cp A B/' to cp A B/A when A is not a directory.
|
||
This change affects only the two-argument form of the commands. It makes
|
||
such commands fail when the target has a trailing slash but is not a
|
||
directory or symlink to a directory and the source is not a directory.
|
||
They used to succeed, ignoring the implicitly contradictory trailing slash.
|
||
|
||
Major changes in release 3.8:
|
||
* install isn't as likely to produce spurious errors
|
||
* avoid redundant compilations for `dir' and `vdir';
|
||
* configure properly defines STAT_STATFS2_BSIZE on a Pyramid MIServer
|
||
running OSx 5.1
|
||
|
||
Major changes in release 3.7:
|
||
* none
|
||
Major changes in release 3.6:
|
||
* `ln -s dir_pathname .' works when the pathname has a trailing slash
|
||
* with the --version option programs print the version and exit immediately
|
||
* GNU ls -f works like Unix ls -f
|
||
* mktime replacement works
|
||
|
||
Major changes in release 3.5:
|
||
* adds support for DEC Alpha under OSF/1
|
||
* configuring with gcc uses CFLAGS='-g -O' by default
|
||
* all programs accept --help and --version options
|
||
* long-named options must be introduced with `--'; `+' is no longer
|
||
accepted since it is incompatible with the POSIX.2 standard
|
||
* chmod accepts long-named options
|
||
* dd conv=unblock doesn't hang
|
||
* new df option --exclude=fstype
|
||
* new ls option --full-time
|
||
|
||
Major changes in release 3.4:
|
||
* cp -p and mv preserve setuid and setgid bits
|
||
* chown works on systems where sizeof(uid_t) != sizeof(int)
|
||
or sizeof(uid) != sizeof(gid)
|
||
* catch errors from spurious slashes at ends of arguments
|
||
|
||
Major changes in release 3.3:
|
||
* df sped up by not calling sync for every filesystem
|
||
* df ported to AIX (RS/6000 and PS/2), and SVR2 port fixed
|
||
* df -i now also prints the total number of inodes per filesystem
|
||
* ls sped up by not reading symlink contents unnecessarily
|
||
* du doesn't die on POSIX systems when the root filesystem is NFS mounted
|
||
* cp and mv report chown Permission denied errors when run by root
|