Skip to content
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

Version 10.3.1 drops support for Node 14 and 16 #340

Closed
Lms24 opened this issue Jul 8, 2024 · 6 comments
Closed

Version 10.3.1 drops support for Node 14 and 16 #340

Lms24 opened this issue Jul 8, 2024 · 6 comments

Comments

@Lms24
Copy link

Lms24 commented Jul 8, 2024

Commit 1aa58f9 introduced a min Node version bump to Node 18, meaning support for 14 and 16 was dropped in a minor release. This just completely broke our CI (along with the same change in glob as reported in isaacs/node-glob#596).

For the moment we can work around this with a dependency resolution override but I'd ask to only drop Node version support in a major version. I'm sure we're not the only ones affected by this.

@Lms24 Lms24 changed the title Version 10.4.0 drops support for Node 14 and 16 Version 10.3.1 drops support for Node 14 and 16 Jul 8, 2024
@ErikKhasanov
Copy link

I confirm, my build broke on the node version 16.x

@ErikKhasanov
Copy link

I added dependency fixing for my package.json, but this is a temporary solution
"resolutions": {
    "lru-cache": "10.3.0",
    "glob": "10.4.2",
    "jackspeak": "3.4.0"
},

@erikkristiaan
Copy link

Same here, this also broke our build. Not sure why a breaking change was introduced with a patch.

@icefire1987
Copy link

I added dependency fixing for my package.json, but this is a temporary solution
"resolutions": {
    "lru-cache": "10.3.0",
    "glob": "10.4.2",
    "jackspeak": "3.4.0"
},

You saved me, thanks!

@Lms24
Copy link
Author

Lms24 commented Jul 8, 2024

In our case, the following override fixed things for us. We couldn't globally set versions for lru-cache and glob since some of our deps depended on multiple older major versions. In case anyone else is stuck in a similar situation, I recommend going through your lock file and identifying which packages need the specific major versions and only pin for those:

"resolutions": {
    "@sentry/remix/glob": "<10.4.3",
    "jackspeak": "<3.4.1",
    "**/path-scurry/lru-cache": "10.2.0"
},

Lms24 added a commit to getsentry/sentry-javascript that referenced this issue Jul 8, 2024
… compatibility changes in dependencies (#12793)

This PR fixes our broken Remix v1 @ Node 16 integration test. Over the
weekend, the following transitive dependencies received minor and patch
releases which removed support for EOL Node versions.

- `glob` (isaacs/node-glob#596)
- `lru-cache` (isaacs/node-lru-cache#340)
- `jackspeack` (isaacs/jackspeak#13)

IMO this, despite the dropped versions being EOL, is a breaking change
and a major inconvenience for a lot of users. I added comments/opened
issues with the request to revert the Node version drops and do it in a
major version instead. We're by far not the only affected ones. As our
tests show, at least everyone using Remix@1 on Node 16 will be broken by
this.

To fix, I added dependency resolutions, mostly scoped to specific
packages that depend on one of the three packages. Global overrides for
`glob` and `lru-cache` did not work because we have multiple
dependencies depending on different major versions of said packages.
@isaacs
Copy link
Owner

isaacs commented Jul 8, 2024

https://nodejs.org/en/blog/announcements/nodejs16-eol/

It's been EOL for 10 months. Pin your deps and only upgrade carefully if you are using EOL platform versions.

@isaacs isaacs closed this as completed Jul 8, 2024
Repository owner locked and limited conversation to collaborators Jul 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants