1 Changes in release 1.23
3 * `sort -n' works with negative numbers when configured/compiled
5 * head accepts byte and line counts of type uintmax_t (so up to 2^64 - 1)
7 * tail: fix bug introduced in 1.22i
9 * tail now terminates in `yes > k & sleep 1; tail -2c k'
10 * `tail -f' now ensures that stdout is unbuffered
11 * fix a bug in cut to allow use of 8-bit delimiters
12 * pr accepts POSIX compliant options -s and -w,
13 the new capital letter options -J, -S and _W turn off the
14 unexpected interferences of the small letter options -s and -w
15 if used together with the column options.
16 * pr output has been adapted to other UNIXes in some cases.
19 * Window/NT/DOS support
21 * uniq accepts new option: --all-repeated (-D).
22 * Windows/DOS portability fixes
24 * tail has several new options: FIXME
25 * md5sum can handle file names with embedded backslash characters
26 * pr accepts long option names (see `pr --help')
27 * new program: ptx (moved to this package from being its own distribution)
29 * cut accepts new --output-delimiter=STR option
30 * `sort -o no-such-file no-such-file' now fails, as it should
31 * fix pr bug: pr -td didn't double space
32 * fix tac bug when using -b, -r, and -s SEPARATOR
33 * fix sort bug whereby using key-local `d' option would cause following
34 key specs to be ignored when any two keys (in the `d'-modified test)
37 * remove maintainer mode
39 * wc accepts new option: --max-line-length (-L)
40 * sort can sort according to your locale if your C library supports that
43 * od supports a new trailing `z' character in a type specification:
45 0000000 be ef c6 0f fd f9 d7 e0 ec cb f3 c6 00 db e8 00 >................<
46 0000020 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 00 00 >................<
47 0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................<
49 0000600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 cc >..............5.<
50 0000620 05 63 76 74 2e 6f 00 00 29 ac 08 70 72 6f 6a 65 >.cvt.o..)..proje<
51 0000640 63 74 73 00 00 00 18 9a 05 63 76 74 2e 63 00 00 >cts......cvt.c..<
52 0000660 18 d9 03 52 43 53 00 00 18 c0 05 78 2e 64 61 74 >...RCS.....x.dat<
55 * sort -c reports both the number and the contents of the first out-of-order
56 line, in addition to the file name.
57 * `head -c 4096m' is no longer treated just like `head -c 0'
58 now it gets a diagnostic about 4096m being too large.
59 * pr: For compatibility (also more POSIX compliant): Include default
60 separator `TAB' when merging lines of full length.
61 * When POSIXLY_CORRECT is not set, tail -N now accepts more than one file
62 argument, to be consistent with the way head -N works. If POSIXLY_CORRECT
63 is set, using two or more file arguments with the obsolescent form (-N)
64 evokes an error. To avoid the warning or failure, use the POSIX -n N option
65 or the GNU --lines=N option.
67 Changes in release 1.22
69 * Fix a bug in tail when invoked with an argument like `+NUMBERc'
70 * Add test suite for tail
72 Changes in release 1.21
73 * Using --program-prefix no longer applies the prefix twice
75 Changes in release 1.20
76 * fix pr: -l now uses total number of lines per page also with -f
77 * fix pr: use left-hand-side truncation of header string to avoid line
79 * fix pr: it now accepts `form feeds set in input files', also with -m
80 and multiple form feeds at different pages in each file
81 * pr now accepts: -h "", print a blank line header
82 * pr: when skipping pages (+FIRST_PAGE option) line counting (-n option)
83 starts with 1st line of input file (not of 1st page printed) by default
84 * pr accepts new option: -N, start printing with an optional line number
85 * pr -t retains `form feeds set in input files' (`don't destroy page layout')
86 * pr accepts new option: -T, equivalent to -t, but eliminate also form feeds
88 * pr accepts the extension: +FIRST_PAGE[:LAST_PAGE]
89 * pr -w and -s option disentangled (`use a separator' no longer destroys
91 * pr accepts new option: -j, merge lines of full length
92 * pr accepts the extension: -s[STRING], use separator string instead of
94 * pr -b is no longer an independent option, balancing is always used
95 with -COLUMN (a requirement of unrestricted use of form feeds)
96 * pr accepts new option: --test, to run the pr tests with a constant
98 * join passes all of its tests on Alpha OSF 4.0.
99 * sort no longer improperly ignores blanks in determining starting and ending
100 positions for keys with explicit character offsets
101 * fix bug in csplit with regexp and negative offset that led to infinite loop
102 Changes in test release 1.19q
103 * fix bug in sort -c that sometimes resulted in a segfault
104 Changes in test release 1.19p
105 * md5sum's --string option is being deprecated and is no longer documented.
106 It is still accepted, but will be removed altogether in 1.22.
107 * tr '[:lower:]' '[:upper:]' no longer fails when LC_CTYPE is set to
108 iso_8859_1 on Solaris -- or any other character set with differing
109 numbers of uppercase and lowercase characters
110 * split and tail diagnose unrecognized multiplier suffixes, in e.g.,
111 `split --bytes=1M' (should be `-b 1m' or `--bytes=1m')
112 * fix bug in md5sum's handling of partial reads
113 * fix bug in treatment by sort -f of bytes with high-bit set
114 * update configuration system to use automake's aclocal program
115 * configure performs sanity check on CC and CFLAGS to avoid a misleading
116 failure that suggested cross-compiling was the cause
117 * distribute test suites for cut, join, sort, and tr
118 * unexpand no longer gets in endless loop
119 * when verifying checksums, md5sum uses the binary mode flag from the
120 input stream rather than the one from the command line
122 Changes in release 1.19
123 * md5sum can verify digests of files with names containing newline characters
124 * update from gettext-0.10.20.
126 Changes in release 1.18
127 * when building sort, link with -lm on systems that use the replacement strtod
128 * update from gettext-0.10.17.
130 Changes in release 1.17
131 * include texinfo.tex in the distribution
133 Changes in release 1.16
134 * sort is compatible with Unix sort when a key-end spec refers to the N'th
135 character in a field that has fewer than N characters
136 * tail with old-style options like -20k and +31m operates on units of bytes,
137 as the --help usage message says. Before, it used units of lines.
139 Changes in release 1.15
140 * od gives better diagnostics for invalid format specs
141 * uses automake-generated Makefile templates
142 * configure takes a new option: --enable-maintainer-mode
143 * fix a bug in fmt when prefix has trailing white space
144 * internationalized diagnostic messages
145 * fix a couple bugs in tr involving use of -c and/or -d flags -- see ChangeLog
146 * diagnose some improper or questionable invocations of csplit
147 * properly handle `echo |csplit - 1 1', rather than aborting
148 * fix join: without -t it now ignores leading blanks
149 * sort accepts new option: -z for NUL terminated records
150 * join accepts new option: --ignore-case, -i
151 * uniq accepts new option: --ignore-case, -i
153 User-visible changes in release 1.14
154 * sort -i and sort -d properly order strings containing ignored characters
155 * nl: rename misleading --first-page=N option to --starting-line-number=N.
156 * sort diagnoses invalid arguments to -k, then fails
157 * sort -n properly orders invalid integers with respect to valid integers
158 * sorting works with character offsets larger than corresponding field width
159 * sort's -b option and `b' modifier work
161 * csplit detects integer overflow when converting command line arguments
162 * sort accepts new option/flag, -g, for sorting numbers in scientific notation
163 * join accepts POSIX `-o 0' field specifier.
164 * tr 'a[b*512]' '[a*]' < /dev/null terminates
165 * tr '[:*3][:digit:]' 'a-m' and tr 'a[=*2][=c=]' 'xyyz' no longer fail
166 * special characters in tr's string1 and string2 may be escaped with backslash
168 User-visible changes in release 1.13
169 * md5sum: with --check, distinguish between open/read failure and bad checksum
170 * md5sum: remove -h, -s, -v short options
171 * md5sum: rename --verbose to --warn, --quiet to --status
172 * md5sum --check fails if it finds no properly formatted checksum lines
173 * sort -c prints `disorder on...' message on standard error, not stdout
174 * sort -k works as described in the texinfo documentation
175 * tail works on NetBSD
176 * md5sum reads and writes (de facto) standard Plumb/Lankester format
177 * sort accepts -.1 +.2 options for compatibility
178 * od works properly when dump limit is specified and is a multiple of
179 bytes_per_block (set by --width, 16 by default).
181 User-visible changes in release 1.12
182 * sort no longer reports spurious errors on Ultrix systems
183 * new program: md5sum
184 * all --help messages have been improved
185 * join's -a1 and -a2 options work
186 * tr '[:upper:]' '[:lower:]' no longer reads uninitialized memory
187 * sort properly handles command line arguments like `+7.2n'
188 * fmt properly formats paragraphs not terminated by a newline
189 * tail -f flushes stdout before sleeping so that it will output partial
191 * sort properly orders fields where one field is a proper prefix of the other
192 * sort properly interprets field offsets specified via the -k option
193 * dd, od, and tail work on systems for which off_t is long long (e.g. BSD4.4)
194 * wc is faster when not counting words
195 * wc now works even when file pointer isn't at beginning of file
196 * expand no longer seg faults with very long tab lists
198 User-visible changes in release 1.11
201 User-visible changes in release 1.10
202 * skeletal texinfo documentation (mainly just the `invoking' nodes)
204 * tail -f on multiple files reports file truncation
205 * tail -q has been fixed so it never prints headers
206 * wc -c is much faster when operating on non-regular files
207 * unexpand gives a diagnostic (rather than a segfault) when given a name of
209 * cat, csplit, head, split, sum, tac, tail, tr, and wc no longer fail
210 gratuitously when continued after a suspended read or write system call.
211 * cut interprets -d '' to mean `use the NUL byte as the delimiter' rather
212 than reporting that no delimiter was specified and failing.
213 * `echo a:b:c: | cut -d: -f3,4' prints `c:'. Before it printed just `c'.
214 * cut has been rewritten, is markedly faster for large inputs, and passes a
215 fairly large test suite.
216 * sort properly handles the argument to the -T option.
218 Major changes in release 1.9.1:
219 * cut no longer ignores the last line of input when that line lacks a
220 trailing newline character
222 Major changes in release 1.9:
223 * `echo a:b:c: | cut -d: -f3-' prints `c:' and
224 `echo a:b | cut -d: -f1' prints `a'.
225 * the command `printf '\t\n' |fold -w n' now terminates.
226 Before, it wouldn't stop for n less than 8.
227 * sort accepts and ignores -y[string] options for compatibilty with Solaris.
228 * cat -v /dev/null works on more systems
229 * od's --compatible (-C) flag renamed to --traditional (no short option)
230 * --help and --version exit successfully
231 * --help gives a one-line description of each option and shows the
232 correspondence between short and long-named options.
233 * fix bug in cut. Now `echo 'a:b:c:' | cut -d: -f3-' works.
234 Before it printed `c' instead of `c:'
235 * csplit allows repeat counts to be specified via `{*}'.
236 * csplit accepts a new option, --suffix=format that supercedes the
237 --digits option. The --digits option will continue to work.
238 * csplit accepts a new option, --elide-empty-files.
239 * configure uses config.h, so DEFS won't exceed preprocessor limits of
240 some compilers on the number of symbols defined via -D.
241 * work around problem where $(srcdir)/config.h was used instead of
242 ../config.h -- this happened only when building in a subdirectory
243 and when config.h remained in $(srcdir) from a previous ./configure.
245 Major changes in release 1.8:
246 * added non-ANSIfied version of memchr.c from GNU libc.
248 Major changes in release 1.7:
250 Major changes in release 1.6:
251 * with the --version option programs print the version and exit immediately
252 * pr -2a really terminates
253 * pr -n produces multi-column output
255 Major changes in release 1.5:
256 * sort is 8-bit clean
257 * sort's -n and -M options no longer imply -b
258 * several bugs in sort have been fixed
259 * all programs accept --help and --version options
260 * od --compatible accepts pre-POSIX arguments
263 Major changes in release 1.4:
264 * add od and cksum programs
265 * move cmp to GNU diff distribution
266 * tail -f works for multiple files
267 * pr prints the file name in error messages
268 * fix some off by 1 errors in pr and fold
269 * optimize wc -c on regular files
270 * sort handles `-' argument correctly
271 * sort supports -T option
272 * tr ranges like a-a work
273 * tr x '' fails gracefully
274 * default sum output format is BSD compatible