NEWS revision 126432
1126432SacheVersion 2.4.2
2126432Sache
3126432Sache  - Added more check in configure to default the grep-${version}/src/regex.c
4126432Sache    instead of the one in GNU Lib C.
5126432Sache
656915SruVersion 2.4.1
756915Sru
856915Sru  - If the final byte of an input file is not a newline, grep now silently
956915Sru    supplies one.
1056915Sru
1156230Sru  - The new option --binary-files=TYPE makes grep assume that a binary input
1256230Sru    file is of type TYPE.
1356230Sru    --binary-files='binary' (the default) outputs a 1-line summary of matches.
1456230Sru    --binary-files='without-match' assumes binary files do not match.
1556230Sru    --binary-files='text' treats binary files as text
1656915Sru	(equivalent to the -a or --text option).
1756230Sru
1856915Sru  - New option -I; equivalent to --binary-files='without-match'.
1956915Sru
2055360SobrienVersion 2.4:
2155360Sobrien
2255360Sobrien  - egrep is now equivalent to `grep -E' as required by POSIX,
2355360Sobrien    removing a longstanding source of confusion and incompatibility.
2455360Sobrien    `grep' is now more forgiving about stray `{'s, for backward
2555360Sobrien    compatibility with traditional egrep.
2655360Sobrien
2755360Sobrien  - The lower bound of an interval is not optional.
2855360Sobrien    You must use an explicit zero, e.g. `x{0,10}' instead of `x{,10}'.
2955360Sobrien    (The old documentation incorrectly claimed that it was optional.)
3055360Sobrien
3155360Sobrien  - The --revert-match option has been renamed to --invert-match.
3255360Sobrien
3355360Sobrien  - The --fixed-regexp option has been renamed to --fixed-string.
3455360Sobrien
3555360Sobrien  - New option -H or --with-filename.
3655360Sobrien
3755360Sobrien  - New option --mmap.  By default, GNU grep now uses read instead of mmap.
3855360Sobrien    This is faster on some hosts, and is safer on all.
3955360Sobrien
4055360Sobrien  - The new option -z or --null-data causes `grep' to treat a zero byte
4155360Sobrien    (the ASCII NUL character) as a line terminator in input data, and
4255360Sobrien    to treat newlines as ordinary data.
4355360Sobrien
4455360Sobrien  - The new option -Z or --null causes `grep' to output a zero byte
4555360Sobrien    instead of the normal separator after a file name.
4655360Sobrien
4755360Sobrien  - These two options can be used with commands like `find -print0',
4855360Sobrien    `perl -0', `sort -z', and `xargs -0' to process arbitrary file names,
4955360Sobrien    even those that contain newlines.
5055360Sobrien
5155360Sobrien  - The environment variable GREP_OPTIONS specifies default options;
5255360Sobrien    e.g. GREP_OPTIONS='--directories=skip' reestablishes grep 2.1's
5355360Sobrien    behavior of silently skipping directories.
5455360Sobrien
5555360Sobrien  - You can specify a matcher multiple times without error, e.g.
5655360Sobrien    `grep -E -E' or `fgrep -F'.  It is still an error to specify
5755360Sobrien    conflicting matchers.
5855360Sobrien
5955360Sobrien  - -u and -U are now allowed on non-DOS hosts, and have no effect.
6055360Sobrien
6155360Sobrien  - Modifications of the tests scripts to go around the "Broken Pipe"
6255360Sobrien    errors from bash. See Bash FAQ.
6355360Sobrien
6455360Sobrien  - New option -r or --recursive or --directories=recurse.
6555360Sobrien    (This option was also in grep 2.3, but wasn't announced here.)
6655360Sobrien
6755360Sobrien  - --without-included-regex disable, was causing bogus reports .i.e
6855360Sobrien    doing more harm then good.
6955360Sobrien
7053574SobrienVersion 2.3:
7153574Sobrien
7253574Sobrien  - When searching a binary file FOO, grep now just reports
7353574Sobrien    `Binary file FOO matches' instead of outputting binary data.
7453574Sobrien    This is typically more useful than the old behavior,
7553574Sobrien    and it is also more consistent with other utilities like `diff'.
7653574Sobrien    A file is considered to be binary if it contains a NUL (i.e. zero) byte.
7753574Sobrien
7853574Sobrien    The new -a or --text option causes `grep' to assume that all
7953574Sobrien    input is text.  (This option has the same meaning as with `diff'.)
8053574Sobrien    Use it if you want binary data in your output.
8153574Sobrien
8253574Sobrien  - `grep' now searches directories just like ordinary files; it no longer
8353574Sobrien    silently skips directories.  This is the traditional behavior of
8453574Sobrien    Unix text utilities (in particular, of traditional `grep').
8553574Sobrien    Hence `grep PATTERN DIRECTORY' should report
8653574Sobrien    `grep: DIRECTORY: Is a directory' on hosts where the operating system
8753574Sobrien    does not permit programs to read directories directly, and
8853574Sobrien    `grep: DIRECTORY: Binary file matches' (or nothing) otherwise.
8953574Sobrien
9053574Sobrien    The new -d ACTION or --directories=ACTION option affects directory handling.
9155360Sobrien    `-d skip' causes `grep' to silently skip directories, as in grep 2.1;
9253574Sobrien    `-d read' (the default) causes `grep' to read directories if possible,
9353574Sobrien    as in earlier versions of grep.
9453574Sobrien
9553574Sobrien  - The MS-DOS and Microsoft Windows ports now behave identically to the
9653574Sobrien    GNU and Unix ports with respect to binary files and directories.
9753574Sobrien
9853574SobrienVersion 2.2:
9953574Sobrien
10053574SobrienBug fix release.
10153574Sobrien
10253574Sobrien  - Status error number fix.
10353574Sobrien  - Skipping directories removed.
10453574Sobrien  - Many typos fix.
10553574Sobrien  - -f /dev/null fix(not to consider as an empty pattern).
10653574Sobrien  - Checks for wctype/wchar.
10753574Sobrien  - -E was using the wrong matcher fix.
10853574Sobrien  - bug in regex char class fix
10953574Sobrien  - Fixes for DJGPP
11053574Sobrien
11153574SobrienVersion 2.1:
11253574Sobrien
11353574SobrienThis is a bug fix release(see Changelog) i.e. no new features.
11453574Sobrien
11553574Sobrien  - More compliance to GNU standard.
11653574Sobrien  - Long options.
11753574Sobrien  - Internationalisation.
11853574Sobrien  - Use automake/autoconf.
11953574Sobrien  - Directory hierarchy change.
12053574Sobrien  - Sigvec with -e on Linux corrected.
12153574Sobrien  - Sigvec with -f on Linux corrected.
12253574Sobrien  - Sigvec with the mmap() corrected.
12353574Sobrien  - Bug in kwset corrected.
12453574Sobrien  - -q, -L and -l stop on first match.
12553574Sobrien  - New and improve regex.[ch] from Ulrich Drepper.
12653574Sobrien  - New and improve dfa.[ch] from Arnold Robbins.
12753574Sobrien  - Prototypes for over zealous C compiler.
12853574Sobrien  - Not scanning a file, if it's a directory
12953574Sobrien    (cause problems on Sun).
13053574Sobrien  - Ported to MS-DOS/MS-Windows with DJGPP tools.
13153574Sobrien
13253574SobrienSee Changelog for the full story and proper credits.
13353574Sobrien
13494SnateVersion 2.0:
13594Snate
13694SnateThe most important user visible change is that egrep and fgrep have
13794Snatedisappeared as separate programs into the single grep program mandated
13894Snateby POSIX 1003.2.  New options -G, -E, and -F have been added,
13994Snateselecting grep, egrep, and fgrep behavior respectively.  For
14094Snatecompatibility with historical practice, hard links named egrep and
14194Snatefgrep are also provided.  See the manual page for details.
14294Snate
14394SnateIn addition, the regular expression facilities described in Posix
14494Snatedraft 11.2 are now supported, except for internationalization features
14594Snaterelated to locale-dependent collating sequence information.
14694Snate
14794SnateThere is a new option, -L, which is like -l except it lists
14894Snatefiles which don't contain matches.  The reason this option was
14994Snateadded is because '-l -v' doesn't do what you expect.
15094Snate
15194SnatePerformance has been improved; the amount of improvement is platform
15294Snatedependent, but (for example) grep 2.0 typically runs at least 30% faster
15394Snatethan grep 1.6 on a DECstation using the MIPS compiler.  Where possible,
15494Snategrep now uses mmap() for file input; on a Sun 4 running SunOS 4.1 this
15594Snatemay cut system time by as much as half, for a total reduction in running
15694Snatetime by nearly 50%.  On machines that don't use mmap(), the buffering
15794Snatecode has been rewritten to choose more favorable alignments and buffer
15894Snatesizes for read().
15994Snate
16094SnatePortability has been substantially cleaned up, and an automatic
16194Snateconfigure script is now provided.
16294Snate
16394SnateThe internals have changed in ways too numerous to mention.
16494SnatePeople brave enough to reuse the DFA matcher in other programs
16594Snatewill now have their bravery amply "rewarded", for the interface
16694Snateto that file has been completely changed.  Some changes were
16794Snatenecessary to track the evolution of the regex package, and since
16894SnateI was changing it anyway I decided to do a general cleanup.
169