^3.0.0 --> ^4.0.0

caret handling has breaking changes, I don't want to separately install semver and semver-extra