Versioning
Versioning is the practice of assigning version identifiers to software, packages, plugins, APIs, or releases so changes can be tracked over time.
It helps teams communicate what changed, how risky an upgrade might be, and how one release relates to another.
What it does
Versioning gives structure to release history.
It is commonly used to:
- Identify specific releases
- Communicate upgrade scope and risk
- Support dependency management
- Track compatibility over time
- Organize changelogs, support, and maintenance work
Core concepts
Version identifier
A version can be a number, label, or structured pattern that distinguishes one release from another.
Change communication
Good versioning helps people understand whether a release is likely to be small, feature-oriented, or compatibility-breaking.
Versioning schemes
Different projects use different systems.
One of the most common schemes is SemVer, which uses major version, minor version, and patch numbers.
Common use cases
- Plugin and library releases
- API versioning
- Application release tracking
- Dependency upgrades
- Changelog and support workflows
Practical notes
- Versioning is useful because it creates a shared language around change.
- A version number is only as useful as the discipline behind it.
- In software ecosystems such as WordPress, versioning helps users decide when to update and how cautiously to treat an upgrade.
- Teams usually care most about versioning when planning a release, a deployment, or an upgrade with possible breaking changes.
Frequently Asked Questions
Is versioning the same as SemVer?
No. SemVer is one versioning scheme, not the whole idea of versioning.
Why does versioning matter?
Because it helps teams reason about change, compatibility, and upgrade risk.
What kind of software uses versioning?
Almost all modern software and digital products use some form of versioning.