WiseLibs / better-sqlite3

The fastest and simplest library for SQLite3 in Node.js.
MIT License
5.44k stars 395 forks source link

Stop building and testing against Node `v16` (runtime EOL) #1061

Closed m4heshd closed 12 months ago

m4heshd commented 1 year ago

Node v16 reached its EOL today. It's better not to build for unsupported runtimes on future releases.

This also removes building for Electron versions that ship with Node v16. This might seem a bit extreme but this limits a lot of issues in building going forward (like we faced in the past). It also significantly reduces the build time in releases. It already feels too much.

Prinzhorn commented 1 year ago

Electron 22 has EOL in four weeks and Electron 23 already had it's EOL in August and 24 EOL in 3 weeks (the EOL overlaps weirdly because 22 had extended EOL because Windows 7 was dropped). So maybe we remove 23 and 24 as well and merge this in four weeks?

https://endoflife.date/electron

m4heshd commented 1 year ago

@Prinzhorn We discussed this a bit in https://github.com/WiseLibs/better-sqlite3/pull/1042#issuecomment-1682190617. I still think we could keep building for actively maintained embedded Node runtimes since that's the requirement for native modules that actually matter. But definitely worth discussing further with the maintainers since the Electron release and EOL schedule could make build scripts quite messy and expensive.

Expecting some input from @mceachen.

mceachen commented 1 year ago

I’m a bit jaded here.

I’m personally much more hesitant to drop electron builds over node builds, simply because node version-to-version stability is substantially better than electron. PhotoStructure is (still!) stuck on electron v21 due to chromium rendering bugs and is-specific issues I’ve found in later versions, but happily runs on all versions of node v14+.

That said, only supporting supported versions of node and electron would seem to be the best policy for this project, if only to reduce build times and reduce (if only by a tiny bit) the number of supported environments.

That said, I suspect there to be an explosion of new installation issues opened shortly after releasing this due to users not being able to follow the build FAQ. That reason alone makes me feel like we should keep the existing build targets a while longer.

m4heshd commented 1 year ago

PhotoStructure is (still!) stuck on electron v21 due to chromium rendering bugs and is-specific issues I’ve found in later versions

I can fully get behind this reasoning because the amount of regressions in Electron currently getting ignored is mind-blowing. Had to completely ditch Electron.

That said, I suspect there to be an explosion of new installation issues opened shortly after releasing this due to users not being able to follow the build FAQ. That reason alone makes me feel like we should keep the existing build targets a while longer.

That would be absolutely fine since no dependency updates were done after the EOL. There's a meager chance of failure. Let's keep this open till the time comes then.

m4heshd commented 12 months ago

@mceachen done.