-
Notifications
You must be signed in to change notification settings - Fork 653
NuGet.org should allow uploading packages with same version number if only meta data has changed #10425
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
Comments
Please check https://github.com/NuGet/Home/wiki/Package-Immutability, official policy. |
I comprehend. Yet, changing a package's Yes, the use of lock files would be impaired. Yet, eventually, that's exactly what lock files exist for. To keep NuGet package authors from exagerating on updating their NuGet packages' documentation and similar "non-lib" meta data, amending new package versions could be constrained to a 30 day period after release. |
Some |
I see your point. Yet, I believe there is a false assumption on your behalf regarding the interpretation of the three parts
Let me take the Docker versioning scheme as the template for my argumentation. You may find it here: https://docs.docker.com/reference/cli/docker/image/pull/#pull-an-image-by-digest-immutable-identifier I fully agree with you that changes in package content should require a new version number. Yet, I'm arguing about meta data here, i.e. the package's In regard to above meta data – not the critical package content –, let's differentiate between two kinds of package identifiers: package name and package version on one hand and package hash on the other. In regard to above meta data, the combination of package name and package version should be considered "weak identifiers", i.e., if someone refers to a package using package name and package version, NuGet.org should serve the latest version that is available using this key. On the other hand, the package hash is a "hard identifier", i.e., if someone refers to a package using the package hash, NuGet.org should serve whatever is available using this key. As a conclusion: packages referred to by package name and package version may deliver other content than packages referred to by package hash. It's so easy. The business rules on the NuGet.org server just must verify that critical package content did not change when an existing package name/package version package is uploaded, rejecting such changes for an existing package. |
IMO, having a version with typos or mistakes is fine; everyone makes mistakes. The solution is to simply deprecate it and publish newer version with fix.
As I mentioned before, due to a decision made a long time ago (predates me), it will break many existing tools. The benefit does not outweigh the issues it causes. |
I feel that this could be addressed by leveraging the build metadata as defined in semver & it is also what I am wanting to use for NuGet/Home#14170 |
NuGet Product(s) Involved
Other/NA
The Elevator Pitch
I just uploaded a package to NuGet.org, just to notice that I had something to refine/improve in the packages
ReadMe.md
file.Now, I want to replace the original package in-place. I'd just upload the amended version, without increasing the version number of the package. It's just meta data that has changed in the package.
Please allow for uploading an amended package with non-critical updates.
Additional Context and Details
No response
The text was updated successfully, but these errors were encountered: