Skip to content

Commit ff7fa35

Browse files
authored
Merge pull request #813 from danielinux/prepare-release-2.9.0
Preparing release 2.9.0
2 parents e81761e + 16acbe3 commit ff7fa35

10 files changed

Lines changed: 65 additions & 20 deletions

File tree

README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -731,3 +731,44 @@ For Visual Studio, the developer command prompt will need to be activated.
731731
* wolfTPM v3.10.0-88-gefaab4a
732732
* wolfPKCS11 v2.0.0-stable-126-g8fec695
733733
* wolfHSM v1.4.0-57-g977bf18
734+
735+
### V 2.9.0 - (2026-07-02)
736+
* New hardware targets
737+
* New STM32 ports: STM32N6 (NUCLEO-N657X0-Q), STM32U3 (NUCLEO-U385RG-Q), STM32C5 (NUCLEO-C5A3ZG), STM32G4, and STM32WBA
738+
* NXP LPC54S018M-EVK and Kinetis KL26
739+
* Xilinx Zynq-7000 (ZC702) boot support
740+
* NXP T2080 / CW VPX3-152: VxWorks 7 64-bit boot support
741+
* Improvements to supported targets
742+
* Integrated the wolfHAL hardware abstraction layer into wolfBoot, with an STM32WB example
743+
* STM32H5: added fwTPM support in TrustZone (with test app) and a WOLFCRYPT_TZ_WOLFHSM TrustZone engine
744+
* STM32 TrustZone improvements (validated with wolfIP), plus external-flash access in non-secure-callable (NSC) flash veneers
745+
* LPC55S69: hardware crypto acceleration and multiple fixes
746+
* PolarFire SoC M-Mode: L2 scratchpad init, QSPI programmer, and watchdog support
747+
* ZynqMP ZCU102 SD-card Linux boot: EL2 handoff, SDHCI init, and QSPI hardening
748+
* NXP MCXN: hardware-based DICE attestation and TZ/PSA build fixes
749+
* Vorago VA416x0: IRAM shadow-update fixes and a simplified flash write path
750+
* New features and improvements
751+
* Added RSA-PSS image signature support
752+
* Added generic cryptocb support for hardware-accelerated crypto callbacks
753+
* Added FIT image support for gzip-compressed kernel + ramdisk (initramfs) and for loading FPGA bitstreams
754+
* Added a oneshot-hash build option and monolithic self-update optimizations
755+
* Added boot-benchmarking support
756+
* Added an `sbom` Makefile target for EU CRA compliance
757+
* wolfHSM: multi-root-CA verification, keystore-less operation, and related fixes
758+
* IDevID: allow using pre-computed authentication values
759+
* Added an option to persist boot/update failure diagnostics to a dedicated flash partition, with an API to retrieve logged events
760+
* Renamed ML-DSA (Dilithium) references throughout for consistency
761+
* Bug fixes and hardening
762+
* Continued Fenrir fuzzing-driven hardening across image parsing and update flows
763+
* Bounded unauthenticated image size before RAM load, and enforced bounds over memcpy in the disk update path
764+
* Added an integrity check in `wolfBoot_verify_authenticity()` and hardened the armored image integrity check against fault injection
765+
* Fixed LMS/XMSS header includes, otp_keystore string initialization, and FDT compatible-string loop termination
766+
* Fixed multiple unit-test and self-update regressions; migrated Renode tests to a new container
767+
* Zeroized the DICE claim-collection buffer
768+
* Updated modules
769+
* wolfSSL v5.9.2-stable
770+
* wolfTPM v4.0.0-363-g8e796c0
771+
* wolfPKCS11 v2.1.0-stable
772+
* wolfHSM v1.4.0-245-g7c6359e
773+
* wolfHAL (4744f20)
774+
* wolfPSA v5.9.1-58-ga4d1187

arch.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1501,6 +1501,10 @@ ifeq ($(USE_CLANG),1)
15011501

15021502
CFLAGS+=-isystem $(CLANG_NEWLIB_INCLUDE)
15031503
CFLAGS+=-DWOLFSSL_NO_ATOMIC -DWOLFSSL_NO_ATOMICS
1504+
# newlib's <stdatomic.h> is unusable under clang for arm-none-eabi (references
1505+
# int_leastN_t before they are declared); skip it so wc_port.h falls back to
1506+
# the __atomic_thread_fence compiler builtin
1507+
CFLAGS+=-DNO_STDATOMIC_H
15041508
CFLAGS+=-Wno-unknown-attributes -Wno-error=unknown-attributes
15051509
CFLAGS+=-fno-unwind-tables -fno-asynchronous-unwind-tables
15061510
LDFLAGS+=-nostdlib

config/examples/stm32f1.config

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ VTOR?=0
66
SPMATH?=1
77
DISABLE_BACKUP=0
88
NVM_FLASH_WRITEONCE=1
9-
# 12 KB bootloader partition
10-
# 2 * 25 KB application partitions
9+
# 14 KB bootloader partition
10+
# 2 * 24 KB application partitions
1111
# 2 KB swap partition
1212
# 64 KB total
13-
WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x08003000
14-
WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x08009400
13+
WOLFBOOT_PARTITION_BOOT_ADDRESS?=0x08003800
14+
WOLFBOOT_PARTITION_UPDATE_ADDRESS?=0x08009800
1515
WOLFBOOT_PARTITION_SWAP_ADDRESS?=0x0800F800
16-
WOLFBOOT_PARTITION_SIZE?=0x6400
16+
WOLFBOOT_PARTITION_SIZE?=0x6000
1717
WOLFBOOT_SECTOR_SIZE?=0x400

docs/Targets.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1185,7 +1185,7 @@ Use `0x20000` for the boot partition and `0x02000000` for the update partition.
11851185
11861186
**Expected serial output on successful boot:**
11871187
```
1188-
wolfBoot Version: 2.8.0 (...)
1188+
wolfBoot Version: X.Y.Z (...)
11891189
Running on E51 (hart 0) in M-mode
11901190
QSPI: Using SC QSPI Controller (0x37020100)
11911191
QSPI: Flash ID = 0x20 0xBA 0x21

include/wolfboot/version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ extern "C" {
2929
#endif
3030

3131

32-
#define LIBWOLFBOOT_VERSION_STRING "2.8.0"
33-
#define LIBWOLFBOOT_VERSION_HEX 0x02080000
32+
#define LIBWOLFBOOT_VERSION_STRING "2.9.0"
33+
#define LIBWOLFBOOT_VERSION_HEX 0x02090000
3434

3535
#ifndef WOLFBOOT_VERSION
3636
#define WOLFBOOT_VERSION LIBWOLFBOOT_VERSION_HEX

lib/wolfPKCS11

Submodule wolfPKCS11 updated 99 files

lib/wolfPSA

Submodule wolfPSA updated 83 files

lib/wolfTPM

Submodule wolfTPM updated 241 files

lib/wolfssl

Submodule wolfssl updated 527 files

tools/test.mk

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1187,7 +1187,7 @@ test-all: clean
11871187
test-size-all:
11881188
make test-size SIGN=NONE LIMIT=5072 NO_ARM_ASM=1
11891189
make keysclean
1190-
make test-size SIGN=ED25519 LIMIT=11844 NO_ARM_ASM=1
1190+
make test-size SIGN=ED25519 LIMIT=12184 NO_ARM_ASM=1
11911191
make keysclean
11921192
make test-size SIGN=ECC256 LIMIT=18880 NO_ARM_ASM=1
11931193
make clean
@@ -1205,23 +1205,23 @@ test-size-all:
12051205
make clean
12061206
make test-size SIGN=ECC384 NO_ASM=1 LIMIT=15260 NO_ARM_ASM=1
12071207
make keysclean
1208-
make test-size SIGN=ED448 LIMIT=13928 NO_ARM_ASM=1
1208+
make test-size SIGN=ED448 LIMIT=14212 NO_ARM_ASM=1
12091209
make keysclean
12101210
make test-size SIGN=RSA3072 LIMIT=11908 NO_ARM_ASM=1
12111211
make clean
12121212
make test-size SIGN=RSA3072 NO_ASM=1 LIMIT=12436 NO_ARM_ASM=1
12131213
make keysclean
1214-
make test-size SIGN=RSAPSS2048 LIMIT=13672 NO_ARM_ASM=1
1214+
make test-size SIGN=RSAPSS2048 LIMIT=13704 NO_ARM_ASM=1
12151215
make clean
1216-
make test-size SIGN=RSAPSS2048 NO_ASM=1 LIMIT=14232 NO_ARM_ASM=1
1216+
make test-size SIGN=RSAPSS2048 NO_ASM=1 LIMIT=14264 NO_ARM_ASM=1
12171217
make keysclean
1218-
make test-size SIGN=RSAPSS3072 LIMIT=13840 NO_ARM_ASM=1
1218+
make test-size SIGN=RSAPSS3072 LIMIT=13872 NO_ARM_ASM=1
12191219
make clean
1220-
make test-size SIGN=RSAPSS3072 NO_ASM=1 LIMIT=14364 NO_ARM_ASM=1
1220+
make test-size SIGN=RSAPSS3072 NO_ASM=1 LIMIT=14396 NO_ARM_ASM=1
12211221
make keysclean
1222-
make test-size SIGN=RSAPSS4096 LIMIT=14012 NO_ARM_ASM=1
1222+
make test-size SIGN=RSAPSS4096 LIMIT=14044 NO_ARM_ASM=1
12231223
make clean
1224-
make test-size SIGN=RSAPSS4096 NO_ASM=1 LIMIT=14552 NO_ARM_ASM=1
1224+
make test-size SIGN=RSAPSS4096 NO_ASM=1 LIMIT=14584 NO_ARM_ASM=1
12251225
make keysclean
12261226
make test-size SIGN=LMS LMS_LEVELS=2 LMS_HEIGHT=5 LMS_WINTERNITZ=8 \
12271227
WOLFBOOT_SMALL_STACK=0 IMAGE_SIGNATURE_SIZE=2644 \

0 commit comments

Comments
 (0)