Versioning
Versioning is the practice of systematically labelling and tracking successive versions of code, files, documents or interfaces. It lets you tell unambiguously which version you are dealing with, what changed between them, and, when needed, return to an earlier, proven state. It is one of the foundations of orderly work in software teams.
Version control systems
In software development, versioning is carried out by version control systems, the most popular of which is Git. They record the history of changes as successive revisions, allow many people to work on the same project without overwriting each other's changes, enable parallel branches of development and let those branches be merged back together. Each change is described and attributed to an author, so it is easy to trace when and why something was modified.
Versioning releases and APIs
Beyond code history, releases and interfaces are also versioned. Semantic versioning in the MAJOR.MINOR.PATCH format is widely used, where the number itself signals the nature of the changes: breaking, feature-adding or merely bug-fixing. In the case of an API, versioning makes it possible to introduce new capabilities without breaking integrations that already rely on an older version. Versioning is also closely tied to CI/CD processes, in which automation builds, tests and deploys specific, unambiguously labelled versions of an application or a framework. Consistent versioning reduces risk, eases rollback of faulty deployments and makes a project's development predictable — provided the same rules are applied across the whole team and lifecycle.
Powiązane pojęcia
Najczęstsze pytania
What do the numbers in semantic versioning mean?
In the MAJOR.MINOR.PATCH scheme, the first number rises for breaking changes, the second for backward-compatible new features and the third for bug fixes. So the number alone hints at the nature of the changes.
