NodeBB 3.6.0 minimum NodeJS version.
-
Hello
Just a heads up, the upcoming 3.6.0 release is dropping the request library and replacing it with native fetch. The request library has served us well, but it has been deprecated for a while now.
This requires at least nodejs 18, so make sure you are using the latest stable versions of 18.x or 20.x.
You can see nodejs release schedule here https://github.com/nodejs/release#release-schedule
-
@DownPW said in NodeBB 3.6.0 minimum NodeJS version.:
Node JS v18.17.1 is good or not ?
Yes, you just need a currently supported LTS version (and 18.17.1 is just a few months old) - generally NodeBB will move support along with node, and there shouldn't be any breaking changes within a major version, so all or most v18 versions should be supported at least until April 2025.
How I can update to the latest stable versions of 18.x ? I do not remember.
Depends on your OS and the way you originally installed NodeJS. Assuming you're on Ubuntu and followed NodeBB docs for NodeJS installation (that is, used nodesource):
- for updating to a newer version from v18 branch,
sudo apt update
andsudo apt upgrade
should suffice - for updating to v20, running the setup_current (instead of setup_lts) script should work:
curl -sL https://deb.nodesource.com/setup_current.x | sudo -E bash - sudo apt upgrade
@blackd-t said in NodeBB 3.6.0 minimum NodeJS version.:
What's the benefit off this though !
The old request library is unmaintained and has a lot of issues. It is actually marked as deprecated on NPM. It's dead and it was clear for quite some time that it needed replacement. It even needed a separate package to add proper promise support, that's how old it was. It's less "it's better now" and more of just cleaning up technical debt.
The issue from my understanding is that there has been an obvious replacement for a long time - fetch API, which has been natively available in browsers for a while. So the question was "replace now with some other library then with fetch, or wait for fetch" (or keep using that library, risking same issue request experienced).
It seems NodeBB decided to wait, especially since with the faster EoL of Node 16 (faster due to to OpenSSL 1.1 EoL) it seemed right around the corner for some time.Also, in general NodeBB follows NodeJS lifecycle, so officially only Node versions that are still supported are tested in NodeBB. Older versions can work, but there is no guarantee and generally I don't think NodeBB has any policy in place to wait with adopting newer features as long as they're in all supported Node versions.
- for updating to a newer version from v18 branch,
-
@julian said in NodeBB 3.6.0 minimum NodeJS version.:
Unrelated, but I think there were already issues with the Sharp dependency pushing us along as it required a certain version of node.js 18
Yes, but not only with node.js 18, Sharp 0.33.x has issues with a lot of VMs. Please, revert to Sharp 0.32.6
https://github.com/lovell/sharp/issues/3870
https://github.com/lovell/sharp/issues/3900
https://github.com/lovell/sharp/issues/3911
and so on... -
We'll wait a little bit before upgrading
-
@Normando said in NodeBB 3.6.0 minimum NodeJS version.:
Yes, but not only with node.js 18, Sharp 0.33.x has issues with a lot of VMs. Please, revert to Sharp 0.32.6
I do confirm ! Vultur Intel VM not work and received error with upload images!
Help --force install [email protected]
Please revert to that version!
-