Explore our collection of 150+ developer tools, PDF editors, and image converters. Everything runs locally in your browser.
Ubify Financial Advisory Board
FINANCIAL ANALYSTS & CPA REVIEWERS
About This Tool
The SemVer Version Bumper & Dependency Sizer calculates prospective release numbers and package version resolution ranges according to Semantic Versioning 2.0.0 specifications.
### Semantic Versioning 2.0.0 Increment Rules A standard version number follows the structural notation `MAJOR.MINOR.PATCH`: - Patch Increment (`vX.Y.Z+1`): Applies to backwards-compatible bug fixes. Increments the patch integer without modifying major or minor numbers: $$\text{Next Patch} = X.Y.(Z + 1)$$ - Minor Increment (`vX.Y+1.0`): Applies when adding new backwards-compatible functionality. Increments the minor number and resets patch to 0: $$\text{Next Minor} = X.(Y + 1).0$$ - Major Increment (`vX+1.0.0`): Applies when introducing incompatible API changes or breaking updates. Increments major and resets both minor and patch to 0: $$\text{Next Major} = (X + 1).0.0$$
### Dependency Range Resolution Formulas - Caret Range (`^X.Y.Z`): Accepts all minor and patch updates that do not modify the left-most non-zero digit. For $X \ge 1$, it resolves versions where $\text{Version} < (X + 1).0.0$. - Tilde Range (`~X.Y.Z`): Accepts patch updates only within the current minor version. Resolves versions where $\text{Version} < X.(Y + 1).0$.
### Worked Numeric Example Consider a package currently published at version `1.4.2`: - Current Version: `v1.4.2` - Next Release Candidates: - Patch Bug Fix: `v1.4.3` (No breaking changes, zero feature additions) - Minor Feature Release: `v1.5.0` (New feature added, resets patch to 0) - Major Breaking Release: `v2.0.0` (API breaking changes, resets minor and patch) - Caret Range Evaluation (`^1.4.2`): Matches any version $\ge 1.4.2$ and $< 2.0.0$.
### Client-Side Version Modeling All version increment calculations, range validations, and string formatting operate entirely within client-side JavaScript with zero external telemetry.
How to Use
- 1
Enter your current Major, Minor, and Patch version numbers.
- 2
Review prospective release tags for Next Patch (bug fix), Next Minor (feature), and Next Major (breaking).
- 3
Check package manager range compatibility for npm caret (^) and tilde (~) dependencies.
- 4
Copy the required version tag for your Git release or package.json manifest.
Frequently Asked Questions
What is the key difference between npm caret (^) and tilde (~)?
Tilde (~) restricts updates to patch releases within the same minor version (~1.4.2 allows up to 1.4.99). Caret (^) permits both minor and patch releases without bumping major (^1.4.2 allows up to 1.99.99).
How does SemVer handle pre-1.0.0 development releases?
In 0.y.z releases, any change can be breaking. Package managers treat ^0.4.2 as strictly < 0.5.0, since the left-most non-zero digit is considered the breaking boundary.
Are my repository names or package version numbers uploaded to a server?
No. All calculations run strictly in client-side JavaScript.