- The
CHANGELOG.mdis up to date - The copyrights are up to date
- Checkout the
developbranch (if using git-flow) - Bump the version to the next
-devone and reate an [Unreleased] section in theCHANGELOG.md - Rename the
masterbranch tomain - Fix the CI configuration if there is any issue
- Update the environment (including the version of the build toolchain)
- Update the project structure from the template (use
probe-rsin Rust projects) - Make the repository complient to REUSE (can be deferred to an issue if the project is big)
- For Rust libraries, do not ignore the
Cargo.lock - For Rust projects, update clippy lints
- Update semver-compatible dependencies
- For Rust projects, update to the latest edition if applicable
- Update semver-incompatible dependencies one by one
- 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.mdandCONTRIBUTING.mdare 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 :)
- If the project is in continuous maintenance mode, bump the version in
develop