Releases: Genivia/ugrep
Releases · Genivia/ugrep
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.
ugrep v7.0
What's new?
- rewritten SIMD acceleration logic and the search algorithm selection decision logic to speed up pattern matching (the actual speedup depends on the type of regex patterns specified) #432
- improved regex anchors and word boundary matching speed and support #426 and #427
- fix option
--xml
pathnames with special characters, which are unlikely to occur in pathnames, but aren't strictly forbidden #430 - updated option
--hexdump
with-ABC
context hex lines before and after a match #428 - the TUI now also uses the
VISUAL
environment variable ifPAGER
is not set
ugrep v6.5
What's new?
- faster binary file checking with SIMD (SSE2/AVX2/NEON) UTF-8 validation #421 and benchmarks
- new option
--context-separator=SEP
- options
-W
and-X
now also apply to--format
fields%o
and%O
to output hex - ugrep-indexer option
-z
(indexes compressed files and zip/7z/tar/cpio/pax archives) no longer indexes hidden directories and files (i.e. "dotfiles") stored in archives, to save space - fix ugrep-indexer option
-z
, which was broken due to a code refactoring mistake in a single line of code
ugrep v6.4.1
Fix #417
ugrep v6.4
What's new?
- new custom output format fields for options
--format
and--replace
#414:%A byte range in hex of match %l last line number of match %L number of lines of a match %R newline, if --break %[hhhh]U U+hhhh Unicode code point %y matching pattern as hex %Y matching line as hex %[ms]=...%= color of ms ... color off %[n]j nth capture as JSON %[n]q nth capture quoted %[n]x nth capture as XML %[n]y nth capture as hex %[n]v nth capture as CSV %[name]j named capture as JSON %[name]q named capture quoted %[name]x named capture as XML %[name]y named capture as hex %[name]v named capture as CSV %[n|...]j capture n,... as JSON %[n|...]q capture n,... quoted %[n|...]x capture n,... as XML %[n|...]y capture n,... as hex %[n|...]v capture n,... as CSV
- numeric fields such as
%n
are padded with spaces when%{width}n
is specified with a numericwidth
> 0 - matching line fields such as
%O
are cut to width when%{width}O
is specified or when%{-width}O
is specified to cut from the end of the line - character context on a matching line before or after a match is output when
%{-width}o
or%{+width}o
is specified for match fields such as%o
, where%{width}o
without a +/- sign cuts the match to the specified width
- numeric fields such as
- fix bash completions for key bindings #415
ugrep v6.3
What's new?
- option
--index
always enables--recursive
#410 - new bash, fish and zsh ugrep-indexer completions #411
- option
--hyperlink
outputs absolute search paths #412 - update regex DFA cut optimization that was too agressive for some patterns
- option
-o
(--only-matching
) with-ABC
context now also supports multi-line pattern matching with\n
(newline) in regex patterns
Note: again extensively tested with random (fuzzed) patterns to verify the match algorithms and optimizations.
ugrep v6.2
What's new?
- improved support for legacy grep color environment variable single ANSI color codes format #407, for example:
env GREP_COLOR='7;33' ug PATTERN FILE
highlights matches in inverted yellow; alsoug --colors='7;33' PATTERN FILE
does the same and so doesug --colors=iy PATTERN FILE
using ugrep's color letter selections - improved Docker files #408
- improved zsh
-ABC
options completion #409 - improved option
-%
(--bool
) when multiple-e PATTERN
are specified; now aligns with the documentation of option-e
to match any of the specifiedPATTERN
(note that-%
can be combined with options--and
,--andnot
,--not
.-e
amd-N
) - improved option
-Q
(--query
) when combined with options--and
,--andnot
,--not
by activatating option-%
(--bool
) so that the combined search patterns can be edited as one Boolean query pattern in the TUI - minor speed improvement when searching in large files with option
-f
with a file with hundreds, thousands or more words/strings to find (-fwords/4.txt
in benchmarks) - again extensively tested with randomized patterns
ugrep v6.1
What's new?
- improves option
-w
to support Unicode as planned #234 - makes
[[:alpha:]]
and other[::]
character classes also match Unicode by default, like\p{Class}
already does, unless option-U
(--ascii
or--binary
) is used #234 - Unicode word boundaries
\<
,\>
,\b
,\B
unless option-U
(--ascii
or--binary
) is used #234 - adds static Linux builds for x64 and AArch64 #373 #398 but still needs a script via wget for easy non-admin install on a system (work in progress, but I don't want to include these static binaries in the future, see #373 and feel free to comment)
- improves bash and zsh auto-completion usability #395 #394 #392
Note: no significant speed updates to report at this time
ugrep v6.0
What's new?
- quicker! 🚀 much faster search speeds on ARM CPUs and also faster overall on other CPUs using essentially the same SIMD algorithms but better optimized #385 see latest ugrep benchmarks for results
- more good stuff! 🎉 includes ugrep-indexer, which is installed together with ugrep, see ugrep-indexer release notes v1.0.0
Please note
- Distribution maintainers please check if ugrep-indexer and its manual page is indeed also included in your ugrep distribution package and will be installed on user systems. Thank you! 🙏❤️
ugrep v5.1.4
What's new?
- fix glitch #383 option
-A
may omit an after context line for regex patterns that start with a wildcard "zero or more" repetition such as.*