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

Move to date-based versioning for the extension #1880

Closed
rjmholt opened this issue Apr 15, 2019 · 2 comments · Fixed by #1911
Closed

Move to date-based versioning for the extension #1880

rjmholt opened this issue Apr 15, 2019 · 2 comments · Fixed by #1911
Labels
Issue-Discussion Let's talk about it.

Comments

@rjmholt
Copy link
Contributor

rjmholt commented Apr 15, 2019

Maintaining a preview and stable channel of the PowerShell extension in the VSCode marketplace, we've hit a couple of painful issues:

  • npm uses semver v2 (like a lot of PowerShell software), the VSCode marketplace uses semver v1.
    Between x.y.z-label and x.y.z.w, we only have x.y.z. Trying to keep our versioning consistent with
    PowerShell modules (since PowerShellEditorServices is a module) while also making it work in the
    VSCode marketplace has meant we've had to use dual versioning for previews.
  • The VSCode Marketplace, unlike NuGet or the PowerShell Gallery, doesn't allow version unpublishing. There's no public supported way to end publication of a version. We can't fix that directly, but adopting a monotonically increasing versioning scheme could benefit us there.

After discussing the issue somewhat offline, there are other extensions in the VSCode Marketplace that use semver v2 or that have preview channels that manage the complexity of this partially using date-driven versions. For example, the Python extension.

My proposal is to use a YYYY.MM.DD version scheme.

However an alternative might be:

YYYY.MMDD.ReleaseVersion

But I want to discuss it here so we can try to pick up any pros and cons

@rjmholt
Copy link
Contributor Author

rjmholt commented Apr 15, 2019

Update

The Python extension actually uses: YYYY.MM.Revision. This seems like a good solution

@bergmeister
Copy link
Contributor

Because the PS extension is not software that is consumed by others like a library, using another versioning format seems to be not an issue, especially since the majority of user's are on the latest version anyway due to auto-update. To the users a datetime based versioning gives them more information about how recent it is, similar to the Windows OS.
Should they add the preview-feature to the marketplace at some point, then things might get complicated but for now, I'd be OK with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Discussion Let's talk about it.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants