ripgrep v0.3.0 Release Notes
-
๐ This is a new minor version release of ripgrep that includes two breaking ๐ changes with lots of bug fixes and some new features and performance ๐ improvements. Notably, if you had a problem with colors or piping on Windows ๐ before, then that should now be fixed in this release.
๐ฅ BREAKING CHANGES:
- ๐ ripgrep now requires Rust 1.11 to compile. Previously, it could build on Rust 1.9. The cause of this was the move from Docopt to Clap for argument parsing.
- The
-e/--regexp
flag can no longer accept a pattern starting with a-
. There are two work-arounds:rg -- -foo
andrg [-]foo
orrg -e [-]foo
will all search for the same-foo
pattern. The cause of this was the move from Docopt to Clap for argument parsing. This may get fixed in the future..
๐ Performance improvements:
- PERF #33: ripgrep now performs similar to GNU grep on small corpora.
- PERF #136: ripgrep no longer slows down because of argument parsing when given a large argument list.
๐ Feature enhancements:
- โ Added or improved file type filtering for Elixir.
- FEATURE #7:
Add a
-f/--file
flag that causes ripgrep to read patterns from a file. - FEATURE #51:
Add a
--colors
flag that enables one to customize the colors used in ripgrep's output. - FEATURE #138:
Add a
--files-without-match
flag that shows only file paths that contain zero matches. - FEATURE #230: Add completion files to the release (Bash, Fish and PowerShell).
๐ Bug fixes:
- BUG #37:
Use correct ANSI escape sequences when
TERM=screen.linux
. - BUG #94: ripgrep now detects stdin on Windows automatically.
- BUG #117: Colors should now work correctly and automatically inside mintty.
- BUG #182:
Colors should now work within Emacs. In particular,
--color=always
will emit colors regardless of the current environment. - BUG #189:
Show less content when running
rg -h
. The full help content can be accessed withrg --help
. - BUG #210: Support non-UTF-8 file names on Unix platforms.
- BUG #231: Switch from block buffering to line buffering.
- BUG #241:
Some error messages weren't suppressed when
--no-messages
was used.