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.
Stable API changes in this release
The API signature of
net_mgmt
event handlernet_mgmt_event_handler_t
and request handlernet_mgmt_request_handler_t
has changed. The event value type is changed fromuint32_t
touint64_t
.
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
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
Wi-Fi
Added a new section to the Wi-Fi Management documentation (
doc/connectivity/networking/api/wifi.rst
) with step-by-step instructions for generating test certificates for Wi-Fi using FreeRADIUS scripts. This helps users reproduce the process for their own test environments.
Power management
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 2 RPU development board (
versal2_rpu
)Versal NET RPU development board (
versalnet_rpu
)
Aesc Silicon
ElemRV-N (
elemrv
)
Ai-Thinker Co., Ltd.
Ai-Thinker WB2-12F development board (
ai_wb2_12f
)
Ambiq Micro, Inc.
Apollo510 SOC Evaluation Board (
apollo510_evb
)
Analog Devices, Inc.
max32657evkit (
max32657evkit
)
Arduino
Arduino Portenta C33 (
arduino_portenta_c33
)
BeagleBoard.org Foundation
PocketBeagle 2 (
pocketbeagle_2
)
Blues Wireless
Cygnet (
cygnet
)
Bouffalo Lab (Nanjing) Co., Ltd.
BL604E IOT DVK development board (
bl604e_iot_dvk
)
Doctors of Intelligence & Technology
DT-BL10 coexistence Module Development Kit (
dt_bl10_devkit
)
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
)
Infineon Technologies
XMC7200 Evaluation Kit (
kit_xmc72_evk
)
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
)
M5Stack
Fire (
m5stack_fire
)
Microchip Technology Inc.
MEC17xxEVB ASSY6941 (
mec_assy6941
)SAMA7G54 Evaluation Kit (
sama7g54_ek
)
MikroElektronika d.o.o.
MikroE Quail (
mikroe_quail
)
Nuvoton Technology Corporation
NUMAKER M55M1 (
numaker_m55m1
)
NXP Semiconductors
FRDM-MCXA153 (
frdm_mcxa153
)FRDM-MCXA166 (
frdm_mcxa166
)FRDM-MCXA276 (
frdm_mcxa276
)i.MX943 EVK (
imx943_evk
)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
)
Raytac Corporation
AN54L15Q-DB (
raytac_an54l15q_db
)
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/V2H Evaluation Board Kit (
rzv2h_evk
)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
)RA8D1 Vision Board (
ra8d1_vision_board
)
Silicon Laboratories
SiWx917 Wi-Fi 6 and Bluetooth LE 8 MB Flash + 8 MB ext PSRAM Radio Board (SLWRB4342A) (
siwx917_rb4342a
)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 1 (
stm32u5g9j_dk1
)STM32U5G9J Discovery Kit (
stm32u5g9j_dk2
)
Texas Instruments
MSPM0G3507 Launchpad (
lp_mspm0g3507
)SK-AM64 (
sk_am64
)
Variscite Ltd.
DART-MX8M-PLUS (
imx8mp_var_dart
)VAR-SOM-MX8M-PLUS (
imx8mp_var_som
)DART-MX93 (
imx93_var_dart
)VAR-SOM-MX93 (
imx93_var_som
)
Waveshare Electronics
ESP32-S3-Matrix (
esp32s3_matrix
)
WeAct Studio
BluePill Plus CH32V203 (
bluepillplus_ch32v203
)
WinChipHead
WCH CH32V003F4P6 Development Board (
ch32v003f4p6_dev_board
)WCH CH32V006EVT (
ch32v006evt
)WCH CH32V303VCT6_EVT (
ch32v303vct6_evt
)WCH LinkW (
linkw
)
WIZnet Co., Ltd.
W5500-EVB-Pico2 (
w5500_evb_pico2
)
Würth Elektronik GmbH.
Ophelia-IV DK (
ophelia4ev
)
New Drivers
ADC
Audio
Auxiliary Display
CAN
Charger
Clock control
Comparator
Counter
CPU
Cryptographic accelerator
DAC
Display
DMA
eSPI
Ethernet
Firmware
Flash controller
File system
Fuel gauge
GNSS
GPIO
I2C
I2S
I3C
Input
Interrupt controller
LED
LED
Mailbox
MDIO
Memory controller
MFD
MIPI DBI
Miscellaneous
Modem
Multi-bit SPI
MTD
Networking
Octal SPI
Pin control
Power management
PWM
Regulator
Reset controller
RNG
RTC
SDHC
Sensors
Serial controller
SPI
Stepper
System controller
Tachometer
TCPC
Timer
USB
Video
Virtio
Watchdog
Wi-Fi
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