: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.2: 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 :ref:`migration guide`. The following sections provide detailed lists of changes by component. Security Vulnerability Related ****************************** The following CVEs are addressed by this release: * :cve:`2025-27809` `TLS clients may unwittingly skip server authentication `_ * :cve:`2025-27810` `Potential authentication bypass in TLS handshake `_ * :cve:`2025-2962` Under embargo until 2025-06-07 More detailed information can be found in: https://docs.zephyrproject.org/latest/security/vulnerabilities.html API Changes *********** Removed APIs and options ======================== * Removed the deprecated the ``net_buf_put()`` and ``net_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 :dtcompatible:`meas,ms5837` and replaced with :dtcompatible:`meas,ms5837-30ba` and :dtcompatible:`meas,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 :kconfig:option:`CONFIG_SCHED_SIMPLE` and :kconfig:option:`CONFIG_WAITQ_SIMPLE` instead. * The :kconfig:option:`CONFIG_LWM2M_ENGINE_MESSAGE_HEADER_SIZE` Kconfig option has been removed. The required header size should be included in the message size, configured using :kconfig:option:`CONFIG_LWM2M_COAP_MAX_MSG_SIZE`. Special care should be taken to ensure that used CoAP block size :kconfig:option:`CONFIG_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, use :c:enumerator:`TLS_CREDENTIAL_PUBLIC_CERTIFICATE` instead. * ``arduino_uno_r4_minima`` and ``arduino_uno_r4_wifi`` board targets have been deprecated in favor of a new ``arduino_uno_r4`` board with revisions (``arduino_uno_r4@minima`` and ``arduino_uno_r4@wifi``). * ``esp32c6_devkitc`` board target has been deprecated and renamed to ``esp32c6_devkitc/esp32c6/hpcore``. * ``xiao_esp32c6`` board target has been deprecated and renamed to ``xiao_esp32c6/esp32c6/hpcore``. * :kconfig:option:`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. New APIs and options ==================== * Architectures * :kconfig:option:`ARCH_HAS_VECTOR_TABLE_RELOCATION` * :kconfig:option:`CONFIG_SRAM_VECTOR_TABLE` moved from ``zephyr/Kconfig.zephyr`` to ``zephyr/arch/Kconfig`` and added dependencies to it. * Kernel * :c:macro:`K_TIMEOUT_ABS_SEC` * I2C * :c:func:`i2c_configure_dt`. .. 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. * Bluetooth * Audio * :c:macro:`BT_BAP_ADV_PARAM_CONN_QUICK` * :c:macro:`BT_BAP_ADV_PARAM_CONN_REDUCED` * :c:macro:`BT_BAP_CONN_PARAM_SHORT_7_5` * :c:macro:`BT_BAP_CONN_PARAM_SHORT_10` * :c:macro:`BT_BAP_CONN_PARAM_RELAXED` * :c:macro:`BT_BAP_ADV_PARAM_BROADCAST_FAST` * :c:macro:`BT_BAP_ADV_PARAM_BROADCAST_SLOW` * :c:macro:`BT_BAP_PER_ADV_PARAM_BROADCAST_FAST` * :c:macro:`BT_BAP_PER_ADV_PARAM_BROADCAST_SLOW` * :c:func:`bt_csip_set_member_set_size_and_rank` * :c:func:`bt_csip_set_member_get_info` * Host * :c:func:`bt_le_get_local_features` * :c:func:`bt_le_bond_exists` * :c:func:`bt_br_bond_exists` * :c:func:`bt_conn_lookup_addr_br` * :c:func:`bt_conn_get_dst_br` * LE Connection Subrating is no longer experimental. * Remove deletion of the classic bonding information from :c:func:`bt_unpair`, and add :c:func:`bt_br_unpair`. * Remove query of the classic bonding information from :c:func:`bt_foreach_bond`, and add :c:func:`bt_br_foreach_bond`. * Display * :c:func:`display_clear` * Networking: * IPv4 * :kconfig:option:`CONFIG_NET_IPV4_MTU` * MQTT * :kconfig:option:`CONFIG_MQTT_VERSION_5_0` * Sockets * :kconfig:option:`CONFIG_NET_SOCKETS_INET_RAW` * OpenThread * Moved OpenThread-related Kconfig options from ``subsys/net/l2/openthread/Kconfig`` to ``modules/openthread/Kconfig``. * zperf * :kconfig:option:`CONFIG_ZPERF_SESSION_PER_THREAD` * :c:member:`zperf_upload_params.data_loader` * Sensor * :c:func:`sensor_value_to_deci` * :c:func:`sensor_value_to_centi` * Stepper * :c:func:`stepper_stop()` * Storage * :c:func:`flash_area_copy()` * Counter * :c:func:`counter_reset` * Sys * :c:func:`util_eq` * :c:func:`util_memeq` * LoRaWAN * :c:func:`lorawan_request_link_check` * Video * :c:func:`video_api_ctrl_t` * :c:func:`video_query_ctrl` * :c:func:`video_print_ctrl` * PCIe * :kconfig:option:`CONFIG_NVME_PRP_PAGE_SIZE` * Other * :kconfig:option:`CONFIG_LV_Z_COLOR_MONO_HW_INVERSION` 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 * :zephyr:board:`adafruit_feather_esp32s2` (``adafruit_feather_esp32s2``) * :zephyr:board:`adafruit_feather_esp32s2_tft` (``adafruit_feather_esp32s2_tft``) * :zephyr:board:`adafruit_feather_esp32s2_tft_reverse` (``adafruit_feather_esp32s2_tft_reverse``) * :zephyr:board:`adafruit_feather_esp32s3` (``adafruit_feather_esp32s3``) * :zephyr:board:`adafruit_feather_esp32s3_tft` (``adafruit_feather_esp32s3_tft``) * Advanced Micro Devices (AMD), Inc. * :zephyr:board:`versalnet_rpu` (``versalnet_rpu``) * Blues Wireless * :zephyr:board:`cygnet` (``cygnet``) * FANKE Technology Co., Ltd. * :zephyr:board:`fk743m5_xih6` (``fk743m5_xih6``) * IAR Systems AB * :zephyr:board:`stm32f429ii_aca` (``stm32f429ii_aca``) * Intel Corporation * :zephyr:board:`intel_btl_s_crb` (``intel_btl_s_crb``) * ITE Tech. Inc. * :zephyr:board:`it515xx_evb` (``it515xx_evb``) * KWS Computersysteme Gmbh * :zephyr:board:`pico2_spe` (``pico2_spe``) * :zephyr:board:`pico_spe` (``pico_spe``) * Lilygo Shenzhen Xinyuan Electronic Technology Co., Ltd * :zephyr:board:`tdongle_s3` (``tdongle_s3``) * :zephyr:board:`ttgo_tbeam` (``ttgo_tbeam``) * :zephyr:board:`ttgo_toiplus` (``ttgo_toiplus``) * :zephyr:board:`twatch_s3` (``twatch_s3``) * Nuvoton Technology Corporation * :zephyr:board:`numaker_m55m1` (``numaker_m55m1``) * NXP Semiconductors * :zephyr:board:`frdm_mcxa166` (``frdm_mcxa166``) * :zephyr:board:`frdm_mcxa276` (``frdm_mcxa276``) * Octavo Systems LLC * :zephyr:board:`osd32mp1_brk` (``osd32mp1_brk``) * OpenHW Group * :zephyr:board:`cv32a6_genesys_2` (``cv32a6_genesys_2``) * :zephyr:board:`cv64a6_genesys_2` (``cv64a6_genesys_2``) * Pimoroni Ltd. * :zephyr:board:`pico_plus2` (``pico_plus2``) * Renesas Electronics Corporation * :zephyr:board:`rza3ul_smarc` (``rza3ul_smarc``) * :zephyr:board:`rzg2l_smarc` (``rzg2l_smarc``) * :zephyr:board:`rzn2l_rsk` (``rzn2l_rsk``) * :zephyr:board:`rzt2l_rsk` (``rzt2l_rsk``) * :zephyr:board:`rzt2m_rsk` (``rzt2m_rsk``) * :zephyr:board:`rzv2l_smarc` (``rzv2l_smarc``) * Seeed Technology Co., Ltd * :zephyr:board:`xiao_mg24` (``xiao_mg24``) * :zephyr:board:`xiao_ra4m1` (``xiao_ra4m1``) * sensry.io * :zephyr:board:`ganymed_sk` (``ganymed_sk``) * Silicon Laboratories * :zephyr:board:`slwrb4180b` (``slwrb4180b``) * STMicroelectronics * :zephyr:board:`nucleo_f439zi` (``nucleo_f439zi``) * :zephyr:board:`stm32h757i_eval` (``stm32h757i_eval``) * :zephyr:board:`stm32mp135f_dk` (``stm32mp135f_dk``) * Texas Instruments * :zephyr:board:`sk_am64` (``sk_am64``) * WinChipHead * :zephyr:board:`ch32v003f4p6_dev_board` (``ch32v003f4p6_dev_board``) * :zephyr:board:`linkw` (``linkw``) * WIZnet Co., Ltd. * :zephyr:board:`w5500_evb_pico2` (``w5500_evb_pico2``) * Würth Elektronik GmbH. * :zephyr:board:`ophelia4ev` (``ophelia4ev``) 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)` * :dtcompatible:`adi,ad4050-adc` * :dtcompatible:`adi,ad4052-adc` * :dtcompatible:`adi,ad4130-adc` * :dtcompatible:`renesas,rz-adc` * Audio * :dtcompatible:`ti,tlv320aic3110` * Charger * :dtcompatible:`ti,bq25713` * Clock control * :dtcompatible:`ite,it51xxx-ecpm` * :dtcompatible:`nordic,nrfs-audiopll` * :dtcompatible:`st,stm32mp13-cpu-clock-mux` * :dtcompatible:`st,stm32mp13-pll-clock` * :dtcompatible:`wch,ch32v20x_30x-pll-clock` * Comparator * :dtcompatible:`renesas,ra-acmphs` * :dtcompatible:`renesas,ra-acmphs-global` * Counter * :dtcompatible:`ite,it8xxx2-counter` * :dtcompatible:`zephyr,native-sim-counter` * CPU * :dtcompatible:`intel,bartlett-lake` * :dtcompatible:`wch,qingke-v4c` * :dtcompatible:`zephyr,native-sim-cpu` * Cryptographic accelerator * :dtcompatible:`ti,cc23x0-aes` * :abbr:`DAC (Digital to Analog Converter)` * :dtcompatible:`ti,dac161s997` * Display * :dtcompatible:`sitronix,st7567` * :dtcompatible:`sitronix,st7701` * :abbr:`DMA (Direct Memory Access)` * :dtcompatible:`renesas,rz-dma` * :dtcompatible:`ti,cc23x0-dma` * :dtcompatible:`wch,wch-dma` * Ethernet * :dtcompatible:`st,stm32-ethernet-controller` * :dtcompatible:`st,stm32n6-ethernet` * :dtcompatible:`ti,dp83867` * :dtcompatible:`xlnx,axi-ethernet-1.00.a` * Flash controller * :dtcompatible:`silabs,series2-flash-controller` * File system * :dtcompatible:`zephyr,fstab,fatfs` * :abbr:`GPIO (General Purpose Input/Output)` and Headers * :dtcompatible:`adi,max14915-gpio` * :dtcompatible:`adi,max14917-gpio` * :dtcompatible:`adi,max22199-gpio` * :dtcompatible:`ite,it51xxx-gpio` * :dtcompatible:`nxp,lcd-pmod` * :dtcompatible:`raspberrypi,pico-gpio-port` * :dtcompatible:`renesas,ra-parallel-graphics-header` * :abbr:`I2C (Inter-Integrated Circuit)` * :dtcompatible:`cdns,i2c` * :dtcompatible:`litex,litei2c` * :dtcompatible:`renesas,ra-i2c-sci-b` * :dtcompatible:`renesas,rz-riic` * :dtcompatible:`sensry,sy1xx-i2c` * Input * :dtcompatible:`realtek,rts5912-kbd` * :dtcompatible:`st,stm32-tsc` * :dtcompatible:`tsc-keys` * Interrupt controller * :dtcompatible:`ite,it51xxx-intc` * :dtcompatible:`ite,it51xxx-wuc` * :dtcompatible:`ite,it51xxx-wuc-map` * Mailbox * :dtcompatible:`arm,mhuv3` * :dtcompatible:`renesas,rz-mhu-mbox` * :abbr:`MDIO (Management Data Input/Output)` * :dtcompatible:`xlnx,axi-ethernet-1.00.a-mdio` * Memory controller * :dtcompatible:`realtek,rts5912-bbram` * :dtcompatible:`st,stm32-xspi-psram` * :abbr:`MFD (Multi-Function Device)` * :dtcompatible:`adi,maxq10xx` * :dtcompatible:`ambiq,iom` * :dtcompatible:`x-powers,axp2101` * Miscellaneous * :dtcompatible:`nordic,nrf-mpc` * :dtcompatible:`renesas,ra-ulpt` * :dtcompatible:`renesas,rz-sci` * Multi-bit SPI * :dtcompatible:`snps,designware-ssi` * :abbr:`MTD (Memory Technology Device)` * :dtcompatible:`jedec,mspi-nor` * Networking * :dtcompatible:`nordic,nrf-nfct-v2` * Pin control * :dtcompatible:`arm,mps2-pinctrl` * :dtcompatible:`arm,mps3-pinctrl` * :dtcompatible:`arm,v2m_beetle-pinctrl` * :dtcompatible:`renesas,rza-pinctrl` * :dtcompatible:`renesas,rzn-pinctrl` * :dtcompatible:`renesas,rzt-pinctrl` * :dtcompatible:`renesas,rzv-pinctrl` * :dtcompatible:`wch,20x_30x-afio` * :abbr:`PWM (Pulse Width Modulation)` * :dtcompatible:`arduino-header-pwm` * :dtcompatible:`silabs,siwx91x-pwm` * Regulator * :dtcompatible:`x-powers,axp2101-regulator` * Reset controller * :dtcompatible:`reset-mmio` * :abbr:`RNG (Random Number Generator)` * :dtcompatible:`adi,maxq10xx-trng` * :dtcompatible:`zephyr,native-sim-rng` * :abbr:`RTC (Real Time Clock)` * :dtcompatible:`nxp,pcf2123` * :dtcompatible:`realtek,rts5912-rtc` * SDHC * :dtcompatible:`ambiq,sdio` * Sensors * :dtcompatible:`bosch,bmm350` * :dtcompatible:`everlight,als-pt19` * :dtcompatible:`invensense,icm45686` * :dtcompatible:`invensense,icp201xx` * :dtcompatible:`liteon,ltr329` * :dtcompatible:`meas,ms5837-02ba` * :dtcompatible:`meas,ms5837-30ba` * :dtcompatible:`pixart,paa3905` * :dtcompatible:`pixart,pat9136` * :dtcompatible:`st,lsm6dsv32x` * :dtcompatible:`vishay,veml6031` * Serial controller * :dtcompatible:`ite,it51xxx-uart` * :dtcompatible:`renesas,rz-sci-uart` * :dtcompatible:`zephyr,native-pty-uart` * :abbr:`SPI (Serial Peripheral Interface)` * :dtcompatible:`cdns,spi` * Timer * :dtcompatible:`ite,it51xxx-timer` * :dtcompatible:`renesas,ra-ulpt-timer` * USB * :dtcompatible:`adi,max32-usbhs` * Watchdog * :dtcompatible:`realtek,rts5912-watchdog` * :dtcompatible:`renesas,ra-wdt` * :dtcompatible:`silabs,siwx91x-wdt` New 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. * :zephyr:code-sample:`bmg160` * :zephyr:code-sample:`debug-ulp` * :zephyr:code-sample:`echo-ulp` * :zephyr:code-sample:`fatfs-fstab` * :zephyr:code-sample:`pressure_interrupt` * :zephyr:code-sample:`pressure_polling` * :zephyr:code-sample:`renesas_comparator` * :zephyr:code-sample:`rz-openamp-linux-zephyr` * :zephyr:code-sample:`spis-wakeup` * :zephyr:code-sample:`stepper` * :zephyr:code-sample:`veml6031` Other 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? * 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 with ``CONFIG_ARM_MPU_PXN`` and ``CONFIG_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 :zephyr:board:`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