{{ message }}
Repository navigation
Releases: Genivia/ugrep
Releases · Genivia/ugrep
Release list
ugrep v7.8.5
What's new?
- update option
--encoding=CP437to retain LF (10) and CR (13) codes in the output #569 - fix a rare edge case for the
--encodingoption when internally converting a specified code page or a utf-encoding to UTF-8 #568 - update option
-z(--decompress) for reasonable xz/lzma decoding limits #566 - update matching mode flags
-E,-F,-G, and-Pto respect order on the command line to permit overriding (like BSD grep) #562 (see follow-up comments) - output an error message when regex matching mode flags are used in a config file, instead of silently ignoring them #562 (see follow-up comments)
ugrep v7.8.4
What's new?
- MinGW portability, tested MinGW-w64 UCRT64 with MSYS2 GCC 16.1; note:
make testskips the directory recursive searches due to lack of MinGW symlink handling, see also #553 (apparently, a leading/in a pattern is always expanded to a path when the command line is passed to ugrep'smain(), not sure if this can be corrected) - fail fast when DFA position sets exceed complexity limits #556
Thank you for your contributions ❤️
ugrep v7.8.3
What's new?
- update regular expression compilation to DFA memory threshold issue #549 (explosive DFA growth is theoretically possible, but should never exceed a worst-case 1GB~2GB memory footprint in ugrep)
- fix man page formatting issue that caused a missing sentence ending #550
- update LZMA SDK to 26.02 #551
Thank you for your suggestions and comments!! ❤️
ugrep v7.8.2
What's new?
- upgrade to autoconf 2.73 and automake 1.18.1
- update TUI logic to remove terminal() call before print() of selected results, move print() back for more maintainable code (avoid "why is this here, again?")
ugrep v7.8.1
What's new?
Fixed two issues:
- fix #545
--disable-avx512tested and working - fix #544 (same as #537) a bug in the ugrep v7.6 ~ v7.8 (since March 5, 2026) that can't handle very long lines in huge files properly, outputting uninitialized input file buffer contents as if part of the matching line or contents read after the input file buffer as if part of the matching line.
Thank you for your feedback and help with our project ❤️
ugrep v7.8
What's new?
This update includes usability improvements and important updates to protect the user when ug is used to search untrusted file systems:
- improve TUI custom-command option
--viewto wait for key press after viewing, by specifying+in--view=+COMMAND, such as--view=+fileto display file type info in the TUI with CTRL-Y (overrides viewing the file contents) #543 - update TUI to block ANSI OSC escape codes, such as
ESC ] P n rr gg bbthat may hang the terminal according to Wikipedia - update the
ug+andugrep+scripts to end options in filter commands with--, in case a filename starts with a-(dash) - improve config parsing to ignore some options that do not make sense to set in a (local) config file
- local config files located in the working directory are only read when owned by the user running the
ugorugrep --configprocess (already implemented in update 7.7)
Thank you all for your help with the ugrep project ❤️ Stay safe 🙏
ugrep v7.7.0
What's new?
- support TUI search on slow and incomplete standard input pipes e.g. from
tail -f#540 - update options
-m(--max-count) and-K(--max-line) to stop reading input upon reaching the stopping criterium, then exit without draining the standard input pipe like GNU grep #538 - improve binary file detection for huge mixed files #537
- add new option
./build.sh --disable-avx512#534 - local config files located in the working directory are only read when owned by the user running the ugrep process
- fix lzma 7zip api memory leak
ugrep v7.6
What's new?
- new options --max-size and min-size to search files whose physical size is in the specified MIN and/or MAX range
- fix zsh completion syntax error (#528)
- update option --ignore-file to ignore files and directories specified in an .gitignore file as an absolute
/globto ignore those matching the glob under its sub-directories (#526) - fix emulation of GNU grep option -z (--null-data) to match newlines (zero bytes internally) with pattern \s (space), which requires non-standard regex behavior internally to include matching zero bytes with pattern \s (#525)
- update --ignore-file=FILE to accept a FILE pathname to a non-local gitignore FILE that applies globally to ignore files and directories, similar to --exclude-from=FILE, but with the minor difference that gitignore rules match both files and directories with a single glob (#518 #519 #532)
- fix third-party sourced zopen.c library (BSD open source) one-byte read beyond its allocated
struct s_zstatestate variable ingetcode()(#511) - fix -m (--max-count) with context options -A or -C sometimes producing garbled after-context output that may cause a crash in the worst case (#510)
- fix reverse sort by date --sort=rchanged and --sort=rcreated not recognized by the TUI at startup (#508)
- update ugrep to search named pipe files specified as arguments on the command line instead of skipping them by default, such as process substitutions; also improve Linux special system files /proc and /sys skipping and/or reading and option -z file read error handling to avoid possible pipe fd leaks when thousands of /proc files are searched that produce (expected) read errors (#503)
- support option --no-empty while using full grep-emulation mode, i.e. when ugrep is renamed to grep
Thank you for your feedback to help improve ugrep ❤️
ugrep v7.5
ugrep: a user-friendly, faster, more capable grep replacement -- search for anything in everything... fast!
What's new?
- smaller and faster executable with extended dual predict-match PM3+PM5 algorithms, see updated benchmarks compiled with Clang for speed and #485
- symlink support for ugrep.exe and ug.exe for Windows #493
- colorization improvement for ugrep.exe and ug.exe for old Windows 7 with ConEmu #491 #495
Thank you for your feedback to help improve ugrep ❤️
ugrep v7.4.3
What's new?
- fix bug in option
-xand regex ^$-anchors used in certain short patterns #489 - mark likely/unlikely branches in hot paths for performance
About the upcoming release
- ugrep v7.5 will be released soon, which is faster than before, see also #485 and the updated ugrep v7.5 benchmarks
