Skip to content

Releases: Genivia/ugrep

ugrep v4.5.0

05 Jan 16:39
Compare
Choose a tag to compare

What's new?

  • 7zip archive search with option -z #185
  • apply Unicode normalization to canonicalize literal combining characters in regex patterns #298
  • improved TUI TAB directory navigation when searching from the FS root
  • updated ugrep.exe option -P to use PCRE2 latest stable version 10.42

Future plans (work in progress)

  • implement a new DFA-based regex search optimization for patterns described in #288
  • speed improvements for Linux with io_uring (could be 2x faster)
  • update ugrep benchmarks when some or all speed improvements are included (no update yet, because v4.5.0 is as fast as the current benchmarks show)

ugrep v4.4.1

19 Dec 15:28
Compare
Choose a tag to compare

Fix installation of bash, fish and zsh autocompletions #335 (for package maintainers/distributors)

ugrep v4.4.0

18 Dec 21:58
Compare
Choose a tag to compare

What's new?

  • installs bash autocompletions for ugrep commands and options #327
  • installs fish and zsh autocompletions for ugrep commands and options #198
  • option -t (--file-type) now also accepts filename extensions as shortcuts, when unambiguous, for example, the shorter form -tpy for -tpython to select files to search #333
  • TUI ALT-SHIFT-% switches between "bool query lines" mode, "bool query files" mode, and bool queries off
  • TUI boolF mode (-%FQ) now applies syntax highlighting
  • support legacy grep long options without = to bind option arguments, like GNU grep also supports these legacy forms of long option arguments; in this context, note that the general recommendation is that long options which require an argument should be followed by an equals sign.

Work in progress

  • performance improvements #288 (with updated benchmarks)
  • other requested features and updates

ugrep v4.3.6

07 Dec 22:13
Compare
Choose a tag to compare

What's new?

  • fix an issue with option -Zbest fuzzy matching

ugrep v4.3.5

06 Dec 17:30
Compare
Choose a tag to compare

What's new?

  • updated option --index for accelerated index-based search, now also indexes and searches archives and compressed files with option -z
  • new ugrep.exe with option --index for accelerated index-based search on Windows
  • updated ugrep-indexer project to support archive/compressed file indexing with a new ugrep-indexer.exe version for Windows
  • updated MacOS macports moar-pager #328
  • faster search with -ABC context options #329

Future plans

  • a major 5.0 release with performance enhancement #288 by updating the regex engine to advance fast to a partial match and then "look backward" for a full match
  • also faster file reading with io_uring on Linux systems seems worthwhile to add to ugrep
  • make the ugrep-indexer command part of the ugrep tools when the ugrep-indexer project graduates to stable (ugrep-indexer is currently 0.9.3 beta)
  • Unicode searching with Unicode pattern normalizing #298
  • other additions and improvements

Thank you!

A big thank you to all project contributors and ugrep users and enthusiasts!

ugrep v4.3.4

24 Nov 19:57
Compare
Choose a tag to compare

What's new?

  • the ug command no longer quits with an error message when no default .ugrep config file was found
  • bzip3 is supported but not required to build ugrep, see also #316; to use bzip3 with ugrep, execute ./build.sh --with-bzip3.
  • fix the output of + separators by no longer using them #317 for GNU grep compatibility
  • fix option -v with -ABC context #319
  • fix configuration file option arguments that may got lost and causes option argument errors in some cases after parsing a config file, such as colors=
  • allow config file importing in config files using config=FILE (but does not permit recursive imports) see also #320
  • add Dockerfile-minimized #322
  • minor usability improvements

Thank you for your support and for using ugrep!

ugrep v4.3.3

15 Nov 17:43
Compare
Choose a tag to compare

What's new?

  • added brotli compressed files search support #312, see notes below
  • added bzip3 compressed files search support #311, see notes below
  • updated option --pretty to accept an optional WHEN argument never, always, auto similar to the --color option
  • improved TUI screen blanking response when a new search starts, while also avoiding screen flicker
  • fix #313 option --zmax>1 when a decompression library produces a decompression error when decompressing a nested compressed file

