Skip to content

Releases: Genivia/ugrep

ugrep v7.0.2

27 Oct 20:26
Compare
Choose a tag to compare

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

25 Oct 01:26
Compare
Choose a tag to compare

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 if PAGER is not set

ugrep v6.5

23 Aug 19:36
Compare
Choose a tag to compare

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

09 Aug 14:57
Compare
Choose a tag to compare

ugrep v6.4

07 Aug 20:32
Compare
Choose a tag to compare

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 numeric width > 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
  • fix bash completions for key bindings #415

ugrep v6.3

31 Jul 20:08
Compare
Choose a tag to compare

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

09 Jul 17:58
Compare
Choose a tag to compare

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; also ug --colors='7;33' PATTERN FILE does the same and so does ug --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 specified PATTERN (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

03 Jun 17:44
Compare
Choose a tag to compare

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

06 May 20:56
Compare
Choose a tag to compare

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

10 Apr 13:37
Compare
Choose a tag to compare

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 .*