.
[coreutils.git] / old / fileutils / NEWS
blob3bb84740931c0260d67d07e8b8e548ae3a5174ce
1 Changes in release 3.15:
2 * cp --preserve preserves owner and group of symlinks on Linux when run
3   with EUID == 0
4 [3.14a]:
5 Changes in release 3.14:
6 * ls --color highlights based on suffix rules only for regular files
7 * touch --date=DATE accepts dates like those in an RCS log listing, e.g.,
8   `1992/11/01 05:44:34'.
9 * install SRC DST no longer rejects non-regular, non-directory SRC
10 * df accepts -F as a synonym for -t for compatibility with Solaris
11 * cp -i /dev/null existing-file now prompts before overwriting the target
12 * ls --color highlights orphaned symlinks text on terminals that support it
13  [3.13i]
14 * ls -l honors current locale with respect to abbreviated month names (and,
15   with --full-time day names) on systems with a locale-supporting strftime
16   function, e.g., ones based on recent versions of the GNU C library
17 * ls -l recognizes Cray's migrated dmf files.
18 * chgrp no longer aborts when given a group number larger than INT_MAX
19 * chgrp now fails when run by root with an unrecognized group name
20 * when possible, cp -p preserves owner/group even on symlinks in case
21   they're in a directory that has the sticky-bit set.
22 * cp --recursive --parents SRC DEST works when SRC is an absolute file name.
24 Changes in release 3.13:
25 * ls properly determines window size on SunOS and Solaris systems
26 * ls accepts new option --color[=WHEN] where WHEN is `always', `never',
27   or `auto'.  --color=never is the default.  --color is equivalent
28   to --color=always.
29 * new program: dircolors
30 * ls allows 0 as argument to --tabsize (-T) option.  Using --tabsize=0
31   inhibits the use of TAB characters for separating columns.
32 * you can create a backup of FILE with cp --force --backup FILE FILE.  Before,
33   that command failed saying that ``FILE' and `FILE' are the same file'.
34 * uses automake-generated Makefile templates
35 * chown and chgrp accept new option --no-dereference (-h)
36 * ln -f FILE FILE fails with a diagnostic rather than silently removing FILE
37 * when building on systems that have getopt_long (most GNU-oriented ones),
38   the system-provided function will be used -- so executables may be a
39   little smaller
40 * cp -p, and mv modify owner and/or group of symlinks on systems
41   (like Solaris) that provide the lchown system call.
42 * df no longer invokes the sync system call by default.  You can use the
43   --sync option to make df invoke sync before getting file system sizes.
44 * internationalized diagnostic messages
45 * mkdir accepts new option: --verbose
46 * `cp file D/' uses the full file name `D/file' instead of `D//file'.
47 * cp --backup a~ a fails instead of silently destroying the source file
48 * df and du have new options --human-readable (-h) and --megabytes (-m).
49 * install now honors --backup (-b), --suffix=SUFFIX (-S SUFFIX), and
50   --version-control=WORD (-V WORD) options just as cp, ln, and mv do.
51 * ln --verbose output is less prone to misinterpretation
52 * ls -o works like -lG;  for compatibility with other versions of ls
53 * cp has a new option to control creation of sparse files:
54   --sparse={auto,always,never}.  --sparse=auto is the default.
55 * rm -rf '' behaves properly on SunOS 4 systems
56 * touch: rename long option name, --file, to --reference.
57   `touch --file' will continue to work a little longer.
58 * df fails if the same file system type is both selected and excluded.
59 * df works around SunOS statfs brokenness wrt filesystems larger than 2GB
60 * df better handles inconsistent mtab entries
61 * `ls -lDR dir dir2' works
62 * `ls -c' does what it's supposed to
63 * all programs include program name in --version output
64 * `ls --quote-name' works
65 * mv properly determines whether src and dest are the same file
66   Before, it could (though with very low probability) fail to do the move,
67   reporting that distinct source and destination are the same file.
68 * du --dereference (-L) works with directory symlinks
69 * du works on SunOS 4 systems even when accounting is enabled
70 * many programs that convert strings to integers now use strtol or strtoul
71   and detect overflow
73 User-visible changes in release 3.12:
74 * None.
75 User-visible changes in release 3.11:
76 * None.
77 User-visible changes in release 3.10:
78 * mkdir -p now ignores arguments that are existing directories.  Before,
79   (contrary to POSIX spec) it would attempt to change ownership and/or
80   protections of existing directories listed on the command line.  And
81   it would fail when such a directory was owned by another user.
82 * Fix bug in cp that made the commands `mkdir dir; touch foo; cp -P foo dir'
83   incorrectly change the permissions on directory, dir.
84 * df accepts a new option, --no-sync, that inhibits the default invocation
85   of the sync system call.
86 * ls accepts a new option, --dired, that makes emacs' dired mode more efficient
87 * skeletal texinfo documentation (mainly just the `invoking' nodes)
88 * ln accepts a new option: --no-dereference (-n).  With this option,
89   if the destination command line argument is a symlink to a directory,
90   use that as the destination instead of the file in the directory.
91 * `ln -i no-such-file existing-file' gives a diagnostic and fails.
92   Before, if you responded `yes' to the prompt it would both remove
93   `existing-file' and fail to make a link.
94 * du no longer requires read access to all of the directory components
95   of the current working directory on systems with fchdir.
96 * touch -d 'date' is no longer off by one hour.
97 * New program: sync.
98 * Fix bug in cp that made the commands `ln -s . s; cp -rd s r' incorrectly
99   create `r' as a symlink instead of as a regular file.
100 * du's -S and -c options now work when used together.
101   Before, the grand total was always reported to be zero.
103 Major changes in release 3.9:
104 * --help gives a one-line description of each option and shows the
105   correspondence between short and long-named options.
106 * work around systems with BROKEN_STAT_MACROS
107 * work around problem where $(srcdir)/config.h was used instead of
108   ../config.h -- this happened only when building in a subdirectory
109   and when config.h remained in $(srcdir) from a previous ./configure.
110 * GNU chmod treats symlinks the same way other vendor's versions do.
111   Now symlinks listed on the command line are processed (they were
112   ignored before); the permissions of the dereferenced files are
113   changed.  Symlinks encountered in recursive traversals are still
114   ignored.  This makes GNU chmod act more like e.g. Sun's.
115 * configure uses config.h, so DEFS won't exceed preprocessor limits of
116   some compilers on the number of symbols defined via -D.
117 * ls and cp can handle mount points on more systems
118 * cp, mkdir, and rmdir long option --path renamed to --parents;  --path
119   will still work for a while
120 * cp, ln, and mv convert `cp A B/' to cp A B/A when A is not a directory.
121   This change affects only the two-argument form of the commands.  It makes
122   such commands fail when the target has a trailing slash but is not a
123   directory or symlink to a directory and the source is not a directory.
124   They used to succeed, ignoring the implicitly contradictory trailing slash.
126 Major changes in release 3.8:
127 * install isn't as likely to produce spurious errors
128 * avoid redundant compilations for `dir' and `vdir';
129 * configure properly defines STAT_STATFS2_BSIZE on a Pyramid MIServer
130   running OSx 5.1
132 Major changes in release 3.7:
133 * none
134 Major changes in release 3.6:
135 * `ln -s dir_pathname .' works when the pathname has a trailing slash
136 * with the --version option programs print the version and exit immediately
137 * GNU ls -f works like Unix ls -f
138 * mktime replacement works
140 Major changes in release 3.5:
141 * adds support for DEC Alpha under OSF/1
142 * configuring with gcc uses CFLAGS='-g -O' by default
143 * all programs accept --help and --version options
144 * long-named options must be introduced with `--'; `+' is no longer
145   accepted since it is incompatible with the POSIX.2 standard
146 * chmod accepts long-named options
147 * dd conv=unblock doesn't hang
148 * new df option --exclude=fstype
149 * new ls option --full-time
151 Major changes in release 3.4:
152 * cp -p and mv preserve setuid and setgid bits
153 * chown works on systems where sizeof(uid_t) != sizeof(int)
154   or sizeof(uid) != sizeof(gid)
155 * catch errors from spurious slashes at ends of arguments
157 Major changes in release 3.3:
158 * df sped up by not calling sync for every filesystem
159 * df ported to AIX (RS/6000 and PS/2), and SVR2 port fixed
160 * df -i now also prints the total number of inodes per filesystem
161 * ls sped up by not reading symlink contents unnecessarily
162 * du doesn't die on POSIX systems when the root filesystem is NFS mounted
163 * cp and mv report chown Permission denied errors when run by root