Releases: zephyrproject-rtos/zephyr
Zephyr 4.4.0
We are pleased to announce the release of Zephyr 4.4.0!
For a closer look at some of the key additions in this release, check out the announcement article on the Zephyr blog, along with its companion video.
Major enhancements with this release include:
OpenRISC support
Zephyr now supports the OpenRISC architecture.
Toolchain updates: Zephyr SDK 1.0 and C17
Zephyr 4.4 is the first release to support Zephyr SDK 1.0, with an upgraded GNU toolchain, experimental Clang/LLVM support, and multi-platform QEMU and OpenOCD host tools.
Zephyr now defaults to C17 as its minimum required C standard version.
Networking enhancements
The Wi-Fi management stack now supports Wi-Fi P2P (Wi-Fi Direct), allowing devices to discover and connect directly without a traditional access point.
The networking stack also adds support for WireGuard VPN, enabling secure, low-overhead tunneling.
USB host
Experimental USB host support has been significantly expanded with a new host-class driver framework and support for UVC cameras on Zephyr devices acting as USB hosts.
New driver classes
Zephyr 4.4 adds several new driver APIs, including:
- One-Time Programmable (OTP) memory devices for provisioning and reading permanent device data,
- A biometrics API for integrating biometric sensors such as fingerprint scanners or facial recognition systems, and
- A Wake-up Controller (WUC) API for managing wake-up sources that can bring the system out of low-power states.
Zbus async listeners and proxy agents
Zbus async listeners enable non-blocking observer callbacks via workqueues.
Zbus proxy agents extend publish-subscribe messaging across CPU and domain boundaries over IPC.
Pressure-based CPU frequency scaling
The experimental CPU frequency scaling subsystem now includes a pressure-based policy that adjusts CPU frequency according to scheduler load.
ARM Cortex-M context switching performance improvements
A new context switch implementation for ARM Cortex-M, enabled via CONFIG_USE_SWITCH, delivers significant performance improvements.
NAND flash support
A new Flash Translation Layer (FTL) disk driver (zephyr,ftl-dhara) provides wear leveling and bad block management and enables NAND flash memories to be utilized as standard disk devices.
Developer experience improvements
This release adds several new tools and improvements to development and testing workflows:
- A new dashboard consolidates build information such as RAM and ROM footprint, Devicetree configuration, subsystem initialization levels, and more in a single report.
- A new display driver for QEMU targets simplifies development of display-based applications in environments where the native simulator is unavailable.
- A new heap hardening mechanism (
CONFIG_SYS_HEAP_HARDENING) provides multiple levels of runtime protection against heap corruption. - New scope-based cleanup helpers provide RAII/defer-style automatic cleanup in C when leaving scope.
- The new ztest benchmarking framework provides a standardized way to create cycle-accurate benchmarks, with automated data collection, overhead compensation, and statistical reporting.
Expanded board support
This release adds support for 121 new boards and 31 new shields.
Full Release Notes
The full release notes and list of major changes since the last release can be found here.
An overview of the changes required or recommended when migrating your application from Zephyr
v4.3.0 to Zephyr v4.4.0 can be found in the separate migration guide.
Release Lifecycle
The 4.4 release will be supported until April 12th, 2027.
Additional release information may be found on the Release Management Wiki.
Thanks 🙏
Many thanks to the 931 individuals who contributed to this release! 🚀
Maureen, Stephanos, and the Zephyr Release Team
Zephyr v4.4.0-rc3
Hi Zephyr developers!
The third release candidate for Zephyr 4.4.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.4.0-rc3
The merge window for features and enhancements remains closed until 4.4.0 is released.
We continue in the stabilization phase, and only blocker bug-fixes and documentation patches may be merged to the main branch. As a reminder to maintainers, please send PRs to update the release notes and migration guide for any areas you manage.
You may continue to submit pull requests for new features to gather feedback early or collaborate with others, but the release team would like to encourage everyone to focus on testing, fixing any blocker bugs found, and finalizing release notes.
Other bugs which are not critical enough to be categorized as blocker, but should still be part of 4.4 should be marked with the backport v4.4-branch label so they can be considered for the first dot release.
Regards,
The Zephyr Release Team
Release milestone dates:
https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management
Release process:
https://docs.zephyrproject.org/latest/project/release_process.html
Blocker bugs process:
https://docs.zephyrproject.org/latest/project/release_process.html#blocker-bugs
Regards,
The release team.
Zephyr v4.4.0-rc2
Hello Zephyr developers!
The second release candidate for Zephyr 4.4.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.4.0-rc2
We are still in the stabilization phase, and only bug-fix, documentation, and stabilization patches may be merged to the main branch. Matching bug reports for bugfix pull requests are recommended but not required.
You may continue to submit pull requests for new features to gather feedback early or collaborate with others, but the release team would like to encourage everyone to focus on testing, documentation improvements, and fixing bugs. Any feature pull requests should be tagged with the 4.5.0 release milestone.
We anticipate the coming weeks to be very busy reducing overall bug count. Please give this RC a test drive and report any issues on supported platforms (with a PR if possible).
Release milestone dates:
https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management
Release process:
https://docs.zephyrproject.org/latest/project/release_process.html
Regards,
The release team.
Zephyr LTS 3.7.2
This is an LTS maintenance release with fixes.
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-47917
Misleading memory management in mbedtls_x509_string_to_names() - CVE-2025-48965
NULL pointer dereference after using mbedtls_asn1_store_named_data() - CVE-2025-49087
Timing side-channel in block cipher decryption with PKCS#7 padding - CVE-2025-49600
Unchecked return value in LMS verification allows signature bypass - CVE-2025-49601
Out-of-bounds read in mbedtls_lms_import_public_key() - CVE-2025-52496
Race condition in AESNI support detection - CVE-2025-52497
Heap buffer under-read when parsing PEM-encrypted material - CVE-2025-59438
Padding oracle through timing of cipher error reporting - CVE-2025-54764
Side channel in RSA key generation and operations (SSBleed, M-Step)
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
Issues fixed
These GitHub issues were addressed since the previous 3.7.1 tagged release:
- #67637 Telnet shell asserts if connection is closed
- #72840 sensor_shell: strange and unexpected output when getting single axis from 3-axis data
- #75119 Doc: Graphviz fontcolor switched between light and dark themes
- #75121 Doc: Graphviz figures do not use the same font as the documentation
- #77088 net: buf: Pre-initialize
user_dataonnet_buf_alloc() - #79042 net: dns: Out of bounds array access in DNS dispatcher
- #79066 STM32 Ethernet stops receiving under heavy load
- #79805 Compile error when using networking and SystemView Tracing
- #80574 Meta-IRQ does not preempt cooperative threads when woken from IRQ (cortex_m)
- #81343 shell cmd: "devmem load" only works for addresses below 0x80000000
- #81380 test: twister: hwmap: missing serial_pty definition
- #81454 drivers: rtc: sam: Missing function rtc_sam_validate_tm
- #81513 I2C eeprom target does not fully support 16 bit addresses
- #81570 ESP32 fails on assert when WiFi enabled (3.7.x LTS)
- #81777 Flash API:
flash_erasehas incorrect userspace handler - #81781 posix:fpu: Enabling CONFIG_FPU and CONFIG_FPU_SHARING causes compiler error
- #82139 Fix DNS parsing errors
- #82370 modem: the UART exchange between the MCU and the modem is disrupted after rebooting the MCU or modem.
- #82427 net: lwm2m: Missing mutex unlock in LwM2M Registry
- #82437 drivers: flash: flash_mcux_flexspi: since adding support for W25Q512JV, FlexSPI with the W25Q128JV no longer works
- #82652 sockets_service: dns: Sockets service calling closed dispatch socket callback causes fatal
- #82710 [backport] pm: device_runtime: Fix bitfields misuse
- #82933 VFS/ext2: Buffer overflow in ext2_inode_read
- #83041 samples: mgmt: mcumgr: smp_svr: Bluetooth advertising restarted on connection
- #83331 spi_mcux_ecspi does not handle gpio chipselect correctly
- #83332 spi_mcux_ecspi does not handle transfers with 32 bits.
- #83354 log/mpsc_pbuf: logging in spinlock held context can cause recurring exception
- #83399 auxdisplay: jhd1313: Out-of-bounds read
- #83447 native_posix entropy driver produces very bad entropy for 64 bit targets
- #83599 NXP drivers: flash: soc_flash_mcux: CMD_MARGIN_CHECK fails infrequently
- #83625 vfs/ext2: Incorrectly calculated nbytes_to_read in ext2_inode_read potentially causing data corruption
- #83794 lis2de12 sensor driver giving 0 values
- #84148 3.7: Bluetooth: TBS: TBS client may return NULL instead of the empty string in callbacks
- #84274 Shell API unsafe to use outside of command handlers
- #84306 drivers: can: tcan4x5x: Build fails/emits warnings when optional reset-gpios property is not supplied in device tree
- #84384 RTIO Workqueue - Race condition leads to dead-lock in high-demand applications
- #84438 Memory leak with socket() + close() when socket offloading is enabled
- #84538 http_server leak RX buffers when zsock_poll fails in http_server_run
- #84614 [v3.7-branch] Update MCUboot to include fixes
- #84737 eth_stm32_hal: Failed to obtain RX buffer - error makes device unreachable
- #84842 STM32WBA: zephyr/drivers/flash/flash_stm32wba_fm.c: flash_stm32_erase: unexpected erase size
- #84902 mgmt: mcumgr: grp: img_mgmt: DFU confirmed callback does not check status
- #84952 logging: log_cmds: backend ID is wrong for backend(s) that do not autostart
- #85211 dts: atmel sam4s: incorrect sram addresses
- #85301 Bluetooth: host: missing
NULLcheck inbt_le_create_conn_cancel - #85380 DHCP address disappears when TCP socket is closed.
- #85521 Issue with User-Defined Payload Transmission Over SMP: Payload Length Calculation and Memory Address Handling
- #85674 net: ipv6: Neigbor reachablity detection is not compliant with RFC 4861
- #85759 RTIO Workqueue does not work during Device Initialization (POST_KERNEL)
- #85816 tests: tests/net/conn_mgr_monitor/net.conn_mgr.dad failed with W5500
- #86116 soc: NXP: RW61x: SystemCoreClock frequency incorrect
- #86499 net: Critical Mutex Deadlock
- #86954 sample.smf.hsm_psicc2 is flaky on SMP platforms
- #87323 Network buffer leak if sending IPv4 TTL 0 or IPv6 hop limit 0 packets
- #87947 Check possible recursion when parsing DNS response
- #88047 __nocache section conflicts with __ramfunc on stm32h750
- #88229 mbedtls: update to 3.6.3 in 3.7 branch
- #88233 net: coap_client library asserts on boot
- #88328 Using I/O pads sourced from VHIF without enabling the eSPI or SHI drivers may lead to issues
- #88506 stm32: STM32 I2C LL Driver: Stuck in an infinite loop when SDA/SCL is short-circuited
- #88558 disco_l475_iot1/arduino_r3_connector.dtsi arduino_i2c should be i2c1
- #88694 mgmt: ec_host_cmd: npcx: add workaround for backend SHI
- #88946 driver: timer: npcx: fix timer accuracy issue
- #89331 Many threads locking two mutexes can cause a crash
- #89349 Flash Map: Bounds checking not immune to integer overflow
- #89413 Zephyr SPDX does not pass validation
- #89641 net: dhcp: current DHCP client implementation does not follow RFC2131 and RFC2132
- #89984 drivers: watchdog: npcx: fix T0 timer reload procedure
- #89990 STM32: USB: USB CDC IN Endpoint stuck forever after receiving Clear feature - endpoint halt request
- #90103 http_server: Wildcard resource matching reports incorrect path length
- #90655 LE-Audio: BAP scan delegator does not send further notifications after add source or modify source are rejected by application layer
- #90688 coap_resource_parse_observe returns 0 (register) instead of 1 (deregister) upon a deregister of an unknown observer
- #90777 arch.shared_interrupt.lto.speed compile fail on apollo5 platform
- #90784 drivers: flash: npcx: add k_usleep when polling busy status
- #90989 gpio: gpio_adp5585_gpio incorrect gpio gaps handling
- #91360 [v3.7-branch] Update MCUboot with fixes from 2.2.0 release
- #91799 Docs version switcher always displays "v: latest"
- #92243 tls_credentials.h is not found when building ES-Wifi with CONFIG_TLS_CREDENTIALS (v3.7 branch)
- #92413 Issue with thread suspension in zephyr 3.7.1
- #92557 ARC: nsim/nsim_vpx5 applications fail to execute on nsimdrv
- #92764 [ARC][Userspace][v3.7.1] Regression: User threads fail to run with user space enabled (MW toolchain)
- #93790 drivers: console: posix_arch_console: build warning with
CONFIG_PRINTK=n - #94000 EXT2 fs_stat on mount point fails with a NULL pointer dereference.
- #94925 mbedtls: update to 3.6.4 in 3.7 branch
- #95297 Links to the pyOCD repository are outdated
- #95787 Backport fixes to MCUboot for zephyr v3.7
- #95850 Applications do not watch MCUboot key file for changes
- #96172 Backport #95101 (arch: arm: switch to privilege stack in SVC handler)
- #97304 Backport #96850 (arch: arm: start threads on privileged stack)
- #84934 USB devices broken on STM32F723XX MCUs after clock enable changes in Zephyr v3.7.0
- #86444 BLE can't be used after erasing board and flash BT SHELL app
- #88506 stm32: STM32 I2C LL Driver: Stuck in an infinite loop when SDA/SCL is short-circuited
- #92397 Missing fallback to a base ...
Zephyr v4.4.0-rc1
Hello Zephyr developers!
The first release candidate for Zephyr 4.4.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.4.0-rc1
The merge window for features and enhancements is now closed for this release, and it will remain closed until 4.4.0 is released.
We are now in the stabilization phase, and only bug-fix, documentation and stabilization patches may be merged to the main branch. Additional features and enhancements, including new hardware support for the 4.4.0 release requires approval by the TSC. While matching bug reports for pull requests are welcome and encouraged, we will not enforce this until rc2, if the pull request is clearly a bug fix.
You may continue to submit pull requests for new features to gather feedback early or collaborate with others, but the release team would like to encourage everyone to focus on testing, documentation improvements and fixing bugs.
We anticipate the coming weeks to be very busy reducing overall bug count. Please give this RC a test drive and report any issues on supported platforms (with a PR if possible).
Release milestone dates:
https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management
Release process:
https://docs.zephyrproject.org/latest/project/release_process.html
Regards,
The release team.
Zephyr 4.2.2
This is a bugfix release for Zephyr 4.2.1. This will be the final release of Zephyr 4.2, as it has now reached EOL status: https://docs.zephyrproject.org/4.2.0/releases/index.html#supported-releases
The following issues are addressed by this release:
#55186 posix: fnmatch: fix known bugs
#61464 USB device stack (new and old) assertion on STM32
#84934 USB devices broken on STM32F723XX MCUs after clock enable changes
#92397 Missing fallback to a base board.dts when using a board variant without specific dts file
#93668 esp32s3: pr 91027 results in periph_rtc_dig_clk8m_get_freq() returning zero
#93943 Unable to build LVGL samples on Ubuntu 22.04 for native_sim
#93986 Unable to build LVGL with picolibc from source/module
#96841 FRDM_K64F: arch.arm.user.stack.float test fail
#97269 Improve UVC compliance and support MacOS
#97304 arch: arm: start threads on privileged stack
#97593 Flash writing is broken for some dual-bank STM32H7 variants
#98077 wifi: credentials: Unable to connect with multiple SSIDs saved
#98231 Build System: defconfig: Base defconfig not used on fully qualified oot board
#98469 drivers: bluetooth: h4: insufficient buffer for header + payload
#98668 drivers: entropy: non-stop RNG ISR firing on STM32WB09
#98768 STM32F303 bxCAN: Last 2 bytes corrupted on TX pin, but registers are correct
#98936 net: ICMPv4 packets can be reported to ICMPv6 handlers (and vice versa)
#99369 Zephyr 4.2 release notes indicate wrong TF-M version
#99412 drivers/ethernet/eth_native_tap uses a deprecated kconfig option in 4.2
#99682 net: lib: dns: Unpacking query name can overflow the destination buffer
#99797 MCUmgr: OS: DateTime: Millisecond parsing erroneous
#99895 npcx9m6f_evb and frdm_k64f: kernel.common.stack_protection_arm_fpu_sharing fails
#100212 No event code filterint for LVGL pointer process
#100296 west packages pip --install fails with permission error
#100754 bt test commands not working/crashing for nRF54LM20A DK board
#101236 NXP: Failed to disable random-mac-address in ethernet driver.
#102307 CI runner out of disk on backports to 4.2
#102338 macos-13 runner used in v4.2-branch
#102393 Bluetooth: Mesh: Missing provisioning PDU length check can result in out of bound write
#102395 Bluetooth: Mesh: Invalid SegN in provisioning PDU may result in out-of-bound write
#102635 gpio: mcux: Potential infinite interrupt hang when configuring
#103029 NVS startup fails after power loss during final ATE write
#99535 Issue with STM32 Ethernet and KSZ8081 Phy
#104208 IPv4/6 fragmentation memory leak
#104248 DNS query packet length check
#104253 driver: clock_control: RCC_BDCR_LSEDRV_Pos undefined using STM32L0
#104652 net: socketcan: length not always verified
#104748 [mcumgr] error codes of group "stat" incorrect
#104948 net: lib: socket: tls: Potential out-of-bounds write in socket_op_vtable::connect
#105374 drivers: gpio: sam: callback called when interrupt disabled
Zephyr 3.7.2-rc2
This is an LTS maintenance release with fixes.
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-47917
Misleading memory management in mbedtls_x509_string_to_names() - CVE-2025-48965
NULL pointer dereference after using mbedtls_asn1_store_named_data() - CVE-2025-49087
Timing side-channel in block cipher decryption with PKCS#7 padding - CVE-2025-49600
Unchecked return value in LMS verification allows signature bypass - CVE-2025-49601
Out-of-bounds read in mbedtls_lms_import_public_key() - CVE-2025-52496
Race condition in AESNI support detection - CVE-2025-52497
Heap buffer under-read when parsing PEM-encrypted material - CVE-2025-59438
Padding oracle through timing of cipher error reporting - CVE-2025-54764
Side channel in RSA key generation and operations (SSBleed, M-Step)
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
Issues fixed
These GitHub issues were addressed since the previous 3.7.1 tagged release:
- #67637 Telnet shell asserts if connection is closed
- #72840 sensor_shell: strange and unexpected output when getting single axis from 3-axis data
- #75119 Doc: Graphviz fontcolor switched between light and dark themes
- #75121 Doc: Graphviz figures do not use the same font as the documentation
- #77088 net: buf: Pre-initialize
user_dataonnet_buf_alloc() - #79042 net: dns: Out of bounds array access in DNS dispatcher
- #79066 STM32 Ethernet stops receiving under heavy load
- #79805 Compile error when using networking and SystemView Tracing
- #80574 Meta-IRQ does not preempt cooperative threads when woken from IRQ (cortex_m)
- #81343 shell cmd: "devmem load" only works for addresses below 0x80000000
- #81380 test: twister: hwmap: missing serial_pty definition
- #81454 drivers: rtc: sam: Missing function rtc_sam_validate_tm
- #81513 I2C eeprom target does not fully support 16 bit addresses
- #81570 ESP32 fails on assert when WiFi enabled (3.7.x LTS)
- #81777 Flash API:
flash_erasehas incorrect userspace handler - #81781 posix:fpu: Enabling CONFIG_FPU and CONFIG_FPU_SHARING causes compiler error
- #82139 Fix DNS parsing errors
- #82370 modem: the UART exchange between the MCU and the modem is disrupted after rebooting the MCU or modem.
- #82427 net: lwm2m: Missing mutex unlock in LwM2M Registry
- #82437 drivers: flash: flash_mcux_flexspi: since adding support for W25Q512JV, FlexSPI with the W25Q128JV no longer works
- #82652 sockets_service: dns: Sockets service calling closed dispatch socket callback causes fatal
- #82710 [backport] pm: device_runtime: Fix bitfields misuse
- #82933 VFS/ext2: Buffer overflow in ext2_inode_read
- #83041 samples: mgmt: mcumgr: smp_svr: Bluetooth advertising restarted on connection
- #83331 spi_mcux_ecspi does not handle gpio chipselect correctly
- #83332 spi_mcux_ecspi does not handle transfers with 32 bits.
- #83354 log/mpsc_pbuf: logging in spinlock held context can cause recurring exception
- #83399 auxdisplay: jhd1313: Out-of-bounds read
- #83447 native_posix entropy driver produces very bad entropy for 64 bit targets
- #83599 NXP drivers: flash: soc_flash_mcux: CMD_MARGIN_CHECK fails infrequently
- #83625 vfs/ext2: Incorrectly calculated nbytes_to_read in ext2_inode_read potentially causing data corruption
- #83794 lis2de12 sensor driver giving 0 values
- #84148 3.7: Bluetooth: TBS: TBS client may return NULL instead of the empty string in callbacks
- #84274 Shell API unsafe to use outside of command handlers
- #84306 drivers: can: tcan4x5x: Build fails/emits warnings when optional reset-gpios property is not supplied in device tree
- #84384 RTIO Workqueue - Race condition leads to dead-lock in high-demand applications
- #84438 Memory leak with socket() + close() when socket offloading is enabled
- #84538 http_server leak RX buffers when zsock_poll fails in http_server_run
- #84614 [v3.7-branch] Update MCUboot to include fixes
- #84737 eth_stm32_hal: Failed to obtain RX buffer - error makes device unreachable
- #84842 STM32WBA: zephyr/drivers/flash/flash_stm32wba_fm.c: flash_stm32_erase: unexpected erase size
- #84902 mgmt: mcumgr: grp: img_mgmt: DFU confirmed callback does not check status
- #84952 logging: log_cmds: backend ID is wrong for backend(s) that do not autostart
- #85211 dts: atmel sam4s: incorrect sram addresses
- #85301 Bluetooth: host: missing
NULLcheck inbt_le_create_conn_cancel - #85380 DHCP address disappears when TCP socket is closed.
- #85521 Issue with User-Defined Payload Transmission Over SMP: Payload Length Calculation and Memory Address Handling
- #85674 net: ipv6: Neigbor reachablity detection is not compliant with RFC 4861
- #85759 RTIO Workqueue does not work during Device Initialization (POST_KERNEL)
- #85816 tests: tests/net/conn_mgr_monitor/net.conn_mgr.dad failed with W5500
- #86116 soc: NXP: RW61x: SystemCoreClock frequency incorrect
- #86499 net: Critical Mutex Deadlock
- #86954 sample.smf.hsm_psicc2 is flaky on SMP platforms
- #87323 Network buffer leak if sending IPv4 TTL 0 or IPv6 hop limit 0 packets
- #87947 Check possible recursion when parsing DNS response
- #88047 __nocache section conflicts with __ramfunc on stm32h750
- #88229 mbedtls: update to 3.6.3 in 3.7 branch
- #88233 net: coap_client library asserts on boot
- #88328 Using I/O pads sourced from VHIF without enabling the eSPI or SHI drivers may lead to issues
- #88506 stm32: STM32 I2C LL Driver: Stuck in an infinite loop when SDA/SCL is short-circuited
- #88558 disco_l475_iot1/arduino_r3_connector.dtsi arduino_i2c should be i2c1
- #88694 mgmt: ec_host_cmd: npcx: add workaround for backend SHI
- #88946 driver: timer: npcx: fix timer accuracy issue
- #89331 Many threads locking two mutexes can cause a crash
- #89349 Flash Map: Bounds checking not immune to integer overflow
- #89413 Zephyr SPDX does not pass validation
- #89641 net: dhcp: current DHCP client implementation does not follow RFC2131 and RFC2132
- #89984 drivers: watchdog: npcx: fix T0 timer reload procedure
- #89990 STM32: USB: USB CDC IN Endpoint stuck forever after receiving Clear feature - endpoint halt request
- #90103 http_server: Wildcard resource matching reports incorrect path length
- #90655 LE-Audio: BAP scan delegator does not send further notifications after add source or modify source are rejected by application layer
- #90688 coap_resource_parse_observe returns 0 (register) instead of 1 (deregister) upon a deregister of an unknown observer
- #90777 arch.shared_interrupt.lto.speed compile fail on apollo5 platform
- #90784 drivers: flash: npcx: add k_usleep when polling busy status
- #90989 gpio: gpio_adp5585_gpio incorrect gpio gaps handling
- #91360 [v3.7-branch] Update MCUboot with fixes from 2.2.0 release
- #91799 Docs version switcher always displays "v: latest"
- #92243 tls_credentials.h is not found when building ES-Wifi with CONFIG_TLS_CREDENTIALS (v3.7 branch)
- #92413 Issue with thread suspension in zephyr 3.7.1
- #92557 ARC: nsim/nsim_vpx5 applications fail to execute on nsimdrv
- #92764 [ARC][Userspace][v3.7.1] Regression: User threads fail to run with user space enabled (MW toolchain)
- #93790 drivers: console: posix_arch_console: build warning with
CONFIG_PRINTK=n - #94000 EXT2 fs_stat on mount point fails with a NULL pointer dereference.
- #94925 mbedtls: update to 3.6.4 in 3.7 branch
- #95297 Links to the pyOCD repository are outdated
- #95787 Backport fixes to MCUboot for zephyr v3.7
- #95850 Applications do not watch MCUboot key file for changes
- #96172 Backport #95101 (arch: arm: switch to privilege stack in SVC handler)
- #97304 Backport #96850 (arch: arm: start threads on privileged stack)
- #84934 USB devices broken on STM32F723XX MCUs after clock enable changes in Zephyr v3.7.0
- #86444 BLE can't be used after erasing board and flash BT SHELL app
- #88506 stm32: STM32 I2C LL Driver: Stuck in an infinite loop when SDA/SCL is short-circuited
- #92397 Missing fallback to a base ...
Zephyr 4.3.0
We are pleased to announce the release of Zephyr version 4.3.0 🎉🪁
For a detailed overview of some of the highlights of this release, you may check out the dedicated article that was posted on the Zephyr blog, and its accompanying video:
Major enhancements with this release include:
USB Device "Next" stack is now the default
The new USB device stack, built on the modern UDC (USB Device Controller) API, replaces the legacy stack and brings support for multiple simultaneous controllers, runtime configuration, and overall better architecture. The legacy stack is now deprecated and will be removed in Zephyr 4.5.
CPU load and dynamic frequency scaling subsystems
A new experimental CPU frequency scaling subsystem enables dynamic, policy-driven, clock adjustments to balance power consumption and performance Alongside it, a new cpu_load subsystem allows users to obtain CPU usage metrics based on scheduler statistics, which can be used to drive the frequency scaling policy.
Instrumentation Subsystem
A new instrumentation subsystem simplifies tracing and profiling of Zephyr applications by leveraging compiler-managed function instrumentation, allowing the recording of call-graph traces and statistical profiles at runtime.
OCPP 1.6 library
A new OCPP (Open Charge Point Protocol) library enables EV charging station development with Zephyr. The library implements OCPP 1.6 Charge Point functionality over WebSocket, supporting core profile operations including authorization, transaction management, and meter value reporting for communication with Central System servers.
Twister Display Harness
Twister can now validate on-target display output by capturing frames from a USB video camera and matching them against pre-recorded visual "fingerprints".
Developer Experience Improvements
Several new tools have been introduced to help with common development and troubleshooting tasks:
- dtdoctor to help diagnose Devicetree build errors.
- traceconfig build target to help understand where Kconfig symbols come from and their final values.
- Interactive footprint charts to visualize RAM/ROM usage of an application.
Expanded Board Support
Support for 105 new boards and 39 new shields has been added in this release.
Full Release Notes
The full release notes and list of major changes since the last release can be found here.
An overview of the changes required or recommended when migrating your application from Zephyr
v4.2.0 to Zephyr v4.3.0 can be found in the separate migration guide.
Release Lifecycle
The 4.3 release will be supported until October 15th, 2026.
Additional release information may be found on the Release Management Wiki.
Thanks 🙏
Many thanks to the 795 individuals who contributed to this release! 🚀
Johan, Chris, and the Zephyr Release Team
Zephyr v4.3.0-rc3
Hi Zephyr developers!
The third release candidate for Zephyr 4.3.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.3.0-rc3
The merge window for features and enhancements remains closed until 4.3.0 is released.
We continue in the stabilization phase, and only blocker bug-fixes and documentation patches may be merged to the main branch. As a reminder to maintainers- please send PRs to update the release notes and migration guide for any areas you manage.
You may continue to submit pull requests for new features to gather feedback early or collaborate with others, but the release team would like to encourage everyone to focus on testing, fixing any blocker bugs found, and finalizing release notes.
Other bugs which are not critical enough to be categorized as blocker, but should still be part of 4.3 should be marked with the backport v4.3-branch label so they can be considered for the first dot release.
Regards,
The Zephyr Release Team
Release milestone dates:
https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management
Release process:
https://docs.zephyrproject.org/latest/project/release_process.html
Blocker bugs process:
https://docs.zephyrproject.org/latest/project/release_process.html#blocker-bugs
Zephyr v4.3.0-rc2
Hello Zephyr developers!
The second release candidate for Zephyr 4.3.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.3.0-rc2
We are still in the stabilization phase, and only bug-fix, documentation and stabilization patches may be merged to the main branch. Matching bug reports for bugfix pull requests are now required.
You may continue to submit pull requests for new features to gather feedback early or collaborate with others, but the release team would like to encourage everyone to focus on testing, documentation improvements and fixing bugs. Any feature pull requests should be tagged with the 4.4.0 release milestone.
We anticipate the coming weeks to be very busy reducing overall bug count. Please give this RC a test drive and report any issues on supported platforms (with a PR if possible).
Release milestone dates:
https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management
Release process:
https://docs.zephyrproject.org/latest/project/release_process.html
Regards,
The release team.