Release Notes: Performance was improved, though the performance of "grep -P" in UTF-8 locales was negatively impacted by some bug fixes. Many pattern handling errors and inconsistencies were fixed. "grep -P" now works with "-w" and "-x" and backreferences. Output of separators is now consistent. Other minor bugs were fixed.
Release Notes: Usage with multibyte locales was significantly accelerated. Mishandling of patterns like [^^-~] in unibyte locales was fixed. The deprecated "--mmap" option was removed. The behavior of the shortcurts "\s" and "\S" in multibyte locales was fixed. Handling of arbitrary PCRE errors was improved. Various further minor bug fixes were made.
Release Notes: "grep -P" can now use a just-in-time compiler to greatly speed up matches, assuming proper support from PCRE. Several multi-byte issues where resolved. Handling of very long lines on systems with a deficient read system call was improved.
Release Notes: Several false results of "grep -i '^$'" in multi-byte locales were resolved. A misdetection of text files as binary was resolved.
Release Notes: Sparse files are now treated as binary by default. Multi-byte locales with mismatching sizes of lower- and uppercase characters are now handled properly. A fix has been made to again allow the combined use of the "--include" and "--exclude" options.
Release Notes: Recursive grep now handles large directory hierarchies much better. The "-R" option now has a long-option alias. The "-r" ("--recursive") option now follows only commandline symbolic links. Several minor bugs have been fixed.
Release Notes: Handling of very long lines as well as very long context line counts for the "-m", "-A", "-B", and "-C" options has been improved, removing some restrictions and avoiding core dumps. Recursive grep ("-r") without a file argument now defaults to using the current directory. The "--include", "--exclude", and "--exclude-dir" options now handle commandline arguments more consistently. More chances for infinite loops have been eliminated. Other minor changes and bugfixes have been made.
Release Notes: grep no longer mishandles high-bit-set pattern bytes on systems where "char" is a signed type (probably only affecting MS Windows). Command lines which potentially result in an infinite disk-filling loop are now rejected.
Release Notes: grep's interpretation of range expression is now more consistent with that of other tools. The exit status on memory allocation failure was fixed. "grep -P" no longer aborts when PCRE's backtracking limit is exceeded. Handling of regular expressions that match multibyte characters in brackets was made faster. Other minor bugs were fixed.
Release Notes: Commonly mistyped regular expressions are now detected and lead to an error unless POSIXLY_CORRECT is set. Regular expressions including back references are now significantly faster in multi-byte locales. Regular expressions including "." can now be significantly faster in UTF-8 locales (though not in other multi-byte locales). Several other minor bugs were fixed.