Releases: Genivia/ugrep
ugrep v7.2.2
What's new?
- as per request, a minor update to improve search speed when the specified regex pattern is not found in the input when the specified regex starts with a wildcard such as
.*
, which previously resulted in unnecessary regex match processing overhead
ugrep v7.2.1
What's new?
- includes fix #463 for v7.2 regression bug in non-SIMD ugrep builds
Notes on unit and regression testing methodology and benchmarking:
- to verify non-SIMD builds I ran 60,000 randomized test patterns each against 100MB text to search and compare to expected matches, this test fully covers the code of the scalar-optimized (non-SIMD) search algorithms (this test was not done for v7.2, which is my fault for thinking the latest change would not impact non-SIMD results, but it did)
- to verify SIMD-optimized builds (SSE2/AVX2/AVX512BW and Neon/AArch64) I ran again 40,000 randomized test patterns each against 100MB text to search and compare to expected matches, this test fully covers the code of the SIMD-optimized search algorithms
- in addition, the RE/flex high-performance regex project also includes many regex pattern test cases
- this release does not affect the search speeds of ugrep v7 i.e. the posted benchmarks for v7 are unchanged
ugrep v7.2
What's new?
- new options
--no-files-with-matches
and--no-count
#452 - update options
-i
and-j
when used together:-i
unconditional case-insensitive matching should override-j
smart-case conditional case-insensitive matching #453 - new
adoc
type added to option-t
or--file-type
#456 - new full support for GNU/BSD grep option
-z
(--null-data
), such that-z
is reassigned from--decompress
to--null-data
when ugrep is specifically copied or symlinked with the target namegrep
,egrep
,fgrep
,zgrep
,zegrep
, orzfgrep
executable file binaries to run as replacements of GNU/BSD grep #457 - fix older MacOS build from source compile-time error
QOS_CLASS_USER_INITIATED
not declared #458 - fix a bug in ugrep v7 when matching certain case-insensitive patterns at the very end of a file at EOF when an EOL before EOF is missing (this is not a problem in versions prior to v7) #461
ugrep v7.1.3
What's new?
- fix a problem with option
-i
(--ignore-case
) that in rare and specific circumstances may not match all of the specified alternate sub-patterns #451.
ugrep v7.1.2
What's new?
- feature request: support the latest bzip3 library upgrades #446 *)
- feature request: permit su search of "unreadable" files #447
- feature request: do not exit with code 2 when some files can't be decompressed #448
*) please note that./build.sh --with-bzip3
or ./configure --with-bzip3 && make
enables bzip3 in ugrep, when libbzip3 is present and found, otherwise ugrep and the indexer skip bz3 files; for help with configuration, run ./build.sh --help
Thank you for your feedback to help improve ugrep for everyone!
ugrep v7.1.1
What's new?
- fix negative character classes when option
-i
or--ignore-case
is used and make ugrep closely emulate GNU grep's character class behavior when options-i
and-P
are used #445 - appease
-Woverload-virtual
and-Wshadow
warnings when building the RE/flex library, the TUI, and indexer (some warnings remain in ugrep.cpp) #444
ugrep v7.1
ugrep v7.0.4
ugrep v7.0.3
ugrep v7.0.2
Fix #434 ugrep v7 regression bug: an issue with the regex ^
anchor due to a misaligned begin-of-line position in the buffer after the buffer shifts on large input files. As a result, the -v
option did not always work properly on large input files when searching with regex ^
anchors. Reverted to the old logic. Included a minor change to handle hex context lines #428. All extensively tested.