Arti 2.4.0 release
# Automatically scraped release checklist
For details of items, and further information, refer to `doc/dev/Release.md`.
# How to release Arti
## Checklist
* [x] Create the checklist ticket
## Are we ready to release?
* [x] Make sure CI is passing.
* [x] Do we have any open [issues] or [merge requests] tagged "Blocker"?
* [x] Ensure `maint/fixup-features` is happy
* [x] Does `maint/semver-checks "arti-v$LAST_VERSION" | tee ../semver.log` find any issues
[issues]: https://gitlab.torproject.org/tpo/core/arti/-/issues/?label_name%5B%5D=Blocker
[merge requests]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/?label_name[]=Blocker
## Preparing for the release
* [x] Write a changelog.
* [x] Finish the changelog.
* [x] Determine what semver/version update to do to each crate.
[issues]: https://gitlab.torproject.org/tpo/core/arti/-/issues/?label_name%5B%5D=Blocker
[merge requests]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/?label_name[]=Blocker
## Final preparation for a release.
* [x] Tell `network-team` (via email and IRC) that the tree is now frozen,
* [x] Finalize the changelog.
* [x] Increase all appropriate version numbers.
* [x] (Re)run `maint/semver-checks` (having addressed any expected problems)
* [x] Run `maint/update-release-date`
[issues]: https://gitlab.torproject.org/tpo/core/arti/-/issues/?label_name%5B%5D=Blocker
[merge requests]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/?label_name[]=Blocker
## The actual release itself.
* [x] Recheck for *Blocker* [issues] and [merge requests].
* [x] Make sure that CI passes, again, on `main`.
* [x] Run `maint/cargo-publish`.
* [x] Make the signed git tag `arti-v${THIS_VERSION}`
[issues]: https://gitlab.torproject.org/tpo/core/arti/-/issues/?label_name%5B%5D=Blocker
[merge requests]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/?label_name[]=Blocker
## Post-release
[issues]: https://gitlab.torproject.org/tpo/core/arti/-/issues/?label_name%5B%5D=Blocker
[merge requests]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/?label_name[]=Blocker
### ASAP
* [x] Remove all of the semver.md files:
* [x] Tell `network-team` (via email and IRC) that the tree is open
* [x] Run `cargo update`, to obtain non-breaking changes in our dependencies
[issues]: https://gitlab.torproject.org/tpo/core/arti/-/issues/?label_name%5B%5D=Blocker
[merge requests]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/?label_name[]=Blocker
### Soon
* [x] If new crates published, add appropriate owners.
* [x] Write and publish a blog post.
[issues]: https://gitlab.torproject.org/tpo/core/arti/-/issues/?label_name%5B%5D=Blocker
[merge requests]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/?label_name[]=Blocker
### In due course
* [x] Consider dependency updates for breaking changes in our dependencies.
* [x] Consider updating CI Docker images.
* [x] Look at the current list of exceptions in our automated tooling.
* [x] Make MR(s) of any changes to `Release.md` and/or release tooling.
[issues]: https://gitlab.torproject.org/tpo/core/arti/-/issues/?label_name%5B%5D=Blocker
[merge requests]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/?label_name[]=Blocker
# End of the release checklist
issue