← back to flaviocopes.com

Semver advisor

← All tools

Part 1: what version bump does your change deserve? Part 2: what does a package.json range actually allow? Includes the 0.x special case where breaking changes bump minor, not major.

~~~

Version bump

What changed?

Next version

~~~

Range explainer

^ vs ~ at a glance

Base^ (caret)~ (tilde)
~~~

About this tool

Semantic versioning: MAJOR.MINOR.PATCH. Bump major when you break compatibility, minor for new compatible features, patch for fixes. At 0.y.z the rules shift — the public API is still settling, so breaking changes typically bump minor until 1.0.0.

npm ranges (^, ~, compounds) control what npm update can pull. Caret is the default in package.json — permissive within a major. Tilde is patch-only on the same minor line.

~~~

Read more