doc/releases/release-notes-4.1.rst
:orphan:
.. What goes here: removed/deprecated apis, new boards, new drivers, notable features. If you feel like something new can be useful to a user, put it under "Other Enhancements" in the first paragraph, if you feel like something is worth mentioning in the project media (release blog post, release livestream) put it under "Major enhancement". .. If you are describing a feature or functionality, consider adding it to the actual project documentation rather than the release notes, so that the information does not get lost in time. .. No list of bugfixes, minor changes, those are already in the git log, this is not a changelog. .. Does the entry have a link that contains the details? Just add the link, if you think it needs more details, put them in the content that shows up on the link. .. Are you thinking about generating this? Don't put anything at all. .. Does the thing require the user to change their application? Put it on the migration guide instead. (TODO: move the removed APIs section in the migration guide)
.. _zephyr_4.1:
Zephyr 4.1.0 ############
We are pleased to announce the release of Zephyr version 4.1.0. Major enhancements with this release include:
Performance improvements Multiple performance improvements of core Zephyr kernel functions have been implemented, benefiting all supported hardware architectures.
An official port of the :zephyr_file:thread_metric <tests/benchmarks/thread_metric> RTOS
benchmark has also been added to make it easier for developers to measure the performance of
Zephyr on their hardware and compare it to other RTOSes.
Experimental support for IAR compiler
:ref:toolchain_iar_arm can now be used to build Zephyr applications. This is an experimental
feature that is expected to be improved in future releases.
Initial support for Rust on Zephyr
It is now possible to write Zephyr applications in Rust. :ref:language_rust is available through
an optional Zephyr module, and several code samples are available as a starting point.
USB MIDI Class Driver
Introduction of a new :ref:USB MIDI 2.0 <usbd_midi2> device driver, allowing Zephyr devices to
communicate with MIDI controllers and instruments over USB.
Expanded Board Support
Support for 70 :ref:new boards <boards_added_in_zephyr_4_1> and 11
:ref:new shields <shields_added_in_zephyr_4_1> has been added in this release.
This includes highly popular boards such as :zephyr:board:rpi_pico2 and
:zephyr:board:ch32v003evt, several boards with CAN+USB capabilities making them good candidates
for running the Zephyr-based open source CANnectivity_ firmware, and dozens of other boards
across all supported architectures.
.. _CANnectivity: https://cannectivity.org/
An overview of the changes required or recommended when migrating your application from Zephyr
v4.0.0 to Zephyr v4.1.0 can be found in the separate :ref:migration guide<migration_4.1>.
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
The following CVEs are addressed by this release:
:cve:2025-1673 Zephyr project bug tracker GHSA-jjhx-rrh4-j8mx <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-jjhx-rrh4-j8mx>_
:cve:2025-1674 Zephyr project bug tracker GHSA-x975-8pgf-qh66 <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-x975-8pgf-qh66>_
:cve:2025-1675 Zephyr project bug tracker GHSA-2m84-5hfw-m8v4 <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-2m84-5hfw-m8v4>_
More detailed information can be found in: https://docs.zephyrproject.org/latest/security/vulnerabilities.html
API Changes
The legacy Bluetooth HCI driver API has been removed. It has been replaced
by a :c:group:new API<bt_hci_api> that follows the normal Zephyr driver
model.
The CAN_MAX_STD_ID (replaced by :c:macro:CAN_STD_ID_MASK) and
CAN_MAX_EXT_ID (replaced by :c:macro:CAN_EXT_ID_MASK) CAN API macros
have been removed.
The can_get_min_bitrate() (replaced by :c:func:can_get_bitrate_min)
and can_get_max_bitrate() (replaced by :c:func:can_get_bitrate_max)
CAN API functions have been removed.
The can_calc_prescaler() CAN API function has been removed.
The :kconfig:option:CONFIG_NET_SOCKETS_POSIX_NAMES option has been
removed. It was a legacy option and was used to allow user to call BSD
socket API while not enabling POSIX API. This removal means that in order
to use POSIX API socket calls, one needs to enable the
:kconfig:option:CONFIG_POSIX_API option. If the application does not want
or is not able to enable that option, then the socket API calls need to be
prefixed by a zsock_ string.
Removed video_pix_fmt_bpp() function that was returning a byte count
and only supported 8-bit depth to :c:func:video_bits_per_pixel() returning
the bit count and supporting any color depth.
The video_stream_start() and video_stream_stop() driver APIs have been
replaced by video_set_stream().
:kconfig:option:CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO
The :kconfig:option:CONFIG_PM_DEVICE_RUNTIME_EXCLUSIVE option has been removed
after being deprecated in favor of :kconfig:option:CONFIG_PM_DEVICE_SYSTEM_MANAGED.
The z_pm_save_idle_exit() PM API function has been removed.
Struct z_arch_esf_t has been removed. Use struct arch_esf instead.
The following networking options have been removed:
CONFIG_NET_PKT_BUF_DATA_POOL_SIZECONFIG_NET_TCP_ACK_TIMEOUTthe :c:func:bt_le_set_auto_conn API function. Application developers can achieve
the same functionality in their application code by reconnecting to the peer when the
:c:member:bt_conn_cb.disconnected callback is invoked.
:kconfig:option:CONFIG_NATIVE_APPLICATION has been deprecated.
Deprecated the :c:func:stream_flash_erase_page from Stream Flash API. The same functionality
can be achieved using :c:func:flash_area_erase or :c:func:flash_erase. Nevertheless
erasing of a device, while stream flash is supposed to do so, as configured, will result in
data lost from stream flash. There are only two situations where device should be erased
directly:
The pipe API has been reworked.
The new API is enabled by default when CONFIG_MULTITHREADING is set.
Deprecates the CONFIG_PIPES Kconfig option.
Introduces the k_pipe_close(..) function.
k_pipe_put(..) translates to k_pipe_write(..).
k_pipe_get(..) translates to k_pipe_read(..).
k_pipe_flush(..) & k_pipe_buffer_flush() can be translated to k_pipe_reset(..).
Dynamic allocation of pipes is no longer supported.
k_pipe_alloc_init(..) API has been removed.k_pipe_cleanup(..) API has been removed.Querying the number of bytes in the pipe is no longer supported.
k_pipe_read_avail(..) API has been removed.k_pipe_write_avail(..) API has been removed.For the native_sim target :kconfig:option:CONFIG_NATIVE_SIM_NATIVE_POSIX_COMPAT has been
switched to n by default, and this option has been deprecated.
:kconfig:option:CONFIG_BT_BUF_ACL_RX_COUNT
All HWMv1 board name aliases which were added as deprecated in v3.7 are now removed
(:github:82247).
The TinyCrypt library has been deprecated as the upstream version is no longer maintained. PSA Crypto API is now the recommended cryptographic library for Zephyr.
The :kconfig:option:CONFIG_BT_DIS_MODEL and :kconfig:option:CONFIG_BT_DIS_MANUF have been
deprecated. Application developers can achieve the same configuration by using the new
:kconfig:option:CONFIG_BT_DIS_MODEL_NUMBER_STR and
:kconfig:option:CONFIG_BT_DIS_MANUF_NAME_STR Kconfig options.
.. Link to new APIs here, in a group if you think it's necessary, no need to get fancy just list the link, that should contain the documentation. If you feel like you need to add more details, add them in the API documentation code instead.
Architectures
CONFIG_ARCH_HAS_CUSTOM_CURRENT_IMPLCONFIG_RISCV_CURRENT_VIA_GPBluetooth
Audio
bt_bap_broadcast_source_register_cbbt_bap_broadcast_source_unregister_cbbt_cap_commander_distribute_broadcast_codebt_ccp API (in progress)bt_pacs_registerbt_pacs_unregisterHost
bt_conn_is_typeMesh
bt_mesh_health_cli::update callback can be used to periodically update the message
published by the Health Client.Services
CONFIG_BT_DIS_MODEL_NUMBER and
:kconfig:option:CONFIG_BT_DIS_MANUF_NAME Kconfig options can be used to control the
presence of the Model Number String and Manufacturer Name String characteristics inside
the Device Information Service (DIS). The :kconfig:option:CONFIG_BT_DIS_MODEL_NUMBER_STR
and :kconfig:option:CONFIG_BT_DIS_MANUF_NAME_STR Kconfig options are now used to set the
string values in these characteristics. They replace the functionality of the deprecated
:kconfig:option:CONFIG_BT_DIS_MODEL and :kconfig:option:CONFIG_BT_DIS_MANUF Kconfigs.Build system
Sysbuild
SB_CONFIG_MCUBOOT_MODE_SWAP_USING_OFFSET, this mode is experimental.Crypto
CONFIG_MBEDTLS_PSA_STATIC_KEY_SLOTSCONFIG_MBEDTLS_PSA_KEY_SLOT_COUNTI3C
CONFIG_I3C_TARGET_BUFFER_MODECONFIG_I3C_RTIOi3c_ibi_hj_responsei3c_ccc_do_getacccri3c_device_controller_handoffManagement
hawkBit
CONFIG_HAWKBIT_TENANTCONFIG_HAWKBIT_EVENT_CALLBACKSCONFIG_HAWKBIT_SAVE_PROGRESSMCUmgr
MGMT_EVT_OP_IMG_MGMT_DFU_CONFIRMED now has image data field
:c:struct:img_mgmt_image_confirmed.MCUboot
Networking:
CoAP
coap_client_cancel_requestDHCP
CONFIG_NET_DHCPV4_SERVER_OPTION_ROUTERCONFIG_NET_DHCPV4_OPTION_DNS_ADDRESSCONFIG_NET_DHCPV6_OPTION_DNS_ADDRESSDNS
CONFIG_MDNS_RESPONDER_PROBEEthernet
NET_L3_REGISTERCONFIG_NET_L2_ETHERNET_RESERVE_HEADERHTTP
HTTP_SERVICE_DEFINE to allow to specify a default
fallback resource handler.CONFIG_HTTP_SERVER_REPORT_FAILURE_REASONCONFIG_HTTP_SERVER_TLS_USE_ALPNIPv4
CONFIG_NET_IPV4_PMTUIPv6
CONFIG_NET_IPV6_PMTULwM2M
lwm2m_pull_context_set_sockopt_callbackMQTT-SN
Added Gateway Advertisement and Discovery support:
mqtt_sn_add_gwmqtt_sn_searchOpenThread
CONFIG_OPENTHREAD_WAKEUP_COORDINATORCONFIG_OPENTHREAD_WAKEUP_END_DEVICECONFIG_OPENTHREAD_PLATFORM_MESSAGE_MANAGEMENTCONFIG_OPENTHREAD_TCAT_MULTIRADIO_CAPABILITIESSockets
Added support for new socket options:
IP_LOCAL_PORT_RANGEIP_MULTICAST_IFIPV6_MULTICAST_IFIP_MTUIPV6_MTUOther
CONFIG_NET_STATISTICS_VIA_PROMETHEUSVideo
video_set_stream() driver API has replaced :c:func:video_stream_start() and
:c:func:video_stream_stop() driver APIs.Other
CONFIG_BT_BUF_ACL_RX_COUNT_EXTRADT_ANY_INST_HAS_BOOL_STATUS_OKAYled_dt_specCONFIG_STEP_DIR_STEPPER.. _boards_added_in_zephyr_4_1:
New Boards
.. You may update this list as you contribute a new board during the release cycle, in order to make it visible to people who might be looking at the working draft of the release notes. However, note that this list will be recomputed at the time of the release, so you don't have to update it. In any case, just link the board, further details go in the board description.
Adafruit Industries, LLC
adafruit_feather_m4_express (adafruit_feather_m4_express)adafruit_macropad_rp2040 (adafruit_macropad_rp2040)adafruit_qt_py_esp32s3 (adafruit_qt_py_esp32s3)Advanced Micro Devices (AMD), Inc.
acp_6_0_adsp (acp_6_0_adsp)Analog Devices, Inc.
ad_swiot1l_sl (ad_swiot1l_sl)max32650evkit (max32650evkit)max32650fthr (max32650fthr)max32660evsys (max32660evsys)max78000evkit (max78000evkit)max78000fthr (max78000fthr)max78002evkit (max78002evkit)Antmicro
myra_sip_baseboard (myra_sip_baseboard)BeagleBoard.org Foundation
beagley_ai (beagley_ai)FANKE Technology Co., Ltd.
fk750m1_vbt6 (fk750m1_vbt6)Google, Inc.
google_icetower (google_icetower)google_quincy (google_quincy)Infineon Technologies
cy8ckit_062s2_ai (cy8ckit_062s2_ai)Khadas
khadas_edge2 (khadas_edge2)Lilygo Shenzhen Xinyuan Electronic Technology Co., Ltd
ttgo_t7v1_5 (ttgo_t7v1_5)ttgo_t8s3 (ttgo_t8s3)M5Stack
m5stack_cores3 (m5stack_cores3)Makerbase Co., Ltd.
mks_canable_v20 (mks_canable_v20)MediaTek Inc.
mt8186)mt8188)mt8196)NXP Semiconductors
frdm_mcxw72 (frdm_mcxw72)imx91_evk (imx91_evk)mcxw72_evk (mcxw72_evk)mimxrt700_evk (mimxrt700_evk)Nordic Semiconductor
nrf54l09pdk)Norik Systems
octopus_io_board (octopus_io_board)octopus_som (octopus_som)Panasonic Corporation
panb511evb)Peregrine Consultoria e Servicos
sam4l_wm400_cape (sam4l_wm400_cape)Qorvo, Inc.
decawave_dwm3001cdk (decawave_dwm3001cdk)RAKwireless Technology Limited
rak3172 (rak3172)Raspberry Pi Foundation
rpi_pico2 (rpi_pico2)Realtek Semiconductor Corp.
rts5912_evb (rts5912_evb)Renesas Electronics Corporation
ek_ra2l1 (ek_ra2l1)ek_ra4l1 (ek_ra4l1)ek_ra4m1 (ek_ra4m1)fpb_ra4e1 (fpb_ra4e1)rzg3s_smarc (rzg3s_smarc)voice_ra4e1 (voice_ra4e1)STMicroelectronics
nucleo_c071rb (nucleo_c071rb)nucleo_f072rb (nucleo_f072rb)nucleo_h7s3l8 (nucleo_h7s3l8)nucleo_n657x0_q (nucleo_n657x0_q)nucleo_wb07cc (nucleo_wb07cc)stm32f413h_disco (stm32f413h_disco)stm32n6570_dk (stm32n6570_dk)Seeed Technology Co., Ltd
xiao_esp32c6 (xiao_esp32c6)Shenzhen Fuyuansheng Electronic Technology Co., Ltd.
ucan (ucan)Silicon Laboratories
siwx917_rb4338a (siwx917_rb4338a)xg23_rb4210a (xg23_rb4210a)xg24_ek2703a (xg24_ek2703a)xg29_rb4412a (xg29_rb4412a)Texas Instruments
lp_em_cc2340r5 (lp_em_cc2340r5)Toradex AG
verdin_imx8mm (verdin_imx8mm)Waveshare Electronics
rp2040_zero (rp2040_zero)WeAct Studio
mini_stm32h7b0 (mini_stm32h7b0)weact_stm32h5_core)WinChipHead
ch32v003evt (ch32v003evt)Würth Elektronik GmbH.
we_oceanus1ev (we_oceanus1ev)we_orthosie1ev (we_orthosie1ev)Others
canbardo (canbardo)candlelight (candlelight)candlelightfd (candlelightfd)esp32c3_supermini (esp32c3_supermini)promicro_nrf52840 (promicro_nrf52840).. _shields_added_in_zephyr_4_1:
Abrobot ESP32 C3 OLED Shield <abrobot_esp32c3oled_shield>Adafruit Adalogger Featherwing Shield <adafruit_adalogger_featherwing_shield>Adafruit AW9523 GPIO Expander and LED Driver <adafruit_aw9523>MikroElektronika ETH 3 Click <mikroe_eth3_click>P3T1755DP Arduino® Shield Evaluation Board <p3t1755dp_ard_i2c_shield>P3T1755DP Arduino® Shield Evaluation Board <p3t1755dp_ard_i3c_shield>Digilent Pmod SD <pmod_sd>Renesas DA14531 Pmod Board <renesas_us159_da14531evz_shield>RTKMIPILCDB00000BE MIPI Display <rtkmipilcdb00000be>Seeed W5500 Ethernet Shield <seeed_w5500>ST B-CAMS-OMV-MB1683 <st_b_cams_omv_mb1683>New Drivers
.. Same as above for boards, this will also be recomputed at the time of the release. Just link the driver, further details go in the binding description
:abbr:ADC (Analog to Digital Converter)
adi,ad4114-adcadi,ad7124-adcst,stm32n6-adcti,ads114s06ti,ads124s06ti,ads124s08ti,ads131m02ti,tla2022ti,tla2024ARM architecture
nxp,nbuAudio
cirrus,cs43l22intel,adsp-mic-privacyBluetooth
renesas,bt-hci-da1453xsilabs,siwx91x-bt-hcist,hci-stm32wb0Charger
nxp,pf1550-chargerClock control
atmel,sam0-gclkatmel,sam0-mclkatmel,sam0-osc32kctrlnordic,nrf-hsfll-globalnuvoton,npcm-pccrealtek,rts5912-scconrenesas,rz-cpgst,stm32n6-cpu-clock-muxst,stm32n6-hse-clockst,stm32n6-ic-clock-muxst,stm32n6-pll-clockst,stm32n6-rccwch,ch32v00x-hse-clockwch,ch32v00x-hsi-clockwch,ch32v00x-pll-clockwch,rccComparator
silabs,acmpCounter
adi,max32-rtc-counterrenesas,rz-gtm-counterCPU
wch,qingke-v2:abbr:DAC (Digital to Analog Converter)
adi,max22017-dacrenesas,ra-dacrenesas,ra-dac-global:abbr:DAI (Digital Audio Interface)
mediatek,afenxp,dai-micfilDisplay
ilitek,ili9806e-dsirenesas,ra-glcdcsolomon,ssd1309fb:abbr:DMA (Direct Memory Access)
infineon,cat1-dmanxp,sdmasilabs,ldmasilabs,siwx91x-dmaxlnx,axi-dma-1.00.axlnx,eth-dma:abbr:DSA (Distributed Switch Architecture)
nxp,netc-switch:abbr:EEPROM (Electrically Erasable Programmable Read-Only Memory)
fujitsu,mb85rsxxEthernet
davicom,dm8806-phymicrochip,lan9250microchip,t1s-phymicrochip,vsc8541renesas,ra-ethernetsensry,sy1xx-macFirmware
arm,scmi-powerFlash controller
silabs,siwx91x-flash-controllerti,cc23x0-flash-controller:abbr:FPGA (Field Programmable Gate Array)
lattice,ice40-fpga-baselattice,ice40-fpga-bitbang:abbr:GPIO (General Purpose Input/Output)
adi,max22017-gpioadi,max22190-gpioawinic,aw9523b-gpioite,it8801-gpiomicrochip,mec5-gpionordic,npm2100-gpionxp,pca6416raspberrypi,rp1-gpiorealtek,rts5912-gpiorenesas,ra-gpio-mipi-headerrenesas,rz-gpiorenesas,rz-gpio-intsensry,sy1xx-gpiosilabs,siwx91x-gpiosilabs,siwx91x-gpio-portsilabs,siwx91x-gpio-uulpst,dcmi-camera-fpu-330zhst,mfxstm32l152stemma-qt-connectorti,cc23x0-gpiowch,gpioIEEE 802.15.4 HDLC RCP interface
nxp,hdlc-rcp-ifuart,hdlc-rcp-if:abbr:I2C (Inter-Integrated Circuit)
nordic,nrf-twisnxp,ii2cti,omap-i2cti,tca9544a:abbr:I3C (Improved Inter-Integrated Circuit)
snps,designware-i3cst,stm32-i3cIEEE 802.15.4
nxp,mcxw-ieee802154Input
cypress,cy8cmbr3xxxite,it8801-kbdmicrochip,cap12xxnintendo,nunchukInterrupt controller
renesas,rz-ext-irqwch,pficMailbox
linaro,ivshmem-mboxti,omap-mailbox:abbr:MDIO (Management Data Input/Output)
microchip,lan865x-mdiorenesas,ra-mdiosensry,sy1xx-mdioMemory controller
renesas,ra-sdram:abbr:MFD (Multi-Function Device)
adi,max22017awinic,aw9523bite,it8801-altctrlite,it8801-mfdite,it8801-mfd-mapmaxim,ds3231-mfdnordic,npm2100nxp,pf1550:abbr:MIPI DSI (Mobile Industry Processor Interface Display Serial Interface)
renesas,ra-mipi-dsiMiscellaneous
nordic,nrf-bicrnordic,nrf-ppibrenesas,ra-external-interrupt:abbr:MMU / MPU (Memory Management Unit / Memory Protection Unit)
nxp,sysmpu:abbr:MTD (Memory Technology Device)
nxp,s32-qspi-hyperflashnxp,xspi-mx25um51345gti,cc23x0-ccfg-flashNetworking
silabs,series2-radio:abbr:PCIe (Peripheral Component Interconnect Express)
brcm,brcmstb-pciePHY
renesas,ra-usbphycst,stm32u5-otghs-phyPin control
realtek,rts5912-pinctrlrenesas,rzg-pinctrlsensry,sy1xx-pinctrlsilabs,dbus-pinctrlsilabs,siwx91x-pinctrlti,cc23x0-pinctrlwch,afio:abbr:PWM (Pulse Width Modulation)
atmel,sam0-tc-pwmite,it8801-pwmrenesas,rz-gpt-pwmzephyr,fake-pwmQuad SPI
nxp,s32-qspi-sfp-fradnxp,s32-qspi-sfp-mdadRegulator
nordic,npm2100-regulatornxp,pf1550-regulator:abbr:RNG (Random Number Generator)
nordic,nrf-cracen-ctrdrbgnxp,ele-trngrenesas,ra-sce5-rngrenesas,ra-sce7-rngrenesas,ra-sce9-rngrenesas,ra-trngsensry,sy1xx-trngsilabs,siwx91x-rngst,stm32-rng-noirq:abbr:RTC (Real Time Clock)
epson,rx8130ce-rtcmaxim,ds1337maxim,ds3231-rtcmicrocrystal,rv8803ti,bq32002SDHC
renesas,ra-sdhcSensors
adi,adxl366hc-sr04invensense,icm42370pinvensense,icm42670sinvensense,icp101xxmaxim,ds3231-sensormelexis,mlx90394nordic,npm2100-vbatphosense,xbr818renesas,hs400xsensirion,scd40sensirion,scd41sensirion,sts4xst,lis2duxs12st,lsm6dsv16xti,tmag3001ti,tmp435we,wsen-pads-2511020213301we,wsen-pdus-25131308XXXXXwe,wsen-tids-2521020222501Serial controller
microchip,mec5-uartrealtek,rts5912-uartrenesas,rz-scif-uartsilabs,eusart-uartsilabs,usart-uartti,cc23x0-uartwch,usart:abbr:SPI (Serial Peripheral Interface)
ite,it8xxx2-spinxp,lpspinxp,xspirenesas,ra-spiStepper
adi,tmc2209ti,drv8424:abbr:TCPC (USB Type-C Port Controller)
richtek,rt1715Timer
mediatek,ostimer64realtek,rts5912-rtmrrealtek,rts5912-slwtimerrenesas,rz-gptrenesas,rz-gtmriscv,machine-timerti,cc23x0-systim-timerwch,systickUSB
ambiq,usbrenesas,ra-udcrenesas,ra-usbfsrenesas,ra-usbhszephyr,midi2-deviceVideo
zephyr,video-emul-imagerzephyr,video-emul-rxWatchdog
atmel,sam4l-watchdognordic,npm2100-wdtnxp,rtwdogWi-Fi
infineon,airoc-wifisilabs,siwx91x-wifiNew Samples
.. Same as above for boards and drivers, this will also be recomputed at the time of the release. Just link the sample, further details go in the sample documentation itself.
6dof_motion_drdyble_csbluetooth_ccp_call_control_clientbluetooth_ccp_call_control_servercoresight_stm_sampleusb-dfui2c-rtio-loopbacklvgl-screen-transparencymctp_endpoint_samplemctp_host_sampleopenthread-shellot-coaprtcsensor_batch_processingsensor_clockstream_fifo)tdk_apextmc50xxuartusb-midi2-deviceusb-cdc-acm-consolewebusbOther notable changes
.. Any more descriptive subsystem or driver changes. Do you really want to write a paragraph or is it enough to link to the api/driver/Kconfig/board page above?
A header file has been introduced to allocate ID ranges for persistent keys in the PSA Crypto API.
It defines the ID ranges allocated to different users of the API (application, subsystems...).
Users of the API must now use this header file to construct persistent key IDs.
See :zephyr_file:include/zephyr/psa/key_ids.h for more information. (:github:85581)
Space-separated lists support has been removed from Twister configuration
files. This feature was deprecated a long time ago. Projects that do still use
them can use the :zephyr_file:scripts/utils/twister_to_list.py script to
automatically migrate Twister configuration files.
Test case names for Ztest now include the Ztest suite name, meaning the resulting identifier has
three sections and looks like: <test_scenario_name>.<ztest_suite_name>.<ztest_name>.
These extended identifiers are used in log output, twister.json and testplan.json,
as well as for --sub-test command line parameters.
The --no-detailed-test-id command line option can be used to shorten the test case name
by excluding the test scenario name prefix which is the same as the parent test suite id.
Added support for HTTP PUT/PATCH/DELETE methods for HTTP server dynamic resources.
Driver API structures are now available through iterable sections and a new
:c:macro:DEVICE_API_IS macro has been introduced to allow to check if a device supports a
given API. Many shell commands now use this to provide "smarter" auto-completion and only list
compatible devices when they expect a device argument.
Zephyr's :ref:interactive board catalog <boards> has been extended to allow searching for boards
based on supported hardware features. A new :rst:dir:zephyr:board-supported-hw Sphinx directive
can now be used in boards' documentation pages to automatically include a list of the hardware
features supported by a board, and many boards have already adopted this new feature in their
documentation.