NEWS revision 53574
153574SobrienVersion 2.3:
253574Sobrien
353574Sobrien  - When searching a binary file FOO, grep now just reports
453574Sobrien    `Binary file FOO matches' instead of outputting binary data.
553574Sobrien    This is typically more useful than the old behavior,
653574Sobrien    and it is also more consistent with other utilities like `diff'.
753574Sobrien    A file is considered to be binary if it contains a NUL (i.e. zero) byte.
853574Sobrien
953574Sobrien    The new -a or --text option causes `grep' to assume that all
1053574Sobrien    input is text.  (This option has the same meaning as with `diff'.)
1153574Sobrien    Use it if you want binary data in your output.
1253574Sobrien
1353574Sobrien  - `grep' now searches directories just like ordinary files; it no longer
1453574Sobrien    silently skips directories.  This is the traditional behavior of
1553574Sobrien    Unix text utilities (in particular, of traditional `grep').
1653574Sobrien    Hence `grep PATTERN DIRECTORY' should report
1753574Sobrien    `grep: DIRECTORY: Is a directory' on hosts where the operating system
1853574Sobrien    does not permit programs to read directories directly, and
1953574Sobrien    `grep: DIRECTORY: Binary file matches' (or nothing) otherwise.
2053574Sobrien
2153574Sobrien    The new -d ACTION or --directories=ACTION option affects directory handling.
2253574Sobrien    `-d skip' causes `grep' to silently skip directories, as in grep 2.2;
2353574Sobrien    `-d read' (the default) causes `grep' to read directories if possible,
2453574Sobrien    as in earlier versions of grep.
2553574Sobrien
2653574Sobrien  - The MS-DOS and Microsoft Windows ports now behave identically to the
2753574Sobrien    GNU and Unix ports with respect to binary files and directories.
2853574Sobrien
2953574SobrienVersion 2.2:
3053574Sobrien
3153574SobrienBug fix release.
3253574Sobrien
3353574Sobrien  - Status error number fix.
3453574Sobrien  - Skipping directories removed.
3553574Sobrien  - Many typos fix.
3653574Sobrien  - -f /dev/null fix(not to consider as an empty pattern).
3753574Sobrien  - Checks for wctype/wchar.
3853574Sobrien  - -E was using the wrong matcher fix.
3953574Sobrien  - bug in regex char class fix
4053574Sobrien  - Fixes for DJGPP
4153574Sobrien
4253574SobrienVersion 2.1:
4353574Sobrien
4453574SobrienThis is a bug fix release(see Changelog) i.e. no new features.
4553574Sobrien
4653574Sobrien  - More compliance to GNU standard.
4753574Sobrien  - Long options.
4853574Sobrien  - Internationalisation.
4953574Sobrien  - Use automake/autoconf.
5053574Sobrien  - Directory hierarchy change.
5153574Sobrien  - Sigvec with -e on Linux corrected.
5253574Sobrien  - Sigvec with -f on Linux corrected.
5353574Sobrien  - Sigvec with the mmap() corrected.
5453574Sobrien  - Bug in kwset corrected.
5553574Sobrien  - -q, -L and -l stop on first match.
5653574Sobrien  - New and improve regex.[ch] from Ulrich Drepper.
5753574Sobrien  - New and improve dfa.[ch] from Arnold Robbins.
5853574Sobrien  - Prototypes for over zealous C compiler.
5953574Sobrien  - Not scanning a file, if it's a directory
6053574Sobrien    (cause problems on Sun).
6153574Sobrien  - Ported to MS-DOS/MS-Windows with DJGPP tools.
6253574Sobrien
6353574SobrienSee Changelog for the full story and proper credits.
6453574Sobrien
6594SnateVersion 2.0:
6694Snate
6794SnateThe most important user visible change is that egrep and fgrep have
6894Snatedisappeared as separate programs into the single grep program mandated
6994Snateby POSIX 1003.2.  New options -G, -E, and -F have been added,
7094Snateselecting grep, egrep, and fgrep behavior respectively.  For
7194Snatecompatibility with historical practice, hard links named egrep and
7294Snatefgrep are also provided.  See the manual page for details.
7394Snate
7494SnateIn addition, the regular expression facilities described in Posix
7594Snatedraft 11.2 are now supported, except for internationalization features
7694Snaterelated to locale-dependent collating sequence information.
7794Snate
7894SnateThere is a new option, -L, which is like -l except it lists
7994Snatefiles which don't contain matches.  The reason this option was
8094Snateadded is because '-l -v' doesn't do what you expect.
8194Snate
8294SnatePerformance has been improved; the amount of improvement is platform
8394Snatedependent, but (for example) grep 2.0 typically runs at least 30% faster
8494Snatethan grep 1.6 on a DECstation using the MIPS compiler.  Where possible,
8594Snategrep now uses mmap() for file input; on a Sun 4 running SunOS 4.1 this
8694Snatemay cut system time by as much as half, for a total reduction in running
8794Snatetime by nearly 50%.  On machines that don't use mmap(), the buffering
8894Snatecode has been rewritten to choose more favorable alignments and buffer
8994Snatesizes for read().
9094Snate
9194SnatePortability has been substantially cleaned up, and an automatic
9294Snateconfigure script is now provided.
9394Snate
9494SnateThe internals have changed in ways too numerous to mention.
9594SnatePeople brave enough to reuse the DFA matcher in other programs
9694Snatewill now have their bravery amply "rewarded", for the interface
9794Snateto that file has been completely changed.  Some changes were
9894Snatenecessary to track the evolution of the regex package, and since
9994SnateI was changing it anyway I decided to do a general cleanup.
100