- Run
cargo update
and review dependency updates. Commit updatedCargo.lock
. - Run
cargo outdated
and review semver incompatible updates. Unless there is a strong motivation otherwise, review and update every dependency. - Review changes for every crate in
crates
since the last ripgrep release. If the set of changes is non-empty, issue a new release for that crate. Check crates in the following order. After updating a crate, ensure minimal versions are updated as appropriate in dependents. If an update is required, runcargo-up --no-push crates/{CRATE}/Cargo.toml
.- crates/globset
- crates/ignore
- crates/cli
- crates/matcher
- crates/regex
- crates/pcre2
- crates/searcher
- crates/printer
- crates/grep (bump minimal versions as necessary)
- crates/core (do not bump version, but update dependencies as needed)
- Update the CHANGELOG as appropriate.
- Edit the
Cargo.toml
to set the new ripgrep version. Runcargo update -p ripgrep
so that theCargo.lock
is updated. Commit the changes and create a new signed tag. Alternatively, usecargo-up --no-push --no-release Cargo.toml {VERSION}
to automate this. - Wait for CI to finish creating the release. If the release build fails, then delete the tag from GitHub, make fixes, re-tag, delete the release and push.
- Copy the relevant section of the CHANGELOG to the tagged release notes.
Include this blurb describing what ripgrep is:
In case you haven't heard of it before, ripgrep is a line-oriented search tool that recursively searches your current directory for a regex pattern. By default, ripgrep will respect your gitignore rules and automatically skip hidden files/directories and binary files.
- Run
ci/build-deb
locally and manually upload the deb package to the release. - Run
cargo publish
. - Run
ci/sha256-releases {VERSION} >> pkg/brew/ripgrep-bin.rb
. Then editpkg/brew/ripgrep-bin.rb
to update the version number and sha256 hashes. Remove extraneous stuff added byci/sha256-releases
. Commit changes. - Add TBD section to the top of the CHANGELOG:
TBD === Unreleased changes. Release notes have not yet been written.