1 Changes in release 3.13:
2 * when building on systems that have getopt_long (like Linux), the system-
3 provided function will be used -- so executables may be a little smaller
4 * chgrp, chown, cp -p, and mv all modify owner and/or group on systems
5 (like Solaris) that provide the lchown system call.
6 * df no longer invokes the sync system call by default. You can use the
7 --sync option to make df invoke sync before getting file system sizes.
8 * internationalized diagnostic messages
9 * mkdir accepts new option: --verbose
10 * cp has been fixed so that the full file name it uses for the destination
11 in `cp file D/' is `D/file', not `D//file'.
12 * cp --backup a~ a fails instead of silently destroying the source file
13 * df and du have new options --human-readable (-h) and --megabytes (-m).
14 * install now honors --backup (-b), --suffix=SUFFIX (-S SUFFIX), and
15 --version-control=WORD (-V WORD) options just as cp, ln, and mv do.
16 * ln --verbose output is less prone to misinterpretation
17 * ls -o works like -lG; for compatibility with other versions of ls
18 * cp has a new option to control creation of sparse files
19 * rm -rf '' behaves properly on SunOS 4 systems
20 * touch: rename long option name, --file, to --reference.
21 `touch --file' will continue to work a little longer.
22 * df fails if the same file system type is both selected and excluded.
23 * df works around SunOS statfs brokenness wrt filesystems larger than 2GB
24 * df better handles inconsistent mtab entries
25 * `ls -lDR dir dir2' works
26 * `ls -c' does what it's supposed to
27 * all programs include program name in --version output
28 * `ls --quote-name' works
29 * mv properly determines whether src and dest are the same file
30 Before, it could (though with very low probability) fail to do the move,
31 reporting that distinct source and destination are the same file.
32 * du --dereference (-L) works with directory symlinks
33 * du works on SunOS 4 systems even when accounting is enabled
34 * many programs that convert strings to integers now use strtol or strtoul
36 User-visible changes in release 3.12:
38 User-visible changes in release 3.11:
40 User-visible changes in release 3.10:
41 * mkdir -p now ignores arguments that are existing directories. Before,
42 (contrary to POSIX spec) it would attempt to change ownership and/or
43 protections of existing directories listed on the command line. And
44 it would fail when such a directory was owned by another user.
45 * Fix bug in cp that made the commands `mkdir dir; touch foo; cp -P foo dir'
46 incorrectly change the permissions on directory, dir.
47 * df accepts a new option, --no-sync, that inhibits the default invocation
48 of the sync system call.
49 * ls accepts a new option, --dired, that makes emacs' dired mode more efficient
50 * skeletal texinfo documentation (mainly just the `invoking' nodes)
51 * ln accepts a new option: --no-dereference (-n). With this option,
52 if the destination command line argument is a symlink to a directory,
53 use that as the destination instead of the file in the directory.
54 * `ln -i no-such-file existing-file' gives a diagnostic and fails.
55 Before, if you responded `yes' to the prompt it would both remove
56 `existing-file' and fail to make a link.
57 * du no longer requires read access to all of the directory components
58 of the current working directory on systems with fchdir.
59 * touch -d 'date' is no longer off by one hour.
61 * Fix bug in cp that made the commands `ln -s . s; cp -rd s r' incorrectly
62 create `r' as a symlink instead of as a regular file.
63 * du's -S and -c options now work when used together.
64 Before, the grand total was always reported to be zero.
66 Major changes in release 3.9:
67 * --help gives a one-line description of each option and shows the
68 correspondence between short and long-named options.
69 * work around systems with BROKEN_STAT_MACROS
70 * work around problem where $(srcdir)/config.h was used instead of
71 ../config.h -- this happened only when building in a subdirectory
72 and when config.h remained in $(srcdir) from a previous ./configure.
73 * GNU chmod treats symlinks the same way other vendor's versions do.
74 Now symlinks listed on the command line are processed (they were
75 ignored before); the permissions of the dereferenced files are
76 changed. Symlinks encountered in recursive traversals are still
77 ignored. This makes GNU chmod act more like e.g. Sun's.
78 * configure uses config.h, so DEFS won't exceed preprocessor limits of
79 some compilers on the number of symbols defined via -D.
80 * ls and cp can handle mount points on more systems
81 * cp, mkdir, and rmdir long option --path renamed to --parents; --path
82 will still work for a while
83 * cp, ln, and mv convert `cp A B/' to cp A B/A when A is not a directory.
84 This change affects only the two-argument form of the commands. It makes
85 such commands fail when the target has a trailing slash but is not a
86 directory or symlink to a directory and the source is not a directory.
87 They used to succeed, ignoring the implicitly contradictory trailing slash.
89 Major changes in release 3.8:
90 * install isn't as likely to produce spurious errors
91 * avoid redundant compilations for `dir' and `vdir';
92 * configure properly defines STAT_STATFS2_BSIZE on a Pyramid MIServer
95 Major changes in release 3.7:
97 Major changes in release 3.6:
98 * `ln -s dir_pathname .' works when the pathname has a trailing slash
99 * with the --version option programs print the version and exit immediately
100 * GNU ls -f works like Unix ls -f
101 * mktime replacement works
103 Major changes in release 3.5:
104 * adds support for DEC Alpha under OSF/1
105 * configuring with gcc uses CFLAGS='-g -O' by default
106 * all programs accept --help and --version options
107 * long-named options must be introduced with `--'; `+' is no longer
108 accepted since it is incompatible with the POSIX.2 standard
109 * chmod accepts long-named options
110 * dd conv=unblock doesn't hang
111 * new df option --exclude=fstype
112 * new ls option --full-time
114 Major changes in release 3.4:
115 * cp -p and mv preserve setuid and setgid bits
116 * chown works on systems where sizeof(uid_t) != sizeof(int)
117 or sizeof(uid) != sizeof(gid)
118 * catch errors from spurious slashes at ends of arguments
120 Major changes in release 3.3:
121 * df sped up by not calling sync for every filesystem
122 * df ported to AIX (RS/6000 and PS/2), and SVR2 port fixed
123 * df -i now also prints the total number of inodes per filesystem
124 * ls sped up by not reading symlink contents unnecessarily
125 * du doesn't die on POSIX systems when the root filesystem is NFS mounted
126 * cp and mv report chown Permission denied errors when run by root