doc: allow deprecations while a release is Current#64387
Conversation
Deprecations can land while a release line is Current, but not in Active LTS or Maintenance, and count as a cycle for that release. Signed-off-by: Matteo Collina <hello@matteocollina.com>
|
Review requested:
|
|
Would this take effect immediately or starting with 27.x? Asking for a friend. |
aduh95
left a comment
There was a problem hiding this comment.
I don't think this is an improvement, runtime warnings are a potential breaking change that we don't want to land on a Current release line
| release. | ||
| the three Deprecation levels. A deprecation can be added to a release line at | ||
| any point while that release line is Current, but not once it has entered the | ||
| Active LTS or Maintenance phases. A deprecation added while a major release is |
There was a problem hiding this comment.
Those phases are going away, Node.js 27 won't have "Active LTS" not "Maintenance" phases
Especially with the upcoming reduction in major release cadence i'd say this certainly is an improvement. |
This comment was marked as off-topic.
This comment was marked as off-topic.
An improvement for whom? Do you have a scenario in mind where this would have a positive outcome for the ecosystem? How does the upcoming release schedule change affect this exactly? |
us, maintainers.
Deprecations cause unbackportable churn that forces backports and now the worst case scenario deprecation cycle is 2 years instead of "just" 1. |
It seems to me that users have more to lose here than maintainers have to gain.
Does it? Removing an API certainly does, but runtime deprecate it not so much I find. Also, if we start using again the
I'd much rather have us have to ask the TSC for one time exceptions for those edge cases than make a rule that we do not follow semver. I might have a different opinion in one year if it turns out it's indeed a heavy maintenance burden, but maybe one year from now (or maybe 2) will be the right time to have this conversation. |
Proposal: Deprecations can land while a release line is Current, but not in Active LTS or Maintenance, and count as a deprecation cycle for that release. An API runtime-deprecated while a release was Current can be removed in the following major release.