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