Skip to content

Move to date-based versioning for the extension #1880

Closed
@rjmholt

Description

@rjmholt

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions