Start here. This is the direct spoken answer to practice first.
Why this question matters
Versioning helps teams and consumers understand release impact. For applications, packages, and APIs, the meaning of a version should be consistent enough to support release decisions.
Semantic versioning usually follows MAJOR.MINOR.PATCH. A patch version is for backward-compatible fixes, a minor version is for backward-compatible features, and a major version indicates breaking changes. It is especially important for shared libraries, APIs, SDKs, and packages consumed by other teams. For internal applications, versioning still helps trace what is deployed.