- Make all changes for the release on
master
(except for the readme). - Have a
vX.Y.Z-readme
branch ready with the readme for the next version. - Prepare a branch in the docs repo with updated docs for the new version and verify the doc comments for the new version.
- Merge the
vX.Y.Z-readme
branch intomaster
. - Create an annotated tag of the version number being published prefixed with "v". The tag description should match the tag name.
- Wait for the build of that tag to complete in Appveyor.
- Download the nupkg and snupkg files from the assets tab of Appveyor.
- Upload those to NuGet with the new readme.
- Remove the build and NuGet status from the top of the readme before putting it in NuGet.
These steps only need to be done for a non-prerelease version.
- Create a release from the tag on github.
- Write up the changes in that version.
- Attach the nupkg and snupkg files to the release in github.
- Update
appveyor.yml
with the new version number so builds will be assigned proper versions. - Mark the milestone, and any included issues, done with the current date.
- Update the
PublicAPI
files to reflect the newly published APIs - Update the benchmark to reference the new version as the previous version.
- Create a new
vX.Y.Z-readme
branch for the next version.