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

Option to auto-update extensions based on semver #37162

Closed
heaths opened this issue Oct 30, 2017 · 8 comments
Closed

Option to auto-update extensions based on semver #37162

heaths opened this issue Oct 30, 2017 · 8 comments
Assignees
Labels
extensions Issues concerning extensions feature-request Request for new features or functionality *out-of-scope Posted issue is not in scope of VS Code
Milestone

Comments

@heaths
Copy link
Member

heaths commented Oct 30, 2017

As an extension author, I'd like to make some breaking changes to my extension. As a user, I'd hate to have an extension automatically updated with breaking changes.

What would be nice is an option in VSCode to only auto-update minor or patch versions (or maybe even patch versions, or completely disable) of extensions and show updates (for manual update) for major versions with some workflow to show the changelog of breaking changes (if the developer authored any).

For example, extensions.autoUpdate could be changed from a boolean to an enumeration with backward compatibility to a boolean. I seem to recall another similar change but it was long ago enough I don't remember. IIRC, there is precedence to change the type.

I didn't see any request like this already, though a possible implementation might overlap with #30579 if auto-update for installed prerelease versions could be disabled entirely.

@vscodebot vscodebot bot added the extensions Issues concerning extensions label Oct 30, 2017
@sean-mcmanus
Copy link
Contributor

If this occurs, I'd prefer an exception for 0.x.x to 1.0.0 upgrades, which may only signify an extension becoming "feature complete" and exiting preview mode and not being incompatible with previous versions. Adding something like a "fromVersion" to mimic the npm package versioning might be better, e.g. adding "fromVersion" 1.2 would mean someone with 1.1.x or lower wouldn't get an automatic upgrade.

@sandy081
Copy link
Member

sandy081 commented Nov 1, 2017

Duplicates #15756

@sandy081 sandy081 closed this as completed Nov 1, 2017
@sandy081 sandy081 added the *duplicate Issue identified as a duplicate of another issue(s) label Nov 1, 2017
@heaths
Copy link
Member Author

heaths commented Nov 1, 2017

While related, that is not a duplicate. I'm not talking about duplicates. @sean-mcmanus brought that up. My OP is about not automatically upgrading to a version with breaking changes, in my case from v2->v3 (planned). There may be some overlap in how these two things are implemented, but both bugs should remain open to make sure both scenarios are accounted for and tested.

@sandy081
Copy link
Member

sandy081 commented Nov 1, 2017

@heaths I see both requirements need a beta version support for extensions so that authors can publish and let users try it out. Currently you can distribute the vsix for the users to try out.

@sandy081
Copy link
Member

sandy081 commented Nov 1, 2017

@heaths I see what you mean.. Let me reopen it and track them separately.

@sandy081 sandy081 reopened this Nov 1, 2017
@sandy081 sandy081 added feature-request Request for new features or functionality and removed *duplicate Issue identified as a duplicate of another issue(s) labels Nov 1, 2017
@sandy081 sandy081 added this to the Backlog milestone Nov 1, 2017
@heaths
Copy link
Member Author

heaths commented Nov 1, 2017

Besides, I'd be interested I discussing how to implement this here (feature design) and maybe even implementing it. At least from the issue I linked, there's mention of how npm solves this so maybe we allow for users to author a new setting using npm-style version ranges, like "^2.0" if we wanted to make it extension-specific. Frankly, I'd prefer a global mechanism since I wouldn't want any extension that is (if properly implementing semver) introducing breaking changes without first reviewing them, hence my suggestion of supporting either a boolean for the existing setting or a new enum.

@sandy081
Copy link
Member

We came up with a proposal to support beta exetensions here - #15756 (comment) and the proposal also takes care of this scenario - users opted to insiders/preview of an extensions will get latest and cutting edge changes whereas who does not will get stable and non breaking changes. Other than this we would like to not support any additional configuration to configure updates by semver. Hence closing this as out of scope.

@sandy081 sandy081 added the *out-of-scope Posted issue is not in scope of VS Code label Oct 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
extensions Issues concerning extensions feature-request Request for new features or functionality *out-of-scope Posted issue is not in scope of VS Code
Projects
None yet
Development

No branches or pull requests

5 participants
@joaomoreno @heaths @sandy081 @sean-mcmanus and others