blob: 90d54f0974a9d2fa6466e759c0f8b6c3498acc82 [file] [log] [blame]
Imre Kisa21712e2019-10-08 12:56:59 +02001Versioning policy
2==================
3
4This document captures information about the version identifier used by the project. It tells the meaning of each part, where
5the version information is captured and how it is managed.
6
7Summary
8-------
9
10The version identifier identifies the feature set supported by a specific release, and captures compatibility information to
11other releases.
12
13This project uses "Semantic Versioning", for details please refer to |SEMVER|.
14
15In general the version number is constructed from three numbers. The `MAJOR` number is changed when incompatible API changes are
16introduced, the `MINOR` version when you functionality is added in a backward compatible manner, and the `PATCH` version when
17backwards compatible bug fixes are added.
18
19Each release will get a unique release id assigned. When a release is made, the version number will get incremented in
20accordance with the compatibility rules mentioned above.
21
22This project is only using the core version and will not use pre-release or build specific metadata extension.
23
24Storage and format
25------------------
26
27The version number of each release will be stored at two locations:
28 #. 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
29 numbers.
30 #. 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
31 Z are the major, minor and patch version numbers.
32
33.. note:: The version id is independent from version identifiers of the
34 versioning system used to store the |FTB| (i.e. git).
35
36--------------
37
38.. _`Semantic Versioning`: https://semver.org/spec/v2.0.0.html
39
40*Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.*
41
42SPDX-License-Identifier: BSD-3-Clause