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.
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>
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.
Builds are tagged with their version number. See below for exact naming schemes for each IDE extension.
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 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.