Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pre-release extensions decorations in the UI #264

Open
isidorn opened this issue Dec 2, 2021 · 8 comments
Open

Pre-release extensions decorations in the UI #264

isidorn opened this issue Dec 2, 2021 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@isidorn
Copy link
Collaborator

isidorn commented Dec 2, 2021

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:

  1. Render a pre-release decoration next to the version if the version is pre-release
  2. Render pre-release decoration in the version history as @weinand suggests here Pre-release versions are not flagged in the Marketplace version history #262
  3. Render a small info banner in the header of the extension that would have some text "Latest version of the NAME extension is a pre-release version. To explore and install a release version click here." @SaiKanth007 do you already have some "info banner" space we could reuse for this?

To 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

@axelson
Copy link

axelson commented Dec 9, 2021

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.

@isidorn
Copy link
Collaborator Author

isidorn commented Dec 10, 2021

@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.

@axelson
Copy link

axelson commented Dec 10, 2021

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?

@weinand
Copy link

weinand commented Dec 12, 2021

@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.

@PEZ
Copy link

PEZ commented Nov 21, 2024

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.

@GitMensch
Copy link

@PEZ Why isn't the changelog entry enough for you?

@PEZ
Copy link

PEZ commented Nov 21, 2024

@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.

@PEZ
Copy link

PEZ commented Nov 21, 2024

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.

VS.Code.Extension.Prereleases.with.Release.Notes.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants