honeybadger-js icon indicating copy to clipboard operation
honeybadger-js copied to clipboard

End support for Node.js v14

Open subzero10 opened this issue 1 year ago • 7 comments

Node.js v14 Security Support ended in April 30th, 2023.

We should:

  • add support checks in our CI for Node.js v20 (current LTS)
  • remove v14 from CI pipelines
  • set "engines" field in package.json files to ">=16.0.0"

subzero10 avatar Dec 30 '23 09:12 subzero10

cc @joshuap

subzero10 avatar Dec 30 '23 09:12 subzero10

This should be a major version upgrade.

Will dropping support break any of our actual APIs? I don't think we need to release a version at all just for CI changes. We should update our supported versions docs though.

joshuap avatar Jan 03 '24 03:01 joshuap

Will dropping support break any of our actual APIs? I don't think we need to release a version at all just for CI changes. We should update our supported versions docs though.

No, it won't break any of our APIs today. Here's why we might consider a major version, though I'm open to take the slightly riskier path:

  • Removing Node.js v14 from our CI means that we will stop testing against it.
  • A subsequent change might not be supported with Node.js v14 and we will not know it until it's reported by someone. In this case, we treat each issue case by case and we let affected people to lock to a specific version until we come up with a patch (if possible) or ask them to consider upgrading to the next supported version of Node.js. Usually issues like these are easy to spot (clear error message), but not always.

For example, a few weeks ago, my local npm version (the one that comes with Node.js v18) generated package-lock.json files that would cause the CI to fail for Node.js v14. I had to switch to Node.js v16 and try again.

Additionally, I've seen other npm packages do the same, such as Lerna. Lerna dropped support for Node.js v10 and v12 with Lerna v5, though v5 (coincidentally) continued to work with Node.js v12. It was only at Lerna v6 that Node.js v12 wouldn't be compatible.

Nevertheless, I'm perfectly happy avoiding the major version bump; we just have to be on the same page about what it means.

subzero10 avatar Jan 04 '24 08:01 subzero10

If it works out to do a version bump, I'm OK with that. It just seems strange if it were the only reason for the major version.

joshuap avatar Jan 04 '24 20:01 joshuap

Yeah, I agree. The major version bump is the safer route, but we don't have to do it. In fact, I'd rather we don't because there are no changes to our API. I updated the PR description and removed the mention of a major version bump.

subzero10 avatar Jan 05 '24 10:01 subzero10

We should update our supported versions docs though.

Our block on supported versions is quite future-proof, no change needed 😄 :

@honeybadger-io/js supports all currently maintained Node.js releases.

subzero10 avatar Jan 05 '24 10:01 subzero10

We should update our supported versions docs though.

Our block on supported versions is quite future-proof, no change needed 😄 :

@honeybadger-io/js supports all currently maintained Node.js releases.

haha, :shipit:

joshuap avatar Jan 16 '24 17:01 joshuap