Docs: Release notes for v2.3.0
Add notes for TF-Mv2.3.0 and related versioning updates.
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: Iaae41e36b25cd71abe63281bdc079e1471e6c68c
diff --git a/cmake/version.cmake b/cmake/version.cmake
index 25f4e55..c32e6d2 100644
--- a/cmake/version.cmake
+++ b/cmake/version.cmake
@@ -8,7 +8,7 @@
# TFM_VERSION_MANUAL is used as a fallback when Git tags aren’t available.
# The '**' is added on purpose to show that the version is uncertain in that case.
# Please keep it in place when updating.
-set(TFM_VERSION_MANUAL "2.2.2**")
+set(TFM_VERSION_MANUAL "2.3.0**")
execute_process(COMMAND git describe --always --candidates=1
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
diff --git a/docs/conf.py b/docs/conf.py
index fbf9926..4a582cb 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -20,7 +20,7 @@
# -- Project information -----------------------------------------------------
project = 'Trusted Firmware-M'
-copyright = '2017-2025, ARM CE-OSS'
+copyright = '2017-2026, ARM CE-OSS'
author = 'ARM CE-OSS'
title = 'User Guide'
diff --git a/docs/releases/2.3.0.rst b/docs/releases/2.3.0.rst
new file mode 100644
index 0000000..9e1fe33
--- /dev/null
+++ b/docs/releases/2.3.0.rst
@@ -0,0 +1,214 @@
+*************
+Version 2.3.0
+*************
+
+New major features
+==================
+
+ - Use TF-PSA-Crypto 1.1.0 in place of Mbed-TLS
+ - New Clang/LLVM Toolchain Support
+ - (TF-M Tests) RTX OS is built from source
+
+
+Other relevant changes and fixes
+================================
+
+ - Fixes and improvements for FPU context flushing
+ - Allow PSA calls before RTOS ready
+ - Hardening Protected Storage partition
+ - Improve mailbox vectors handling
+ - Add GPT library
+ - SCMI: Reorganization and add support for more protocols
+ - Crypto: improvements, fixes and support the use of opaque keys
+ - Crypto: enable SP800-108 Counter CMAC support in runtime
+ - Build: Unify use of ATfE toolchain with GCC
+ - SPM: Introduce cookie for ISR scheduling attempts
+ - Lib: Use upstream libTPM
+ - Static checks: Various MISRA violations fixes
+ - SPM: various improvements for connection_pool, mailbox, mmiovec, backends,
+ psa_calls, thread, boot_data, spm_ipc, psa_irq_api, rom_loader, interrupt
+ - Lib: tfm_utils: Use stdint from standard
+ - BL1_2, BL2: Various improvements and switch to MCUboot feature branch
+ v2.4.0-rc1
+ - Crypto: add FIH support to PSA cipher APIs
+ - Build: Upgrade all toolchains to C11 standard
+ - Build: Remove crt0 and libc from secure binaries
+ - SPM: ns_agent_tz: Introduce reentrancy checks for NSPE calls
+ - SPM: Introduce API to ensure shared metadata section is protected correctly
+ - Build: Update TF-M versioning logic, fix IAR build and optional patching of
+ by platform code
+ - dma350: various improvements and fixes
+
+
+Other relevant platforms changes
+================================
+
+ - STM32WBA/H5/U5: update for TF-PSA-Crypto 1.0.0
+ - IFX/PSE84: Various updates
+ - CS1000: Updates for TF-PSA-Crypto
+ - fix broken an524 platform build
+ - RSE: Various fixes and updates, add support for COD generation
+ - nordic_nrf: Align to nrfx 4.0
+
+
+New security advisories
+=======================
+
+None.
+Introduced a Security Recommendations section.
+
+
+New platforms support
+=====================
+
+ - STM32: Add support of nucleo_u3c5zi_q
+ - Add support of nxp frdmmca577
+ - nordic_nrf: add support for nRF54LM20B
+ - Add support for mcimx93evk
+
+
+Deprecated platforms
+====================
+
+None.
+
+
+Tested platforms
+================
+
+The following platforms are successfully tested in this release.
+
+- **Arm**
+ - corstone1000
+ - mps2/an519
+ - mps2/an521
+ - mps3/an524
+ - mps3/corstone300
+ - mps3/corstone310
+ - mps4/corstone315
+ - mps4/corstone320
+ - musca_b1
+ - rse/css-aspen
+ - rse/rd1ae
+ - rse/rdv3
+ - rse/rdv3r1
+ - rse/tc4
+
+- **Infineon**
+ - pse4
+
+- **NXP**
+ - frdmmcxn947
+ - lpcxpresso55s69
+
+- **RPi**
+ - rp2350
+
+- **STM**
+ - b_u585i_iot02a
+ - nucleo_u3c5zi_q
+ - stm32h573i_dk
+ - stm32wba65i_dk
+
+
+Reference memory footprint
+==========================
+
+
+All measurements below are made for *AN521* platform, built `TF-Mv2.3.0-RC1
+<https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/tag/?h=TF-Mv2.3.0-RC1>`_
+on Windows 10 using Armclang v6.21 and build type MinSizeRel.
+
+All modules are measured in bytes. Some minor modules are not shown in the table below.
+
+.. note::
+
+ Profile `Medium-ARoT-less` built with disabled Firmware Update service to align with other
+ TF-M Profiles.
+
++----------------------+--------------+--------------+--------------+--------------+--------------+
+| Module | Base | Small | ARoT-less | Medium | Large |
++ +-------+------+-------+------+-------+------+-------+------+-------+------+
+| Module | Base | RAM | Small | RAM | ARoT | RAM | Med. | RAM | Large | RAM |
++======================+=======+======+=======+======+=======+======+=======+======+=======+======+
+|Generated | 112| 3184| 208| 3184| 224| 3184| 272| 3184| 272| 3184|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|Objects | 978| 1056| 1298| 5188| 1399| 5872| 1541| 1492| 1613| 1492|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|c_w.l | 206| 0| 522| 0| 522| 0| 522| 0| 762| 0|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|platform_s.a | 5322| 281| 5618| 281| 6016| 281| 6392| 281| 6522| 281|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|spm.a | 3606| 173| 4480| 173| 3986| 173| 6616| 1409| 6818| 1414|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|sprt.a | 238| 0| 1346| 0| 1310| 0| 2500| 4| 2520| 4|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|tfpsacrypto.a | 0| 0| 26296| 1780| 33542| 1780| 33542| 1780| 75539| 1660|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|PROT_attestation.a | 0| 0| 1664| 557| 1641| 1153| 1641| 3201| 1757| 3201|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|PROT_crypto.a | 0| 0| 3534| 2048| 4032| 16004| 4032| 22148| 4680| 28228|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|PROT_its.a | 0| 0| 4796| 80| 4864| 112| 5034| 1988| 5042| 2468|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|PROT_platform.a | 0| 0| 0| 0| 528| 0| 528| 1280| 528| 1280|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|AROT_ps.a | 0| 0| 0| 0| 0| 0| 3372| 4344| 3372| 4344|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|Padding | 30| 34| 104| 37| 104| 37| 124| 49| 163| 44|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|platform_crypto_keys.a| 0| 0| 258| 0| 276| 0| 276| 0| 276| 0|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|qcbor.a | 0| 0| 852| 0| 1070| 0| 1070| 0| 1070| 0|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|t_cose_s.a | 0| 0| 1028| 0| 2186| 0| 2186| 0| 2186| 0|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+|Total inc. Padding | 10492| 4728| 52004| 13328| 61700| 28596| 69648| 41160| 113120| 47600|
++----------------------+-------+------+-------+------+-------+------+-------+------+-------+------+
+
+
+Known issues
+============
+
+Some open issues are not fixed in this release.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Descriptions
+ - Issue links
+ * - Some DPE tests (DPE_S_TEST) in RSE fail
+ - <None>
+ * - SPM does not automatically unmap mm-iovecs.
+ - https://github.com/TrustedFirmware-M/trusted-firmware-m/issues/20
+ * - Long paths in Windows builds prevent successful builds
+ - <None>
+
+
+Issues fixed since v2.2.2
+-------------------------
+
+The following tracked issues have been fixed since the v2.2.2 release.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Descriptions
+ - Issue links
+ * - create_provisioning_data.py outputs incorrectly when using EC-P384
+ - https://github.com/TrustedFirmware-M/trusted-firmware-m/issues/42
+ * - Race condition in SPM scheduler lock logic
+ - https://lists.trustedfirmware.org/archives/list/tf-m@lists.trustedfirmware.org/thread/JO5T75SNGBZMIQYGTSAEZFB4HKQSQF7E/
+
+
+Reference
+=========
+
+None
+
+
+--------------
+
+ *SPDX-License-Identifier: BSD-3-Clause*
+
+ *SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors*
diff --git a/docs/releases/index.rst b/docs/releases/index.rst
index 1e4d3c3..2840c3d 100644
--- a/docs/releases/index.rst
+++ b/docs/releases/index.rst
@@ -4,6 +4,7 @@
.. toctree::
:hidden:
+ v2.3.0 <2.3.0>
v2.2.2 <2.2.2>
v2.2.1 <2.2.1>
v2.2.0 <2.2.0>
@@ -18,6 +19,8 @@
+----------------------------------+--------------+----------------------------+
| Version | Date | PSA-arch tag/hash |
+==================================+==============+============================+
+| :doc:`v2.3.0 </releases/2.3.0>` | 2026-04-28 | v24.03_API1.6_CRYPTO_1.1.0 |
++----------------------------------+--------------+----------------------------+
| :doc:`v2.2.2 </releases/2.2.2>` | 2025-11-27 | v24.03_API1.6_CRYPTO_1.1.0 |
+----------------------------------+--------------+----------------------------+
| :doc:`v2.2.1 </releases/2.2.1>` | 2025-07-24 | v24.03_API1.6_CRYPTO_1.1.0 |
@@ -67,9 +70,7 @@
+--------------------------------------+-----------------+---------------+
| Version | Feature Freeze | Release |
+======================================+=================+===============+
-| v2.3.0-LTS | 2026-APR (TBC) | 2026-APR (TBC)|
-+--------------------------------------+-----------------+---------------+
-| v2.4.0 | 2026-Q4 (TBC) | 2026-Q4 (TBC) |
+| v2.4.0 | 2027-Q1 (TBC) | 2021-Q1 (TBC) |
+--------------------------------------+-----------------+---------------+
Please refer to
diff --git a/lib/ext/tf-m-tests/version.txt b/lib/ext/tf-m-tests/version.txt
index b71ce94..ac8a1be 100644
--- a/lib/ext/tf-m-tests/version.txt
+++ b/lib/ext/tf-m-tests/version.txt
@@ -9,4 +9,4 @@
# current TF-M version.
# TF-M does not rely on this file to build.
-version=6a1165df
+version=TF-Mv2.3.0
diff --git a/pyproject.toml b/pyproject.toml
index 33c9364..f3762f2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@
authors = [{ name = "Arm Ltd." }]
license = "BSD-3-Clause"
readme = "readme.rst"
-version = "2.2.0"
+version = "2.3.0"
requires-python = ">=3.10"
diff --git a/uv.lock b/uv.lock
index 0a8449d..652b8b8 100644
--- a/uv.lock
+++ b/uv.lock
@@ -1204,7 +1204,7 @@
[[package]]
name = "trusted-firmware-m"
-version = "2.2.0"
+version = "2.3.0"
source = { editable = "." }
dependencies = [
{ name = "cbor2" },