ripgrep Versions Save

ripgrep recursively searches directories for a regex pattern while respecting your gitignore

0.5.2

7 years ago

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:

  • BUG #442: Fix line wrapping in --help output.
  • BUG #451: Fix bug with duplicate output when using -o/--only-matching flag.

0.5.1

7 years ago

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

7 years ago

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

7 years ago

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 the upper 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 in globset 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 superfluous memmap dependency in grep 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

7 years ago

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 caused rg foo and rg foo/ to have different behavior when foo 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

7 years ago

Bug fixes:

  • BUG #242: ripgrep didn't respect --colors foo:none correctly. Now it does.

0.3.0

7 years ago

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 and rg [-]foo or rg -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 with rg --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

7 years ago

0.2.8

7 years ago

0.2.6

7 years ago