-
Notifications
You must be signed in to change notification settings - Fork 256
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
Semver 2.0.0 protocol support #3610
Comments
Hasn't the NuGet V3 client always supported SemVer 2.0 since the beginning? (@emgarten ?) If yes, we don't need to change V3 protocol nor registrations/package download URL's. For older clients targetting the OData feed, there are a few options:
Now, the spec says anyone pre-3.5 will break with SemVer 2.0 packages, so let's assume we also have to update the V3 feeds.
|
Yes, the v3 protocol has had SemVer 2.0.0 support from the start. It could benefit pre-3.5 clients if SemVer 2.0.0 versions were removed from the registration blobs so that they would not show up as install options in the UI. PackageBaseAddress is only used by project.json restore, and that has supported SemVer 2.0.0 since 3.1.0 when it was introduced, so that part of v3 wouldn't need to split. |
One complication introduced by this I don't know if this is important or not. It looks like currently the client code (both in "install latest" flow and in floating versions) gets the full list of available versions and takes the maximum version rather than looking at the If we want to make the OData correct with respect to the We need to nail this question down before introducing this change to NuGet.Server so that OData results are correct and NuGet.org so that OData and HTML output are correct. |
This has been implemented in This needs client support for OData endpoints and search service. There is already support in V3 via NuGet/NuGet.Client@358f3b5. |
/cc @rrelyea, could this be assigned and scheduled as client work? |
This is now supported on www.MyGet.org. |
@maartenba, nice! Does |
Indeed defaulting to 1.0.0. We did have 2.0 but not yet widely used so safe change. |
I believe this is complete on the client side, please reopen if there is more work to do. |
Tracking protocol changes to servers and clients to support backward compatibility of servers with nuget clients that do not support semver 2.0.0.
The goal is that for heterogeneous client environments to be able to see only semver 1.0.0 versions on a server that supports both 2.0.0 and 1.0.0 and thus not breaking the clients and allowing a gradual migration (if at all).
Example of clear examples of such servers: nuget.org, VSTS, myget.
Spec-ing is tracked in https://github.com/NuGet/Home/wiki/Semver-2.0.0-Protocol
The text was updated successfully, but these errors were encountered: