Hacker News new | ask | show | jobs
by jiofih 1877 days ago
Semantic versioning was supposed to prevent breaking changes. I guess this is more akin to package-lock.json then.
1 comments

Yeah, conceptually the setting is intended to be closer to a lockfile than a semantic version.

Additionally, even with semantic versions, `engines` is often specified as something like `12 || 14 || >= 16`, so they span multiple major versions, which is where breaking changes can (and do) show up.