PackageTrack
Sign in Get early access

grep

Fast line oriented regex searching as a library.

0.4.1 5.1M downloads/mo #4481 most downloaded on crates.io BurntSushi/ripgrep

What this package is like to depend on

Last release 10 months ago

22 Oct 2025

Ships fairly regularly

a new release about every 7 months

Some releases are documented

notes for 14 of 29 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

29 releases · first in 2016

2 releases in the last 12 months

see the full history below

Release timeline

29 releases · Sep 2016 to Oct 2025
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 29
  1. 0.4.1 22 Oct 2025

    Nothing published for this version

  2. 0.4.0 16 Oct 2025
    Release notes

    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.
    Open source →
  3. 0.3.2 09 Sep 2024
    Release notes

    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.)
    Open source →
  4. 0.3.1 28 Nov 2023
    Release notes

    Bug fixes:

    • BUG #242: ripgrep didn't respect --colors foo:none correctly. Now it does.
    Open source →
  5. 0.3.0 26 Nov 2023
    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 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.
    Open source →
  6. 0.2.13 26 Nov 2023

    Nothing published for this version

  7. 0.2.12 16 May 2023

    Nothing published for this version

  8. 0.2.11 05 Jan 2023

    Nothing published for this version

  9. 0.2.10 15 Jul 2022

    Nothing published for this version

  10. 0.2.9 15 Jul 2022
    Release notes

    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.
    Open source →
  11. 0.2.8 12 Jun 2021
    Release notes

    Bug fixes:

    • Fixed a bug with the SIMD/AVX features for using bytecount in commit 4ca15a.
    Open source →
  12. 0.2.7 29 May 2020
    Release notes

    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 -.
    Open source →
  13. 0.2.6 09 May 2020
    Release notes

    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.
    Open source →
  14. 0.2.5 16 Mar 2020
    Release notes

    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.
    Open source →
  15. 0.2.4 15 Apr 2019
    Release notes

    SKIPPED.

    Open source →
  16. 0.2.3 08 Sep 2018
    Release notes

    Bug fixes:

    • BUG #164: Fixes a segfault on macos builds.
    • BUG #167: Clarify documentation for --threads.
    Open source →
  17. 0.2.2 07 Sep 2018
    Release notes

    Packaging updates:

    • ripgrep is now in homebrew-core. brew install ripgrep will do the trick on a Mac.
    • ripgrep is now in the Archlinux community repository. pacman -S ripgrep will do the trick on Archlinux.
    • Support has been discontinued for i686-darwin.
    • Glob matching has been moved out into its own crate: globset.

    Feature enhancements:

    • Added or improved file type filtering for CMake, config, Jinja, Markdown, Spark.
    • FEATURE #109: Add a --max-depth flag for directory traversal.
    • FEATURE #124: Add -s/--case-sensitive flag. Overrides --smart-case.
    • FEATURE #139: The ripgrep repo is now a Homebrew tap. This is useful for installing SIMD accelerated binaries, which aren't available in homebrew-core.

    Bug fixes:

    • BUG #87, BUG #127, BUG #131: Various issues related to glob matching.
    • BUG #116: --quiet should stop search after first match.
    • BUG #121: --color always should show colors, even when --vimgrep is used.
    • BUG #122: Colorize file path at beginning of line.
    • BUG #134: Processing a large ignore file (thousands of globs) was very slow.
    • BUG #137: Always follow symlinks when given as an explicit argument.
    • BUG #147: Clarify documentation for --replace.
    Open source →
  18. 0.2.1 05 Sep 2018
    Release notes

    Feature enhancements:

    • Added or improved file type filtering for Clojure and SystemVerilog.
    • FEATURE #89: Add a --null flag that outputs a NUL byte after every file path.

    Bug fixes:

    • BUG #98: Fix a bug in single threaded mode when if opening a file failed, ripgrep quit instead of continuing the search.
    • BUG #99: Fix another bug in single threaded mode where empty lines were being printed by mistake.
    • BUG #105: Fix an off-by-one error with --column.
    • BUG #106: Fix a bug where a whitespace only line in a gitignore file caused ripgrep to panic (i.e., crash).
    Open source →
  19. 0.2.0 20 Aug 2018
    Release notes

    Feature enhancements:

    • Added or improved file type filtering for VB, R, F#, Swift, Nim, JavaScript, TypeScript
    • FEATURE #20: Adds a --no-filename flag.
    • FEATURE #26: Adds --files-with-matches flag. Like --count, but only prints file paths and doesn't need to count every match.
    • FEATURE #40: Switch from using .rgignore to .ignore. Note that .rgignore is still supported, but deprecated.
    • FEATURE #68: Add --no-ignore-vcs flag that ignores .gitignore but not .ignore.
    • FEATURE #70: Add -S/--smart-case flag (but is disabled by default).
    • FEATURE #80: Add support for {foo,bar} globs.

    Many many bug fixes. Thanks every for reporting these and helping make ripgrep better! (Note that I haven't captured every tracking issue here, some were closed as duplicates.)

    • BUG #8: Don't use an intermediate buffer when --threads=1. (Permits constant memory usage.)
    • BUG #15: Improves the documentation for --type-add.
    • BUG #16, BUG #49, BUG #50, BUG #65: Some gitignore globs were being treated as anchored when they weren't.
    • BUG #18: --vimgrep reported incorrect column number.
    • BUG #19: ripgrep was hanging waiting on stdin in some Windows terminals. Note that this introduced a new bug: #94.
    • BUG #21: Removes leading ./ when printing file paths.
    • BUG #22: Running rg --help | echo caused rg to panic.
    • BUG #24: Clarify the central purpose of rg in its usage message.
    • BUG #25: Anchored gitignore globs weren't applied in subdirectories correctly.
    • BUG #30: Globs like foo/** should match contents of foo, but not foo itself.
    • BUG #35, BUG #81: When automatically detecting stdin, only read if it's a file or a fifo. i.e., ignore stdin in rg foo < /dev/null.
    • BUG #36: Don't automatically pick memory maps on MacOS. Ever.
    • BUG #38: Trailing whitespace in gitignore wasn't being ignored.
    • BUG #43: --glob didn't work with directories.
    • BUG #46: Use one fewer worker thread than what is provided on CLI.
    • BUG #47: --help/--version now work even if other options are set.
    • BUG #55: ripgrep was refusing to search /proc/cpuinfo. Fixed by disabling memory maps for files with zero size.
    • BUG #64: The first path given with --files set was ignored.
    • BUG #67: Sometimes whitelist globs like !/dir weren't interpreted as anchored.
    • BUG #77: When -q/--quiet flag was passed, ripgrep kept searching even after a match was found.
    • BUG #90: Permit whitelisting hidden files.
    • BUG #93: ripgrep was extracting an erroneous inner literal from a repeated pattern.
    Open source →
  20. 0.1.9 03 Aug 2018

    Nothing published for this version

  21. 0.1.8 11 Feb 2018

    Nothing published for this version

  22. 0.1.7 22 Oct 2017

    Nothing published for this version

  23. 0.1.6 13 Mar 2017

    Nothing published for this version

  24. 0.1.5 14 Jan 2017

    Nothing published for this version

  25. 0.1.4 06 Nov 2016

    Nothing published for this version

  26. 0.1.3 26 Sep 2016

    Nothing published for this version

  27. 0.1.2 21 Sep 2016

    Nothing published for this version

  28. 0.1.1 17 Sep 2016

    Nothing published for this version

  29. 0.1.0 14 Sep 2016

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive