Skip to content

mbed-os-5.12.0

Compare
Choose a tag to compare
@adbridge adbridge released this 27 Mar 12:00
· 11166 commits to master since this release
6bf7fd3

We are pleased to announce the Mbed OS 5.12.0 release is now available.

Summary of release

Mbed OS 5.12.0 brings support for Platform Security Architecture (PSA) to truly secure your data end-to-end. The release is supported in Mbed Studio Beta, providing a seamless development and debugging experience. We also included the first open sourced Wi-SUN stack for Field Area Networks based on 6LoWPAN and IEEE 802.15.4 technologies, and our new USB device stack supporting multiple device classes. Finally, we introduce a new Mbed OS profile called bare metal, which targets memory constrained devices.

This release also includes fixes, new versions of various components and updates to supported compiler versions.

Notes for specific pull requests

9920 Update Mbed TLS for 5.12 release to Mbed TLS development HEAD
This release of Mbed TLS includes:

  • Integration of the PSA Crypto API sufficient to support Pelion Client.
  • RAM optimizations to reduce RAM usage during TLS handshakes when using X.509 authentication. This reduces the overall RAM required by Mbed TLS.

9898 Cellular: fix connect-disconnect sequence called many times
Removed API get_connection_status() from CellularNetwork. This was left accidentally after refactoring. It wasn't giving correct states after refactoring. The application should use CellularContext::get_connection_status, instead.

9864 BLE: Cordio host upgrade
Upgrade of Cordio host to new version (from 2.4 to 19.02). This should not impact users and be an in-place upgrade. Replace compiled Cordio controller libs with sources - no functional change and no impact on users.

9851 feat: add support for .obj files in memap

  • A brief description of changes introduced
    Add support for .obj files in memap tool.
  • An analysis of effects: components affected, potential consequences for users and reasons for the addition or change.
    Affects tools component, behaviour doesn't change for existing users. This adds support for using the memap tool for CMake/gcc-arm-none-eabi builds (and maybe others too).
  • Migration guidance: actions for updating the current code. Please include code snippets to illustrate before and after the addition or change.
    N/A

9838 Nanostack release for Mbed OS 5.12

  • Initial version of Wi-SUN mesh stack.
  • Improvements and bug fixes to Thread and 6LoWPAN ND protocol stacks.

9813 BLE: Cordio build time configuration through mbed_lib.json
This doesn't remove the old Cordio stack config file and merely sits on top, so it will not introduce any unexpected changes. If users modified the cfg files themselves (in features\FEATURE_BLE\targets\TARGET_CORDIO\stack\cordio_stack\ble-host\sources\stack\cfg), they will have to resolve the conflict.

9812 Add wait_ns API

  • wait_ns() API added for <10us small software-loop based delays.

9808 IAR 8 feature branch merge
Updating the IAR toolchain version to IAR 8.32.

9804 Provide an option to disable writing developer certificate
It is possible now to disable writing developer certificate to mbed_cloud_dev_credentials using an option --no-developer-cert with "mbed dm init" command

9800 Bare metal profile
Mbed OS may now be built without the RTOS by creating an mbed_app.json with the following contents:

{
"requires": ["bare-metal"]
}

9799 Increase events.share-eventsize to 768B because of ESP8266 AT driver and asynchronous DNS

"events.shared-eventsize" increased from 256B to 768B

Original value was too small once both the ESP8266 driver and asynchronous DNS started to use the shared event queue. An assumption is made that once the shared event queue is taken into use, there are going to be multiple users instead of one, for which the original value would have been sufficient.

9797 API to temporarily enable/disable FileHandles

  • UARTSerial can now be temporarily or permanently disabled for input and/or output. This is particularly useful to save power when reception is not required - disabling input permits deep sleep. To do this more generically for the console, use mbed_file_handle(STDIN_FILENO)->enable_input(false).

9795 crypto: Update to Mbed Crypto 1.0.0d5 and then to 1.0.0d6
Previously, calls to psa_crypto_*_setup() would succeed even if a user did not initialize their operation context. Help users of the PSA Crypto API catch their own bugs by returning PSA_ERROR_BAD_STATE when a setup function is called with an uninitialized context.

