# Release instructions This documents outlines the frostfs-api release process and can be used as a TODO list for a new release. ## Pre-release actions Increment the milestone version or patch version in case of bug fixes. To add information about compatibility with previous versions of the api for the new code. This must be run: * `make doc` ## Pre-release checks This should run successfully: * `make pre-commit-run` ## Writing CHANGELOG Add an entry to the CHANGELOG.md following the style established there. Add a codename for releases with the new major version, version and release date in the heading. Write a paragraph describing the most significant changes done in this release. Then add sections with what has been added, changed and removed, describing each change briefly with a reference to GitHub issues, where available. ## Release commit Release commit summary should follow the template: `Release v - (, )`, e.g.: ``` Release v3.0 - Anmyeondo (안면도, 安眠島) ``` ## Tag the release Use `vX.Y` tag (milestone version with patch). For pre-release versions use `vX.Y-rc.N` scheme. ## Push changes and release tag to Github This step should bypass the default PR mechanism to get a correct result (so that releasing requires admin privileges for the project), both the `master` branch update and tag must be pushed simultaneously like this: ``` $ git push origin master v2.7 ``` ## Make a proper Github release Edit an automatically-created release on Github. Release title has to follow ` ( )` scheme for major releases and just `` for regular point releases. ## Post-release actions * Close corresponding X.Y Github milestone * Make announcements in Matrix and Discord channels