Bundled Node.js Version End Of Life On 2023-09-11

Jarrett Confrey's icon

I noticed that the Node.js version bundled with Max is 16.6.0

Node.js 16.x is scheduled for end of life on 2023-09-11

https://github.com/nodejs/release#release-schedule
https://nodejs.org/en/blog/announcements/nodejs16-eol

Node.js 18.x is the current Long Term Support version but goes into maintenance on 2023-10-18

Node.js 20.x is the current version and will become the new Long Term Support version on 2023-10-24

I realize that the node.script object has node_bin_path and npm_bin_path attributes I could use to update my version but I think it would make sense to update the version of node bundled with Max to 20.x

Florian Demmer's icon

Hi Jarret,

this is correct, I don’t have an ETA or too much detail right now but we’ll be looking into this for a future update alongside supporting modern module loading that is required by some npm packages.

In the meantime we recommend using node_bin_path and npm_bin_path as suggested to change the version of node if required.

Thank you

Jeff Griffiths's icon

Hey, just found this. A lot of the JS / Node ecosystem is deprecating Node 16, for example I'm working on a project but get messages from npm like this:

➜ sk-proto npm i
npm ERR! code EBADENGINE
npm ERR! engine Unsupported engine
npm ERR! engine Not compatible with your version of node/npm: @sveltejs/kit@2.5.17
npm ERR! notsup Not compatible with your version of node/npm: @sveltejs/kit@2.5.17
npm ERR! notsup Required: {"node":">=18.13"}
npm ERR! notsup Actual:   {"npm":"7.20.3","node":"v16.6.2"}

Florian - do you have any updates on embedded node version, especially in Max for Live? I'm using Live 11, is there a newer version of node in Live 12?

Florian Demmer's icon

Hi Jeff,

with Max 8.6 we've updated the bundled version of Node to v20.6

Jeff Griffiths's icon

Hi Florian!

Are you ever going to update the version of Max shipping in Ableton Live 11? Otherwise you are shipping Ableton Live with an insecure version of Node.

Florian Demmer's icon

Live 12 bundles a newer version of Max 8 which includes Node v20.

If upgrading Live doesn’t work for you, you can change the version of Max being used to be a standalone install by following the steps in this article:

Jeff Griffiths's icon

Hi Florian - thanks for the workaround, and your patience.

This is a great solution for individual developers using Ableton 11 who want a newer version of node, and definitely a solution for my immediate issues. It will create downstream problems for me if I try to distribute my m4l devices though - any Ableton 11 user will first need to download Max 8.6 ( or newer ) and then configure Live to use this new version. This probably isn't that big of a deal, but it's extra steps for anyone just to try a device.