Skip to content

Commit 5ea3de1

Browse files
authored
Merge pull request #642 from danielinux/prepare-release-2.7.0
Updated ChangeLog & version number.
2 parents 84bf772 + d703446 commit 5ea3de1

File tree

5 files changed

+52
-31
lines changed

5 files changed

+52
-31
lines changed

.github/workflows/test-build-cmake-mac.yml

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -34,41 +34,36 @@ jobs:
3434
HOMEBREW_NO_AUTO_UPDATE: "1" # avoid updating taps during install
3535
HOMEBREW_NO_ANALYTICS: "1"
3636
HOMEBREW_CURL_RETRIES: "6" # ask curl inside brew to retry
37+
HOMEBREW_NO_INSTALL_CLEANUP: "1"
3738

3839
steps:
3940
- name: Checkout (with submodules)
4041
uses: actions/checkout@v4
4142
with:
4243
submodules: true
4344

44-
- name: Cache Homebrew bottles # downloads (so retries don't redownload)
45-
uses: actions/cache@v4
46-
with:
47-
path: |
48-
~/Library/Caches/Homebrew
49-
/Users/runner/Library/Caches/Homebrew
50-
key: homebrew-${{ runner.os }}-mac14-cmake-gcc-newlib
51-
restore-keys: |
52-
homebrew-${{ runner.os }}-
53-
5445
- name: Install toolchain and build tools
5546
run: |
56-
# Install with step throttle to hopefully avoid stuck jobs
57-
5847
set -euxo pipefail
5948
60-
throttle_delay=5
61-
brew update
49+
# Keep Homebrew pinned on the runner; only install what we need.
50+
brew list cmake >/dev/null 2>&1 || brew install --force-bottle cmake
51+
brew list ninja >/dev/null 2>&1 || brew install --force-bottle ninja
52+
53+
# Fetch ARM GCC directly (avoid Homebrew cask checksum churn)
54+
ARM_GCC_VERSION="14.3.rel1"
55+
ARM_GCC_BASENAME="arm-gnu-toolchain-${ARM_GCC_VERSION}-darwin-arm64-arm-none-eabi"
56+
ARM_GCC_TARBALL="${ARM_GCC_BASENAME}.tar.xz"
57+
ARM_GCC_URL="https://developer.arm.com/-/media/Files/downloads/gnu/${ARM_GCC_VERSION}/binrel/${ARM_GCC_TARBALL}"
58+
ARM_GCC_DIR="$HOME/.local/arm-gcc"
6259
63-
sleep "$throttle_delay"
64-
brew install --force-bottle cmake
60+
rm -rf "${ARM_GCC_DIR}"
61+
mkdir -p "${ARM_GCC_DIR}"
6562
66-
sleep "$throttle_delay"
67-
brew install --force-bottle ninja
63+
curl -L --retry 3 --retry-delay 5 -o "${ARM_GCC_TARBALL}" "${ARM_GCC_URL}"
64+
tar -xJf "${ARM_GCC_TARBALL}" -C "${ARM_GCC_DIR}"
6865
69-
# Use cask to include headers such as <stdlib.h>
70-
sleep "$throttle_delay"
71-
brew install --cask gcc-arm-embedded
66+
echo "${ARM_GCC_DIR}/${ARM_GCC_BASENAME}/bin" >> "$GITHUB_PATH"
7267
7368
- name: Probe ARM GCC (paths + smoke build)
7469
run: |

.github/workflows/test-build-cmake-presets.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,10 @@ jobs:
5858
# Currently only supported on Ubuntu
5959

6060
# ARM GCC toolchain (adds the bin dir to PATH)
61-
- name: Set up ARM none-eabi GCC 14.x
62-
if: matrix.target != 'sim'
63-
uses: carlosperate/arm-none-eabi-gcc-action@v1
64-
with:
65-
release: "14.2.Rel1" # <-- use 'release', not 'version'
66-
path-env-var: ARM_NONE_EABI_GCC_PATH
67-
61+
- name: Set up ARM none-eabi GCC
62+
run: |
63+
sudo apt update
64+
sudo apt install -y gcc-arm-none-eabi
6865
6966
- name: List all environment variables
7067
run: |

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,3 +646,32 @@ For Visual Studio, the developer command prompt will need to be activated.
646646
* wolfPKCS11: latest (ddeb887)
647647
* wolfHSM: latest (e0b2019)
648648

649+
### V 2.7.0 - (2025-11-26)
650+
* New hardware targets
651+
* Vorago VA416x0 (new HAL, linker scripts, test application, and programming helpers)
652+
* Nordic nRF5340 TrustZone build and configuration
653+
* Improvements to supported targets
654+
* TrustZone-M support unified across ARMv8-M targets
655+
* TrustZone-M aware dual-bank configuration, increased update/erase reliability and isolation
656+
* nRF5340: Added support for TrustZone-M
657+
* STM32H5: SPI driver and TPM support with new TrustZone NSC APIs,
658+
* Simulator: dual-bank flow and bank-swap test script to validate redundant-slot updates
659+
* RP2350: RAM cache for flash writes to improve robustness
660+
* Infineon AURIX TC3xx: replaced IDE project with HAL module integration and UART/boot flag handling fixes
661+
* New features and improvements
662+
* Filesystem-backed partition state access with `library_fs` target and CLI tool for querying or managing boot partitions
663+
* libwolfboot: added MTD (Memory Technology Device) backed tracking of update status
664+
* CMake: Added presets. Improve support for more reliable out-of-tree builds and list handling. Improve documentation.
665+
* Key tools: `keygen --no-overwrite` option, stricter image header/sector size checks, and expanded ML-DSA test configurations
666+
* Added `WOLFBOOT_RESTORE_CLOCK` configuration and additional logging/debugging for library filesystem status and keystore handling
667+
* Bug fixes
668+
* Hardened encrypted and delta update flows (IV reuse prevention, fallback/regression fixes, improved unit coverage)
669+
* Fixed SPI flash protocol errors and write verification issues
670+
* Corrected STM32 internal flash page erase masks and multiple STM32H5 update path fixes (including dual-bank and TPM builds)
671+
* Resolved P1021 stage1 and MMU build issues
672+
* cleanup of compiler warnings across targets (STM32WB55 PKA, nRF5340 non-TZ, others)
673+
* Updated modules
674+
* wolfSSL v5.8.4-stable (59f4fa568)
675+
* wolfTPM v2.4.0-594-g6d5df60
676+
* wolfPKCS11 v2.0.0-stable-33-g81af264
677+
* wolfHSM v1.3.0 (8ac56d7)

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.6.0"
33-
#define LIBWOLFBOOT_VERSION_HEX 0x02060000
32+
#define LIBWOLFBOOT_VERSION_STRING "2.7.0"
33+
#define LIBWOLFBOOT_VERSION_HEX 0x02070000
3434

3535
#ifndef WOLFBOOT_VERSION
3636
#define WOLFBOOT_VERSION LIBWOLFBOOT_VERSION_HEX

0 commit comments

Comments
 (0)