Repository navigation
fix: restore Node 18 support after security dependency updates - #1495
Merged
Merged
Conversation
fastify 5.12 stopped closing idle keep-alive sockets on close() unless a serverFactory is used, relying on Node 19+ server.close() behaviour. On Node 18 the dev server's stop() hung until the keep-alive timeout. Force closing connections restores the pre-5.12 behaviour. @rsdoctor/rspack-plugin 1.6.4 pulls in rslog 2.3.0, which throws on import under Node < 20. The tester app now only imports it when RSDOCTOR is set.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: 42e7abe The changes in this PR will be included in the next version bump. This PR includes changesets to release 6 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
#1486 broke the Node 18 job in Test Main Matrix on
main. Two of its upgrades are responsible:fastify5.12 (affects users). Since fastify 5.12.0, the defaultforceCloseConnections: 'idle'only closes idle keep-alive sockets when aserverFactoryis used. Otherwise fastify relies onserver.close()to close them, and Node only does that from v19. On Node 18 the dev server'sstop()hangs until the keep-alive timeout (72s). fastify 5.11.0 shuts down fine on Node 18 and 5.12.0 hangs.@callstack/repack-dev-serverdeclaresnode >=18, so this affects real users too. The dev server now setsforceCloseConnections: true, which matches how 5.11 shut down (it calledcloseAllConnections()). Going back to an older fastify isn't possible, because the advisories need 5.12.5.@rsdoctor/rspack-plugin1.6.4 (tester app only). It depends onrslog@2.3.0, which throws on import under Node < 20. The tester app's rspack config imported it at the top of the file, so every config load failed on Node 18. The config now imports it only whenRSDOCTORis set.Test plan
packages/dev-servertests pass on Node 18 and 24apps/tester-apptests (bundle, start, lazy-compilation) pass on Node 18 and 24; before this change they failed on Node 18biome checkon changed files