Loading...
Preparing your workspace
Loading...
Preparing your workspace
Calculate semantic version numbers based on changes. Determine next version (major, minor, patch) from commit history, breaking changes, and feature additions. Includes version comparison and range calculation.
Note: AI can make mistakes, so please double-check it.
Learn what this tool does, when to use it, and how it fits into your workflow.
Semantic Version Calculator helps you determine the next version number for your project. You enter your current version and describe your changes. The tool calculates the next version following semantic versioning rules. It explains why each version type fits your changes.
Deciding version bumps is hard. You must understand semantic versioning rules. You must classify changes correctly. You must communicate impact to users. Making mistakes confuses users and breaks dependencies.
This tool solves these problems. It analyzes your change descriptions. It suggests appropriate version bumps. It provides context-aware explanations. It generates ready-to-use version numbers and commands.
This tool is for developers managing project versions. It is for release managers planning updates. It is for anyone using semantic versioning. You need basic knowledge of version numbers. You do not need advanced skills.
Semantic versioning uses three numbers: major.minor.patch. Major version increases for breaking changes. These changes break existing code. APIs change incompatibly. Features are removed. Major bumps reset minor and patch to zero.
Minor version increases for new features. These features are backward compatible. Existing code still works. New functionality is added. Minor bumps reset patch to zero.
Patch version increases for bug fixes. These are small changes. No new features are added. Bugs are fixed. Existing functionality improves. Patch bumps only increase the patch number.
Different project types have different considerations. Libraries affect other projects. Breaking changes require major bumps. APIs serve external clients. Changes must be carefully classified. Applications affect end users. User-facing changes matter most.
People struggle with version decisions manually. They do not know which type to choose. They misunderstand breaking changes. They forget to reset lower numbers. They do not consider project context. This causes version confusion.
Change classification is subjective. What counts as breaking? What counts as a feature? What counts as a fix? Different people classify differently. This leads to inconsistent versioning.
This tool automates the decision process. You describe your changes in plain language. The tool analyzes the description. It suggests major, minor, or patch. It explains why based on your project type. It calculates the exact next version number.
Developers prepare releases. They describe changes made since last version. They use AI analysis to get suggestions. They review explanations for their project type. They copy the calculated version. They update project files.
Release managers plan version updates. They review change descriptions from teams. They use the tool to classify changes. They ensure consistent versioning across projects. They maintain version standards.
Library maintainers decide version bumps. They consider impact on users. They use Library preset for context. They check if changes break compatibility. They choose appropriate bump types.
API developers version endpoints. They use API preset for context. They classify endpoint changes. They ensure client compatibility. They communicate changes clearly.
Application developers version releases. They use Application preset for context. They consider user-facing changes. They classify feature additions and fixes. They maintain clear version progression.
Teams standardize versioning. They use the tool to ensure consistency. They follow semantic versioning rules. They maintain clear version communication. They avoid version confusion.
Version parsing extracts major, minor, and patch numbers. The tool removes "v" prefix if present. It extracts core version numbers. It validates number ranges. It handles pre-release and build metadata.
Major bump calculation increases major by one. It sets minor to zero. It sets patch to zero. For example, 1.2.3 becomes 2.0.0. Lower numbers reset completely.
Minor bump calculation increases minor by one. It keeps major unchanged. It sets patch to zero. For example, 1.2.3 becomes 1.3.0. Only patch resets.
Patch bump calculation increases patch by one. It keeps major and minor unchanged. For example, 1.2.3 becomes 1.2.4. No numbers reset.
AI analysis processes change descriptions. It identifies keywords indicating breaking changes. It detects new feature mentions. It recognizes bug fix language. It classifies changes as major, minor, or patch.
Context-aware explanations vary by preset. Library explanations focus on API compatibility and consumer impact. API explanations focus on client contracts and endpoint changes. Application explanations focus on user workflows and feature changes.
Strict mode adds compliance notes. Explanations include strict semantic versioning reminders. This emphasizes compatibility expectations. It helps maintain versioning standards.
Git tag generation adds "v" prefix. It formats versions as "v1.2.3". This matches Git tag conventions. Commands are ready to execute.
NPM command generation creates version update commands. It formats as "npm version patch" or similar. Commands update package.json automatically. They follow NPM versioning conventions.
Validation checks version format. It ensures numbers are valid. It checks ranges are reasonable. It prevents calculation errors. Invalid versions show error messages.
Description validation checks length. Minimum 3 characters for AI analysis. Maximum 2000 characters to prevent excessive input. Length tracking shows current count. This ensures useful descriptions.
Write clear change descriptions. Be specific about what changed. Mention breaking changes explicitly. Describe new features clearly. Explain bug fixes accurately. Good descriptions improve AI suggestions.
Choose the correct project preset. Library for packages used by other projects. API for services with external clients. Application for end-user software. Correct preset provides relevant explanations.
Use AI analysis as guidance. AI suggestions are helpful but not perfect. Review suggestions carefully. Override if you know better. Use your judgment for final decisions.
Consider breaking change impact. Major bumps communicate significant changes. Use them when APIs change incompatibly. Use them when features are removed. Use them when behavior changes significantly.
Use minor bumps for new features. These features are backward compatible. Existing code continues working. New functionality is added. Users can opt-in to new features.
Use patch bumps for bug fixes. These are small changes only. No new features added. Bugs are fixed. Performance improves. Security issues are patched.
Enable strict mode for libraries. Libraries affect many projects. Strict versioning prevents confusion. Clear compatibility communication matters. Follow semantic versioning precisely.
Update all version references. After calculating, update package.json, pom.xml, and other files. Ensure consistency across project. Do not miss any files.
Use Git tags for releases. Copy Git tag commands. Create tags for each release. Tag major versions especially. This helps track project history.
Use NPM commands for Node.js projects. Copy NPM version commands. Run them to update package.json automatically. This ensures consistency.
AI analysis requires backend service. It may be unavailable sometimes. If analysis fails, select bump type manually. Use your knowledge of semantic versioning.
Description length is limited. Keep descriptions under 2000 characters. Be concise but complete. Include key information only. Remove unnecessary details.
Version format must be valid. Use standard x.y.z format. Include all three numbers. Do not skip parts. Invalid formats prevent calculations.
Review explanations carefully. They provide context for decisions. Understand why each bump type fits. Learn semantic versioning principles. Improve your versioning skills.
Summary: Calculate semantic version numbers based on changes. Determine next version (major, minor, patch) from commit history, breaking changes, and feature additions. Includes version comparison and range calculation.
Try a sample:
Common questions about this tool
Enter your current version and describe changes (breaking changes, new features, bug fixes). The calculator determines the next version following semantic versioning: major for breaking changes, minor for features, patch for fixes.
Semantic versioning uses MAJOR.MINOR.PATCH format. Major version increments for breaking changes, minor for backward-compatible features, patch for backward-compatible bug fixes. It helps communicate change impact.
Yes, you can analyze commit messages (especially conventional commits) to determine version bumps. Breaking changes trigger major bumps, feat: commits trigger minor bumps, fix: commits trigger patch bumps.
Yes, the calculator can compare versions, determine which is newer, calculate version ranges, and check if versions satisfy dependency requirements (e.g., ^1.2.3, ~1.2.3).
The calculator supports caret ranges (^1.2.3), tilde ranges (~1.2.3), exact versions, and comparison operators (>, <, >=, <=). It helps determine compatible versions for dependencies.
Stay tuned for helpful articles, tutorials, and guides about this tool. We regularly publish content covering best practices, tips, and advanced techniques to help you get the most out of our tools.