Drop official support for Node.js v5 and v7?
See original GitHub issueThere have long been an issue with the latest version of Node.js 7 (v7.10.x) that means we cannot instrument it properly as all net.connect
calls uses an internal function call that cannot be patched. This issue was fixed in 8.x, but the fix was never back-ported to the 7.x branch. So we only support up to version 7.9.0 on the 7.x branch.
Currently we have pinned our CI servers to test against Node.js version 7.9.x instead of 7.x, but that’s not really a realistic scenario as people who still run version 7 would most likely run the latest version.
So maybe we should consider completely dropping support for version 7 (and 5 while we’re at it) so that we don’t waste time testing these versions on CI?
For reference, here’s the official end-of-life dates for all the major Node.js versions:
Release | Initial Release |
LTS Start |
Maintenance Start |
End-of-Life | EoL Status |
---|---|---|---|---|---|
v0.10 | 2013-03-11 | 2016-10-31 | |||
v0.12 | 2015-02-06 | 2016-12-31 | |||
v4 | 2015-09-08 | 2015-10-12 | 2017-04-01 | 2018-04-30 | |
v5 | 2015-10-29 | 2016-04-30 | 2016-06-30 | ||
v6 | 2016-04-26 | 2016-10-18 | 2018-04-30 | 2019-04-01 | |
v7 | 2016-10-25 | 2017-04-30 | 2017-06-30 | ||
v8 | 2017-05-30 | 2017-10-31 | Apr 2019 | Dec 2019 | |
v9 | 2017-10-01 | Apr 2018 | Jun 2018 | ||
v10 | Apr 2018 | Oct 2018 | Apr 2020 | Apr 2021 |
Issue Analytics
- State:
- Created 6 years ago
- Reactions:3
- Comments:9 (8 by maintainers)
Top GitHub Comments
I would also suggest communicating that we officially follow the same deprecation cycle as Node.js core. That way it’s clear beforehand when support for a given version will be dropped.
Yeah, I think we should support all Node.js versions that are in maintenance mode as well (i.e. also v4). I don’t think we should differentiate in our level of support for active vs LTS vs maintenance mode. A lot of companies run Node.js versions in maintenance mode for production applications and it’s perfectly safe to do so.
#168 looks fine. We’ll also need to update the compatibly section of our docs and the
engine
field:https://github.com/elastic/apm-agent-nodejs/blob/277d4628bb75de794350bd65fe4acdfa997e381b/package.json#L29-L31