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()
andnet_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.Removed
meas,ms5837
and replaced withmeas,ms5837-30ba
andmeas,ms5837-02ba
.Removed the
get_ctrl
video driver API
Deprecated APIs and options
The scheduler Kconfig options CONFIG_SCHED_DUMB and CONFIG_WAITQ_DUMB were renamed and deprecated. Use
CONFIG_SCHED_SIMPLE
andCONFIG_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 usingCONFIG_LWM2M_COAP_MAX_MSG_SIZE
. Special care should be taken to ensure that used CoAP block sizeCONFIG_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, useTLS_CREDENTIAL_PUBLIC_CERTIFICATE
instead.arduino_uno_r4_minima
andarduino_uno_r4_wifi
board targets have been deprecated in favor of a newarduino_uno_r4
board with revisions (arduino_uno_r4@minima
andarduino_uno_r4@wifi
).esp32c6_devkitc
board target has been deprecated and renamed toesp32c6_devkitc/esp32c6/hpcore
.xiao_esp32c6
board target has been deprecated and renamed toxiao_esp32c6/esp32c6/hpcore
.CONFIG_HAWKBIT_DDI_NO_SECURITY
Kconfig option has been deprecated, because support for anonymous authentication had been removed from the hawkBit server in version 0.8.0.The
CONFIG_BT_CONN_TX_MAX
Kconfig option has been deprecated. The number of pending TX buffers is now aligned with theCONFIG_BT_BUF_ACL_TX_COUNT
Kconfig option.The
CONFIG_CRYPTO_TINYCRYPT_SHIM
Kconfig option has been removed. It was deprecated since Zephyr 4.0, and users were advised to migrate to alternative crypto backends.
New APIs and options
Architectures
NIOS2 Architecture was removed from Zephyr.
ARCH_HAS_VECTOR_TABLE_RELOCATION
CONFIG_SRAM_VECTOR_TABLE
moved fromzephyr/Kconfig.zephyr
tozephyr/arch/Kconfig
and added dependencies to it.
Kernel
K_TIMEOUT_ABS_SEC
I2C
Bluetooth
Audio
Host
LE Connection Subrating is no longer experimental.
Remove deletion of the classic bonding information from
bt_unpair()
, and addbt_br_unpair()
.Remove query of the classic bonding information from
bt_foreach_bond()
, and addbt_br_foreach_bond()
.
Display
Networking:
IPv4
MQTT
Sockets
OpenThread
Moved OpenThread-related Kconfig options from subsys/net/l2/openthread/Kconfig to modules/openthread/Kconfig.
Refactored OpenThread networking API, see the OpenThread section of the migration guide.
zperf
zperf_upload_params.data_loader
Sensor
Stepper
Storage
Counter
Sys
- LoRaWAN
Video
video_api_ctrl_t()
PCIe
Debug
Core Dump
CONFIG_DEBUG_COREDUMP_THREAD_STACK_TOP
, enabled by default for ARM Cortex M whenCONFIG_DEBUG_COREDUMP_MEMORY_DUMP_MIN
is selected.
Other
ZBus
Zbus has achieved stable status with the release of API version v1.0.0.
Runtime observers can work without heap. Now it is possible to choose between static, dynamic, and none allocation for the runtime observers nodes.
Runtime observers using
CONFIG_ZBUS_RUNTIME_OBSERVERS_NODE_ALLOC_NONE
must use the new functionzbus_chan_add_obs_with_node()
.
New Boards
Adafruit Industries, LLC
Adafruit Feather ESP32S2 (
adafruit_feather_esp32s2
)Adafruit Feather ESP32S2 TFT (
adafruit_feather_esp32s2_tft
)Adafruit Feather ESP32S2 TFT Reverse (
adafruit_feather_esp32s2_tft_reverse
)Adafruit Feather ESP32S3 (
adafruit_feather_esp32s3
)Adafruit Feather ESP32S3 TFT (
adafruit_feather_esp32s3_tft
)
Advanced Micro Devices (AMD), Inc.
Versal NET RPU development board (
versalnet_rpu
)
Aesc Silicon
ElemRV-N (
elemrv
)
aithinker
Ai-Thinker WB2-12F development board (
ai_wb2_12f
)
Ambiq Micro, Inc.
Apollo510 SOC Evaluation Board (
apollo510_evb
)
Analog Devices, Inc.
max32657evkit (
max32657evkit
)
BeagleBoard.org Foundation
PocketBeagle 2 (
pocketbeagle_2
)
Blues Wireless
Cygnet (
cygnet
)
Bouffalo Lab (Nanjing) Co., Ltd.
BL604E IOT DVK development board (
bl604e_iot_dvk
)
Espressif Systems
ESP32-DevKitC (
esp32_devkitc
)
Ezurio
BL54L15 DVK (
bl54l15_dvk
)BL54L15u DVK (
bl54l15u_dvk
)
FANKE Technology Co., Ltd.
FK743M5-XIH6 (
fk743m5_xih6
)
IAR Systems AB
STM32F429II-ACA (
stm32f429ii_aca
)
Intel Corporation
Bartlett Lake P CRB (
intel_btl_s_crb
)
ITE Tech. Inc.
IT51XXX series (
it515xx_evb
)
KWS Computersysteme Gmbh
Lilygo Shenzhen Xinyuan Electronic Technology Co., Ltd
T-Dongle S3 (
tdongle_s3
)TTGO TBeam (
ttgo_tbeam
)TTGO T-OI-PLUS (
ttgo_toiplus
)T-Watch S3 (
twatch_s3
)
Microchip Technology Inc.
MEC17xxEVB ASSY6941 (
mec_assy6941
)
Nuvoton Technology Corporation
NUMAKER M55M1 (
numaker_m55m1
)
NXP Semiconductors
FRDM-MCXA153 (
frdm_mcxa153
)FRDM-MCXA166 (
frdm_mcxa166
)FRDM-MCXA276 (
frdm_mcxa276
)MCX-N9XX-EVK (
mcx_n9xx_evk
)
Octavo Systems LLC
OSD32MP1-BRK (
osd32mp1_brk
)
OpenHW Group
cv32a6_genesys_2 (
cv32a6_genesys_2
)cv64a6_genesys_2 (
cv64a6_genesys_2
)
Pimoroni Ltd.
Pimoroni Pico Plus2 (
pico_plus2
)
QEMU
QEMU Emulation for Renesas RX (
qemu_rx
)
Renesas Electronics Corporation
Renesas Starter Kit for RX130 (
rsk_rx130
)RZ/A2M Evaluation Kit (
rza2m_evk
)RZ/A3UL SMARC Evaluation Board Kit (
rza3ul_smarc
)RZ/G2L SMARC Evaluation Board Kit (
rzg2l_smarc
)RZ/G2LC SMARC Evaluation Board Kit (
rzg2lc_smarc
)Renesas Starter Kit+ for RZ/N2L (
rzn2l_rsk
)Renesas Starter Kit+ for RZ/T2L (
rzt2l_rsk
)Renesas Starter Kit+ for RZ/T2M (
rzt2m_rsk
)RZ/V2L SMARC Evaluation Board Kit (
rzv2l_smarc
)
Seeed Technology Co., Ltd
XIAO MG24 (
xiao_mg24
)XIAO RA4M1 (
xiao_ra4m1
)
sensry.io
Ganymed Starter Kit (SK) (
ganymed_sk
)
Shanghai Ruiside Electronic Technology Co., Ltd.
ART-Pi2 (
art_pi2
)
Silicon Laboratories
EFR32xG21 2.4 GHz 20 dBm (SLWRB4180B) (
slwrb4180b
)
STMicroelectronics
Nucleo F439ZI (
nucleo_f439zi
)Nucleo WBA65RI (
nucleo_wba65ri
)STM32H757I Eval (
stm32h757i_eval
)STM32MP135F-DK Discovery (
stm32mp135f_dk
)STM32U5G9J Discovery Kit (
stm32u5g9j_dk2
)
Texas Instruments
SK-AM64 (
sk_am64
)
Variscite Ltd.
VAR-SOM-MX8M-PLUS (
imx8mp_var_som
)
WinChipHead
WCH CH32V003F4P6 Development Board (
ch32v003f4p6_dev_board
)WCH LinkW (
linkw
)
WIZnet Co., Ltd.
W5500-EVB-Pico2 (
w5500_evb_pico2
)
Würth Elektronik GmbH.
Ophelia-IV DK (
ophelia4ev
)
New Drivers
ADC
Audio
Charger
Clock control
Comparator
Counter
CPU
Cryptographic accelerator
DAC
Display
DMA
Ethernet
Firmware
Flash controller
File system
GPIO and Headers
I2C
I3C
Input
Interrupt controller
LED
Mailbox
MDIO
Memory controller
MFD
MIPI DBI
Miscellaneous
Multi-bit SPI
MTD
Networking
Pin control
Power management
PWM
Regulator
Reset controller
RNG
RTC
SDHC
Sensors
Serial controller
SPI
Stepper
Tachometer
Timer
USB
Watchdog
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 withCONFIG_ARM_MPU_PXN
andCONFIG_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
Updated TF-M to version 2.1.2 (from 2.1.1). The release notes can be found at: https://trustedfirmware-m.readthedocs.io/en/tf-mv2.1.2/releases/2.1.2.html