Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Rust crate ripgrep to v14 #10

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 28, 2024

This PR contains the following updates:

Package Type Update Change
ripgrep dependencies major 13.0.0 -> 14.0.0

Release Notes

BurntSushi/ripgrep (ripgrep)

v14.1.1

Compare Source

===================
This is a minor release with a bug fix for a matching bug. In particular, a bug
was found that could cause ripgrep to ignore lines that should match. That is,
false negatives. It is difficult to characterize the specific set of regexes
in which this occurs as it requires multiple different optimization strategies
to collide and produce an incorrect result. But as one reported example, in
ripgrep, the regex (?i:e.x|ex) does not match e-x when it should. (This
bug is a result of an inner literal optimization performed in the grep-regex
crate and not in the regex crate.)

Bug fixes:

  • BUG #​2884:
    Fix bug where ripgrep could miss some matches that it should report.

Miscellaneous:

  • MISC #​2748:
    Remove ripgrep's simd-accel feature because it was frequently broken.

v14.1.0

Compare Source

===================
This is a minor release with a few small new features and bug fixes. This
release contains a bug fix for unbounded memory growth while walking a
directory tree. This release also includes improvements to the completions for
the fish shell, and release binaries for several additional ARM targets.

Bug fixes:

  • BUG #​2664:
    Fix unbounded memory growth in the ignore crate.

Feature enhancements:

  • Added or improved file type filtering for Lean and Meson.
  • FEATURE #​2684:
    Improve completions for the fish shell.
  • FEATURE #​2702:
    Add release binaries for armv7-unknown-linux-gnueabihf,
    armv7-unknown-linux-musleabihf and armv7-unknown-linux-musleabi.

v14.0.3

Compare Source

===================
This is a patch release with a bug fix for the --sortr flag.

Bug fixes:

  • BUG #​2664:
    Fix --sortr=path. I left a todo!() in the source. Oof.

v14.0.2

Compare Source

===================
This is a patch release with a few small bug fixes.

Bug fixes:

v14.0.1

Compare Source

===================
This a patch release meant to fix cargo install ripgrep on Windows.

Bug fixes:

  • BUG #​2653:
    Include pkg/windows/Manifest.xml in crate package.

v14.0.0

Compare Source

===================
ripgrep 14 is a new major version release of ripgrep that has some new
features, performance improvements and a lot of bug fixes.

The headlining feature in this release is hyperlink support. In this release,
they are an opt-in feature but may change to an opt-out feature in the future.
To enable them, try passing --hyperlink-format default. If you use VS Code,
then try passing --hyperlink-format vscode. Please report your experience
with hyperlinks
, positive or negative.

Another headlining development in this release is that it contains a rewrite
of its regex engine. You generally shouldn't notice any changes, except for
some searches may get faster. You can read more about the regex engine rewrite
on my blog
. Please report your performance improvements or
regressions that you notice
.

Finally, ripgrep switched the library it uses for argument parsing. Users
should not notice a difference in most cases (error messages have changed
somewhat), but flag overrides should generally be more consistent. For example,
things like --no-ignore --ignore-vcs work as one would expect (disables all
filtering related to ignore rules except for rules found in version control
systems such as git).

BREAKING CHANGES:

  • rg -C1 -A2 used to be equivalent to rg -A2, but now it is equivalent to
    rg -B1 -A2. That is, -A and -B no longer completely override -C.
    Instead, they only partially override -C.

Build process changes:

  • ripgrep's shell completions and man page are now created by running ripgrep
    with a new --generate flag. For example, rg --generate man will write a
    man page in roff format on stdout. The release archives have not changed.
  • The optional build dependency on asciidoc or asciidoctor has been
    dropped. Previously, it was used to produce ripgrep's man page. ripgrep now
    owns this process itself by writing roff directly.

Performance improvements:

  • PERF #​1746:
    Make some cases with inner literals faster.
  • PERF #​1760:
    Make most searches with \b look-arounds (among others) much faster.
  • PERF #​2591:
    Parallel directory traversal now uses work stealing for faster searches.
  • PERF #​2642:
    Parallel directory traversal has some contention reduced.