Important notes on dependencies

Dependencies will from now on be organized in the following three tiers to manage current and potential future dependencies. Distribution packages should include the recommended dependencies and some or all of the optional dependencies (i.e. when available.) Ugrep will actually still build without any of these dependencies installed on a system, but ugrep options -P and -z will not be usable.

  1. Recommended dependencies (should be included):
  • PCRE2 to enable option -P
  • zlib to enable option -z
  • bzip2 (also sometimes used by the zip format)
  • lzma/xz (also sometimes used by the zip format)
  1. Optional dependencies (may be included):
  • lz4
  • zstd
  • brotli (new optional dependency, but not included in ugrep.exe)
  1. Optional dependencies supported by the source code only and optionally in the binary when ugrep is configured and built from source with ./build.sh, but typically should not be included as a dependency in a distribution package:

Additional note: in the upcoming update 4.3.4 I will change the build script such that third-tier optional libraries will require a ./build.sh --with-LIBRARY command to build ugrep with that library. This means that third-tier libraries (bzip3) will no longer be checked and linked by default. See also #316.

ugrep.com web site

Please consider updating your links to point to ugrep.com instead of the ugrep GitHub project web site, when applicable. The web site is hosted with GitHub pages. If you have any concerns or questions about the link and web site, then please ask!

ugrep v4.3.2

03 Nov 14:31
Compare
Choose a tag to compare
  • new official ugrep.com web site with the ugrep user guide and installation instructions, this site will always be safe and guaranteed to be ad free and cookie free; ugrep.org forwards to ugrep.com
  • double short option -%% enables both --files --bool (a single -% still enables only --bool) for convenience
  • updated thread pool scheduling and execution with thread affinity and priority settings, implements #305
  • improvements and fixes for minor (mostly cosmetic) issues
  • updated ugrep v4.3.2 benchmarks.

Please consider updating your links to point to ugrep.com instead of the ugrep GitHub project web site, when applicable. The web site is hosted with GitHub pages. If you have any concerns or questions about the link and web site, then please ask!

ugrep v4.3.1

18 Oct 16:39
Compare
Choose a tag to compare

Updated to Unicode 15.1 and new TUI features #300

  • TUI Tab directory navigation now also works when file and directory arguments are present on the command line
  • TUI ctrl-Y now also supports viewing standard input when piped to ugrep
  • TUI ctrl-Y now also supports viewing files stored in zip/tar/pax/cpio archives, including nested compressed files and archives
  • TUI regex syntax highlighting with user-definable colors; the highlighting is sensitive to the current regex syntax, i.e. ERE (default), BRE (-G), --bool, and -F (--fixed-strings).

The ctrl-Y file viewing supports any pager, where the following pagers and editors can also jump to the current line number: less, more, moar (v1.17 and greater), most, w3m, emacs, joe, vi, vim, vis, nano, pico, vile, zile. If I've neglected to include your favorite pager/editor that supports option +123 e.g. to jump to line 123 then let me know and I will include it later.

Our new ugrep.com web site with a helpful user manual is now available!

ugrep v4.3.0

07 Oct 16:19
Compare
Choose a tag to compare

Redesigned TUI with a new split screen window pane to preview matching files.

  • new TUI split screen, activated with CTRL-T, and new option --split to start the TUI with a split screen (add split to your .ugrep configuration file to enable) #254
  • improved TUI screen updating
  • refactored the search engine internals to keep the search engine alive until ugrep terminates to optimize the TUI matching file preview pane display speed
  • improved option -o (--only-matching) layout when context options -ABC are used
  • fixed --zmax=n for n>1 that had a low chance to hang as discovered recently (about once in a few thousand runs) when searching (deeply) nested zip or tar archives
  • fixed compressed file search of files that are exactly one byte long, instead of rejecting those files as being empty
  • updated performance benchmark results: ugrep is faster than other grep tools on x64 and arm64 machines in nearly every test of 564 benchmark test cases