source: trunk/grep/NEWS@ 2859

Last change on this file since 2859 was 2557, checked in by bird, 20 years ago

grep 2.5.1a

File size: 9.4 KB
Line 
1Version 2.5.1
2 - This is a bugfix release. No new features.
3
4Version 2.5
5 - The new option --label allows to specify a different name for input
6 from stdin. See the man or info pages for details.
7
8 - The internal lib/getopt* files are no longer used on systems providing
9 getopt functionality in their libc (e.g. glibc 2.2.x).
10 If you need the old getopt files, use --with-included-getopt.
11
12 - The new option --only-matching (-o) will print only the part of matching
13 lines that matches the pattern. This is useful, for example, to extract
14 IP addresses from log files.
15
16 - i18n bug fixed ([A-Z0-9] wouldn't match A in locales other than C on
17 systems using recent glibc builds
18
19 - GNU grep can now be built with autoconf 2.52.
20
21 - The new option --devices controls how grep handles device files. Its usage
22 is analogous to --directories.
23
24 - The new option --line-buffered fflush on everyline. There is a noticeable
25 slow down when forcing line buffering.
26
27 - Back references are now local to the regex.
28 grep -e '\(a\)\1' -e '\(b\)\1'
29 The last backref \1 in the second expression refer to \(b\)
30
31 - The new option --include=PATTERN will only search matching files
32 when recursing in directories
33
34 - The new option --exclude=PATTERN will skip matching files when
35 recursing in directories.
36
37 - The new option --color will use the environment variable GREP_COLOR
38 (default is red) to highlight the matching string.
39 --color takes an optional argument specifying when to colorize a line:
40 --color=always, --color=tty, --color=never
41
42 - The following changes are for POSIX.2 conformance:
43
44 . The -q or --quiet or --silent option now causes grep to exit
45 with zero status when a input line is selected, even if an error
46 also occurs.
47
48 . The -s or --no-messages option no longer affects the exit status.
49
50 . Bracket regular expressions like [a-z] are now locale-dependent.
51 For example, many locales sort characters in dictionary order,
52 and in these locales the regular expression [a-d] is not
53 equivalent to [abcd]; it might be equivalent to [aBbCcDd], for
54 example. To obtain the traditional interpretation of bracket
55 expressions, you can use the C locale by setting the LC_ALL
56 environment variable to the value "C".
57
58 - The -C or --context option now requires an argument, partly for
59 consistency, and partly because POSIX.2 recommends against
60 optional arguments.
61
62 - The new -P or --perl-regexp option tells grep to interpert the pattern as
63 a Perl regular expression.
64
65 - The new option --max-count=num makes grep stop reading a file after num
66 matching lines.
67 New option -m; equivalent to --max-count.
68
69 - Translations for bg, ca, da, nb and tr have been added.
70
71Version 2.4.2
72
73 - Added more check in configure to default the grep-${version}/src/regex.c
74 instead of the one in GNU Lib C.
75
76Version 2.4.1
77
78 - If the final byte of an input file is not a newline, grep now silently
79 supplies one.
80
81 - The new option --binary-files=TYPE makes grep assume that a binary input
82 file is of type TYPE.
83 --binary-files='binary' (the default) outputs a 1-line summary of matches.
84 --binary-files='without-match' assumes binary files do not match.
85 --binary-files='text' treats binary files as text
86 (equivalent to the -a or --text option).
87
88 - New option -I; equivalent to --binary-files='without-match'.
89
90Version 2.4:
91
92 - egrep is now equivalent to `grep -E' as required by POSIX,
93 removing a longstanding source of confusion and incompatibility.
94 `grep' is now more forgiving about stray `{'s, for backward
95 compatibility with traditional egrep.
96
97 - The lower bound of an interval is not optional.
98 You must use an explicit zero, e.g. `x{0,10}' instead of `x{,10}'.
99 (The old documentation incorrectly claimed that it was optional.)
100
101 - The --revert-match option has been renamed to --invert-match.
102
103 - The --fixed-regexp option has been renamed to --fixed-string.
104
105 - New option -H or --with-filename.
106
107 - New option --mmap. By default, GNU grep now uses read instead of mmap.
108 This is faster on some hosts, and is safer on all.
109
110 - The new option -z or --null-data causes `grep' to treat a zero byte
111 (the ASCII NUL character) as a line terminator in input data, and
112 to treat newlines as ordinary data.
113
114 - The new option -Z or --null causes `grep' to output a zero byte
115 instead of the normal separator after a file name.
116
117 - These two options can be used with commands like `find -print0',
118 `perl -0', `sort -z', and `xargs -0' to process arbitrary file names,
119 even those that contain newlines.
120
121 - The environment variable GREP_OPTIONS specifies default options;
122 e.g. GREP_OPTIONS='--directories=skip' reestablishes grep 2.1's
123 behavior of silently skipping directories.
124
125 - You can specify a matcher multiple times without error, e.g.
126 `grep -E -E' or `fgrep -F'. It is still an error to specify
127 conflicting matchers.
128
129 - -u and -U are now allowed on non-DOS hosts, and have no effect.
130
131 - Modifications of the tests scripts to go around the "Broken Pipe"
132 errors from bash. See Bash FAQ.
133
134 - New option -r or --recursive or --directories=recurse.
135 (This option was also in grep 2.3, but wasn't announced here.)
136
137 - --without-included-regex disable, was causing bogus reports .i.e
138 doing more harm then good.
139
140Version 2.3:
141
142 - When searching a binary file FOO, grep now just reports
143 `Binary file FOO matches' instead of outputting binary data.
144 This is typically more useful than the old behavior,
145 and it is also more consistent with other utilities like `diff'.
146 A file is considered to be binary if it contains a NUL (i.e. zero) byte.
147
148 The new -a or --text option causes `grep' to assume that all
149 input is text. (This option has the same meaning as with `diff'.)
150 Use it if you want binary data in your output.
151
152 - `grep' now searches directories just like ordinary files; it no longer
153 silently skips directories. This is the traditional behavior of
154 Unix text utilities (in particular, of traditional `grep').
155 Hence `grep PATTERN DIRECTORY' should report
156 `grep: DIRECTORY: Is a directory' on hosts where the operating system
157 does not permit programs to read directories directly, and
158 `grep: DIRECTORY: Binary file matches' (or nothing) otherwise.
159
160 The new -d ACTION or --directories=ACTION option affects directory handling.
161 `-d skip' causes `grep' to silently skip directories, as in grep 2.1;
162 `-d read' (the default) causes `grep' to read directories if possible,
163 as in earlier versions of grep.
164
165 - The MS-DOS and Microsoft Windows ports now behave identically to the
166 GNU and Unix ports with respect to binary files and directories.
167
168Version 2.2:
169
170Bug fix release.
171
172 - Status error number fix.
173 - Skipping directories removed.
174 - Many typos fix.
175 - -f /dev/null fix(not to consider as an empty pattern).
176 - Checks for wctype/wchar.
177 - -E was using the wrong matcher fix.
178 - bug in regex char class fix
179 - Fixes for DJGPP
180
181Version 2.1:
182
183This is a bug fix release(see Changelog) i.e. no new features.
184
185 - More compliance to GNU standard.
186 - Long options.
187 - Internationalisation.
188 - Use automake/autoconf.
189 - Directory hierarchy change.
190 - Sigvec with -e on Linux corrected.