- Python 3.7 and higher
- run
python3 -m pip install --user -r news/requirements.txt
- Announce the code freeze (not just to team but also to ptvsd and language server)
- Update master for the release
- Create a branch against
masterfor a pull request - Change the version in
package.jsonfrom a-devsuffix to-rc(🤖) - Run
npm installto make surepackage-lock.jsonis up-to-date (🤖) - Update
requirements.txtto point to latest release version of ptvsd. - Update
languageServerVersioninpackage.jsonto point to the latest version of the Language Server. - Update
CHANGELOG.md(🤖)- Run
news(typicallypython news --final --update CHANGELOG.md | code-insiders -) - Copy over the "Thanks" section from the previous release
- Make sure the "Thanks" section is up-to-date (e.g. compare to versions in requirements.json)
- Touch up news entries (e.g. add missing periods)
- Check the Markdown rendering to make sure everything looks good
- Add any relevant news entries for ptvsd and the language server if they were updated
- Run
- Update
ThirdPartyNotices-Distribution.txtby using https://tools.opensource.microsoft.com/notice (see team notes) - Update
ThirdPartyNotices-Repository.txtas appropriate - Create a pull request against
master(🤖) - Merge pull request into
master
- Create a branch against
- Update the
releasebranch- Delete the
releasebranch in the repo - Create a new
releasebranch frommaster - (alternately, force-push the master branch to the GitHub "release" branch)
- (if necessary) Request that the branch be set anew as "protected"
- Delete the
- Update master post-release (🤖)
- Bump the version number to the next monthly ("YYYY.M.0-dev") release in the
masterbranch-
package.json -
package-lock.json
-
- Create a pull request against
master - Merge pull request into
master
- Bump the version number to the next monthly ("YYYY.M.0-dev") release in the
- Announce the code freeze is over
- Update Component Governance (Click on "microsoft/vscode-python" on that page)
- Provide details for any automatically detected npm dependencies
- Manually add any repository dependencies
- GDPR bookkeeping (@brettcannon) (🤖; see team notes)
- Open appropriate documentation issues
- new features
- settings changes
- etc. (ask the team)
- Begin drafting a blog post
- Ask CTI to test the release candidate
- Make sure the appropriate pull requests for the documentation -- including the WOW page -- are ready
- final updates to the
releasebranch- Create a branch against
releasefor a pull request - Update the version in
package.json(🤖) - Run
npm installto make surepackage-lock.jsonis up-to-date (the only update should be the version number ifpackage-lock.jsonhas been kept up-to-date) (🤖) - Update
CHANGELOG.md(🤖)- Update version and date for the release section
- Run
newsand copy-and-paste new entries (typicallypython news --final | code-insiders -; quite possibly nothing new to add)
- Update
ThirdPartyNotices-Distribution.txtby using https://tools.opensource.microsoft.com/notice (🤖; see team notes) - Update
ThirdPartyNotices-Repository.txtmanually if necessary - Create pull request against
release(🤖) - Merge pull request into
release
- Create a branch against
- Make sure component governance is happy
- Publish the release via Azure DevOps
- Make sure CI is passing
- Make sure the "Upload" stage on the release page succeeded
- Make sure no extraneous files are being included in the
.vsixfile (make sure to check for hidden files) - Deploy the "Publish" stage
- Publish documentation changes
- Publish the blog post
- Determine if a hotfix is needed
- Merge
releaseback intomaster(🤖)
- Go through
info neededissues and close any that have no activity for over a month (🤖) - GDPR bookkeeping (🤖)
- Create a new release plan (🤖)
- (Un-)pin release plan issues (🤖)