All dates should align with VS Code's iteration and endgame plans.
- Announce the feature freeze on both Teams and e-mail, leave enough time for teams to surface any last minute issues that need to get in before freeze. Make sure debugger and Language Server teams are looped in as well.
NOTE: Third Party Notices are automatically added by our build pipelines using https://tools.opensource.microsoft.com/notice.
- Update
mainfor the release- Change the version in
package.jsonto the next even number (🤖) - Run
npm installto make surepackage-lock.jsonis up-to-date (🤖) - Check
pypi.organd update the version ofdebugpyininstall_debugpy.pyif necessary. - Update
ThirdPartyNotices-Repository.txtas appropriate. This file is manually edited so you can check with the teams if anything needs to be added here. - Merge pull request into
main
- Change the version in
- Create the
releasebranch- If there are
releasebranches that are two versions old you can delete them at this time - Create a new
release/YYYY.minorbranch frommain
- If there are
- Create a draft GitHub release for the release notes (🤖)
- Update
mainpost-release (🤖)- Bump the minor version number to the next ("YYYY.[minor+1]") release in the
mainbranch to an odd number (🤖)-
package.json -
package-lock.json
-
- Create a pull request against
main - Merge pull request into
main
- Bump the minor version number to the next ("YYYY.[minor+1]") release in the
- Announce the code freeze is over on the same channels
- Update Component Governance (Notes are in the team OneNote under Python VS Code → Dev Process → Component Governance).
- Make sure there are no active alerts
- Manually add any repository/embedded/CG-incompatible dependencies
- Open appropriate documentation issues
- Begin drafting a blog post. Contact the PM team for this.
- Make sure the appropriate pull requests for the documentation -- including the WOW page -- are ready
- Final updates to the
release-YYYY.minorbranch- Create a branch against
release-YYYY.minorfor a pull request - Update the version in
package.jsonto remove the-rc(🤖) - 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
ThirdPartyNotices-Repository.txtmanually if necessary - Create pull request against
release/YYYY.minor(🤖) - Merge pull request into
release/YYYY.minor
- Create a branch against
- Make sure CI is passing for Release branch (🤖).
- Run the CD pipeline on the
release/yyyy.minorbranch.- Press the approve button if everything looks good to publish to market place.
- Create a GitHub release (🤖)
- Update the release notes
- Take the release out of draft
- Publish documentation changes
- Publish the blog post
- Determine if a hotfix is needed
- Merge the release branch back into
main. Don't overwrite the main branch version. (🤖)
- Create a new release plan (🤖)
- (Un-)pin release plan issues (🤖)