Problem Statement
What is semantic versioning (semver)?
Explanation
Semantic versioning (semver) is a versioning scheme using three-part version numbers: MAJOR.MINOR.PATCH (e.g., 2.3.1). MAJOR version increments for incompatible API changes (breaking changes), MINOR version increments for backwards-compatible new features, PATCH version increments for backwards-compatible bug fixes.
Example: version 1.4.2 means major version 1, minor version 4 (4 feature releases since 1.0.0), patch 2 (2 bug fixes since 1.4.0). Incrementing to 2.0.0 indicates breaking changes, 1.5.0 adds new features, 1.4.3 fixes bugs. Pre-release versions use suffix: 1.0.0-alpha, 1.0.0-beta.1, 1.0.0-rc.1.
CI/CD integration: automatically increment version based on commit messages (conventional commits), tag releases with version, use version in artifact names. Tools like semantic-release automate versioning based on commit history. Benefits include clear communication of change impact, predictable dependency management, automated release workflows. Understanding semver enables proper version management in software lifecycle.
