feat: Resolve latest LSP version from Maven Central#127
Merged
yasmewad merged 1 commit intoApr 24, 2026
Conversation
Change the default smithy.server.version from a pinned version to latest.release, which Coursier resolves to the newest published version on Maven Central. This eliminates the need for an extension release each time the language server is updated. Users can still pin a specific version via the smithy.server.version setting.
joewyz
approved these changes
Apr 24, 2026
yasmewad
added a commit
to yasmewad/smithy-vscode
that referenced
this pull request
May 6, 2026
PR smithy-lang#127 switched the default `smithy.server.version` from a pinned version to `latest.release`. Users upgrading have no way to discover this change or opt out without knowing the setting name. On first activation, a one-time notification offers "Use latest" or "Pin a version." Choosing to pin opens a QuickPick populated from Maven Central's `maven-metadata.xml`. A persistent status bar item shows the active version (`Smithy LS (latest)` or `Smithy LS v0.8.0`) and lets users switch on click. Status bar text follows VS Code UX guidelines for short labels; full "Smithy Language Server" naming appears in tooltips, notifications, and the QuickPick title. A `smithy.toggleVersionPolicy` command is registered in `package.json` as "Smithy: Change Language Server Version" for command palette access.
yasmewad
added a commit
to yasmewad/smithy-vscode
that referenced
this pull request
May 6, 2026
PR smithy-lang#127 switched the default `smithy.server.version` from a pinned version to `latest.release`. Users upgrading have no way to discover this change or opt out without knowing the setting name. On first activation, a one-time notification offers "Use latest" or "Pin a version." Choosing to pin opens a QuickPick populated from Maven Central's `maven-metadata.xml`. A persistent status bar item shows the active version (`Smithy LS (latest)` or `Smithy LS v0.8.0`) and lets users switch on click. Status bar text follows VS Code UX guidelines for short labels; full "Smithy Language Server" naming appears in tooltips, notifications, and the QuickPick title. A `smithy.toggleVersionPolicy` command is registered in `package.json` as "Smithy: Change Language Server Version" for command palette access.
yasmewad
added a commit
to yasmewad/smithy-vscode
that referenced
this pull request
May 7, 2026
PR smithy-lang#127 switched the default `smithy.server.version` from a pinned version to `latest.release`. Users upgrading have no way to discover this change or opt out without knowing the setting name. On first activation, a one-time notification offers "Use latest" or "Pin a version." Choosing to pin opens a QuickPick populated from Maven Central's `maven-metadata.xml`. A persistent status bar item shows the active version (`Smithy LS (latest)` or `Smithy LS v0.8.0`) and lets users switch on click. Status bar text follows VS Code UX guidelines for short labels; full "Smithy Language Server" naming appears in tooltips, notifications, and the QuickPick title. A `smithy.toggleVersionPolicy` command is registered in `package.json` as "Smithy: Change Language Server Version" for command palette access.
yasmewad
added a commit
that referenced
this pull request
May 18, 2026
PR #127 switched the default `smithy.server.version` from a pinned version to `latest.release`. Users upgrading have no way to discover this change or opt out without knowing the setting name. On first activation, a one-time notification offers "Use latest" or "Pin a version." Choosing to pin opens a QuickPick populated from Maven Central's `maven-metadata.xml`. A persistent status bar item shows the active version (`Smithy LS (latest)` or `Smithy LS v0.8.0`) and lets users switch on click. Status bar text follows VS Code UX guidelines for short labels; full "Smithy Language Server" naming appears in tooltips, notifications, and the QuickPick title. A `smithy.toggleVersionPolicy` command is registered in `package.json` as "Smithy: Change Language Server Version" for command palette access.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The extension currently pins a specific language server version (
0.8.0) as the default. Each time the Smithy Language Server is published to Maven Central, a new extension release is needed just to bump this default creating a bottleneck that has left users running a 6-month-old server despite multiple upstream improvements landing onmain.This change sets the default
smithy.server.versiontolatest.release, which Coursier resolves to the newest published version on Maven Central at startup. Users get LSP updates as soon as they're published, without waiting for an extension release. Anyone who needs a pinned version can still setsmithy.server.versionexplicitly in their editor settings.The net effect is that the release chain goes from three manual steps (LSP release → extension bump → extension publish) to one (LSP release). The Smithy LSP release process to Maven central will still remain manual to prevent any quality issues.
In case users want, they can still pin a specific version via the smithy.server.version setting in vscode like :
{ "smithy.server.version": "0.8.0" }By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.