| Versioning policy |
| ================== |
| |
| This document captures information about how the version identifier of the |
| |TFACMF| is built up, what is the meaning of each part, where the version |
| information is captured and how it is managed. |
| |
| Summary |
| ------- |
| |
| The version identifier identifies the feature set supported by a specific |
| release of the |TFACMF|, and captures compatibility information to other |
| releases. |
| |
| This project uses "Semantic Versioning v2.0". For details please refer to |
| |SMVC| v2.0. |
| |
| In general the version number is constructed from three numbers. The `MAJOR` |
| number is changed when incompatible API changes are introduced, the `MINOR` |
| version when you functionality is added in a backward compatible manner, and |
| the `PATCH` version when backwards compatible bug fixes are added. |
| |
| Each release will get a unique release id assigned. When a release is made, the |
| version number will get incremented in accordance with the compatibility rules |
| mentioned above. |
| |
| This project is only using the core version and will not use pre-release or |
| build specific metadata extension. |
| |
| Storage and format |
| ------------------ |
| |
| The version number of each release will be stored at two locations: |
| #. In a tag of the version control system in the form of "vX.Y.Z" where X Y |
| and Z are the major, minor and patch version numbers. |
| #. In a file called version.txt. This file uses ASCII encoding and will |
| contain the version number as "X.Y.Z" where X Y and Z are the major, |
| minor and patch version numbers. |
| |
| .. note:: The version id is independent from version identifiers of the |
| versioning system used to store the |TFACMF| (i.e. git). |
| |
| -------------- |
| |
| .. |SMVC| replace:: `Semantic Versioning`_ |
| .. _`Semantic Versioning`: https://semver.org/spec/v2.0.0.html |
| |
| *Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.* |
| |
| SPDX-License-Identifier: BSD-3-Clause |