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