@@ -16,13 +16,14 @@ There are two primary approaches for maintaining versioning:
1616* Utilizing a :file: `VERSION ` file as detailed on the :ref: `app-version-details ` page of the Zephyr Project documentation.
1717 This method involves defining the version information in a specific file format.
1818
19- * Implementing dedicated Kconfig configurations.
20- This approach uses Kconfig system configurations to set and manage the versioning details.
19+ * Utilizing dedicated Kconfig configurations.
20+ This approach uses Kconfig options to set and manage the versioning details.
2121
2222Choose the approach that best aligns with your project requirements and infrastructure.
2323
2424.. note ::
25- These approaches should not be used simultaneously.
25+ These approaches cannot be used simultaneously.
26+ The Kconfig options for configuring the versioning details are unavailable if the :file: `VERSION ` file is present.
2627
2728Using :file: `VERSION ` file
2829**************************
@@ -35,6 +36,7 @@ To implement versioning based on a :file:`VERSION` file, you must create a file
3536 VERSION_MINOR =
3637 PATCHLEVEL =
3738 VERSION_TWEAK =
39+ EXTRAVERSION =
3840
3941 .. note ::
4042 You must assign a value to at least one of the variables.
@@ -48,13 +50,20 @@ For example:
4850 VERSION_MINOR = 5
4951 PATCHLEVEL = 99
5052 VERSION_TWEAK = 0
53+ EXTRAVERSION = dev
5154
52- A :file: `VERSION ` file is responsible for assigning values in the following format for:
55+ The :file: `VERSION ` file is used to derive the firmware version in the following format for:
5356
54- * MCUboot version : ``MAJOR . MINOR . PATCHLEVEL + TWEAK ``.
55- The above example would be formatted as ``2 . 5 . 99 + 0 ``.
56- * Matter OTA: in the 32-bit integer where each variable is 8 bits long .
57+ * MCUboot image : ``MAJOR. MINOR. PATCHLEVEL+ TWEAK ``.
58+ The above example would be formatted as ``2.5.99+ 0 ``.
59+ * Matter OTA image: 32-bit integer where each numeric variable is represented by 8 bits within the integer .
5760 The above example would be formatted as ``0x02056300 ``.
61+ * Informational purposes, for example displayed in the ecosystem applications:
62+
63+ * If ``EXTRAVERSION `` is non-empty: ``MAJOR.MINOR.PATCHLEVEL-EXTRA+TWEAK ``.
64+ The above example would be formatted as ``2.5.99-dev+0 ``.
65+ * Otherwise: ``MAJOR.MINOR.PATCHLEVEL+TWEAK ``.
66+ The above example would be formatted as ``2.5.99+0 ``.
5867
5968Using Kconfig options
6069*********************
0 commit comments