@BurntSushi BurntSushi released this Aug 3, 2018 · 7 commits to master since this release

Assets 11

This is a new minor version release of ripgrep that contains some minor new
features and a panoply of bug fixes.

Releases provided on Github for x86_64 will now work on all target CPUs, and
will also automatically take advantage of features found on modern CPUs (such
as AVX2) for additional optimizations.

This release increases the minimum supported Rust version from 1.20.0 to
1.23.0.

It is anticipated that the next release of ripgrep (0.10.0) will provide
multi-line search support and a JSON output format.

BREAKING CHANGES:

  • When --count and --only-matching are provided simultaneously, the
    behavior of ripgrep is as if the --count-matches flag was given. That is,
    the total number of matches is reported, where there may be multiple matches
    per line. Previously, the behavior of ripgrep was to report the total number
    of matching lines. (Note that this behavior diverges from the behavior of
    GNU grep.)
  • Octal syntax is no longer supported. ripgrep previously accepted expressions
    like \1 as syntax for matching U+0001, but ripgrep will now report an
    error instead.
  • The --line-number-width flag has been removed. Its functionality was not
    carefully considered with all ripgrep output formats.
    See #795 for more
    details.

Feature enhancements:

  • Added or improved file type filtering for Android, Bazel, Fuschia, Haskell,
    Java and Puppet.
  • FEATURE #411:
    Add a --stats flag, which emits aggregate statistics after search results.
  • FEATURE #646:
    Add a --no-ignore-messages flag, which suppresses parse errors from reading
    .ignore and .gitignore files.
  • FEATURE #702:
    Support \u{..} Unicode escape sequences.
  • FEATURE #812:
    Add -b/--byte-offset flag that shows the byte offset of each matching line.
  • FEATURE #814:
    Add --count-matches flag, which is like --count, but for each match.
  • FEATURE #880:
    Add a --no-column flag, which disables column numbers in the output.
  • FEATURE #898:
    Add support for lz4 when using the -z/--search-zip flag.
  • FEATURE #924:
    termcolor has moved to its own repository:
    https://github.com/BurntSushi/termcolor
  • FEATURE #934:
    Add a new flag, --no-ignore-global, that permits disabling global
    gitignores.
  • FEATURE #967:
    Rename --maxdepth to --max-depth for consistency. Keep --maxdepth for
    backwards compatibility.
  • FEATURE #978:
    Add a --pre option to filter inputs with an arbitrary program.
  • FEATURE fca9709d:
    Improve zsh completion.

Bug fixes:

  • BUG #135:
    Release portable binaries that conditionally use SSSE3, AVX2, etc., at
    runtime.
  • BUG #268:
    Print descriptive error message when trying to use look-around or
    backreferences.
  • BUG #395:
    Show comprehensible error messages for regexes like \s*{.
  • BUG #526:
    Support backslash escapes in globs.
  • BUG #795:
    Fix problems with --line-number-width by removing it.
  • BUG #832:
    Clarify usage instructions for -f/--file flag.
  • BUG #835:
    Fix small performance regression while crawling very large directory trees.
  • BUG #851:
    Fix -S/--smart-case detection once and for all.
  • BUG #852:
    Be robust with respect to ENOMEM errors returned by mmap.
  • BUG #853:
    Upgrade grep crate to regex-syntax 0.6.0.
  • BUG #893:
    Improve support for git submodules.
  • BUG #900:
    When no patterns are given, ripgrep should never match anything.
  • BUG #907:
    ripgrep will now stop traversing after the first file when --quiet --files
    is used.
  • BUG #918:
    Don't skip tar archives when -z/--search-zip is used.
  • BUG #934:
    Don't respect gitignore files when searching outside git repositories.
  • BUG #948:
    Use exit code 2 to indicate error, and use exit code 1 to indicate no
    matches.
  • BUG #951:
    Add stdin example to ripgrep usage documentation.
  • BUG #955:
    Use buffered writing when not printing to a tty, which fixes a performance
    regression.
  • BUG #957:
    Improve the error message shown for --path separator / in some Windows
    shells.
  • BUG #964:
    Add a --no-fixed-strings flag to disable -F/--fixed-strings.
  • BUG #988:
    Fix a bug in the ignore crate that prevented the use of explicit ignore
    files after disabling all other ignore rules.
  • BUG #995:
    Respect $XDG_CONFIG_DIR/git/config for detecting core.excludesFile.

@BurntSushi BurntSushi released this Feb 21, 2018

Assets 11

This is a patch release of ripgrep that primarily fixes regressions introduced
in 0.8.0 (#820 and #824) in directory traversal on Windows. These regressions
do not impact non-Windows users.

Feature enhancements:

  • Added or improved file type filtering for csv and VHDL.
  • FEATURE #798:
    Add underline support to termcolor and ripgrep. See documentation on the
    --colors flag for details.

Bug fixes:

  • BUG #684:
    Improve documentation for the --ignore-file flag.
  • BUG #789:
    Don't show (rev ) if the revision wasn't available during the build.
  • BUG #791:
    Add man page to ARM release.
  • BUG #797:
    Improve documentation for "intense" setting in termcolor.
  • BUG #800:
    Fix a bug in the ignore crate for custom ignore files. This had no impact
    on ripgrep.
  • BUG #807:
    Fix a bug where rg --hidden . behaved differently from rg --hidden ./.
  • BUG #815:
    Clarify a common failure mode in user guide.
  • BUG #820:
    Fixes a bug on Windows where symlinks were followed even if not requested.
  • BUG #824:
    Fix a performance regression in directory traversal on Windows.