Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node version support policy? #23363

Open
hoodmane opened this issue Jan 10, 2025 · 2 comments
Open

Node version support policy? #23363

hoodmane opened this issue Jan 10, 2025 · 2 comments

Comments

@hoodmane
Copy link
Collaborator

hoodmane commented Jan 10, 2025

We currently have node 10 as the minimum version. Here are some end of life dates for node versions:

  • Node 10 EOL since 30 Apr 2021.
  • Node 12 EOL since 30 Apr 2022
  • Node 14 EOL since 30 Apr 2023
  • Node 16 EOL since 11 Sep 2023
  • Node 18 EOL will be 30 Apr 2025

I think node 10 is too old at this point and we should move the minimum version up. The question is where in that list we want to set the minimum version and more generally, what the support window should be. For example, maybe we drop each version one year after its end of life? For practical purposes, I think node 16 as a minimum version would be quite helpful because it supports wasm bigint by default.

xref #23316.

@sbc100
Copy link
Collaborator

sbc100 commented Jan 10, 2025

To clarify, this is about the minimum version of node that we support in the generated node (i.e. the minimum value for MIN_NODE_VERSION) which is separate from the minimum version of node needed to run emscripten itself.

When considering which versions of node that we want to support I think it is important to look at what versions of node our users have on their systems (regardless of what the node foundation says is end of life).

I think the current minimum of v10.19 comes from Ubuntu/LTS Focal which IIUC is that is that oldest linux distro we are trying to support: https://launchpad.net/ubuntu/focal/+source/nodejs.

@sbc100
Copy link
Collaborator

sbc100 commented Jan 10, 2025

Also, node that we will need to continue to support -sWASM_BIGINT=0 as long as we support any browser that doesn't support wasm/bigint integration.. which means I think that option will be around for a long time stll.

Also note that the default MIN_NODE_VERSION is already v16 for this reason. Its own lowered when LEGACY_VM_SUPPORT is enabled or when MIN_NODE_VERSION is explicitly set.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants