changelog: updates for the 14.0.0 release

This commit is contained in:
Andrew Gallant 2023-11-26 14:03:59 -05:00
parent bf9f74ea5b
commit e9ff90c8ff
No known key found for this signature in database
GPG Key ID: B2E3A4923F8B0D44
2 changed files with 28 additions and 4 deletions

View File

@ -1,8 +1,32 @@
14.0.0 (2023-11-26) 14.0.0 (2023-11-26)
=================== ===================
ripgrep 14 is a new major version release of ripgrep that has some ripgrep 14 is a new major version release of ripgrep that has some new
features, performance improvements and a lot of bug fixes.
**BREAKING CHANGES** The headling 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][report-hyperlinks], positive or negative.
[VS Code]: https://code.visualstudio.com/
[report-hyperlinks]: https://github.com/BurntSushi/ripgrep/discussions/2611
Another headling 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][regex-internals].
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`).
[regex-internals]: https://blog.burntsushi.net/regex-internals/
**BREAKING CHANGES**:
* `rg -C1 -A2` used to be equivalent to `rg -A2`, but now it is equivalent to * `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`. `rg -B1 -A2`. That is, `-A` and `-B` no longer completely override `-C`.

View File

@ -27,7 +27,7 @@
`cargo update -p ripgrep` so that the `Cargo.lock` is updated. Commit the `cargo update -p ripgrep` so that the `Cargo.lock` is updated. Commit the
changes and create a new signed tag. Alternatively, use changes and create a new signed tag. Alternatively, use
`cargo-up --no-push --no-release Cargo.toml {VERSION}` to automate this. `cargo-up --no-push --no-release Cargo.toml {VERSION}` to automate this.
* Push changes to GitHub, NOT including the tag. (But do not publish new * Push changes to GitHub, NOT including the tag. (But do not publish a new
version of ripgrep to crates.io yet.) version of ripgrep to crates.io yet.)
* Once CI for `master` finishes successfully, push the version tag. (Trying to * Once CI for `master` finishes successfully, push the version tag. (Trying to
do this in one step seems to result in GitHub Actions not seeing the tag do this in one step seems to result in GitHub Actions not seeing the tag
@ -40,7 +40,7 @@
> tool that recursively searches the current directory for a regex pattern. > tool that recursively searches the current directory for a regex pattern.
> By default, ripgrep will respect gitignore rules and automatically skip > By default, ripgrep will respect gitignore rules and automatically skip
> hidden files/directories and binary files. > hidden files/directories and binary files.
* Run `git checkout $version && ci/build-and-publish-m2 $version` on a macOS * Run `git checkout {VERSION} && ci/build-and-publish-m2 {VERSION}` on a macOS
system with Apple silicon. system with Apple silicon.
* Run `cargo publish`. * Run `cargo publish`.
* Run `ci/sha256-releases {VERSION} >> pkg/brew/ripgrep-bin.rb`. Then edit * Run `ci/sha256-releases {VERSION} >> pkg/brew/ripgrep-bin.rb`. Then edit