Milestones

Each release is numbered after a “milestone.” We tick the milestone numbers by +2 every week (66, 68, 70, 72…) We increase them by two for reasons related to Visual Studio Marketplace.

Release Branches

VSCode and JetBrains use a branch off main for each weekly release. The branch is named Mnn where nn is the “milestone.”

<aside> 📜

Before M66 VSCode used release branches named vscode-vMAJOR.MINOR.x and JetBrains used release branches named vscode-vMAJOR.MINOR.x . You will see these old branch names in the git repo.

</aside>

Release Channels

We have three kinds of release channels:

Name Purpose VSCode JetBrains
Prerelease Dogfooding for teammates.
Distributing builds to QA. Prerelease, sometimes casually called “insiders” Nightly
Release Stable builds we recommend to customers. Release Stable
Experimental (Rarely used.) Ad-hoc builds for testing branches, early customer feedback, etc. It’s complicated. Experimental

Note, all of our release channels are public. Anyone can find, pick up and use them.

The IDEs have different names for these channels for various reasons. Some we can’t name. Some are historical but we don’t want to change them no minimize disruption.

It is possible to distribute experimental builds of VSCode, but this is not covered here. Please ask @Dominic Cooney / #team-cody-core on Slack.

Tagging

Builds are tagged with their version number. See below for exact naming schemes for each IDE extension.

VSCode

VSCode prerelease builds are tagged vscode-insiders-vMAJOR.MINOR.TICKS , for example vscode-insiders-v1.43.1731571491. The MINOR version is a “prerelease minor version” (see below.) The tag is assigned by the build infrastructure: MAJOR and MINOR are derived from vscode/package.json's version; TICKS is a timestamp.

VSCode stable builds are tagged vscode-vMAJOR.MINOR.PATCH. MINOR should be a “stable minor version” (see below.) These numbers are assigned manually.

JetBrains

JetBrains builds are tagged jb-vMAJOR.MINOR.PATCH-channel, for example jb-v7.65.2-nightly. In the case of the stable channel, the -channel part is omitted, for example jb-v7.66.0. These numbers are assigned manually, although jetbrains/scripts/push-git-tag-for-next-release.sh can help.

Versions