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