Releases: zephyrproject-rtos/zephyr
Zephyr 4.0.0
Hi Zephyr developers!
We are pleased to announce the release of Zephyr 4.0.0:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.0.0
For a detailed overview of this release and a summary of the various new features and highlights please see the dedicated post on the Zephyr project blog (https://www.zephyrproject.org/zephyr-4-0-is-generally-available) or if you prefer the companion video (https://www.youtube.com/watch?v=uEdZCWPftxQ).
This release is the first 4.x release and will be supported until July 18th, 2025.
Major enhancements with this release include:
-
Secure Storage Subsystem
A newly introduced secure storage subsystem allows the use of the PSA Secure Storage API and of persistent keys in the PSA Crypto API on all board targets. It is now the standard way to provide device-specific protection to data at rest. -
ZMS (Zephyr Memory Storage) Subsystem
ZMS is a new key-value storage subsystem compatible with all non-volatile storage types, including traditional NOR flash and advanced technologies like RRAM and MRAM that support write without erasure. -
Analog Comparators
A new comparator device driver subsystem for analog comparators has been added, complete with shell support. It supports initial configuration through Devicetree and runtime configuration through vendor specific APIs. Initially the nordic,nrf-comp, nordic,nrf-lpcomp and nxp,kinetis-acmp are supported. -
Stepper Motors
It is now possible to interact with stepper motors using a standard API thanks to the new stepper device driver subsystem, which also comes with shell support. Initially implemented drivers include a simple zephyr,gpio-steppers and a complex sensor-less stall-detection capable with integrated ramp-controller adi,tmc5041. -
Haptics
A new haptics device driver subsystem allows unified access to haptic controllers, enabling users to add haptic feedback to their applications. -
Multimedia Capabilities
Zephyr's audio and video capabilities have been expanded with support for new image sensors, video interfaces, audio interfaces, and codecs being supported. -
Prometheus Library
A Prometheus metrics library has been added to the networking stack. It provides a way to expose metrics to Prometheus clients over HTTP, facilitating the consolidated remote monitoring of Zephyr devices alongside other systems typically monitored using Prometheus. -
Documentation Improvements
Several enhancements were made to the online documentation to improve content discovery and navigation. These include a new interactive board catalog and an interactive directory for code samples. -
Expanded Board Support
Over 60 new boards and shields are supported in Zephyr 4.0.
An overview of the changes required or recommended when migrating your application from Zephyr v3.7.0 to Zephyr v4.0.0 can be found in the separate migration guide.
The full release notes and major changes since the last release can be found here:
https://docs.zephyrproject.org/latest/releases/release-notes-4.0.html
A big thanks to everyone who contributed to this release,
Mahesh, Dan, and the Zephyr Release Team
Zephyr v3.7.1-rc1 (LTS)
This is an LTS maintenance release with fixes.
Issues fixed
These GitHub issues were addressed since the previous 3.7.0 tagged release:
- #42227 - Teensy41 support SDHC - Storage init Error
- #66800 - [Coverity CID: 338107] Division or modulo by zero in subsys/shell/backends/shell_uart.c
- #70498 - cellular_modem: Pinnacle 100 does not work with CONFIG_UART_INTERRUPT_DRIVEN
- #71397 - Espressif HAL5.1 - Core panic'ed on EPS32S3 with hello_world sample
- #71916 - Bump minimum Python version (3.10?) ahead of LTSv3 release
- #74291 - Multiple USB contexts for same device lead to bus faults
- #74750 - [Coverity CID: 353644] Unintended sign extension in drivers/sensor/ams/tsl2591/tsl2591.c
- #74752 - [Coverity CID: 353654] Unintended sign extension in drivers/sensor/ams/tsl2591/tsl2591.c
- #75256 - [Coverity CID: 394233] Division or modulo by zero in drivers/sensor/tdk/icm42688/icm42688.h
- #75257 - [Coverity CID: 394232] Division or modulo by zero in drivers/sensor/tdk/icm42688/icm42688.h
- #75265 - display: stm32-ltdc: incorrect return value for blanking on/off calls when panel controller is not passed in DT
- #75318 - Zephyr 3.7 RC2 BLE on STM32 Nucleo WB55 does not work
- #75319 -
fatal error: sys/_timespec.h: No such file or directory
with v3.7.0-rc2 - #75427 -
CONFIG_MBEDTLS_PEM_CERTIFICATE_FORMAT
is misleading as it only enables PEM parsing - #75676 - tests: dma: chan_blen_transfer: test breakage on Nucleo-H743ZI
- #75686 - ST LIS2DUX12 driver: temperature is not converted to Celsius and raw values are returned
- #75736 - Logging stops on all backend when overloaded for a time
- #75758 - ST LIS2DUX12 driver: will not correctly read values on big-endian HW
- #75834 - xtensa: mpu: adding or removing partitions from memory domain of current running thread has no effect
- #75853 - C++: Boot fails with global STL objects
- #75909 - CONFIG_NET_NATIVE_OFFLOADED_SOCKETS fails after DTLS handshake
- #75912 - RAM retention not working on NXP S32K3
- #75967 - bl5340_dvk LCD does not work
- #76000 - coap: block_number in coap_get_block1_option() is too small
- #76090 - TF-M: builds download source from external git repository
- #76185 - scripts: 'west blobs fetch' does not verify digests after downloading
- #76254 - linker: section_tags: missing include
- #76268 - Bluetooth: PAwR Sync does not compile without PAST receiver compiled in
- #76325 - ESP32S3: Zephyr freezes during OTA Update over UDP and BLE
- #76360 - Crash if enabling v4-mapping-to-v6 and DHCPv4
- #76397 - gdbstub: compilation error on ARM
- #76398 - arch: riscv: stacktrace: user thread stack bound check is wrong
- #76403 - net: wifi: NM type check is incorrect
- #76427 - CONFIG_BT_CTLR_OPTIMIZE_FOR_SPEED not selected by default in zephyr 3.7
- #76446 - drivers: mdio: mdio_nxp_enet: Link goes up and down sporadically
- #76447 - Odroid Go Boot Failure
- #76471 - TCP Delay ACK in case no PSH flag is present causing extremly low download throughput for some clients
- #76519 - Get I3C basic device fails for devices that do not support GETCAP
- #76549 - Bug in STM32 Disco L475 Arduino I2C header
- #76551 - Bluetooth: USB Audio Starvation in BAP Broadcast Sink Sample
- #76603 - sensortile_box_pro board does not support hts221 sensor
- #76607 - Fixes an uninitialized value in lis2dux12
- #76625 - drivers: usb: stm32 udc driver get the global otg interrupt
- #76655 - RT11xx device tree build warnings
- #76717 - Check L2 send properly for offloaded ifaces
- #76718 - PTP - incorrect clock offset calculation
- #76737 - Bluetooth L2CAP TX fragmentation state not cleared upon disconnect
- #76738 - Sending Bluetooth L2CAP messages after reconnecting sometimes leads to crashes due to uninitalized net_buf callback
- #76747 - CONFIG_DEVICE_DT_METADATA=y not tested with usespace enabled
- #76762 - arch: riscv: stacktrace: trace is incomplete when unwinding from function without callee
- #76776 - http1 dynamic post request response doesn't send header a second time
- #76912 - drivers/bluetooth/hci/userchan.c build waring w gcc13
- #76932 - Compilation error on Ubuntu 24.04 when CONFIG_FUSE_FS_ACCESS=y
- #77006 - Bluetooth: Host: ISO buffer not unreffed
- #77007 - Bluetooth: Host: ISO not clearing TX context on disconnect
- #77078 - manifest: update percepio
- #77089 - nxp: lpc55sxx: sram node address error
- #77096 - nxp lpc55xx will crash when trying to use a nxp,ctimer-pwm DTS node
- #77126 - RTC RV3028 clock output disabled by enabling alarm/update callback
- #77129 - NXP's IMX RT1010 triggers assert on SPI Loopback test when EDMA enabled
- #77175 - SCSI Read Capacity reports wrong capacity when used with USB Mass storage device
- #77188 - Unaligned 32-bit reads following casts on dns_socket_dispatcher::local_addr (Cortex-M0)
- #77221 - Websocket compile issue if Posix API is not set
- #77241 - bluetooth: Behavior change in host causing MESH to fail on sending messages
- #77269 - da1469x: entropy and gpio drivers throw assertions
- #77303 - net: socket: recvmsg() doesn't update msg_controllen accordingly
- #77371 - RT11xx bus clocks set incorrectly
- #77396 - doc: Documentation scrolling does not work with arrow keys
- #77424 - IMXRT11xx secondary core improperly deinit the ENET PLL
- #77545 - modules: percepio: Fix python executable name in CMakeLists.txt
- #77557 - drivers: ethernet: nxp_enet: Fused MAC address handling is wrong
- #77594 - Bluetooth: Failures in unit tests
- #77633 - drivers: dai: nxp: sai: RTOS crashes on TX/RX underrun/overrun
- #77658 - backported PRs maintain fail status after issues are added to the PR description
- #77669 - BLE EDTT GATT tests fail with python >= 3.11
- #77784 - STM32 I2S Driver Clock Configuration
- #77824 - llext samples fail with BUS ERROR (zephyr-3.7 stable)
- #77952 - ESP32: Interrupts with ISRs in flash are not disabled during flash operations
- #78037 - [Backport v3.7-branch] Failed to backport #77874
- #78138 - riscv: plic: IRQs may not be enabled in non-zero HART
- #78146 - mDNS reponder might fail to serve if mDNS resolver is enabled
- #78244 - arch: riscv: IRQ stacks of secondary cores are not initialized to
0xAA
whenCONFIG_INIT_STACKS=y
- #78263 - building samples/cpp/hello_world reports "undefined reference to
_impure_ptr
error - #78268 - LPC55xx USB not working with SPEED_OPTIMIZATIONS=y
- #78490 - net: l2: ieee802154: IEEE-802.15.4 packets dropped when CONFIG_NET_L2_IEEE802154_SECURITY is enabled
- #78494 - subsys: net: socket_tls: Connection vanishes -> Caller blocked forever
- #78495 - net: l2: ieee802154: ctx_lock taken but not given
- #78608 - Bluetooth: classic: avdtp: missing buffer length check
- #78622 - Wrong package for bz2
- #78651 - drivers: PHY Microchip KSZ8081 will block system work queue for 500/1000ms
- #78724 - net: checksum offloading not working for virtual network interfaces used for Virtual LAN (VLAN)
- #78769 - backport: v3.7: dts: arm: st: stm32h5: fix spi 1-3 clocks
- #78927 - doc: mcumgr: Wrong license for mcumgr-client
- #79208 - sysbuild: ExternalZephyrProject_Add() cannot cope with hwmv2 board and revision
- #79288 - driver: clock-control: imx-ccm-rev2: get_rate(FLEXSPI2) returns FLEXSPI1 clock rate
- #79298 - arch: riscv: the
s0
dumped during a fatal error is not correct - #79301 - arch: irq: multilevel: the value return from
irq_parent_level_3()
is wrong - #79518 - Temporary Modbus Client "Soft Lock"
- #79576 - Dependencies for
SOC_FLASH_MCUX
are incorrect on LPC55xxx platforms - #79788 - net: ip: igmp: IGMPv2 does not work when IGMPv3 is enabled
- #79800 - stream_flash: stream_flash_erase_page does not check whether requested offset is in range of stream flash owned area
- #79947 - ESP32 touch_sensor not working
- #80005 - doc: Documentation issue in 'contribute/documentation/guidelines'
- #80134 - up_squared: tests/arch/x86/info/arch.x86.info.userspace [timeout]
- #80200 - CMake: Find package with version ranges are ignored for Zephyr SDK
- #80383 - drivers: flash: spi_nor: values vom DT not correctly used, when
CONFIG_SPI_NOR_SFDP_RUNTIME=y
- #80429 - Bug in ACD implementation RFC5227
- #80476 - mgmt: mcumgr: stat_mgmt: stat_mgmt_list always send legacy behavior
- #80541 - Incorrect part number LPC55S69 in Konfig.soc
- #80593 - Not possible to write beyond 16MB using flash sample on FRDM_RW612
- #80701 - Changes to cortex_m swap code have major impact on kernel context switching times.
- #80723 - testsuite: coverage: application unable to include
coverage.h
- #80750 - drivers: can: sam: wrong MRBA configuration
- #80810 - samples: subsys: mgmt: mcumgr: smp_svr: UDP overlay missing random selection
- #80818 - shell: shell_help: terminal offset of subcommands' help text isn't aligned
Mbed TLS
Mbed TLS was updated to version 3.6.2 (from 3.6.0). The release notes can be found at:
- https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.1
- https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.2
Mbed TLS 3.6 is an LTS release that will be supported
with security and bug fixes until at least March 2027.
Zephyr 4.0.0-rc3
Hello Zephyr Developers,
The third release candidate for Zephyr 4.0.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.0.0-rc3
The merge window for features and enhancements remains closed until 4.0.0 is released.
We continue in the stabilization phase, and only blocker bug-fixes and documentation patches may be merged to the main branch.
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.
Subsystem maintainers, please finalize your section in the v4.0 release notes if you have not done that already:
https://github.com/zephyrproject-rtos/zephyr/blob/main/doc/releases/release-notes-4.0.rst
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 4.0.0-rc2
Hello Zephyr Developers and Community,
The second release candidate for Zephyr 4.0.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.0.0-rc2
WIth RC1 the merge window for features and enhancements was closed. With RC2 only bug fixes with an attached Github issue, documentation updates, and emergency hotfixes will be merged. Anything additional will require the approval of the TSC.
You may continue to submit Pull Requests for new features to gather feedback early or collaborate with others. The release team encourages everyone to focus on testing, documentation improvements, and fixing any outstanding tracked issues. Please help us drive the issue count down on this RC.
Release milestone dates can be found at https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management
The release process is documented at https://docs.zephyrproject.org/latest/project/release_process.html
Thank you for your time and efforts everyone,
The Zephyr Release Team
Zephyr 4.0.0-rc1
Hello Zephyr developers!
The first release candidate for Zephyr 4.0.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.0.0-rc1
The merge window for features and enhancements is now closed for this release, and it will remain closed until 4.0.0 is released.
We are now in the stabilisation phase, and only bug-fix, documentation and stabilisation patches may be merged to the main branch. Additional features and enhancements, including new hardware support for the 4.0.0 release requires approval by the TSC.
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 3.7.0
We are pleased to announce the 3.7.0 LTS release of Zephyr:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v3.7.0
For a detailed overview of this release and a summary of the various new features and highlights please see the dedicated post on the Zephyr project blog and companion video.
This release is the last non-maintenance 3.x release and, as such, will be the next Long Term Support (LTS) release supported until at least January 2027.
Major enhancements with this release include:
-
A new, completely overhauled hardware model has been introduced. It changes the way both SoCs and boards are named, defined and constructed in Zephyr. Additional information can be found in the Board Porting Guide.
-
A long-awaited HTTP Server library, and associated service API, allow to easily implement HTTP/1.1 and HTTP/2 servers in Zephyr. Resources can be registered statically or dynamically, and WebSocket support is included.
-
POSIX support has been extended, with most Options of the IEEE 1003-2017 System Interfaces receiving support, as well as most Options and Option groups required for PSE51, PSE52, and PSE53.
-
Bluetooth Host has been extended with support for the Nordic UART Service (NUS), Hands-free Audio Gateway (AG), Advanced Audio Distribution Profile (A2DP), and Audio/Video Distribution Transport Protocol (AVDTP).
-
Sensor abstraction model has been overhauled to adopt a read-then-decode approach that enables more types of sensors and data flows than the previous fetch/get APIs.
-
A new LLEXT Extension Developer Kit (EDK) makes it easier to develop and integrate custom extensions into Zephyr, including outside of the Zephyr tree.
-
Native simulator now supports leveraging native host networking stack without having to rely on complex setup of the host environment.
-
Trusted Firmware-M (TF-M) 2.1.0 and Mbed TLS 3.6.0 have been integrated into Zephyr. Both of these versions are LTS releases. What’s more, PSA Crypto has been adopted as a replacement for TinyCrypt and provides enhanced security and performance.
-
A new experimental implementation of the Precision Time Protocol (PTP, IEEE 1588) allows to synchronize time across devices with sub-microsecond accuracy.
-
New documentation pages have been introduced to help developers setup their local development environment for Visual Studio Code and CLion.
An overview of the changes required or recommended when migrating your application from Zephyr v3.6.0 to Zephyr v3.7.0 can be found in the separate migration guide.
The full release notes and major changes since the last release can be found here:
https://docs.zephyrproject.org/3.7.0/releases/release-notes-3.7.html
Thanks to everyone who contributed to this release,
Alberto & Anas
Zephyr v3.7.0-rc3
The third release candidate for Zephyr 3.7.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v3.7.0-rc3
The merge window for features and enhancements remains closed until 3.7.0 is released.
We continue in the stabilization phase, and only blocker bug-fixes and documentation patches may be merged to the main branch.
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 3.7 should be marked with the backport v3.7-branch
label so they can be considered for the first dot release.
Subsystem maintainers, please finalise your section in the v3.7 release notes if you have not done that already:
https://github.com/zephyrproject-rtos/zephyr/blob/main/doc/releases/release-notes-3.7.rst
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 v3.7.0-rc2
The second release candidate for Zephyr 3.7.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v3.7.0-rc2
The merge window for features and enhancements remains closed until 3.7.0 is released.
We continue in the stabilization phase, and only bug-fix, documentation and stabilization patches may be merged to the main branch.
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 and help triage bugs. We have a significant number of bugs that need to be addressed:
https://stats.zephyrproject.org/testing/d/K57-gHUGk/bug-tracking-experimental
When submitting a fix for 3.7 please remember to set its "Milestone" to "v3.7.0".
Subsystem maintainers, please remember to update your subsystem section in
the v3.7 release notes file:
https://github.com/zephyrproject-rtos/zephyr/blob/main/doc/releases/release-notes-3.7.rst
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 v3.7.0-rc1
The first release candidate for Zephyr 3.7.0 has been tagged:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v3.7.0-rc1
The merge window for features and enhancements is now closed for this release, and it will remain closed until 3.7.0 is released.
We are now in the stabilisation phase, and only bug-fix, documentation and stabilisation patches may be merged to the main branch. Additional features and enhancements, including new hardware support for the 3.7.0 release require approval by the TSC.
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.
This will be Zephyr's third LTS release. As such, 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 v2.7.6
We are pleased to announce the release of Zephyr v2.7.6:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v2.7.6
This is an LTS maintenance release with fixes.
The following GitHub issues were addressed since the previous 2.7.5 tagged
release:
#32145 - use k_thread_foreach_unlocked()
with shell callbacks
#56604 - drivers: nrf: rtc: make uptime consistent for app booted from v3.x mcuboot
#25917 - bluetooth: fix deadlock with tx of acl data and hci commands
#47649 - bluetooth: release att notification buffer after reconnection
#43718 - bluetooth: bt_conn: ensure tx buffers can be allocated within timeout
#60707 - canbus: isotp: seal context buffer memory leaks
#60904 - drivers: spi_nor: make erase operation more opportunistic
#61451 - drivers: can: stm32: correct timing_max parameters
#61501 - canbus: isotp: convert SF length check from ASSERT
to runtime check
#61544 - drivers: ieee802154_nrf5: add payload length check on TX
#61784 - bluetooth: controller: check minmum sizes of adv PDUs
#62003 - drivers: dma: sam: implement xdmac get_status()
API
#62701 - can: rework the table lookup code in can_dlc_to_bytes()
#63544 - drivers: can: mcan: move RF0L and RF1L to line 1
#63835 - net_mgmt: return EMSGSIZE
if buffer passed to recvfrom()
is too small
#63965 - logging: fix handling of CONFIG_LOG_BLOCK_IN_THREAD_TIMEOUT_MS
#64398 - drivers: can: be consistent in filter_id
checks when removing rx filters
#65548 - cmake: modules: dts: fix board revision 0 overlay
#66500 - toolchain: support CONFIG_COMPILER_WARNINGS_AS_ERRORS
#66888 - net: ipv6: drop received packets sent by the same interface
#67692 - i2c: dw: fix integer overflow in i2c_dw_data_ask()
#69167 - fs: fuse: avoid possible buffer overflow
#69637 - userspace: additional checks in K_SYSCALL_MEMORY
The following security vulnerabilities (CVEs) were addressed in this
release:
- CVE-2023-4263 Zephyr project bug tracker GHSA-rf6q-rhhp-pqhf
- CVE-2023-4424: Zephyr project bug tracker GHSA-j4qm-xgpf-qjw3
- CVE-2023-5779 Zephyr project bug tracker GHSA-7cmj-963q-jj47
- CVE-2023-6249 Zephyr project bug tracker GHSA-32f5-3p9h-2rqc
- CVE-2023-6881 Zephyr project bug tracker GHSA-mh67-4h3q-p437
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
The full release notes can be found here:
https://docs.zephyrproject.org/2.7.6/releases/release-notes-2.7.html