-
Notifications
You must be signed in to change notification settings - Fork 8
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
Remove Node 14 support in Device Agent 3.x due to 'inflight' deprecation #263
Comments
We have had enquires regarding our plan to eliminate the deprecated dependencies. Whilst it still holds true they are not in any functional code path used by the Device Agent, the presence of the deprecation warnings is being flagged as a blocker to deploy the module for some users. Adding to the 2.8 scheduled to get resolved. |
Reviewing #306 it hit me that project nodes will require a similar fix and bump. dependency: https://github.com/FlowFuse/nr-project-nodes/blob/2344397452a694e9e6e0cd8c488083fb8a6cd5f6/package.json#L46 |
Just double checking how far are we going here? Drop 14 and 16 and go to 18 minimum or keep 16? |
Node 18 minimum - same as NR 4. |
As of May 23rd, the
inflight
module has been deprecated. This means users now see the following warning when they install the module:The module is deep in the
mqtt
module dependency tree (see below), but more importantly, it is not in the functional code path of the device agent. So our end users are in no way impacted.However, that install warning is alarming and has already triggered support questions within a day of the deprecation. Ideally we need to remove it from our dependency tree. However, that brings some complication.
The module is in the dependency tree of
[email protected]
. It is not in the dependency tree of[email protected]
- however, 5.x drops support for Node 14 - something we want to try to keep for some of the device manufacturers in the ecosystem. I think it is unlikely that themqtt
project will accept a patch for the 4.x stream - they haven't done any maintenance releases on it since 5.x was released two years ago.This was a somewhat inevitable outcome whilst trying to keep support for such an old version of node.js.
We have two options:
Moving forward, option 2 feels the only way forward. Node 14 is very old and this is only going to be the first of many such cases where fixes are not made available in older versions of our dependencies.
I propose we bump the Device Agent to 3.x. We can still support Device Agent 2.x on Node 14, but will be in maintenance mode (unless there is a specific business need to backport something).
The text was updated successfully, but these errors were encountered: