Skip to content

doc: update V8 ABI release policy#64196

Open
RafaelGSS wants to merge 1 commit into
nodejs:mainfrom
RafaelGSS:drop-abi-stability-v27
Open

doc: update V8 ABI release policy#64196
RafaelGSS wants to merge 1 commit into
nodejs:mainfrom
RafaelGSS:drop-abi-stability-v27

Conversation

@RafaelGSS

Copy link
Copy Markdown
Member

Document the V8-related native addon ABI policy discussed in nodejs/TSC#1852.

Starting with Node.js 27, V8 updates may land during Alpha and Current even when they require a NODE_MODULE_VERSION bump, as long as the ABI change is documented in release notes.

Refs: nodejs/TSC#1852 (comment)

@nodejs/tsc @nodejs/releasers

@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 Jun 29, 2026
Document the V8-related native addon ABI policy discussed in
nodejs/TSC#1852.

Starting with Node.js 27, V8 updates may land during Alpha and
Current even when they require a `NODE_MODULE_VERSION` bump, as
long as the ABI change is documented in release notes.

Refs: nodejs/TSC#1852 (comment)

Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
@RafaelGSS RafaelGSS force-pushed the drop-abi-stability-v27 branch from 7f68146 to 2b05131 Compare June 29, 2026 14:08

@mcollina mcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm

Comment on lines +1382 to +1395
Starting with Node.js 27, V8 updates may land during the Alpha and Current
phases of a release line even if they require a `NODE_MODULE_VERSION` bump.
Such changes should still be labeled as semver-major on the default branch.
When they are promoted to the release line, they may land in semver-minor
releases as long as the ABI change is clearly documented in the release notes.

The native addon ABI is frozen when a release line enters LTS. After LTS
promotion, V8 updates that require a `NODE_MODULE_VERSION` bump are only
permitted in exceptional cases such as security fixes. They are not permitted
in Maintenance releases.

This policy applies to addons that depend on the V8, Node.js, or other
non-Node-API native interfaces. Node-API remains the recommended interface for
native addons that require ABI stability across Node.js versions.

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.

Why is this limited to V8? What does it mean for ABI stability for Node.js-specific native APIs?

Also I'm not sure we have consensus for freezing ABI when entering LTS, IIRC there was interest in backporting ABI-breaking changes to LTS as well

Comment on lines +1390 to +1391
permitted in exceptional cases such as security fixes. They are not permitted
in Maintenance releases.

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.

As of Node.js 27, we no longer have a Maintenance status

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.

5 participants