Open isidorn opened 2 years ago
Shouldn't the default version that is shown in the marketplace be the stable version? Then from there if there is a newer pre-release version there could be a link to the pre-release.
@axelson yes, that was our initial idea as well. However this would be a bigger change on the MP side, so we decided to use UI decorations as help instead. Reason is that for this topic we want to focus MP engineering effort on fully supporting semver versioning.
Ah, okay. I guess my thinking is that my extension will nearly always have a pre-release since I want the pre-releases to be generated automatically from the most recent branch. What do you mean by fully supporting semver versioning?
@axelson Semantic versioning (aka "semver") supports pre-release versions (see https://semver.org/#spec-item-9). With that we would not have to use our own numbering convention to denote pre-release versions (e.g. even vs odd minor numbers). Today the Marketplace does not support semver's pre-release versions.
It would be so awesome if the process was that if a published package has a semver pre-release version, it would automatically become a prerelease on the marketplace. And VS Code would choose latest stable as default, and make it easy for the user to choose any prereleases with higher semver than the latest stable.
This way our CI pipelines can produce pre-releases or stable release at will, and users will have an easy time helping to test any prerelease. This process would be even better if there was a way we could add release notes in the manifest, which VS Code would show.
@PEZ Why isn't the changelog entry enough for you?
@GitMensch changelog is fine. I actually populate the release notes for the releases on Github with the entries from the Changelog. I think a special manifest entry would make it easier for VS Code to display the release note together with the extension, e.g. in the hover. Changelog formats vary a bit too much for VS Code to use the Changelog with any precision for this.
Something like so is what I think would make it easier for users to decide if they want to try a particular pre-release or not.
https://github.com/user-attachments/assets/18ca98f7-4402-4120-8a9c-b08e42995c5a
VS Code has released support for pre-release extensions. Documentation can be found here.
Currently the Marketplace always shows the latest version of the extension on the Marketplace site. After discussing with @SaiKanth007 we believe that the easiest solution for the Marketplace would be to offer visual cues to the user if the current version is a pre-release version.
Here are some suggestion how we could improve this visually:
pre-release
decoration next to the version if the version is pre-releasepre-release
decoration in the version history as @weinand suggests here https://github.com/microsoft/vsmarketplace/issues/262To detect if a version of an extension is
pre-release
check if an attribute"Microsoft.VisualStudio.Code.PreRelease": true
is present.Timing: we expect multiple extensions to jump on this in the next 3 months. We believe that the solution we are proposing is low hanging, so it would be great if we could get something in the next couple of months.
fyi @sandy081 @prashantvc @misolori @alexr00 @pratikgawali for ideas