- Check that the Git configuration is up to date (in Magit)
- Checkout the
develop
branch (if using git-flow) - Bump the version to the next
-dev
one and reate an [Unreleased] section in theCHANGELOG.md
- Rename the
master
branch tomain
- Update the
CONTRIBUTING.md
andREADME.md
if necessary - Update the CI configuration
- Update the environment
- Update the
.envrc
,flake.nix
(rust-overlay
), project definition and all dotfiles (useprobe-rs
in Rust projects) - For Rust libraries, do not ignore the
Cargo.lock
- Update the dependencies an fix the errors
- Fix the warnings and update the project to the last conventions
- If the project contains a configuration updater, remove support for previous development versions (both the updater and the configuration itself)
- Work :)
- Update the dependencies
- Start a git-flow release
- If the project contains a versioned configuration, promote the latest development version to a release one
- Bump the version in all relevant files (including the
CHANGELOG.md
) - Update the
CHANGELOG.md
- Ensure the
README.md
andCONTRIBUTING.md
are still up to date - Ensure the project has a license and all files contains the header (if appropriate)
- Ensure the copyrights are up to date
- Ensure any realease / package configuration (cargo, Nix, Docker, …) is up to date (including proper list of files to include / exclude)
- If the release branch has existed for a few days, update the
CHANGELOG.md
(do not forget to update the release date and link) - Release :)