Skip to content

doc: allow deprecations while a release is Current#64387

Open
mcollina wants to merge 1 commit into
nodejs:mainfrom
mcollina:doc-deprecation-cycle-current
Open

doc: allow deprecations while a release is Current#64387
mcollina wants to merge 1 commit into
nodejs:mainfrom
mcollina:doc-deprecation-cycle-current

Conversation

@mcollina

@mcollina mcollina commented Jul 9, 2026

Copy link
Copy Markdown
Member

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.

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>
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/tsc

@nodejs-github-bot nodejs-github-bot added the doc Issues and PRs related to the documentations. label Jul 9, 2026
@panva

panva commented Jul 9, 2026

Copy link
Copy Markdown
Member

Would this take effect immediately or starting with 27.x? Asking for a friend.

@aduh95 aduh95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those phases are going away, Node.js 27 won't have "Active LTS" not "Maintenance" phases

@panva

panva commented Jul 9, 2026

Copy link
Copy Markdown
Member

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

Especially with the upcoming reduction in major release cadence i'd say this certainly is an improvement.

@aduh95

This comment was marked as off-topic.

@aduh95

aduh95 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

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

Especially with the upcoming reduction in major release cadence i'd say this certainly is an improvement.

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?

@panva

panva commented Jul 9, 2026

Copy link
Copy Markdown
Member

An improvement for whom?

us, maintainers.

How does the upcoming release schedule change affect this exactly?

Deprecations cause unbackportable churn that forces backports and now the worst case scenario deprecation cycle is 2 years instead of "just" 1.

@aduh95

aduh95 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

us, maintainers.

It seems to me that users have more to lose here than maintainers have to gain.

Deprecations cause unbackportable churn that forces backports

Does it? Removing an API certainly does, but runtime deprecate it not so much I find. Also, if we start using again the --pending-deprecation flag (which is backportable), the diff between branches where a feature is runtime deprecated vs pending deprecated is tiny.

now the worst case scenario deprecation cycle is 2 years instead of "just" 1.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc Issues and PRs related to the documentations.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants