ripgrep 0.3.0
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/--regexpflag can no longer accept a pattern starting with a-. There are two work-arounds:rg -- -fooandrg [-]fooorrg -e [-]foowill all search for the same-foopattern. 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/--fileflag that causes ripgrep to read patterns from a file. - FEATURE #51:
Add a
--colorsflag that enables one to customize the colors used in ripgrep's output. - FEATURE #138:
Add a
--files-without-matchflag 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=alwayswill 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-messageswas used.