9790 BLE conf
No changes made to existing programs. By default, all options are enabled, which is the current state.

9768 Bring USB Feature branch into master
This feature brings USB device support into Mbed OS from a feature branch. Targets that support USB include the LPC1768, ARCH_PRO, K64F, NUCLEO_F207ZG, NUCLEO_F412ZG, DISCO_F413ZH, NUCLEO_F413ZH, NUCLEO_F429ZI, NUCLEO_F446ZE, NUCLEO_F746ZG, NUCLEO_F756ZG, NUCLEO_F767ZI, DISCO_F469NI, DISCO_F746NG, DISCO_F769NI, DISCO_L475VG_IOT01A, DISCO_L476VG, RZ_A1H, GR_LYCHEE, DISCO_L496AG, NUCLEO_L496ZG, NUCLEO_L4R5ZI. Supported USB device classes include USBAudio, USBHID, USBMouse, USBKeyboard, USBMIDI, USBMSD, USBSerial and USBCDC.

9758 Allow hash or mac on large buffers with less memory use
Description: Hash and mac operations are now processed in secure partition in multiple chunks internally leading to decrease in memory use for large buffers.
Effect analysis: This change has no impact on API and should not alter behavior from the user perspective.
Migration: No action should be required from the user side.

9746 Cellular: Retire CellularBase class
In order to align to other connectivity technologies CellularBase is deprecated and CellularInterface usage is preferred. This change is backward compatible.

9708 Implement PSA protected storage & restructure PSA storage implementation

  • Restructure PSA storage implementation (directory structure and common code)
  • Add the PSA protected storage feature

9668 PSA Initial Attestation service

  • A brief description of changes introduced.
    Add PSA Initial Attestation Service implementation.
  • An analysis of effects: components affected, potential consequences for users and reasons for the addition or change.
    this code is a new feature and doesn't effect existing code.
  • Migration guidance: actions for updating the current code. Please include code snippets to illustrate before and after the addition or change.
    This breaks backwards compatibility with Nucleo F411RE entropy injection.

9571 Update to 2-region model for HEAP and Stack Memory
RAM memory model is updated to a two-region model. RTOS and non-RTOS versions of Mbed OS across all targets and toolchains will have separate stack and heap sections. ISR stack size is unified across all targets and is set as 1K for Mbed OS with RTOS. In case of no RTOS, stack size is also the main thread size and is set as 4K.

9568 Merge feature cellular refactor
This PR has impact on cellular application development and porting of new cellular devices.

Application developers need to select the suitable NetworkInterface type. When using NetworkInterface NSAPI configuration defines are applied by default, see NSAPI configuration options for cellular in more details. CellularBase users have a new function set_default_parameters to apply NSAPI configuration options. CellularContext is to be used instead of CellularBase for new extended cellular functionality, such as NonIP sockets and EPS CP optimization...

Migration guidelines for application developers:

  • Change CELLULAR_DEVICE macro to get_default_instance
  • Change OnboardCellularInterface or EasyCellularConnection to CellularContext
  • Call CellularDevice::set_data_carrier_detect to set HUP signal detection

Cellular API changes need to be taken into account when porting new cellular devices. This PR already contains the changes needed for the existing cellular drivers and the onboard modems. Arm has an internal ticket to update the cellular porting documentation for Mbed OS 5.12.

Migration guidelines for porting developers:

  • Follow GENERIC_AT3GPP implementation when porting new AT based cellular devices
  • Change power_on/off to onboard_modem_api with soft_power_on/off and hard_power_on/off
  • Move implementation from CellularSIM and CellularPower to CellularInformation and CellularDevice
  • Implement CellularDevice::init and CellularDevice::shutdown
  • Use CellularNetwork::get_signal_quality instead of CellularNetwork::get_extended_signal_quality

9449 Pinmap extensions
Added pinmap support to the HAL API. For more information see the porting targets docs page - https://os.mbed.com/docs/mbed-os/latest/porting/porting-targets.html.

9219 LoRaWAN: Retiring LoRaWANBase class
There has been only one user of the LoRaWANBase class, the LoRaWANInterface. We anticipated that the third parties may use this class to provide their own LoRaWAN network stacks alongwith the default network stack provided by Mbed OS. However, a trend has been observed that the default stack provided by Mbed OS has become the de-facto choice. Having LoRaWANBase class adds 1K to the ROM in terms of footprint (for GCC, ARMCC and IAR optimize that already). It has been decided to do away with the LoRaWANBase class for now, and if the need arises it can be reintroduced back.

9184 Adds an NFC System Test suite
Adds an automated test suite which provides Standalone and End-2-End validation for either the supported PN512 NFC Controller shield or the M24SR NFC EEPROM. This is an icetea framework based test suite and requires additional hardware.

9940 Reduce flash page size from 512 to 32 bytes in PSOC6 based boards
Reduce flash page size from 512 to 32 bytes in PSOC6 based boards

10193 Fallback to ARMC5 when ARMC6 is not configured
The -t ARM argument defaults to using the Arm Compiler 6 when it is configured in a user's enviroment. However, In cases where a target supports building with both Arm Compiler 5 and Arm Compiler 6 and Arm Compiler 6 is not properly configured, the tools will fallback to compiling with Arm Compiler 5.

10164 tls: Update Mbed TLS to 2.17.0
Update Mbed TLS to version 2.17.0.

10152 crypto: Update Mbed Crypto to 1.0.0
Update Mbed Crypto to version 1.0.0.

10114 Allow the use of Mbed Studio's version of Arm Compiler 6
You can use the Arm Compiler 6 compiler that is bundled with Mbed Studio with the command-line tools. Enable this behavior by adding the Arm Compiler 6 executable to your system path (the default location of this on Windows is C:/MbedStudio/tools/ac6/bin). Alternatively, you can set this same location with Mbed CLI with the command mbed config ARMC6_PATH C:/MbedStudio/tools/ac6/bin (be sure to use the correct path when you run the command). You also need to set the ARMLMD_LICENSE_FILE environment variable to the license file that is bundled with Mbed Studio. Please see the Mbed OS documentation for further details.

Known issues

TLS: IP addresses in the X.509 certificate subjectAltNames

  • Description: Parsing IP addresses in the X.509 certificate subjectAltNames is not supported yet. In certificate chains relying on IP addresses in subjectAltNames, a BADCERT_CN_MISMATCH error is returned.
  • Workaround: Merge branch https://github.com/ARMmbed/mbedtls/tree/iotssl-602-san-ip into your copy of Mbed TLS before building the application. It is still in the EXPERIMENTAL stage; please use it at your own responsibility.
  • Reported issue: Issue reported by a customer in email.
  • Priority: MAJOR.

TLS: mismatch of root CA and issuer of CRL not caught

  • Description: The x509_crt_verifycrl() function ignores the CRL, when the CRL has an issuer different from the subject of root CA certificate.
  • Workaround: Make sure that the issuer of the CRL and the root CA certificate's subject are the same before passing them to x509_crt_verifycrl().
  • Reported issue: Reported by a Partner.
  • Priority: MAJOR.

TLS: self test failure with some hardware accelerators

  • Description: Most hardware acceleration engines (if not all) require the parameters to be from contiguous memory. All the self tests use test vectors that are defined in the .bss section, which means these are not contiguous. This causes the self test to possibly fail, when implementing hardware accelerated engines.
  • Workaround: There are no known workarounds.
  • Reported issue: Reported by the development team.
  • Priority: MAJOR.

TLS: Hardware-accelerated hash creates CBC padding oracle in TLS

  • Description: The current countermeasures against CBC padding oracle attacks in Mbed TLS call a low level internal API. The implementation of this API might not be possible with the hardware accelerator API, and even if it is, the timing might still have detectable differences. The lower level API is called out of sequence and accelerators that are not aware of this might crash.
  • Workaround: Keep MBEDTLS_SSL_ENCRYPT_THEN_MAC enabled in mbedtls/config.h, and enable the Encrypt-then-MAC extension (RFC7366) on the peer's side.
  • Reported issue: Reported by the development team.
  • Priority: MAJOR.

Tools: Error when running mbed test --compile/run list

  • Description: The error, "pkg_resources.DistributionNotFound: The 'mbed-ls==1.*,>=1.5.1' distribution was not found and is required by icetea, mbed-flasher" is observed when running the command mbed test -m K64F -t ARM --icetea --compile-list -vv.
  • Workaround: None.
  • Reported issue: #8064.
  • Priority: Major.

Platform: Realtek RTL8195AM - CMSIS-RTOS error: ISR Queue overflow

  • Description: Realtek RTL8195AM does not maintain a long running connection to Mbed device connector. The error manifests as an ISR Queue overflow.
  • Workaround: None.
  • Reported issue: #5640.
  • Priority: Major.

Core: Some boards are crashing when lots of data is sent and received through buffered serial.

  • Description: This is currently known to affect Ublox ODIN W2 and RTL8195AM.
  • Workaround: None.
  • Reported issue: #8081.
  • Priority: Major.

NVStore and TDBStore objects can collide in internal flash

  • Description: NVStore and TDBStore are classes implementing storage solutions. By default, they allocate the last two sectors in internal flash. If both are used, a run time error will happen. NVStore is deprecated, and TDBStore should be used instead.
  • Workaround: Use TDBStore instead of NVStore.
  • Priority: Minor.

SPI failures on CY8CKIT_062_WIFI_BT

  • Description: When reading from an SD card connected via SPI, sometimes we see that read operation leave some bytes unchanged in the buffer, without reporting an error. The root cause is under investigation.
  • Workaround: https://github.com/ARMmbed/mbed-os/tree/feature-SD-verify.
  • Reported issue: IOTSTOR-815.
  • Priority: Major.

UART flow control does not work on Cypress CY8CKIT_062_WIFI_BT_PSA

  • Description: UART hardware flow control: When connecting a Wi-Fi shield via UART, flow control does not work. The root cause is under investigation.
  • Workaround: None.
  • Reported issue: IOTHAL-481.
  • Priority: Major.

Mbed CLI may use the wrong armasm or armlink version when both Arm Compiler 5 and Arm Compiler 6 are configured using the host platform PATH environment variable

  • Description: If you have configured both Arm Compiler 5 and Arm Compiler 6, Mbed CLI may use the wrong armasm/armlink version based on which version is listed first in the host platform PATH environment.
  • Workaround: Use "mbed config" commands as documented in https://os.mbed.com/docs/mbed-os/v5.12/tools/after-installation-configuring-mbed-cli.html to configure toolchains instead of using the host platform PATH environment variable. This is the preferred solution until Arm Compiler 5 is deprecated.
  • Reported issue: #10069.
  • Priority: Minor.

Some hardware platforms don't support ArmCompiler 6

  • Description: With the Mbed OS 5.12 release, we are adding support for Arm Compiler 6.11, and it will become the default Arm compiler for Mbed OS targets. At the moment, we still have some targets not compatible with Arm Compiler 6. Below is the list of targets not compatible with Arm Compiler 6:
    CY8CKIT_062_4343W, CY8CKIT_062_BLE, CY8CKIT_062_WIFI_BT, CY8CKIT_062_WIFI_BT_M0, CY8CKIT_062_WIFI_BT_M0_PSA, CY8CKIT_062_WIFI_BT_PSA, CY8CPROTO_062_4343W, CYW943012P6EVB_01, CYW943012P6EVB_01_M0, FUTURE_SEQUANA, FUTURE_SEQUANA_M0, FUTURE_SEQUANA_M0_PSA, FUTURE_SEQUANA_PSA, KW24D.
    We are working with our Partners to ensure they are fully supported by Arm Compiler 6.
  • Workaround: The developers compiling for these targets should use Arm Compiler 5.06u6.
  • Reported issue: #9578, IOTCORE-1059.
  • Priority: Major.

Contents

Ports for upcoming targets

9224
Add platform TT_M4G9

9910
Add support for LPC55S59

9908
Pr/cy mbed os 5.12.0

Fixes and changes

9946
Fix include paths for the assembler for makefiles

9932
Fix direct access to device key test for small erase/program ratio

9920
Update Mbed TLS for 5.12 release to Mbed TLS development HEAD

9918
Unify PSA code generators

9917
Add attestation doxygen

9916
Skip test on Cortex M33 devices

9915
Update TF-M sources

9913
Fix bug in crypto_acl test

9906
Docs: fix doxygen not being generated for BLE classes

9899
Regenerate mbed-spm files

9898
Cellular: fix connect-disconnect sequence called many times

9892
Update PSOC6 postbuild prints

9891
Correct the device name for NUC472 / M453 - IAR 8

9888
Arm Toolchain update to Arm Compiler 6.11(ARMC6)

9885
ESP8266: graceful disconnect on network state timeout

9883
Free dynamic memory in Crypto Service proxy (PSA targets)

9879
Lock sleep when USB is initialized

9875
Fix multihoming tests

9874
Add mbed_lib.json to usb folder

9871
ESP8266: receive is able to handle device busy indication

9867
PSOC6: Rebuild WICED libraries with IAR8 support

9866
QSPI write alignment fix for nRF52x

9864
BLE: Cordio host upgrade

9862
Backward support PSA_ITS

9861
STM32 InterruptIn protection

9856
Crypto: Update Mbed Crypto to 1.0.0d7

9852
Docs: fix release notes link in PR template

9851
Feat: add support for .obj files in memap

9849
Update mbed-cloud-sdk to latest version 2.0.5

9845
Add spi_get_peripheral_name() to stm_spi

9843
Fix Cordio gatts configuring write permission

9842
Add missing license description to RZ/A1 driver

9838
Nanostack release for Mbed OS 5.12

9836
TF-M: Fix issues found in SPM tests

9835
Add define to skip greentea sync

9834
Add missing copyright header to STM32 driver

9833
Remove Arm Beetle target for Mbed OS 5.12

9831
Update mbed-cloud-sdk to latest version 2.0.4

9829
Fix SPM error codes

9828
Update 802.15.4 RF drivers to the latest version

9825
Remove unnecessary prints in FileSystemStore class

9823
mbed-SPM updates

9822
Return the new values for key type & size even if function fails

9821
PSOC6: send HCI reset after patch RAM download

9817
Apply artifact_name configuration parameter to exported projects

9813
BLE: Cordio build time configuration through mbed_lib.json

9812
Add wait_ns API

9808
IAR 8 feature branch merge

9806
Update mbed_stats.c to use __ARMCC_VERSION flag for compatibility with AC6

9804
Provide an option to disable writing developer certificate

9802
Fix psa_system_reset() on PSA IPC platform

9800
Bare-metal profile

9799
Increase events.share-eventsize to 768B because of ESP8266 AT driver and asynchronous DNS

9797
API to temporarily enable/disable FileHandles

9796
New Wiced binaries

9795
Crypto: Update to Mbed Crypto 1.0.0d5 and then to 1.0.0d6

9794
Refactor tcpsocket tests to use sigio and not to wait

9792
NUCLEO_L073RZ Bootloader support

9791
Support mbed_start_application for Cortex-M0+

9790
BLE conf

9786
Optimize tickless tick computation

9785
Use us ticker for tickless on devs with wrapper

9783
Ensure header CRC is written as unsigned int

9781
PSOC6: correctly align hex files with split text sections

9780
Crypto Service - keys access control TESTS

9778
Add missing wifi parameters to test configs

9772
Additions to TF-M source integration

9768
Bring USB Feature branch into master

9766
Update Toolchain Arm Micro scatter files

9763
BLE: fixed initialisation order in GattServer

9759
Multiple memory handling fixes

9758
Allow hash or mac on large buffers with less memory use

9755
Support in more types then just RSA_KEYPAIR

9754
Fix SPM returning the wrong value

9752
Add comment fix warning

9751
Cellular: Fix ATHandler set/restore_at_timeout with mutex lock

9746
Cellular: retire CellularBase class

9745
Fix incorrect return value in psa_security_lifecycle_state (emul)

9738
Tools: Reoder post-build hooks and bl merging

9728
Cellular: Fix sigio to be released in ATHandler destructor

9727
BLE API devirtualization

9718
Greentea tests: user-configurable timeouts

9714
Only GCC_ARM toolchain is supported, removing legacy code

9710
Crypto: Remove PSA Crypto API from targets without entropy

9708
Implement PSA protected storage & restructure PSA storage implementation

9706
Cellular: fix onboard modems powering failure.

9705
Cellular: Fix cellular stack and drivers for netsocket tests

9702
Fix dependencies of platform partition

9701
Refactor psa entropy inject test

9698
Netsocket documentation cleanup

9690
Pinmap design doc

9684
enet_tasklet_disconnect() should generate event to tasklet.

9681
Make a few trivial syntactic changes to better support cross-compilation

9679
Default behavior of C030-R412M should be to use modem IP stack

9678
FUTURE_SEQUANA_PSA: fixed deep sleep mode

9677
Add MBEDTLS_ENTROPY_NV_SEED to NUCLEO_F411RE to fix the build

9668
PSA Initial Attestation service

9667
Linker files for LPC11U68 and LPC1549 updated

9666
Use new delivery for FUTURE_SEQUANA_PSA

9660
Cellular: clean sensitive information from trace

9655
Cellular: Non-IP doxygen updates

9653
TF-M sources integration to Mbed-OS

9645
Change TESTS/netsocket/ for cellular testing

9638
Crypto Service - keys access control

9633
Improvement to artifact delivery method

9630
Publish tests documentation for DNS, Emac, NetworkInterface and Wifi

9628
Bare metal mbed_lib updates

9617
SPE: Fix up atomic usage

9616
nRF52 serial: Tighten/simplify atomics

9605
Restore MBEDTLS_PSA_CRYPTO_C for PSA targets

9600
Atomic extensions: 64-bit, bool, exchange

9588
DISCO L475VG IOT01A: heap in SRAM2 region

9581
SharedPtr: use atomic load

9575
Crypto IPC 64 bit key ids for ITS

9571
Update to 2-region model for HEAP and Stack Memory

9568
Merge feature cellular refactor

9566
Fix warning in Crypto when using boot seed injection

9561
Tools changes for bare metal

9555
Wio BG96: Modified sequence of module startup

9554
Wio 3G: Modified sequence of module startup.

9537
BLE: Add MTU events

9530
Use atomics for double-checked locks (SingletonPtr + __cxa_guard)

9529
RollUp PR Crypto with ITS

9528
Second barrier for core_util_atomic_flag_clear

9520
ESP8266: reduces SIGIO signaled to the upper layers

9503
ESP8266: OOB handling done based on arrival of SIGIOs

9493
Initialize platform in trng test

9474
Fix newlines at end of files

9473
ESP8266: treats reset-ready-message as OOB

9469
SPI upgrade - per-peripheral mutex and GPIO-based SSEL

9456
ESP8266: calls MBED_ERROR if modem's watchdog reset gets triggered

9449
Pinmap extensions

9438
Use dedicated PinMap for each QSPI data line

9437
FPU_USED to be set based on HW FPU support + Squash commits

9424
Allows multiple network status listeners

9414
Clarify asynchronous Networkinterface::connect() and disconnect() API

9410
STM32F756 and STM32L486 alignment with STM32F746 and STM32L476

9405
Travis: Fix doxy-spellcheck job

9401
Tools: adds and implements a --custom-targets command line switch

9398
Revert "Warn with ARMC6 and not v8m"

9392
Documentation of TLSSocket behavior on AUTH_FAILURE

9387
Multihoming initial release

9386
SD default configuration for ST boards is already defined in TARGET_STM

9378
Add get_connection_status() override in CellularContext

9352
mbed_boot_arm_std.c: remove redundant compiler check

9350
GD32_F450ZI: Support boot stack size configuration option

9317
Tools: support cases where bootloader is in chunks

9305
Minor Doxygen fixes for all file system classes

9277
Sleep: error flags fix

9248
InternetSocket: use atomics, not volatile

9247
Add atomic loads and stores and barriers

9245
LoRAWAN: volatile bool -> atomic_flag

9231
Critical sections: remove unnecessary volatile

9224
Add platform TT_M4G9

9219
LoRaWAN: Retiring LoRaWANBase class

9188
Add more information to error url to enhance error analytics

9184
Adds an NFC System Test suite

9096
BLE: Enforce advertising data payload limits

9092
Interrupt stack size unification + test

9067
Move socket-stats-enable config to socket-stats-enabled

8972
Merge feature-posix branch (FileHandle::truncate)

8961
ThisThread get_name()

8887
Adding debugger awarness with Keil MDK

8757
Update Cmsis-pack-manager to 0.2.3

8749
Cellular: AT handler API

8739
L3IP Interface Implementation

8497
Add get/settimeofday retargets

7799
Removing feature names from the "allowed feature" config list.

10077
Create green-tea init for attestation test

10046
PSA: release.py bugfix - send the correct parameter to _get_target_info()

10042
BLE: fix conflicting include by qualifying cordio pal includes

10041
Fix include in psa compliance tests to mbedtls config file

10038
PSA: release.py updates to fixes situation where the script would get stuck

10033
Port spi_get_peripheral_name fix to some Freescale boards

10031
Add new mbed-os-example-attestation example

10027
TF-M patch: Handle extended stack frame in tfm_svcall_psa_call

10026
Add needed crypto macros to secure side

10025
PSA: PSoC 6 Correct TRNG behaviour

10023
Fix crypto compliance tests

10012
Generate BLE Static Random Address on U-blox Odin-W2 platform

10011
Removed cymetadata section from FUTURE_SEQUANA targets

10010
Update PSA tools

10002
Disable PSA in baremetal profiles

10001
PSA: release.py - add build profile

9997
Platform reset API rename

9996
PSA: Fix error codes masking in psa_attestation_inject_key()

9990
Sync PSA compliance test to latest version

9989
Test for and Recompute sector information for all targets

9982
Nanostack update for Mbed OS 5.12

9978
PSA: Fix psa/release.py tool

9977
NUCLEO_L073RZ: IAR linker script issue

9976
PSA: Remove unused type which was conflicting wiith errno.h

9973
TF-M config: Add max_ns_thread_count parameter

9963
PSA tools docs

9957
Fix issues found in LPC55S69 integration

9956
Add attestation doxygen

9953
PSA: automatic mocking of PSA targets in test builds

9940
Reduce flash page size from 512 to 32 bytes in PSOC6 based boards

9939
Fix for secure partition

9931
Reduce number of threads in block device test

9928
Secure binaries release script

9911
Add TF-M flags to doxygen

9910
Add support for LPC55S59

9908
Pr/cy mbed os 5.12.0

9907
BLE: Fix cordio configuration

9894
PSA tools: Find secure image at post-build

9312
PSA compliance tests suite

10113
Use secure/non-secure rom for bl modes

10108
Fix functionality for FlashIAPBD & SlicingBD

10101
LPC55S69_S: reduce ITS size to 32KB

10089
Make the presence of cmsis-pack-manager package optional

10088
Temporary disable Crypto HW accelerator on UBLOX_EVK_ODIN_W2

10086
Add bootloader support for the LPC55S69 board

10068
LPC55S69: Add IAR and uvision exporter support

10055
Add bootloader support for Cypress PSA boards

10047
Reduce 32KB from LPC55S69_S binary size

10044
Correct check for the ARM toolchain binary in the PATH.

10034
PSA: PSoc 6 configurable secure memory size

9994
Correct FPU settings traceback found by IAR

10199
Fix the removal of Mbed-added core flags in uvision exporter

10193
Fallback to ARMC5 when ARMC6 is not configured

10188
Configure sector information in targets.json

10187
Fall back to configuration information when CPM reports no memories

10186
Remove cypress boards from CMSIS pack manager

10173
Collect excluded libraries into ignored_dirs

10172
Cellular: Fix plmn trace for IAR

10164
TLS: Update Mbed TLS to 2.17.0

10157
Deduplicate IAR MBED_ROM__xxxx defines

10152
Crypto: Update Mbed Crypto to 1.0.0

10114
Allow the use of Mbed Studio's version of ARMC6

9965
Fix undefined tr_debug for QUECTEL_BG96 cellular feature

Using this release

You can fetch this release from the mbed-os GitHub repository, using the tag "mbed-os-5.12.0".

If you need any help with this release please visit our support page, which provides reference links and details of our support channels.