Python Environments uses even minor versions for stable releases and odd minor
versions for pre-release development. For example, 1.38.0 is a stable release
and 1.39.0 starts the next pre-release cycle.
Complete these steps before release day:
- Change the version in
package.jsonto the next even minor version, for example1.38.0. - Run
npm ito updatepackage-lock.json. - Create and merge a pull request against
main. - Create the release branch from the updated
mainbranch. Name itrelease/1.<even minor>.0, for examplerelease/1.38.0, and push it to the upstream repository. - Change the version in
package.jsonto the next odd minor version, for example1.39.0. - Run
npm ito updatepackage-lock.json. - Create and merge a second pull request against
main. Do not merge this change into the release branch.
The release branch must therefore retain the even version while main moves
back to an odd pre-release version.
- Run the stable Azure Pipelines build defined by
build/azure-pipeline.stable.yml. - Select the prepared release branch, for example
release/1.38.0. - Set the Publish Extension parameter to
true. - Monitor the build until publishing completes.
- Verify that the extension is available in the Marketplace and that the corresponding GitHub tag and release were created. The stable pipeline automatically generates and publishes the GitHub release notes.
Use the existing release branch for a patch to a stable release. For example,
release 1.38.1 from release/1.38.0; do not create a
release/1.38.1 branch.
- Change the version in
package.jsonto the new patch version, for example1.38.1. - Run
npm ito updatepackage-lock.json. - Create and merge a pull request against the existing release branch, for
example
release/1.38.0. - On release day, run the stable Azure Pipelines build from that release
branch with Publish Extension set to
true. - Verify the Marketplace publication and the automatically generated GitHub tag and release notes for the point release.
Do not change the version on main as part of the point release. It should
remain on the odd minor version for the current pre-release development cycle.
The branch named in the stable pipeline's DownloadPipelineArtifact step, such
as refs/heads/release/2026.12, belongs to the external Python environment
tools build. It is separate from this repository's release/1.<even minor>.0
branch. Before a stable release, verify that the configured tools branch is the
one intended for that release; update it in a separate pull request when the
tools release changes.