Use semver to pin only major/minor plugin versions #5435
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.
Closes #4329
This makes two changes:
UpdateRepository
, allowing the same SemVer version constraint to be applied offline as well.The version range constraints are handled by the underlying SemVer library: https://github.com/zafarkhaja/jsemver?tab=readme-ov-file#range-expressions. Perhaps most usefully are tilde ranges (
~
), which allow pinning of the major or minor part of the version while automatically using any newer patch version. For example:~1.2
is equivalent to>=1.2.0 && <1.3.0
,~1.2.1
is equivalent to>=1.2.1 && <1.3.0
,~1
is equivalent to>=1.0.0 && <2.0.0
In offline mode, it will look for the latest already downloaded plugin version which matches the constraint.