1:orphan: 2 3.. 4 What goes here: removed/deprecated apis, new boards, new drivers, notable 5 features. If you feel like something new can be useful to a user, put it 6 under "Other Enhancements" in the first paragraph, if you feel like something 7 is worth mentioning in the project media (release blog post, release 8 livestream) put it under "Major enhancement". 9.. 10 If you are describing a feature or functionality, consider adding it to the 11 actual project documentation rather than the release notes, so that the 12 information does not get lost in time. 13.. 14 No list of bugfixes, minor changes, those are already in the git log, this is 15 not a changelog. 16.. 17 Does the entry have a link that contains the details? Just add the link, if 18 you think it needs more details, put them in the content that shows up on the 19 link. 20.. 21 Are you thinking about generating this? Don't put anything at all. 22.. 23 Does the thing require the user to change their application? Put it on the 24 migration guide instead. (TODO: move the removed APIs section in the 25 migration guide) 26 27.. _zephyr_4.1: 28 29Zephyr 4.1.0 30############ 31 32We are pleased to announce the release of Zephyr version 4.1.0. 33Major enhancements with this release include: 34 35**Performance improvements** 36 Multiple performance improvements of core Zephyr kernel functions have been implemented, 37 benefiting all supported hardware architectures. 38 39 An official port of the :zephyr_file:`thread_metric <tests/benchmarks/thread_metric>` RTOS 40 benchmark has also been added to make it easier for developers to measure the performance of 41 Zephyr on their hardware and compare it to other RTOSes. 42 43**Experimental support for IAR compiler** 44 :ref:`toolchain_iar_arm` can now be used to build Zephyr applications. This is an experimental 45 feature that is expected to be improved in future releases. 46 47**Initial support for Rust on Zephyr** 48 It is now possible to write Zephyr applications in Rust. :ref:`language_rust` is available through 49 an optional Zephyr module, and several code samples are available as a starting point. 50 51**USB MIDI Class Driver** 52 Introduction of a new :ref:`USB MIDI 2.0 <usbd_midi2>` device driver, allowing Zephyr devices to 53 communicate with MIDI controllers and instruments over USB. 54 55**Expanded Board Support** 56 Support for 70 :ref:`new boards <boards_added_in_zephyr_4_1>` and 11 57 :ref:`new shields <shields_added_in_zephyr_4_1>` has been added in this release. 58 59 This includes highly popular boards such as :zephyr:board:`rpi_pico2` and 60 :zephyr:board:`ch32v003evt`, several boards with CAN+USB capabilities making them good candidates 61 for running the Zephyr-based open source `CANnectivity`_ firmware, and dozens of other boards 62 across all supported architectures. 63 64.. _CANnectivity: https://cannectivity.org/ 65 66An overview of the changes required or recommended when migrating your application from Zephyr 67v4.0.0 to Zephyr v4.1.0 can be found in the separate :ref:`migration guide<migration_4.1>`. 68 69The following sections provide detailed lists of changes by component. 70 71Security Vulnerability Related 72****************************** 73The following CVEs are addressed by this release: 74 75More detailed information can be found in: 76https://docs.zephyrproject.org/latest/security/vulnerabilities.html 77 78* :cve:`2025-1673` `Zephyr project bug tracker GHSA-jjhx-rrh4-j8mx 79 <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-jjhx-rrh4-j8mx>`_ 80 81* :cve:`2025-1674` `Zephyr project bug tracker GHSA-x975-8pgf-qh66 82 <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-x975-8pgf-qh66>`_ 83 84* :cve:`2025-1675` `Zephyr project bug tracker GHSA-2m84-5hfw-m8v4 85 <https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-2m84-5hfw-m8v4>`_ 86 87API Changes 88*********** 89 90Removed APIs and options 91======================== 92 93* The legacy Bluetooth HCI driver API has been removed. It has been replaced 94 by a :c:group:`new API<bt_hci_api>` that follows the normal Zephyr driver 95 model. 96 97* The ``CAN_MAX_STD_ID`` (replaced by :c:macro:`CAN_STD_ID_MASK`) and 98 ``CAN_MAX_EXT_ID`` (replaced by :c:macro:`CAN_EXT_ID_MASK`) CAN API macros 99 have been removed. 100 101* The ``can_get_min_bitrate()`` (replaced by :c:func:`can_get_bitrate_min`) 102 and ``can_get_max_bitrate()`` (replaced by :c:func:`can_get_bitrate_max`) 103 CAN API functions have been removed. 104 105* The ``can_calc_prescaler()`` CAN API function has been removed. 106 107* The :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` option has been 108 removed. It was a legacy option and was used to allow user to call BSD 109 socket API while not enabling POSIX API. This removal means that in order 110 to use POSIX API socket calls, one needs to enable the 111 :kconfig:option:`CONFIG_POSIX_API` option. If the application does not want 112 or is not able to enable that option, then the socket API calls need to be 113 prefixed by a ``zsock_`` string. 114 115* Removed ``video_pix_fmt_bpp()`` function that was returning a *byte* count 116 and only supported 8-bit depth to :c:func:`video_bits_per_pixel()` returning 117 the *bit* count and supporting any color depth. 118 119* The ``video_stream_start()`` and ``video_stream_stop()`` driver APIs have been 120 replaced by ``video_set_stream()``. 121 122* :kconfig:option:`CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO` 123 124* The :kconfig:option:`CONFIG_PM_DEVICE_RUNTIME_EXCLUSIVE` option has been removed 125 after being deprecated in favor of :kconfig:option:`CONFIG_PM_DEVICE_SYSTEM_MANAGED`. 126 127* The ``z_pm_save_idle_exit()`` PM API function has been removed. 128 129* Struct ``z_arch_esf_t`` has been removed. Use ``struct arch_esf`` instead. 130 131* The following networking options have been removed: 132 133 * ``CONFIG_NET_PKT_BUF_DATA_POOL_SIZE`` 134 * ``CONFIG_NET_TCP_ACK_TIMEOUT`` 135 136 137Deprecated APIs and options 138=========================== 139 140* the :c:func:`bt_le_set_auto_conn` API function. Application developers can achieve 141 the same functionality in their application code by reconnecting to the peer when the 142 :c:member:`bt_conn_cb.disconnected` callback is invoked. 143 144* :kconfig:option:`CONFIG_NATIVE_APPLICATION` has been deprecated. 145 146* Deprecated the :c:func:`stream_flash_erase_page` from Stream Flash API. The same functionality 147 can be achieved using :c:func:`flash_area_erase` or :c:func:`flash_erase`. Nevertheless 148 erasing of a device, while stream flash is supposed to do so, as configured, will result in 149 data lost from stream flash. There are only two situations where device should be erased 150 directly: 151 152 1. when Stream Flash is not configured to do erase on its own 153 2. when erase is used for removal of a data prior or after Stream Flash uses the designated area. 154 155* The pipe API has been reworked. 156 The new API is enabled by default when ``CONFIG_MULTITHREADING`` is set. 157 158 * Deprecates the ``CONFIG_PIPES`` Kconfig option. 159 * Introduces the ``k_pipe_close(..)`` function. 160 * ``k_pipe_put(..)`` translates to ``k_pipe_write(..)``. 161 * ``k_pipe_get(..)`` translates to ``k_pipe_read(..)``. 162 * ``k_pipe_flush(..)`` & ``k_pipe_buffer_flush()`` can be translated to ``k_pipe_reset(..)``. 163 164 * Dynamic allocation of pipes is no longer supported. 165 166 - ``k_pipe_alloc_init(..)`` API has been removed. 167 - ``k_pipe_cleanup(..)`` API has been removed. 168 169 * Querying the number of bytes in the pipe is no longer supported. 170 171 - ``k_pipe_read_avail(..)`` API has been removed. 172 - ``k_pipe_write_avail(..)`` API has been removed. 173 174 175* For the native_sim target :kconfig:option:`CONFIG_NATIVE_SIM_NATIVE_POSIX_COMPAT` has been 176 switched to ``n`` by default, and this option has been deprecated. 177 178* :kconfig:option:`CONFIG_BT_BUF_ACL_RX_COUNT` 179 180* All HWMv1 board name aliases which were added as deprecated in v3.7 are now removed 181 (:github:`82247`). 182 183* The TinyCrypt library has been deprecated as the upstream version is no longer maintained. 184 PSA Crypto API is now the recommended cryptographic library for Zephyr. 185 186* The :kconfig:option:`CONFIG_BT_DIS_MODEL` and :kconfig:option:`CONFIG_BT_DIS_MANUF` have been 187 deprecated. Application developers can achieve the same configuration by using the new 188 :kconfig:option:`CONFIG_BT_DIS_MODEL_NUMBER_STR` and 189 :kconfig:option:`CONFIG_BT_DIS_MANUF_NAME_STR` Kconfig options. 190 191New APIs and options 192==================== 193 194.. 195 Link to new APIs here, in a group if you think it's necessary, no need to get 196 fancy just list the link, that should contain the documentation. If you feel 197 like you need to add more details, add them in the API documentation code 198 instead. 199 200* Architectures 201 202 * :kconfig:option:`CONFIG_ARCH_HAS_CUSTOM_CURRENT_IMPL` 203 * :kconfig:option:`CONFIG_RISCV_CURRENT_VIA_GP` 204 205* Bluetooth 206 207 * Audio 208 209 * :c:func:`bt_bap_broadcast_source_register_cb` 210 * :c:func:`bt_bap_broadcast_source_unregister_cb` 211 * :c:func:`bt_cap_commander_distribute_broadcast_code` 212 * ``bt_ccp`` API (in progress) 213 * :c:func:`bt_pacs_register` 214 * :c:func:`bt_pacs_unregister` 215 216 * Host 217 218 * :c:func:`bt_conn_is_type` 219 220 * Mesh 221 222 * :c:member:`bt_mesh_health_cli::update` callback can be used to periodically update the message 223 published by the Health Client. 224 225 * Services 226 227 * The :kconfig:option:`CONFIG_BT_DIS_MODEL_NUMBER` and 228 :kconfig:option:`CONFIG_BT_DIS_MANUF_NAME` Kconfig options can be used to control the 229 presence of the Model Number String and Manufacturer Name String characteristics inside 230 the Device Information Service (DIS). The :kconfig:option:`CONFIG_BT_DIS_MODEL_NUMBER_STR` 231 and :kconfig:option:`CONFIG_BT_DIS_MANUF_NAME_STR` Kconfig options are now used to set the 232 string values in these characteristics. They replace the functionality of the deprecated 233 :kconfig:option:`CONFIG_BT_DIS_MODEL` and :kconfig:option:`CONFIG_BT_DIS_MANUF` Kconfigs. 234 235* Build system 236 237 * Sysbuild 238 239 * The newly introduced MCUboot swap using offset mode can be selected from sysbuild by using 240 ``SB_CONFIG_MCUBOOT_MODE_SWAP_USING_OFFSET``, this mode is experimental. 241 242* Crypto 243 244 * :kconfig:option:`CONFIG_MBEDTLS_PSA_STATIC_KEY_SLOTS` 245 * :kconfig:option:`CONFIG_MBEDTLS_PSA_KEY_SLOT_COUNT` 246 247* I3C 248 249 * :kconfig:option:`CONFIG_I3C_TARGET_BUFFER_MODE` 250 * :kconfig:option:`CONFIG_I3C_RTIO` 251 * :c:func:`i3c_ibi_hj_response` 252 * :c:func:`i3c_ccc_do_getacccr` 253 * :c:func:`i3c_device_controller_handoff` 254 255* Management 256 257 * hawkBit 258 259 * The hawkBit subsystem now uses the State Machine Framework internally. 260 * :kconfig:option:`CONFIG_HAWKBIT_TENANT` 261 * :kconfig:option:`CONFIG_HAWKBIT_EVENT_CALLBACKS` 262 * :kconfig:option:`CONFIG_HAWKBIT_SAVE_PROGRESS` 263 264 * MCUmgr 265 266 * Image management :c:macro:`MGMT_EVT_OP_IMG_MGMT_DFU_CONFIRMED` now has image data field 267 :c:struct:`img_mgmt_image_confirmed`. 268 269* MCUboot 270 271 * Signed hex files where an encryption key Kconfig is set now have the encrypted flag set in 272 the image header. 273 274* Networking: 275 276 * CoAP 277 278 * :c:func:`coap_client_cancel_request` 279 280 * DHCP 281 282 * :kconfig:option:`CONFIG_NET_DHCPV4_SERVER_OPTION_ROUTER` 283 * :kconfig:option:`CONFIG_NET_DHCPV4_OPTION_DNS_ADDRESS` 284 * :kconfig:option:`CONFIG_NET_DHCPV6_OPTION_DNS_ADDRESS` 285 286 * DNS 287 288 * :kconfig:option:`CONFIG_MDNS_RESPONDER_PROBE` 289 290 * Ethernet 291 292 * Allow user to specify protocol extensions when receiving data from Ethernet network. 293 This makes it possible to register a handler for Ethernet protocol type without changing 294 core Zephyr network code. :c:macro:`NET_L3_REGISTER` 295 * :kconfig:option:`CONFIG_NET_L2_ETHERNET_RESERVE_HEADER` 296 297 * HTTP 298 299 * Extended :c:macro:`HTTP_SERVICE_DEFINE` to allow to specify a default 300 fallback resource handler. 301 * :kconfig:option:`CONFIG_HTTP_SERVER_REPORT_FAILURE_REASON` 302 * :kconfig:option:`CONFIG_HTTP_SERVER_TLS_USE_ALPN` 303 304 * IPv4 305 306 * :kconfig:option:`CONFIG_NET_IPV4_PMTU` 307 308 * IPv6 309 310 * :kconfig:option:`CONFIG_NET_IPV6_PMTU` 311 312 * LwM2M 313 314 * :c:func:`lwm2m_pull_context_set_sockopt_callback` 315 316 * MQTT-SN 317 318 * Added Gateway Advertisement and Discovery support: 319 320 * :c:func:`mqtt_sn_add_gw` 321 * :c:func:`mqtt_sn_search` 322 323 * OpenThread 324 325 * :kconfig:option:`CONFIG_OPENTHREAD_WAKEUP_COORDINATOR` 326 * :kconfig:option:`CONFIG_OPENTHREAD_WAKEUP_END_DEVICE` 327 * :kconfig:option:`CONFIG_OPENTHREAD_PLATFORM_MESSAGE_MANAGEMENT` 328 * :kconfig:option:`CONFIG_OPENTHREAD_TCAT_MULTIRADIO_CAPABILITIES` 329 330 * Sockets 331 332 * Added support for new socket options: 333 334 * :c:macro:`IP_LOCAL_PORT_RANGE` 335 * :c:macro:`IP_MULTICAST_IF` 336 * :c:macro:`IPV6_MULTICAST_IF` 337 * :c:macro:`IP_MTU` 338 * :c:macro:`IPV6_MTU` 339 340 * Other 341 342 * :kconfig:option:`CONFIG_NET_STATISTICS_VIA_PROMETHEUS` 343 344* Video 345 346 * :c:func:`video_set_stream()` driver API has replaced :c:func:`video_stream_start()` and 347 :c:func:`video_stream_stop()` driver APIs. 348 349* Other 350 351 * :kconfig:option:`CONFIG_BT_BUF_ACL_RX_COUNT_EXTRA` 352 * :c:macro:`DT_ANY_INST_HAS_BOOL_STATUS_OKAY` 353 * :c:struct:`led_dt_spec` 354 * :kconfig:option:`CONFIG_STEP_DIR_STEPPER` 355 356.. _boards_added_in_zephyr_4_1: 357 358New Boards 359********** 360.. 361 You may update this list as you contribute a new board during the release cycle, in order to make 362 it visible to people who might be looking at the working draft of the release notes. However, note 363 that this list will be recomputed at the time of the release, so you don't *have* to update it. 364 In any case, just link the board, further details go in the board description. 365 366* Adafruit Industries, LLC 367 368 * :zephyr:board:`adafruit_feather_m4_express` (``adafruit_feather_m4_express``) 369 * :zephyr:board:`adafruit_macropad_rp2040` (``adafruit_macropad_rp2040``) 370 * :zephyr:board:`adafruit_qt_py_esp32s3` (``adafruit_qt_py_esp32s3``) 371 372* Advanced Micro Devices (AMD), Inc. 373 374 * :zephyr:board:`acp_6_0_adsp` (``acp_6_0_adsp``) 375 376* Analog Devices, Inc. 377 378 * :zephyr:board:`ad_swiot1l_sl` (``ad_swiot1l_sl``) 379 * :zephyr:board:`max32650evkit` (``max32650evkit``) 380 * :zephyr:board:`max32650fthr` (``max32650fthr``) 381 * :zephyr:board:`max32660evsys` (``max32660evsys``) 382 * :zephyr:board:`max78000evkit` (``max78000evkit``) 383 * :zephyr:board:`max78000fthr` (``max78000fthr``) 384 * :zephyr:board:`max78002evkit` (``max78002evkit``) 385 386* Antmicro 387 388 * :zephyr:board:`myra_sip_baseboard` (``myra_sip_baseboard``) 389 390* BeagleBoard.org Foundation 391 392 * :zephyr:board:`beagley_ai` (``beagley_ai``) 393 394* FANKE Technology Co., Ltd. 395 396 * :zephyr:board:`fk750m1_vbt6` (``fk750m1_vbt6``) 397 398* Google, Inc. 399 400 * :zephyr:board:`google_icetower` (``google_icetower``) 401 * :zephyr:board:`google_quincy` (``google_quincy``) 402 403* Infineon Technologies 404 405 * :zephyr:board:`cy8ckit_062s2_ai` (``cy8ckit_062s2_ai``) 406 407* Khadas 408 409 * :zephyr:board:`khadas_edge2` (``khadas_edge2``) 410 411* Lilygo Shenzhen Xinyuan Electronic Technology Co., Ltd 412 413 * :zephyr:board:`ttgo_t7v1_5` (``ttgo_t7v1_5``) 414 * :zephyr:board:`ttgo_t8s3` (``ttgo_t8s3``) 415 416* M5Stack 417 418 * :zephyr:board:`m5stack_cores3` (``m5stack_cores3``) 419 420* Makerbase Co., Ltd. 421 422 * :zephyr:board:`mks_canable_v20` (``mks_canable_v20``) 423 424* MediaTek Inc. 425 426 * MT8186 (``mt8186``) 427 * MT8188 (``mt8188``) 428 * MT8196 (``mt8196``) 429 430* NXP Semiconductors 431 432 * :zephyr:board:`frdm_mcxw72` (``frdm_mcxw72``) 433 * :zephyr:board:`imx91_evk` (``imx91_evk``) 434 * :zephyr:board:`mcxw72_evk` (``mcxw72_evk``) 435 * :zephyr:board:`mimxrt700_evk` (``mimxrt700_evk``) 436 437* Nordic Semiconductor 438 439 * :zephyr:board:`nrf54l09pdk` (``nrf54l09pdk``) 440 441* Norik Systems 442 443 * :zephyr:board:`octopus_io_board` (``octopus_io_board``) 444 * :zephyr:board:`octopus_som` (``octopus_som``) 445 446* Panasonic Corporation 447 448 * :zephyr:board:`panb511evb` (``panb511evb``) 449 450* Peregrine Consultoria e Servicos 451 452 * :zephyr:board:`sam4l_wm400_cape` (``sam4l_wm400_cape``) 453 454* Qorvo, Inc. 455 456 * :zephyr:board:`decawave_dwm3001cdk` (``decawave_dwm3001cdk``) 457 458* RAKwireless Technology Limited 459 460 * :zephyr:board:`rak3172` (``rak3172``) 461 462* Raspberry Pi Foundation 463 464 * :zephyr:board:`rpi_pico2` (``rpi_pico2``) 465 466* Realtek Semiconductor Corp. 467 468 * :zephyr:board:`rts5912_evb` (``rts5912_evb``) 469 470* Renesas Electronics Corporation 471 472 * :zephyr:board:`ek_ra2l1` (``ek_ra2l1``) 473 * :zephyr:board:`ek_ra4l1` (``ek_ra4l1``) 474 * :zephyr:board:`ek_ra4m1` (``ek_ra4m1``) 475 * :zephyr:board:`fpb_ra4e1` (``fpb_ra4e1``) 476 * :zephyr:board:`rzg3s_smarc` (``rzg3s_smarc``) 477 * :zephyr:board:`voice_ra4e1` (``voice_ra4e1``) 478 479* STMicroelectronics 480 481 * :zephyr:board:`nucleo_c071rb` (``nucleo_c071rb``) 482 * :zephyr:board:`nucleo_f072rb` (``nucleo_f072rb``) 483 * :zephyr:board:`nucleo_h7s3l8` (``nucleo_h7s3l8``) 484 * :zephyr:board:`nucleo_n657x0_q` (``nucleo_n657x0_q``) 485 * :zephyr:board:`nucleo_wb07cc` (``nucleo_wb07cc``) 486 * :zephyr:board:`stm32f413h_disco` (``stm32f413h_disco``) 487 * :zephyr:board:`stm32n6570_dk` (``stm32n6570_dk``) 488 489* Seeed Technology Co., Ltd 490 491 * :zephyr:board:`xiao_esp32c6` (``xiao_esp32c6``) 492 493* Shenzhen Fuyuansheng Electronic Technology Co., Ltd. 494 495 * :zephyr:board:`ucan` (``ucan``) 496 497* Silicon Laboratories 498 499 * :zephyr:board:`siwx917_rb4338a` (``siwx917_rb4338a``) 500 * :zephyr:board:`xg23_rb4210a` (``xg23_rb4210a``) 501 * :zephyr:board:`xg24_ek2703a` (``xg24_ek2703a``) 502 * :zephyr:board:`xg29_rb4412a` (``xg29_rb4412a``) 503 504* Texas Instruments 505 506 * :zephyr:board:`lp_em_cc2340r5` (``lp_em_cc2340r5``) 507 508* Toradex AG 509 510 * :zephyr:board:`verdin_imx8mm` (``verdin_imx8mm``) 511 512* Waveshare Electronics 513 514 * :zephyr:board:`rp2040_zero` (``rp2040_zero``) 515 516* WeAct Studio 517 518 * :zephyr:board:`mini_stm32h7b0` (``mini_stm32h7b0``) 519 * :zephyr:board:`weact_stm32h5_core` (``weact_stm32h5_core``) 520 521* WinChipHead 522 523 * :zephyr:board:`ch32v003evt` (``ch32v003evt``) 524 525* Würth Elektronik GmbH. 526 527 * :zephyr:board:`we_oceanus1ev` (``we_oceanus1ev``) 528 * :zephyr:board:`we_orthosie1ev` (``we_orthosie1ev``) 529 530* Others 531 532 * :zephyr:board:`canbardo` (``canbardo``) 533 * :zephyr:board:`candlelight` (``candlelight``) 534 * :zephyr:board:`candlelightfd` (``candlelightfd``) 535 * :zephyr:board:`esp32c3_supermini` (``esp32c3_supermini``) 536 * :zephyr:board:`promicro_nrf52840` (``promicro_nrf52840``) 537 538.. _shields_added_in_zephyr_4_1: 539 540New shields 541============ 542 543 * :ref:`Abrobot ESP32 C3 OLED Shield <abrobot_esp32c3oled_shield>` 544 * :ref:`Adafruit Adalogger Featherwing Shield <adafruit_adalogger_featherwing_shield>` 545 * :ref:`Adafruit AW9523 GPIO Expander and LED Driver <adafruit_aw9523>` 546 * :ref:`MikroElektronika ETH 3 Click <mikroe_eth3_click>` 547 * :ref:`P3T1755DP Arduino® Shield Evaluation Board <p3t1755dp_ard_i2c_shield>` 548 * :ref:`P3T1755DP Arduino® Shield Evaluation Board <p3t1755dp_ard_i3c_shield>` 549 * :ref:`Digilent Pmod SD <pmod_sd>` 550 * :ref:`Renesas DA14531 Pmod Board <renesas_us159_da14531evz_shield>` 551 * :ref:`RTKMIPILCDB00000BE MIPI Display <rtkmipilcdb00000be>` 552 * :ref:`Seeed W5500 Ethernet Shield <seeed_w5500>` 553 * :ref:`ST B-CAMS-OMV-MB1683 <st_b_cams_omv_mb1683>` 554 555New Drivers 556*********** 557.. 558 Same as above for boards, this will also be recomputed at the time of the release. 559 Just link the driver, further details go in the binding description 560 561* :abbr:`ADC (Analog to Digital Converter)` 562 563 * :dtcompatible:`adi,ad4114-adc` 564 * :dtcompatible:`adi,ad7124-adc` 565 * :dtcompatible:`st,stm32n6-adc` 566 * :dtcompatible:`ti,ads114s06` 567 * :dtcompatible:`ti,ads124s06` 568 * :dtcompatible:`ti,ads124s08` 569 * :dtcompatible:`ti,ads131m02` 570 * :dtcompatible:`ti,tla2022` 571 * :dtcompatible:`ti,tla2024` 572 573* ARM architecture 574 575 * :dtcompatible:`nxp,nbu` 576 577* Audio 578 579 * :dtcompatible:`cirrus,cs43l22` 580 * :dtcompatible:`intel,adsp-mic-privacy` 581 582* Bluetooth 583 584 * :dtcompatible:`renesas,bt-hci-da1453x` 585 * :dtcompatible:`silabs,siwx91x-bt-hci` 586 * :dtcompatible:`st,hci-stm32wb0` 587 588* Charger 589 590 * :dtcompatible:`nxp,pf1550-charger` 591 592* Clock control 593 594 * :dtcompatible:`atmel,sam0-gclk` 595 * :dtcompatible:`atmel,sam0-mclk` 596 * :dtcompatible:`atmel,sam0-osc32kctrl` 597 * :dtcompatible:`nordic,nrf-hsfll-global` 598 * :dtcompatible:`nuvoton,npcm-pcc` 599 * :dtcompatible:`realtek,rts5912-sccon` 600 * :dtcompatible:`renesas,rz-cpg` 601 * :dtcompatible:`st,stm32n6-cpu-clock-mux` 602 * :dtcompatible:`st,stm32n6-hse-clock` 603 * :dtcompatible:`st,stm32n6-ic-clock-mux` 604 * :dtcompatible:`st,stm32n6-pll-clock` 605 * :dtcompatible:`st,stm32n6-rcc` 606 * :dtcompatible:`wch,ch32v00x-hse-clock` 607 * :dtcompatible:`wch,ch32v00x-hsi-clock` 608 * :dtcompatible:`wch,ch32v00x-pll-clock` 609 * :dtcompatible:`wch,rcc` 610 611* Comparator 612 613 * :dtcompatible:`silabs,acmp` 614 615* Counter 616 617 * :dtcompatible:`adi,max32-rtc-counter` 618 * :dtcompatible:`renesas,rz-gtm-counter` 619 620* CPU 621 622 * :dtcompatible:`wch,qingke-v2` 623 624* :abbr:`DAC (Digital to Analog Converter)` 625 626 * :dtcompatible:`adi,max22017-dac` 627 * :dtcompatible:`renesas,ra-dac` 628 * :dtcompatible:`renesas,ra-dac-global` 629 630* :abbr:`DAI (Digital Audio Interface)` 631 632 * :dtcompatible:`mediatek,afe` 633 * :dtcompatible:`nxp,dai-micfil` 634 635* Display 636 637 * :dtcompatible:`ilitek,ili9806e-dsi` 638 * :dtcompatible:`renesas,ra-glcdc` 639 * :dtcompatible:`solomon,ssd1309fb` 640 641* :abbr:`DMA (Direct Memory Access)` 642 643 * :dtcompatible:`infineon,cat1-dma` 644 * :dtcompatible:`nxp,sdma` 645 * :dtcompatible:`silabs,ldma` 646 * :dtcompatible:`silabs,siwx91x-dma` 647 * :dtcompatible:`xlnx,axi-dma-1.00.a` 648 * :dtcompatible:`xlnx,eth-dma` 649 650* :abbr:`DSA (Distributed Switch Architecture)` 651 652 * :dtcompatible:`nxp,netc-switch` 653 654* :abbr:`EEPROM (Electrically Erasable Programmable Read-Only Memory)` 655 656 * :dtcompatible:`fujitsu,mb85rsxx` 657 658* Ethernet 659 660 * :dtcompatible:`davicom,dm8806-phy` 661 * :dtcompatible:`microchip,lan9250` 662 * :dtcompatible:`microchip,t1s-phy` 663 * :dtcompatible:`microchip,vsc8541` 664 * :dtcompatible:`renesas,ra-ethernet` 665 * :dtcompatible:`sensry,sy1xx-mac` 666 667* Firmware 668 669 * :dtcompatible:`arm,scmi-power` 670 671* Flash controller 672 673 * :dtcompatible:`silabs,siwx91x-flash-controller` 674 * :dtcompatible:`ti,cc23x0-flash-controller` 675 676* :abbr:`FPGA (Field Programmable Gate Array)` 677 678 * :dtcompatible:`lattice,ice40-fpga-base` 679 * :dtcompatible:`lattice,ice40-fpga-bitbang` 680 681* :abbr:`GPIO (General Purpose Input/Output)` 682 683 * :dtcompatible:`adi,max22017-gpio` 684 * :dtcompatible:`adi,max22190-gpio` 685 * :dtcompatible:`awinic,aw9523b-gpio` 686 * :dtcompatible:`ite,it8801-gpio` 687 * :dtcompatible:`microchip,mec5-gpio` 688 * :dtcompatible:`nordic,npm2100-gpio` 689 * :dtcompatible:`nxp,pca6416` 690 * :dtcompatible:`raspberrypi,rp1-gpio` 691 * :dtcompatible:`realtek,rts5912-gpio` 692 * :dtcompatible:`renesas,ra-gpio-mipi-header` 693 * :dtcompatible:`renesas,rz-gpio` 694 * :dtcompatible:`renesas,rz-gpio-int` 695 * :dtcompatible:`sensry,sy1xx-gpio` 696 * :dtcompatible:`silabs,siwx91x-gpio` 697 * :dtcompatible:`silabs,siwx91x-gpio-port` 698 * :dtcompatible:`silabs,siwx91x-gpio-uulp` 699 * :dtcompatible:`st,dcmi-camera-fpu-330zh` 700 * :dtcompatible:`st,mfxstm32l152` 701 * :dtcompatible:`stemma-qt-connector` 702 * :dtcompatible:`ti,cc23x0-gpio` 703 * :dtcompatible:`wch,gpio` 704 705* IEEE 802.15.4 HDLC RCP interface 706 707 * :dtcompatible:`nxp,hdlc-rcp-if` 708 * :dtcompatible:`uart,hdlc-rcp-if` 709 710* :abbr:`I2C (Inter-Integrated Circuit)` 711 712 * :dtcompatible:`nordic,nrf-twis` 713 * :dtcompatible:`nxp,ii2c` 714 * :dtcompatible:`ti,omap-i2c` 715 * :dtcompatible:`ti,tca9544a` 716 717* :abbr:`I3C (Improved Inter-Integrated Circuit)` 718 719 * :dtcompatible:`snps,designware-i3c` 720 * :dtcompatible:`st,stm32-i3c` 721 722* IEEE 802.15.4 723 724 * :dtcompatible:`nxp,mcxw-ieee802154` 725 726* Input 727 728 * :dtcompatible:`cypress,cy8cmbr3xxx` 729 * :dtcompatible:`ite,it8801-kbd` 730 * :dtcompatible:`microchip,cap12xx` 731 * :dtcompatible:`nintendo,nunchuk` 732 733* Interrupt controller 734 735 * :dtcompatible:`renesas,rz-ext-irq` 736 * :dtcompatible:`wch,pfic` 737 738* Mailbox 739 740 * :dtcompatible:`linaro,ivshmem-mbox` 741 * :dtcompatible:`ti,omap-mailbox` 742 743* :abbr:`MDIO (Management Data Input/Output)` 744 745 * :dtcompatible:`microchip,lan865x-mdio` 746 * :dtcompatible:`renesas,ra-mdio` 747 * :dtcompatible:`sensry,sy1xx-mdio` 748 749* Memory controller 750 751 * :dtcompatible:`renesas,ra-sdram` 752 753* :abbr:`MFD (Multi-Function Device)` 754 755 * :dtcompatible:`adi,max22017` 756 * :dtcompatible:`awinic,aw9523b` 757 * :dtcompatible:`ite,it8801-altctrl` 758 * :dtcompatible:`ite,it8801-mfd` 759 * :dtcompatible:`ite,it8801-mfd-map` 760 * :dtcompatible:`maxim,ds3231-mfd` 761 * :dtcompatible:`nordic,npm2100` 762 * :dtcompatible:`nxp,pf1550` 763 764* :abbr:`MIPI DSI (Mobile Industry Processor Interface Display Serial Interface)` 765 766 * :dtcompatible:`renesas,ra-mipi-dsi` 767 768* Miscellaneous 769 770 * :dtcompatible:`nordic,nrf-bicr` 771 * :dtcompatible:`nordic,nrf-ppib` 772 * :dtcompatible:`renesas,ra-external-interrupt` 773 774* :abbr:`MMU / MPU (Memory Management Unit / Memory Protection Unit)` 775 776 * :dtcompatible:`nxp,sysmpu` 777 778* :abbr:`MTD (Memory Technology Device)` 779 780 * :dtcompatible:`nxp,s32-qspi-hyperflash` 781 * :dtcompatible:`nxp,xspi-mx25um51345g` 782 * :dtcompatible:`ti,cc23x0-ccfg-flash` 783 784* Networking 785 786 * :dtcompatible:`silabs,series2-radio` 787 788* :abbr:`PCIe (Peripheral Component Interconnect Express)` 789 790 * :dtcompatible:`brcm,brcmstb-pcie` 791 792* PHY 793 794 * :dtcompatible:`renesas,ra-usbphyc` 795 * :dtcompatible:`st,stm32u5-otghs-phy` 796 797* Pin control 798 799 * :dtcompatible:`realtek,rts5912-pinctrl` 800 * :dtcompatible:`renesas,rzg-pinctrl` 801 * :dtcompatible:`sensry,sy1xx-pinctrl` 802 * :dtcompatible:`silabs,dbus-pinctrl` 803 * :dtcompatible:`silabs,siwx91x-pinctrl` 804 * :dtcompatible:`ti,cc23x0-pinctrl` 805 * :dtcompatible:`wch,afio` 806 807* :abbr:`PWM (Pulse Width Modulation)` 808 809 * :dtcompatible:`atmel,sam0-tc-pwm` 810 * :dtcompatible:`ite,it8801-pwm` 811 * :dtcompatible:`renesas,rz-gpt-pwm` 812 * :dtcompatible:`zephyr,fake-pwm` 813 814* Quad SPI 815 816 * :dtcompatible:`nxp,s32-qspi-sfp-frad` 817 * :dtcompatible:`nxp,s32-qspi-sfp-mdad` 818 819* Regulator 820 821 * :dtcompatible:`nordic,npm2100-regulator` 822 * :dtcompatible:`nxp,pf1550-regulator` 823 824* :abbr:`RNG (Random Number Generator)` 825 826 * :dtcompatible:`nordic,nrf-cracen-ctrdrbg` 827 * :dtcompatible:`nxp,ele-trng` 828 * :dtcompatible:`renesas,ra-sce5-rng` 829 * :dtcompatible:`renesas,ra-sce7-rng` 830 * :dtcompatible:`renesas,ra-sce9-rng` 831 * :dtcompatible:`renesas,ra-trng` 832 * :dtcompatible:`sensry,sy1xx-trng` 833 * :dtcompatible:`silabs,siwx91x-rng` 834 * :dtcompatible:`st,stm32-rng-noirq` 835 836* :abbr:`RTC (Real Time Clock)` 837 838 * :dtcompatible:`epson,rx8130ce-rtc` 839 * :dtcompatible:`maxim,ds1337` 840 * :dtcompatible:`maxim,ds3231-rtc` 841 * :dtcompatible:`microcrystal,rv8803` 842 * :dtcompatible:`ti,bq32002` 843 844* SDHC 845 846 * :dtcompatible:`renesas,ra-sdhc` 847 848* Sensors 849 850 * :dtcompatible:`adi,adxl366` 851 * :dtcompatible:`hc-sr04` 852 * :dtcompatible:`invensense,icm42370p` 853 * :dtcompatible:`invensense,icm42670s` 854 * :dtcompatible:`invensense,icp101xx` 855 * :dtcompatible:`maxim,ds3231-sensor` 856 * :dtcompatible:`melexis,mlx90394` 857 * :dtcompatible:`nordic,npm2100-vbat` 858 * :dtcompatible:`phosense,xbr818` 859 * :dtcompatible:`renesas,hs400x` 860 * :dtcompatible:`sensirion,scd40` 861 * :dtcompatible:`sensirion,scd41` 862 * :dtcompatible:`sensirion,sts4x` 863 * :dtcompatible:`st,lis2duxs12` 864 * :dtcompatible:`st,lsm6dsv16x` 865 * :dtcompatible:`ti,tmag3001` 866 * :dtcompatible:`ti,tmp435` 867 * :dtcompatible:`we,wsen-pads-2511020213301` 868 * :dtcompatible:`we,wsen-pdus-25131308XXXXX` 869 * :dtcompatible:`we,wsen-tids-2521020222501` 870 871* Serial controller 872 873 * :dtcompatible:`microchip,mec5-uart` 874 * :dtcompatible:`realtek,rts5912-uart` 875 * :dtcompatible:`renesas,rz-scif-uart` 876 * :dtcompatible:`silabs,eusart-uart` 877 * :dtcompatible:`silabs,usart-uart` 878 * :dtcompatible:`ti,cc23x0-uart` 879 * :dtcompatible:`wch,usart` 880 881* :abbr:`SPI (Serial Peripheral Interface)` 882 883 * :dtcompatible:`ite,it8xxx2-spi` 884 * :dtcompatible:`nxp,lpspi` 885 * :dtcompatible:`nxp,xspi` 886 * :dtcompatible:`renesas,ra-spi` 887 888* Stepper 889 890 * :dtcompatible:`adi,tmc2209` 891 * :dtcompatible:`ti,drv8424` 892 893* :abbr:`TCPC (USB Type-C Port Controller)` 894 895 * :dtcompatible:`richtek,rt1715` 896 897* Timer 898 899 * :dtcompatible:`mediatek,ostimer64` 900 * :dtcompatible:`realtek,rts5912-rtmr` 901 * :dtcompatible:`realtek,rts5912-slwtimer` 902 * :dtcompatible:`renesas,rz-gpt` 903 * :dtcompatible:`renesas,rz-gtm` 904 * :dtcompatible:`riscv,machine-timer` 905 * :dtcompatible:`ti,cc23x0-systim-timer` 906 * :dtcompatible:`wch,systick` 907 908* USB 909 910 * :dtcompatible:`ambiq,usb` 911 * :dtcompatible:`renesas,ra-udc` 912 * :dtcompatible:`renesas,ra-usbfs` 913 * :dtcompatible:`renesas,ra-usbhs` 914 * :dtcompatible:`zephyr,midi2-device` 915 916* Video 917 918 * :dtcompatible:`zephyr,video-emul-imager` 919 * :dtcompatible:`zephyr,video-emul-rx` 920 921* Watchdog 922 923 * :dtcompatible:`atmel,sam4l-watchdog` 924 * :dtcompatible:`nordic,npm2100-wdt` 925 * :dtcompatible:`nxp,rtwdog` 926 927* Wi-Fi 928 929 * :dtcompatible:`infineon,airoc-wifi` 930 * :dtcompatible:`silabs,siwx91x-wifi` 931 932New Samples 933*********** 934 935.. 936 Same as above for boards and drivers, this will also be recomputed at the time of the release. 937 Just link the sample, further details go in the sample documentation itself. 938 939* :zephyr:code-sample:`6dof_motion_drdy` 940* :zephyr:code-sample:`ble_cs` 941* :zephyr:code-sample:`bluetooth_ccp_call_control_client` 942* :zephyr:code-sample:`bluetooth_ccp_call_control_server` 943* :zephyr:code-sample:`coresight_stm_sample` 944* :zephyr:code-sample:`dfu-next` 945* :zephyr:code-sample:`i2c-rtio-loopback` 946* :zephyr:code-sample:`lvgl-screen-transparency` 947* :zephyr:code-sample:`mctp_endpoint_sample` 948* :zephyr:code-sample:`mctp_host_sample` 949* :zephyr:code-sample:`openthread-shell` 950* :zephyr:code-sample:`ot-coap` 951* :zephyr:code-sample:`rtc` 952* :zephyr:code-sample:`sensor_batch_processing` 953* :zephyr:code-sample:`sensor_clock` 954* :zephyr:code-sample:`stream_fifo` 955* :zephyr:code-sample:`tdk_apex` 956* :zephyr:code-sample:`tmc50xx` 957* :zephyr:code-sample:`uart` 958* :zephyr:code-sample:`usb-midi2-device` 959* :zephyr:code-sample:`usbd-cdc-acm-console` 960* :zephyr:code-sample:`webusb-next` 961 962Other notable changes 963********************* 964 965.. 966 Any more descriptive subsystem or driver changes. Do you really want to write 967 a paragraph or is it enough to link to the api/driver/Kconfig/board page above? 968 969* A header file has been introduced to allocate ID ranges for persistent keys in the PSA Crypto API. 970 It defines the ID ranges allocated to different users of the API (application, subsystems...). 971 Users of the API must now use this header file to construct persistent key IDs. 972 See :zephyr_file:`include/zephyr/psa/key_ids.h` for more information. (:github:`85581`) 973 974* Space-separated lists support has been removed from Twister configuration 975 files. This feature was deprecated a long time ago. Projects that do still use 976 them can use the :zephyr_file:`scripts/utils/twister_to_list.py` script to 977 automatically migrate Twister configuration files. 978 979* Test case names for Ztest now include the Ztest suite name, meaning the resulting identifier has 980 three sections and looks like: ``<test_scenario_name>.<ztest_suite_name>.<ztest_name>``. 981 These extended identifiers are used in log output, twister.json and testplan.json, 982 as well as for ``--sub-test`` command line parameters. 983 984* The ``--no-detailed-test-id`` command line option can be used to shorten the test case name 985 by excluding the test scenario name prefix which is the same as the parent test suite id. 986 987* Added support for HTTP PUT/PATCH/DELETE methods for HTTP server dynamic resources. 988 989* Driver API structures are now available through iterable sections and a new 990 :c:macro:`DEVICE_API_IS` macro has been introduced to allow to check if a device supports a 991 given API. Many shell commands now use this to provide "smarter" auto-completion and only list 992 compatible devices when they expect a device argument. 993 994* Zephyr's :ref:`interactive board catalog <boards>` has been extended to allow searching for boards 995 based on supported hardware features. A new :rst:dir:`zephyr:board-supported-hw` Sphinx directive 996 can now be used in boards' documentation pages to automatically include a list of the hardware 997 features supported by a board, and many boards have already adopted this new feature in their 998 documentation. 999