Skip to content

Breaking ABI on an existing release line by bumping NODE_MODULE_VERSION #49875

Open
@joyeecheung

Description

@joyeecheung

According to

### Update `NODE_MODULE_VERSION`
bumping NODE_MODULE_VERSION outside of a major release is possible, but AFAICT we've never done it in practice

It is current TSC policy to bump major version when ABI changes. If you
see a need to bump NODE_MODULE_VERSION outside of a major release then
you should consult the TSC. Commits may need to be reverted or a major
version bump may need to happen.

Now the time comes when we may need to break the ABI in order to backport to v20.x a series of memory issue fixes that are blocking people (in particular jest users) from upgrading away from v16.x: #49874 .

EDIT: turns out that we found a way to avoid the ABI breakage.

This issue is used to figure out

  1. How the packages that distribute prebuilt native addons are using these versions, if they make assumptions about the relationship between NODE_MODULE_VERSION and Node.js/V8 versions or only rely on NODE_MODULE_VERSION alone (in the former case, bumping NODE_MODULE_VERSION on an existing release line can cause breakage. In the latter case there should be no problem).
  2. What else we need to do besides bumping NODE_MODULE_VERSION
  3. Ultimately if breaking ABI outside of a major release is feasible or not, and update the release guide based on information we get

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions