Releases: Genivia/ugrep
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
--splitto start the TUI with a split screen (addsplitto 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-ABCare used - fixed
--zmax=nfor 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
ugrep v4.1.0
Ugrep 4.1 includes usability fixes and adds several improvements:
- fix
-Zfuzzy matching when character deletions are solely specified with a minus sign, as in-Z-NUMe.g. with-Z-1the pattern 'abcd' should still match 'acd' with a missing character 'b' in the input (-Zworked fine, but-Z-1did not match) - fix
--pagerwhen a regex syntax error occurs #285 - update
--pagerto use$PAGER#286 - update
--ignore-filesfor compliance with git and ag gitignore rules #118 - update
-QTUI ctrl-S and ctrl-W to jump to context group separators when context options-ABCare specified - update
-ofor GNU grep compatibility with "empty-matching" patterns - update POSIX
[[:space:]]and\sto exclude newline\nmatching. No regex pattern matches newlines, except for\n,\Rand\X,\P{C}(anything not in Unicode class C),\D(anything not a digit),\H(anything not blank), and\W(anything not a word character), for the latter patterns you can/should use the more conventional character classes[^\p{C}],[^\d][^\h]and[^\w], respectively, to not match newlines - improve performance: faster
-cand line matching #284 - improve performance: faster "empty-matching" pattern search #287
Ugrep was extensively tested prior to release. Updated benchmark results: https://github.com/Genivia/ugrep-benchmarks
ugrep v4.0.5
One last minor update before the break. I want to make sure ugrep is and remains a high-quality search tool.
- Fixed a recently-added optimization that may in some rare cases cause a problem with a match at the end of a file.
Additional features and the promised additional speed-ups (and more) will be ready for a new release after a 3~4 week break.
ugrep v4.0.4
- new
--delay=DELAYoption to specify a default query TUI response delay time, which can be specified in a .ugrep config file withdelay=DELAY(--save-configincludes this setting also) - fix option
-mcompatibility issue wth GNU grep when showing context lines with-ABCafter the last max match - updated
--save-configas per user request - correct an issue with
-oand context
Additional features and the promised additional speed-ups (and more) will be ready after a 3~4 week break.
ugrep v4.0.2
- additional speed up with improved parameterization of the matching algorithm decision logic π
- updated performance benchmarks showing that ugrep is almost always faster than other grep tools (more benchmarks will be added over time)
Work in progress: speed up options -ABC and significantly speed up option -c and line matching (*). This work is delayed by 3~4 weeks.
(*) when matching lines, the idea is to skip to the next line when permitted instead of continuing matching (i.e. no multi-line matching pattern, no colors, no replace, no tag displayed). This is an optimization that is effectively performed by GNU grep. The principle is copied by other grep tools.
ugrep v4.0.1
- this update resolves a legacy C++ compilation error with
ptrdiff_t - speeds up option
-lwhen searching compressed files with-z - enables an important search optimization that was no longer enabled
- publish new ugrep performance benchmarks π
ugrep v4.0
Ugrep 4.0 offers faster searching with improved internals:
- faster async output, speeds up ugrep 3x when outputting many matching lines π
- removed "rest line" buffering, speeds up ugrep up to 2x, depending on the output-related options used π
- removed redundant "binary file" checking, speeds up ugrep 10%~20% π
- double size input buffer, speeds up searching 5%~20% when searching very large files (GB) with none/infrequent pattern matches π
- faster empty pattern matching, i.e. pattern
''matches all lines faster, as much as 10x faster π - removed redundant color escape codes from the output π₯
- option
-Qwith an optional argument is now-Q=DELAYinstead of-QDELAY, so-Q2is-Q -2(simple options should be composable/separable) which searches 2 directory levels deep with the query TUI π₯ - fully tested
--index(still beta version) to search indexed file systems, see also WIP project ugrep-indexer π
Thumbs up to all ugrep users and contributors to make this possible π
A comprehensive performance benchmarking comparison will be published. I hope this convinces you all how fast ugrep is compared to other grep tools. At least until/unless other grep start using (rip-off, ahem...) my work β€οΈ
ugrep v3.12.7
This update of ugrep includes a compatibility improvement with one of GNU grep's idiosyncrasies: unpaired ) in regex are matched literally. This behavior is automatically in effect when the grep and egrep aliases of ugrep are used or explicitly with option -Y.