Feature enhancements:

  • Added or improved file type filtering for Ada, DITA, Elixir, Fuchsia, Gentoo,
    Gradle, GraphQL, Markdown, Prolog, Raku, TypeScript, USD, V
  • FEATURE #​665:
    Add a new --hyperlink-format flag that turns file paths into hyperlinks.
  • FEATURE #​1709:
    Improve documentation of ripgrep's behavior when stdout is a tty.
  • FEATURE #​1737:
    Provide binaries for Apple silicon.
  • FEATURE #​1790:
    Add new --stop-on-nonmatch flag.
  • FEATURE #​1814:
    Flags are now categorized in -h/--help output and ripgrep's man page.
  • FEATURE #​1838:
    An error is shown when searching for NUL bytes with binary detection enabled.
  • FEATURE #​2195:
    When extra-verbose mode is enabled in zsh, show extra file type info.
  • FEATURE #​2298:
    Add instructions for installing ripgrep using cargo binstall.
  • FEATURE #​2409:
    Added installation instructions for winget.
  • FEATURE #​2425:
    Shell completions (and man page) can be created via rg --generate.
  • FEATURE #​2524:
    The --debug flag now indicates whether stdin or ./ is being searched.
  • FEATURE #​2643:
    Make -d a short flag for --max-depth.
  • FEATURE #​2645:
    The --version output will now also contain PCRE2 availability information.

Bug fixes:

  • BUG #​884:
    Don't error when -v/--invert-match is used multiple times.
  • BUG #​1275:
    Fix bug with \b assertion in the regex engine.
  • BUG #​1376:
    Using --no-ignore --ignore-vcs now works as one would expect.
  • BUG #​1622:
    Add note about error messages to -z/--search-zip documentation.
  • BUG #​1648:
    Fix bug where sometimes short flags with values, e.g., -M 900, would fail.
  • BUG #​1701:
    Fix bug where some flags could not be repeated.
  • BUG #​1757:
    Fix bug when searching a sub-directory didn't have ignores applied correctly.
  • BUG #​1891:
    Fix bug when using -w with a regex that can match the empty string.
  • BUG #​1911:
    Disable mmap searching in all non-64-bit environments.
  • BUG #​1966:
    Fix bug where ripgrep can panic when printing to stderr.
  • BUG #​2046:
    Clarify that --pre can accept any kind of path in the documentation.
  • BUG #​2108:
    Improve docs for -r/--replace syntax.
  • BUG #​2198:
    Fix bug where --no-ignore-dot would not ignore .rgignore.
  • BUG #​2201:
    Improve docs for -r/--replace flag.
  • BUG #​2288:
    -A and -B now only each partially override -C.
  • BUG #​2236:
    Fix gitignore parsing bug where a trailing \/ resulted in an error.
  • BUG #​2243:
    Fix --sort flag for values other than path.
  • BUG #​2246:
    Add note in --debug logs when binary files are ignored.
  • BUG #​2337:
    Improve docs to mention that --stats is always implied by --json.
  • BUG #​2381:
    Make -p/--pretty override flags like --no-line-number.
  • BUG #​2392:
    Improve global git config parsing of the excludesFile field.
  • BUG #​2418:
    Clarify sorting semantics of --sort=path.
  • BUG #​2458:
    Make --trim run before -M/--max-columns takes effect.
  • BUG #​2479:
    Add documentation about .ignore/.rgignore files in parent directories.
  • BUG #​2480:
    Fix bug when using inline regex flags with -e/--regexp.
  • BUG #​2505:
    Improve docs for --vimgrep by mentioning footguns and some work-arounds.
  • BUG #​2519:
    Fix incorrect default value in documentation for --field-match-separator.
  • BUG #​2523:
    Make executable searching take .com into account on Windows.
  • BUG #​2574:
    Fix bug in -w/--word-regexp that would result in incorrect match offsets.
  • BUG #​2623:
    Fix a number of bugs with the -w/--word-regexp flag.
  • BUG #​2636:
    Strip release binaries for macOS.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/ripgrep-14.x branch from 83419fb to 809645b Compare May 5, 2024 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants