Doc: update versioning policy
Enable "pre-release identifiers" and add information on hierarchical
versioning scheme.
Change-Id: If1bd29d2e3d8a97cbcbefd504fbf4f042f695fd8
Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
diff --git a/docs/deployments/libraries.rst b/docs/deployments/libraries.rst
index 2e60d86..25902ef 100644
--- a/docs/deployments/libraries.rst
+++ b/docs/deployments/libraries.rst
@@ -4,6 +4,8 @@
other deployments or external applications. The following library deployments
are currently supported:
+.. _libs-libts:
+
libts
-----
Userspace applications that depend on trusted services may use *libts* for handling
@@ -29,6 +31,8 @@
* - Used by
- * Userspace applications
+.. _libs-libsp:
+
libsp
-----
*libsp* provides a functional interface for using FF-A messaging and memory
diff --git a/docs/project/versioning_policy.rst b/docs/project/versioning_policy.rst
index d57057f..c176db3 100644
--- a/docs/project/versioning_policy.rst
+++ b/docs/project/versioning_policy.rst
@@ -5,25 +5,34 @@
project. It tells the meaning of each part, where the version information is
captured and how it is managed.
-Summary
--------
+Format of version IDs
+---------------------
The version identifier identifies the feature set supported by a specific
release, and captures compatibility information to other releases.
This project uses "Semantic Versioning", for details please refer to |SEMVER|.
-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.
+The version number is constructed from three numbers, and an optional
+pre-release identifier. The `MAJOR` number is changed when incompatible API
+changes are introduced, the `MINOR` version when new functionality is added in a
+backward compatible manner, and the `PATCH` version when backwards compatible
+bug fixes are added. The pre-release identifier is appended after the numbers
+separated with a ``-`` and can be the string ``alpha`` or ``beta``.
-Each release will get a unique release id assigned. When a release is made, the
+Each release will get a unique version 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.
+Version ID hierarchy
+--------------------
+
+The project hosts multiple components which can be used separately and thus need
+compatibility information expressed independently. Such components get a
+dedicated version ID. Examples are :ref:`libs-libsp` and :ref:`libs-libts`.
+
+Components are never released standalone but only part of a TS release. In that
+sense a set of independent component version IDs are assigned to a TS release ID.
Storage and format
------------------
@@ -42,6 +51,6 @@
.. _`Semantic Versioning`: https://semver.org/spec/v2.0.0.html
-*Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.*
+*Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.*
SPDX-License-Identifier: BSD-3-Clause