App Versioning Standards
App versioning standards are designed to ensure ordered development and to provide a clear, structured framework that prevents common development issues—such as unintentional overwrites, integration conflicts, and last-minute feature removals—while ensuring consistency across projects. Versioning apps brings key benefits across traceability, quality, collaboration, and flexibility:
It enables clear tracking of what was changed, when, and by whom—making it easier to audit versions, link changes to specific features, and build delivery reports.
It improves quality by isolating developments, preventing regressions, and streamlining testing and error resolution.
It supports collaborative work by allowing multiple developers to contribute in parallel without conflicts.
It offers flexibility to activate or deactivate features, adopt modern deployment strategies, and revert changes when needed without affecting the rest of the app.
These standards are specially designed for:
new projects that have not yet begun to be developed;
projects that do not have a defined versioning scheme and want to start implementing it; and
projects with a simple versioning scheme that begins to present challenges in the face of new customer needs.
What you'll find here
This documentation provides detailed information, best practices and additional considerations to choose a suitable and sustainable versioning approach for your project. It also highlights strategies to mitigate risks when versioning, how to handle non-versioned entities to avoid inconsistencies and how to define a working approach to incorporate them into the versioning scheme.
To achieve this, documentation is subdivided into categories for you to follow during the branching and integration processes.
Versioning Definition and Implementation: Definitions on when to branch in a project.
Versioning Schemes: In-depth description of both versioning schemes, the feature-based and the trunk-based schemes, with pros and cons for each of them and a step-by-step implementation guide.
Integration: An integration guide with merge request creation and merging standards for your team to apply.
Conflicts resolution: A conflicts resolution guide, with information on how to detect the origin of a conflict, general conflicts resolution standards that apply to both versioning schemes, and standards exclusively to the feature-based scheme.
Additional documentation on how to protect branches, how to create version tags, how to compare developments and branches and how to revert a merge.
While adopting the proposed schemes may require considerable effort for projects that already have a versioning model in place, you must use this content to review your current versioning strategies and detect any opportunities for improvement.