There’s a special rule in SemVer that states when the leading major version is 0, every minor version bump is considered breaking.
https://semver.org/#spec-item-4
NPM handles 0.x.y versions of packages differently from 1+.x.y
https://github.com/npm/node-semver#caret-ranges-123-025-004
Several major packages are still on 0.x.y and (ab)use this feature when updating without "committing" to a major version.