Releases: zephyrproject-rtos/zephyr
Zephyr 3.7.1 (LTS)
This is an LTS maintenance release with fixes.
Issues fixed
These GitHub issues were addressed since the previous 3.7.0 tagged release:
- #77088 net: buf: Pre-initialize user_data on net_buf_alloc()
- #81380 test: twister: hwmap: missing serial_pty definition
- #81570 ESP32 fails on assert when WiFi enabled
- #81083 DA1469x dma driver initialization fails
- #80542 Hard fault on boot w/ GCC 14 on Cortex-M
- #71896 xtensa: remove unnecessary padding in arch_mem_domain
- #81372 arch: riscv: userspace: potential security risk when CONFIG_RISCV_GP=y
- #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
- #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.
MCUboot
MCUboot commit has been updated to ea2410697dd0262edec041a0ccb07fdbde7c1aff
.
Trusted Firmware-M
TF-M was updated to version 2.1.1 (from 2.1.0). The release notes can be found at:
TF-M 2.1 is an LTS release synchronized with Mbed TLS 3.6 that
will be supported with security and bug fixes until March 2027.
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.