Skip to the content.

MCUboot release notes

Version 2.0.0

Note that this release, 2.0.0 is a new major number, and contains a small API change in the interface between mcuboot and the platform. All platforms contained within the MCUboot tree have been updated, but any external platforms will have to be adjusted. The following commit makes the API change, in the function boot_save_shared_data.

commit 3016d00cd765e7c09a14af55fb4dcad945e4b982
Author: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Date:   Tue Mar 14 12:35:51 2023 +0000

    bootutil: Add active slot number and max app size to shared data

About this release

Version 1.10.0

The 1.10.0 release of MCUboot contains…

About this release

Security fixes

There are no security vulnerabilities reported on the MCUboot code for this release. There have been several updates to the dependencies in the Ruby code used to generate the documentation. This should only affect users that generate their own documentation.

Version 1.9.0

The 1.9.0 release of MCUboot contains various bug fixes, improves support on some recent targets, and adds support for devices with a write alignment larger than 8.

This change introduces a potentially incompatible change to the format of the image trailer. If BOOT_MAX_ALIGN is kept at 8, the trailer format does not change. However, to support larger write alignments, this value can be increased, which will result in a different magic number value. These targets were previously unsupported in MCUboot, so this change should not affect any existing targets. The change has been tested with a BOOT_MAX_ALIGN up to 32 bytes.

About this release

Security fixes

Version 1.8.0

The 1.8.0 release of MCUboot contains numerous fixes, and adds support for the NuttX RTOS, and the Espressif ESP32 SDK.

About this release

Security fixes

Version 1.7.0

The 1.7.0 release of MCUboot adds support for the Mbed-OS platform, Equal slots (direct-xip) upgrade mode, RAM loading upgrade mode, hardening against hardware level fault injection and timing attacks and single image mode. There are bug fixes, and associated imgtool updates as well.

About this release

Zephyr-RTOS compatibility

This release of MCUboot works with the Zephyr “main” at the time of the release. It was tested as of has 7a3b253ce. This version of MCUboot also works with the Zephyr v2.4.0, however it is recommended to enable CONFIG_MCUBOOT_CLEANUP_ARM_CORE while using that version.

Version 1.6.0

The 1.6.0 release of MCUboot adds support for the PSOC6 platform, X25519 encrypted images, rollback protection, hardware keys, and a shared boot record to communicate boot attestation information to later boot stages. There are bug fixes, and associated imgtool updates as well.

About this release

Security issues addressed

Zephyr-RTOS compatibility

This release of MCUboot works the Zephyr “main” at the time of the release. It was tested as of has 1a89ca1238. When Zephyr v2.3.0 is released, there will be a possible 1.6.1 or similar release of Zephyr if needed to address any issues. There also may be branch releases of MCUboot specifically for the current version of Zephyr, e.g. v1.6.0-zephyr-2.2.1.

Version 1.5.0

The 1.5.0 release of MCUboot adds support for encrypted images using ECIES with secp256r1 as an Elliptic Curve alternative to RSA-OAEP. A new swap method was added which allows for upgrades without using a scratch partition. There are also lots of bug fixes, extra simulator testing coverage and some imgtool updates.

About this release

Known issues

Version 1.4.0

The 1.4.0 release of MCUboot primarily adds support for multi-image booting. With this release, MCUboot can manage two images that can be updated independently. With this, it also supports additions to the TLV that allow these dependencies to be specified.

Multi-image support adds backward-incompatible changes to the format of the images: specifically adding support for protected TLV entries. If multiple images and dependencies are not used, the images will be compatible with previous releases of MCUboot.

About this release

Version 1.3.1

The 1.3.1 release of MCUboot consists mostly of small bug fixes and updates. There are no breaking changes in functionality. This release should work with Mynewt 1.6.0 and up, and any Zephyr main after sha f51e3c296040f73bca0e8fe1051d5ee63ce18e0d.

About this release

Version 1.3.0

The 1.3.0 release of MCUboot brings in many fixes and updates. There are no breaking changes in functionality. Many of the changes are refactorings that will make the code easier to maintain going forward. In addition, support has been added for encrypted images. See the docs for more information.

About this release

Version 1.2.0

The 1.2.0 release of MCUboot brings a lot of fixes/updates, where much of the changes were on the boot serial functionality and imgtool utility. There are no breaking changes in MCUboot functionality, but some of the CLI parameters in imgtool were changed (either removed or added or updated).

About this release

Known issues

None

Version 1.1.0

The 1.1.0 release of MCUboot brings a lot of fixes/updates to its inner workings, specially to its testing infrastructure which now enables a more thorough quality assurance of many of the available options. As expected of the 1.x.x release cycle, no breaking changes were made. From the tooling perpective the main addition is newt/imgtool support for password protected keys.

About this release

Known issues

None

Version 1.0.0

The 1.0.0 release of MCUboot introduces a format change. It is important to either use the imgtool.py also from this release, or pass the -2 to recent versions of the newt tool in order to generate image headers with the new format. There should be no incompatible format changes throughout the 1.x.y release series.

About this release

Known issues

None

Version 0.9.0

This is the first release of MCUboot, a secure bootloader for 32-bit MCUs. It is designed to be operating system-agnostic and works over any transport - wired or wireless. It is also hardware independent, and relies on hardware porting layers from the operating system it works with. For the first release, we have support for three open source operating systems: Apache Mynewt, Zephyr and RIOT.

About this release

Known issues