All Versions
51
Latest Version
Avg Release Cycle
85 days
Latest Release
1047 days ago

Changelog History
Page 4

  • v0.4.4

    June 26, 2019
  • v0.4.0 Changes

    ๐Ÿš€ 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 #266, BUG #293: Fix handling of bold styling and change the default colors.
    • 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.
  • v0.3.2 Changes

    ๐Ÿ”‹ 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.)
  • v0.3.1 Changes

    ๐Ÿ› Bug fixes:

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

    ๐Ÿš€ 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.
  • v0.2.9 Changes

    ๐Ÿ› Bug fixes:

    • BUG #226: File paths explicitly given on the command line weren't searched in parallel. (This was a regression in 0.2.7.)
    • BUG #228: If a directory was given to --ignore-file, ripgrep's memory usage would grow without bound.
  • v0.2.8 Changes

    ๐Ÿ› Bug fixes:

    • ๐Ÿ›  Fixed a bug with the SIMD/AVX features for using bytecount in commit 4ca15a.
  • v0.2.7 Changes

    May 29, 2020

    ๐ŸŽ Performance improvements:

    • PERF #223: Added a parallel recursive directory iterator. This results in major performance improvements on large repositories.
    • PERF #11: ripgrep now uses the bytecount library for counting new lines. In some cases, ripgrep runs twice as fast. Use RUSTFLAGS="-C target-cpu=native" cargo build --release --features 'simd-accel avx-accel' to get the fastest possible binary.

    ๐Ÿ”‹ Feature enhancements:

    • โž• Added or improved file type filtering for Agda, Tex, Taskpaper, Markdown, asciidoc, textile, rdoc, org, creole, wiki, pod, C#, PDF, C, C++.
    • FEATURE #149: Add a new --no-messages flag that suppresses error messages. Note that rg foo 2> /dev/null also works.
    • FEATURE #159: Add a new -m/--max-count flag that limits the total number of matches printed for each file searched.

    ๐Ÿ› Bug fixes:

    • BUG #199: Fixed a bug where -S/--smart-case wasn't being applied correctly to literal optimizations.
    • BUG #203: Mention the full name, ripgrep, in more places. It now appears in the output of --help and --version. The repository URL is now also in the output of --help and the man page.
    • BUG #215: Include small note about how to search for a pattern that starts with a -.
  • v0.2.6 Changes

    May 09, 2020

    ๐Ÿ”‹ Feature enhancements:

    • โž• Added or improved file type filtering for Fish.

    ๐Ÿ› Bug fixes:

    • BUG #206: Fixed a regression with -g/--glob flag in 0.2.5.
  • v0.2.5 Changes

    March 16, 2020

    ๐Ÿ”‹ Feature enhancements:

    • โž• Added or improved file type filtering for Groovy, Handlebars, Tcl, zsh and Python.
    • FEATURE #9: Support global gitignore config and .git/info/exclude files.
    • FEATURE #45: Add --ignore-file flag for specifying additional ignore files.
    • FEATURE #202: Introduce a new ignore crate that encapsulates all of ripgrep's gitignore matching logic.

    ๐Ÿ› Bug fixes:

    • BUG #44: ripgrep runs slowly when given lots of positional arguments that are directories.
    • BUG #119: ripgrep didn't reset terminal colors if it was interrupted by ^C. Fixed in PR #187.
    • BUG #184: Fixed a bug related to interpreting gitignore files in parent directories.