Releases: Genivia/ugrep
ugrep v4.4.1
Fix installation of bash, fish and zsh autocompletions #335 (for package maintainers/distributors)
ugrep v4.4.0
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
What's new?
- fix an issue with option
-Zbest
fuzzy matching
ugrep v4.3.5
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
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
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 optionalWHEN
argumentnever
,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.
- 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)
- Optional dependencies (may be included):
- 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
- 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
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
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 (addsplit
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
ugrep v4.2.0
Ugrep 4.2 includes several usability improvements:
- improved TUI to display search progress and final stats in a status line at the bottom
- improved TUI ctrl-Y to jump to the corresponding line number in the pager #296
- improved recursive search performance #297
- improved compatibility with GNU grep #273
- improved detection of special devices to avoid searching them