mirror of
https://github.com/semver/semver.git
synced 2026-07-11 06:53:03 -05:00
[GH-ISSUE #835] Deprecation should not lead to a minor change in and of itself #2279
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ahenket on GitHub (May 16, 2022).
Original GitHub issue: https://github.com/semver/semver/issues/835
Pertains to: https://semver.org/#spec-item-7
Deprecation is a meta data thing that applies to the specification/API/product, but does not affect a single character in it. To date I've never seen any product that has an updated version number just because it is sunsetted.
A change in the minor version signals a change of some kind. Usually a new feature. If all it does is introduce deprecation then imagine the disappointment when you 'upgrade' to that new version.
The iPhone 6 also did not become iPhone 6.1 when Apple stopped supporting it. I think "deprecation equals new minor version" should not be in the semver specification, unless combined with other changes e.g. a last round of bug fixes before you stop supporting it.
@ljharb commented on GitHub (May 16, 2022):
node does this, in fact, for runtime deprecation warnings. Deprecation is part of a version and an API when it involves runtime behavior - like printing a warning.
@ahenket commented on GitHub (May 24, 2022):
Deprecation in and of itself does not affect any runtime behavior. It just signals what is going to happen in some future version, allowing implementers time to consider their options. I doubt that node.js ever updated to a new minor just to signal deprecation of a part: for us deprecation of a given standard version when the new major version was already out there was the use case. There was a grace period for using the older version which was extended a couple of times, but now finally was solidified.
So for this documentation/specification we tried updating the version number to a new minor just last month and found ourselves spending many man hours explaining that we did not in fact change anything except that part. Hence the plea to go from SHALL to something less like SHOULD or MAY to allow room for contexts where it leads to more issue than it solves. This would still allow node.js to do what they do.
@ljharb commented on GitHub (May 24, 2022):
“deprecation” isn’t a single thing; the term is incredibly overloaded.
I agree if your deprecation is docs-only, that it’s semver-patch. node does this as well.
@ahenket commented on GitHub (May 30, 2022):
Is it conceivable to reflect that distinction in a next version of semver? Is there a maintenance process to follow, or does this issue need upvoting from X people, ... other?
@ljharb commented on GitHub (May 30, 2022):
Docs aren’t part of your api, so i think the distinction is already present.
@epage commented on GitHub (May 31, 2022):
I disagree. I read the statement straight as-is and applied it to my main language's notion of deprecation (Rust) which only provides compile time warnings to my direct dependents.
I also have seen enough people being pedantic about semver that clarifying things will help make those conversations go more smoothly.
@ahenket commented on GitHub (May 31, 2022):
So then it may be a question of interpretation. We have adopted semver for our documentation purposes and communicated to our implementers: expect what semver says to expect. Did we misinterpret that semver could be of use in our context? There's also the similar effort going on through #609. It seems relevant to know if the scope of semver extends into documentation or not.
@jwdonahue commented on GitHub (Sep 16, 2022):
The intro to the spec says that you define what is part of your "API" and mentions docs explicitly.
In C/C++ warnings can be explicitly emitted from code for things like deprecation notices, but many build environments enable a feature that treats all warnings as errors. The spec fails to cover many of the contingencies around deprecation. While an attempt was made to be language agnostic, I suspect the original author had Java in mind when they wrote it.
I am in full agreement that MUST is too strong and suspect that SHOULD is also. MAY seems more appropriate.
@abdullahjutt302 commented on GitHub (Sep 15, 2024):
@abdullahjutt302 commented on GitHub (Sep 15, 2024):
chúng tôi हाय दोसà¥à¤¤à¥‹à¤‚, हम à¤à¤• वà¥à¤¹à¤¾à¤Ÿà¥à¤¸à¤à¤ª कंपनी हैं ।  हम अशà¥à¤²à¥€à¤² वीडियो और तसà¥à¤µà¥€à¤°à¥‡à¤‚ वितरित करते हैं ।  आप नीचे à¤à¤¿à¤ गठलिंक पर बाल बलातà¥à¤•ार के बारे में à¤à¤• वीडियो देख सकते हैं या इसे हमारे आधिकारिक डीप वेब पर खरीद सकते हैं http://nanochanqzaytwlydykbg5nxkgyjxk3zsrctxuoxdmbx5jbh2ydyprid।पà¥à¤¯à¤¾à¤œ / । या आप बचà¥à¤šà¥‹à¤‚ को उनका आनंद लेने के लिठखरीद सकते हैं और उनके साथ हिंसक सेकà¥à¤¸ कर सकते हैं या आप हमारे वà¥à¤¹à¤¾à¤Ÿà¥à¤¸à¤à¤ª नंबर पर हमसे संपरà¥à¤• करके सेकà¥à¤¸ वीडियो खरीद सकते हैं । वà¥à¤¹à¤¾à¤Ÿà¥à¤¸à¤à¤ª ने चाइलà¥à¤¡ सेकà¥à¤¸ के साथ à¤à¤• वीडियो पोसà¥à¤Ÿ किया, जिससे हमें वà¥à¤¹à¤¾à¤Ÿà¥à¤¸à¤à¤ª पर चाइलà¥à¤¡ पोरà¥à¤¨à¥‹à¤—à¥à¤°à¤¾à¤«à¥€ पोसà¥à¤Ÿ करने की अनà¥à¤®à¤¤à¤¿ मिलती है । मैं सà¤à¥€ वà¥à¤¹à¤¾à¤Ÿà¥à¤¸à¤à¤ª गà¥à¤°à¥à¤ª में चाइलà¥à¤¡ पोरà¥à¤¨à¥‹à¤—à¥à¤°à¤¾à¤«à¥€ पोसà¥à¤Ÿ करूंगा और बचà¥à¤šà¥‹à¤‚ का आनंद लूंगा । http://xykxv6fmblogxgmzjm5wt6akdhm4wewiarjzcngev4tupgjlyugmc7qd।पà¥à¤¯à¤¾à¤œ / वà¥à¤¹à¤¾à¤Ÿà¥à¤¸à¤à¤ª हमारी परियोजना का समरà¥à¤¥à¤¨ करेगा, http://wnrgozz3bmm33em4aln3lrbewf3 आईकेà¤à¤•à¥à¤¸à¤œà¥‡ 7à¤à¤«à¤¡à¤¬à¥à¤²à¥à¤¯à¥‚जीà¤à¤²à¤ 2टीपीडीजे 4जीà¤à¤¨à¤œà¥‡à¤ªà¥€ 7वीआईकà¥à¤¯à¥‚डी । पà¥à¤¯à¤¾à¤œ / 85 4 साल के à��¬à¤šà¥à¤šà¥‹à¤‚ ने बाजार में बलातà¥à¤•ार किया,
support@whatsapp.com
👇👇👇
https://api.whatsapp.com/send