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

bumping the engines.node version in v6.0.1 was a breaking change #355

Closed
zburke opened this issue Aug 30, 2023 · 2 comments
Closed

bumping the engines.node version in v6.0.1 was a breaking change #355

zburke opened this issue Aug 30, 2023 · 2 comments

Comments

@zburke
Copy link

zburke commented Aug 30, 2023

Current behaviour 💣

#353 introduced breaking changes by raising the engines.node version from >= 14 to >= 16, and this change was published in a patch release (v6.0.1) instead of a major release (v7.0.0). This means anybody running node < v16 with a ^6.0.0 or ~6.0.0 dependency on favicons-webpack-plugin will no longer be able to build their module, even without making any code changes whatsoever.

Expected behaviour ☀️

Patch releases do not contain breaking changes, i.e. v6.0.1 should run in every environment where v6.0.0 runs.

Reproduction Example 👾

$ node --version
v14.21.3

$ yarn add [email protected] 
yarn add v1.22.19
warning package.json: No license field
warning [email protected]: No license field
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning " > [email protected]" has incorrect peer dependency "webpack@^5.20.0".
warning "webpack-dev-server > [email protected]" has incorrect peer dependency "webpack@^4.0.0".
warning "favicons-webpack-plugin > [email protected]" has incorrect peer dependency "webpack@^5.20.0".
[4/4] 🔨  Building fresh packages...

warning [email protected]: No license field
success Saved 0 new dependencies.
✨  Done in 1.49s.

$ yarn add [email protected] 
yarn add v1.22.19
warning package.json: No license field
warning [email protected]: No license field
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
error [email protected]: The engine "node" is incompatible with this module. Expected version ">=16". Got "14.21.3"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

$ echo $?
1

Environment 🖥

Node.js v14.21.3
darwin 22.6.0

@andy128k
Copy link
Collaborator

Node.js v14 reached end-of-life 2023-04-30.

@zburke
Copy link
Author

zburke commented Aug 31, 2023

@andy128k, I understand that Node.js v14 reached EOL a while ago (and that Node.js v16 will reach EOL in a few weeks). It's great to see that you are paying attention to that and keeping your dependencies current. Dropping support for Node.js v14 is totally TOTALLY fine, but it should have been done in a major release. Raising the minimum supported version of engines.node is analogous to raising the minimum supported version of a peer dependency; this is a breaking change.

v6.0.1 should run in all the same environments where v6.0.0 runs, but it doesn't. That means v6.0.1 wasn't actually a patch release, it was a mis-labeled major release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants