Zephyr 4.2.0 (Working Draft)

We are pleased to announce the release of Zephyr version 4.2.0.

Major enhancements with this release include:

An overview of the changes required or recommended when migrating your application from Zephyr v4.1.0 to Zephyr v4.2.0 can be found in the separate migration guide.

The following sections provide detailed lists of changes by component.

API Changes

Removed APIs and options

  • Removed the deprecated the net_buf_put() and net_buf_get() API functions.

  • Removed the deprecated include/zephyr/net/buf.h header file.

  • Removed the --disable-unrecognized-section-test Twister option. Test has been removed and the option became the default behavior.

  • Removed the deprecated kscan subsystem.

Deprecated APIs and options

  • The scheduler Kconfig options CONFIG_SCHED_DUMB and CONFIG_WAITQ_DUMB were renamed and deprecated. Use CONFIG_SCHED_SIMPLE and CONFIG_WAITQ_SIMPLE instead.

  • The CONFIG_LWM2M_ENGINE_MESSAGE_HEADER_SIZE Kconfig option has been removed. The required header size should be included in the message size, configured using CONFIG_LWM2M_COAP_MAX_MSG_SIZE. Special care should be taken to ensure that used CoAP block size CONFIG_LWM2M_COAP_BLOCK_SIZE can fit given message size with headers. Previous headroom was 48 bytes.

  • TLS credential type TLS_CREDENTIAL_SERVER_CERTIFICATE was renamed and deprecated, use instead.

  • arduino_uno_r4_minima and arduino_uno_r4_wifi board targets have been deprecated in favor of a new arduino_uno_r4 board with revisions (arduino_uno_r4@minima and arduino_uno_r4@wifi).

  • esp32c6_devkitc board target has been deprecated and renamed to esp32c6_devkitc/esp32c6/hpcore.

  • xiao_esp32c6 board target has been deprecated and renamed to xiao_esp32c6/esp32c6/hpcore.

New APIs and options

  • Kernel

  • K_TIMEOUT_ABS_SEC

New Boards

New Drivers

New Samples

Other notable changes

  • Added support for Armv8.1-M MPU’s PXN (Privileged Execute Never) attribute. With this, the MPU attributes for __ramfunc and __ram_text_reloc were modified such that, PXN attribute is set for these regions if compiled with CONFIG_ARM_MPU_PXN and CONFIG_USERSPACE. This results in a change in behaviour for code being executed from these regions because, if these regions have pxn attribute set in them, they cannot be executed in privileged mode.

  • Removed support for Nucleo WBA52CG board (nucleo_wba52cg) since it is NRND (Not Recommended for New Design) and it is not supported anymore in the STM32CubeWBA from version 1.1.0 (July 2023). The migration to Nucleo WBA55CG (nucleo_wba55cg) is recommended instead.

  • Updated Mbed TLS to version 3.6.3 (from 3.6.2). The release notes can be found at: https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.3