We only support major.minor.patch for extension versions and semver pre-release tags are not supported. Thus, if you publish major.minor.patch-tag release to the Marketplace, it will be treated as major.minor.patch and the tag will be ignored. Versions must be different between pre-release and regular releases. That is, if 1.2.3 is uploaded as a pre-release, the next regular release must be uploaded with a distinct version, such as 1.2.4. Full semver support will arrive in the future.
VS Code will auto update extensions to the highest version available, so even if a user opted into a pre-release version and there is an extension release with a higher version, that user will be updated to the released version. Because of this we recommend that extensions use major.EVEN_NUMBER.patch for release versions and major.ODD_NUMBER.patch for pre-release versions. For example: 0.2. for release and 0.3. for pre-release.
The action
HaaLeo/publish-vscode-extension@v1
supportspreRelease
flag but marketplace won't accept the version.https://github.com/microsoft/vscode-vsce/issues/148 https://github.com/microsoft/vscode/issues/15756 https://github.com/microsoft/vsmarketplace/issues/310 https://github.com/microsoft/vsmarketplace/issues/50
This blog post suggests that the solution is publishing prereleases to different channels https://runme.dev/blog/the-github-action-you-need-to-publish-vscode-extensions
https://code.visualstudio.com/api/working-with-extensions/publishing-extension#prerelease-extensions