-
Notifications
You must be signed in to change notification settings - Fork 697
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
[feature] Upgrade to Node.js 20(LTS) #1173
Comments
We are looking into this right now. See #829 for more discussion. One current blocker is that out CI builders currently run on ubuntu/bionic and node 18 decided to drop support for the version of glibc that is included with ubuntu/bionic. I think we will likely have to follow suite and drop support for bionic and update our builders. |
Moved to |
Are there any impediments to updating ci's version of Ubuntu? After all, the five-year free support period for Ubuntu 18 is almost up |
Yes, there were impediments. We don't have direct control over the VM. But I think we have now overcome those. BTW, according to https://wiki.ubuntu.com/Releases ubunut/bionic 18.04 LTS is supported until April 2028. The issue of what version of node we use internally in emsdk should really be an implementation detail though. I think the real issue is that we are putting our internal version of node in the emsdk user's path, and we should focus on fixing that. Even if/when we update to node v18 that will also be wrong version for many users who have already installed their own. |
I agree with this, forcing the specified version of node into path is a very bad idea. We should at least provide an option to use the system node. Considering that the lifecycle of node.js14 is coming to an end, updating the bundled node version is the big trend. BTW, the free LTS period for Ubuntu 18 will end in April and paid commercial support for the next five years |
I think unavoidable might be too strong a word there. Perhaps inadvisable. |
Emscripten's use of node is as part of the compiler toolchain and as such it does not process untrusted code. There is no protection at all against hostile user input in emscripten, regardless of node version. For example |
You're right, this is indeed a bit too absolute |
@sbc100 After some changes, I successfully upgrade Ubuntu to 22.04LTS in .circleci/config.yml.The only change is the removal of running flake with python2 and only keeping python3, as installing both pip versions at the same time would report an error. Of course, it's easy to add python2 back if necessary. |
Active LTS is 20 already, so probably 18 should be changed to 20 in issue's title |
@juj, you mentioned in #1183 (comment) that you still need Ubuntu/Bionic support. Is this still true? Any idea when that might come to and end? |
I submitted emscripten-core#21853 before landing llvm/llvm-project#80923, so the previous version (3.1.59) was released before the LLVM change actually landed. And then we decided to disable reference-types temporarily (llvm/llvm-project#90792) while the node version is being resolved (emscripten-core/emsdk#1173 (comment)). This moves the entry to the current release and only mentions multivalue is the newly enabled feature.
I submitted #21853 before landing llvm/llvm-project#80923, so the previous version (3.1.59) was released before the LLVM change actually landed. And then we decided to disable reference-types temporarily (llvm/llvm-project#90792) while the node version is being resolved (emscripten-core/emsdk#1173 (comment)). This moves the entry to the current release and only mentions multivalue is the newly enabled feature.
|
Sorry I've not seen this account before.. is this jukka? Or someone else at unity maybe? |
Sorry, I'm Anthony (Eng Manager) from Unity. |
Awesome! Thats great news. I guess we are free to drop Trusty support and upgrade to node v18+ ! |
Hey, thanks for pinging. Currently Unity's Web CI infrastructure runs on Ubuntu 20.04 LTS Focal Fossa. That should be new enough to run Node v18. We do no longer need Ubuntu 18.04 LTS Bionic Beaver support, so can happily drop that. |
On one hand Ubuntu18's free LTS cycle is ended, and on the other hand Ubuntu18 does not support nodejs greater than v18. 1. update the Linux Docker image to buildpack-deps:focal 2. some compatibility changes 3. use the new recommended way to install Docker ([see here](https://docs.docker.com/engine/install/ubuntu/)) See #1173
On one hand Ubuntu18's free LTS cycle is ended, and on the other hand Ubuntu18 does not support nodejs greater than v18. 1. update the Linux Docker image to buildpack-deps:focal 2. some compatibility changes 3. use the new recommended way to install Docker ([see here](https://docs.docker.com/engine/install/ubuntu/)) See #1173
On one hand Ubuntu18's free LTS cycle is ended, and on the other hand Ubuntu18 does not support nodejs greater than v18. 1. update the Linux Docker image to buildpack-deps:focal 2. some compatibility changes 3. use the new recommended way to install Docker ([see here](https://docs.docker.com/engine/install/ubuntu/)) See #1173
# Why On one hand Ubuntu18's free LTS cycle is ended, and on the other hand Ubuntu18 does not support nodejs greater than v18. # What's changed. 1. update the Linux Docker image to buildpack-deps:focal 2. some compatibility changes 3. use the new recommended way to install Docker ([see here](https://docs.docker.com/engine/install/ubuntu/)) See #1173
As written in https://github.com/nodejs/release#release-schedule, support for node.js 16 was end in September 2023.
Therefore, it is recommended to upgrade to node.js 20.
Also, many of the features in node.js 20 are enabled by default, such as
--experimental-wasm-threads
and--experimental-wasm-bulk-memory
.The text was updated successfully, but these errors were encountered: