Releases: BurntSushi/ripgrep
0.6.0 (2017-08-23)
This is a new minor version release of ripgrep that includes many bug fixes
and a few new features such as --iglob
and -x/--line-regexp
.
Note that this release increases the minimum supported Rust version from 1.12
to 1.17.
Feature enhancements:
- Added or improved file type filtering for BitBake, C++, Cabal, cshtml, Julia,
Make, msbuild, QMake, Yocto - FEATURE #163:
Add an--iglob
flag that is like-g/--glob
, but matches globs
case insensitively. - FEATURE #520:
Add-x/--line-regexp
flag, which requires a match to span an entire line. - FEATURE #551,
FEATURE #554:
ignore
: add newmatched_path_or_any_parents
method.
Bug fixes:
- BUG #342:
Fix invisible text in some PowerShell environments by changing the
default color scheme on Windows. - BUG #413:
Release binaries on Unix are nowstrip
'd by default. This decreases
binary size by an order of magnitude. - BUG #483:
When--quiet
is passed,--files
should be quiet. - BUG #488:
When--vimgrep
is passed,--with-filename
should be enabled
automatically. - BUG #493:
Fix another bug in the implementation of the-o/--only-matching
flag. - BUG #499:
Permit certain flags to override others. - BUG #523:
wincolor
: Re-fetch Windows console on all calls. - BUG #523:
--version
now shows enabled compile-time features. - BUG #532,
BUG #536,
BUG #538,
BUG #540,
BUG #560,
BUG #565:
Improve zsh completion. - BUG #578:
Enable SIMD forencoding_rs
when appropriate. - BUG #580:
Fix-w/--word-regexp
in the presence of capturing groups. - BUG #581:
Document that ripgrep may terminate unexpectedly when searching via
memory maps (which can happen using default settings).
Friends of ripgrep:
I'd like to give a big Thank You to @okdana for their recent hard work on
ripgrep. This includes new features like --line-regexp
, heroic effort on
zsh auto-completion and thinking through some thorny argv issues with me.
I'd also like to thank @ericbn for their work on improving ripgrep's argv
parsing by allowing some flags to override others.
0.5.2 (2017-05-11)
Feature enhancements:
- Added or improved file type filtering for Nix.
- FEATURE #362:
Add--regex-size-limit
and--dfa-size-limit
flags. - FEATURE #444:
Improve error messages for invalid globs.
Bug fixes:
0.5.1 (2017-04-09)
Feature enhancements:
- Added or improved file type filtering for vim.
- FEATURE #34:
Add a-o/--only-matching
flag. - FEATURE #377:
Column numbers can now be customized with a color. (The default is
no color.) - FEATURE #419:
Added-0
short flag option for--null
.
Bug fixes:
0.5.0
This is a new minor version release of ripgrep that includes one minor breaking
change, bug fixes and several new features including support for text encodings
other than UTF-8.
A notable accomplishment with respect to Rust is that ripgrep proper now only
contains a single unsafe
use (for accessing the contents of a memory map).
The breaking change is:
- FEATURE #380:
Line numbers are now hidden by default when ripgrep is printing to a tty
and the only thing searched is stdin.
Feature enhancements:
- Added or improved file type filtering for Ceylon, CSS, Elixir, HTML, log,
SASS, SVG, Twig - FEATURE #1:
Add support for additional text encodings, including automatic detection for
UTF-16 via BOM sniffing. Explicit text encoding support with the
-E/--encoding
flag was also added for latin-1, GBK, EUC-JP
and Shift_JIS, among others. The full list can be found here:
https://encoding.spec.whatwg.org/#concept-encoding-get - FEATURE #129:
Add a new-M/--max-columns
flag that omits lines longer than the given
number of bytes. (Disabled by default!) - FEATURE #369:
A new flag,--max-filesize
, was added for limiting searches to files with
a maximum file size.
Bug fixes:
- BUG #52,
BUG #311:
Tweak how binary files are detected and handled. (We are slightly less
conservative and will no longer use memory without bound.) - BUG #326:
When --files flag is given, we should never attempt to parse positional
arguments as regexes. - BUG #327:
Permit the --heading flag to override the --no-heading flag. - BUG #340:
Clarify that the-u/--unrestricted
flags are aliases. - BUG #343:
Global git ignore config should use$HOME/.config/git/ignore
and not
$HOME/git/ignore
. - BUG #345:
Clarify docs for-g/--glob
flag. - BUG #381:
Add license files to each sub-crate. - BUG #383:
Use latest version of clap (for argv parsing). - BUG #392:
Fix translation of set globs (e.g.,{foo,bar,quux}
) to regexes. - BUG #401:
Add PowerShell completion file to Windows release. - BUG #405:
Fix bug when excluding absolute paths with the-g/--glob
flag.
0.4.0
This is a new minor version release of ripgrep that includes a couple very
minor breaking changes, a few new features and lots of bug fixes.
This version of ripgrep upgrades its regex
dependency from 0.1
to 0.2
,
which includes a few minor syntax changes:
- POSIX character classes now require double bracketing. Previously, the regex
[:upper:]
would parse as theupper
POSIX character class. Now it parses
as the character class containing the characters:upper:
. The fix to this
change is to use[[:upper:]]
instead. Note that variants like
[[:upper:][:blank:]]
continue to work. - The character
[
must always be escaped inside a character class. - The characters
&
,-
and~
must be escaped if any one of them are
repeated consecutively. For example,[&]
,[\&]
,[\&\&]
,[&-&]
are all
equivalent while[&&]
is illegal. (The motivation for this and the prior
change is to provide a backwards compatible path for adding character class
set notation.)
Feature enhancements:
- Added or improved file type filtering for Crystal, Kotlin, Perl, PowerShell,
Ruby, Swig - FEATURE #83:
Type definitions can now include other type definitions. - FEATURE #243:
BREAKING CHANGE: The--column
flag now implies--line-number
. - FEATURE #263:
Add a new--sort-files
flag. - FEATURE #275:
Add a new--path-separator
flag. Useful in cygwin.
Bug fixes:
- BUG #182:
Redux: use more portable ANSI color escape sequences when possible. - BUG #258:
Fix bug that caused ripgrep's parallel iterator to spin and burn CPU. - BUG #262:
Document how to install shell completion files. - BUG #268:
Make lack of backreference support more explicit. - BUG #271:
Remove~
dependency on clap. - BUG #277:
Fix cosmetic issue inglobset
crate docs. - BUG #279:
ripgrep did not terminate when-q/--quiet
was given. - BUG #281:
BREAKING CHANGE: Completely remove^C
handling from ripgrep. - BUG #284:
Make docs for-g/--glob
clearer. - BUG #286:
When stdout is redirected to a file, don't search that file. - BUG #287:
Fix ZSH completions. - BUG #295:
Remove superfluousmemmap
dependency ingrep
crate. - BUG #308:
Improve docs for-r/--replace
. - BUG #313:
Update bytecount dep to latest version. - BUG #318:
Fix invalid UTF-8 output bug in Windows consoles.
0.3.2
Feature enhancements:
- Added or improved file type filtering for Less, Sass, stylus, Zsh
Bug fixes:
- BUG #229:
Make smart case slightly less conservative. - BUG #247:
Clarify use of --heading/--no-heading. - BUG #251,
BUG #264,
BUG #267:
Fix matching bug caused by literal optimizations. - BUG #256:
Fix bug that causedrg foo
andrg foo/
to have different behavior
whenfoo
was a symlink. - BUG #270:
Fix bug where patterns starting with a-
couldn't be used with the
-e/--regexp
flag. (This resolves a regression that was introduced in
ripgrep 0.3.0.)
0.3.1
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/--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 whenTERM=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 runningrg -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.
0.2.9
0.2.9
0.2.8
0.2.8