Zephyr 3.4.0 (Working Draft)¶
We are pleased to announce the release of Zephyr version 3.4.0.
Major enhancements with this release include:
The following sections provide detailed lists of changes by component.
Changes in this release¶
Any applications using the mcuboot image manager (
CONFIG_MCUBOOT_IMG_MANAGER) will now need to also select
CONFIG_STREAM_FLASH, this prevents a cmake dependency loop if the image manager Kconfig is enabled manually without also manually enabling the other options.
Including hawkbit in an application now requires additional Kconfig options to be selected, previously these options would have been selected automatically but have changed from
selectoptions in Kconfig files to
Including updatehub in an application now requires additional Kconfig options to be selected, previously these options would have been selected automatically but have changed from
selectoptions in Kconfig files to
The sensor driver API clarified
sensor_trigger_set()to state that the user-allocated sensor trigger will be stored by the driver as a pointer, rather than a copy, and passed back to the handler. This enables the handler to use
CONTAINER_OFto retrieve a context pointer when the trigger is embedded in a larger struct and requires that the trigger is not allocated on the stack. Applications that allocate a sensor trigger on the stack need to be updated.
Removed APIs in this release¶
Deprecated in this release¶
Configuring applications with
prj_<board>.conffiles has been deprecated, this should be replaced by using a prj.conf with the common configuration and board-specific configuration in board Kconfig fragments in the
boardsfolder of the application.
Stable API changes in this release¶
Removed bt_set_oob_data_flag and replaced it with two new API calls: *
bt_le_oob_set_sc_flag()for setting/clearing OOB flag in SC pairing *
bt_le_oob_set_legacy_flag()for setting/clearing OOB flag in legacy paring
New APIs in this release¶
flash_ex_op()function. This allows to perform extra operations on flash devices, defined by Zephyr Flash API or by vendor specific header files. Support for extra operations is enabled by
CONFIG_FLASH_EX_OP_ENABLEDwhich depends on
CONFIG_FLASH_HAS_EX_OPselected by driver.
Added experimental support for Mesh Protocol d1.1r18 specification.
Added experimental support for Mesh Binary Large Object Transfer Model d1.0r04_PRr00 specification.
Added experimental support for Mesh Device Firmware Update Model d1.0r04_PRr00 specification.
Boards & SoC Support¶
Added support for these SoC series:
Removed support for these SoC series:
Made these changes in other SoC series:
Added support for these ARC boards:
Added support for these ARM boards:
Seeed Studio Wio Terminal
Added support for these ARM64 boards:
Added support for these RISC-V boards:
Added support for these X86 boards:
Added support for these Xtensa boards:
Made these changes for ARC boards:
Made these changes for ARM boards:
Made these changes for ARM64 boards:
Made these changes for RISC-V boards:
Made these changes for X86 boards:
Made these changes for Xtensa boards:
Removed support for these ARC boards:
Removed support for these ARM boards:
Removed support for these ARM64 boards:
Removed support for these RISC-V boards:
BeagleV Starlight JH7100
Removed support for these X86 boards:
Removed support for these Xtensa boards:
Made these changes in other boards:
Added support for these following shields:
Build system and infrastructure¶
Fixed an issue whereby older versions of the Zephyr SDK toolchain were used instead of the latest compatible version.
Fixed an issue whereby building an application with sysbuild and specifying mcuboot’s verification to be checksum only did not build a bootable image.
Fixed an issue whereby if no prj.conf file was present then board configuration files would not be included by emitting a fatal error. As a result, prj.conf files are now mandatory in projects.
Introduced support for extending/replacing the signing mechanism in zephyr, see West extending signing for further details.
Drivers and Sensors¶
MCUX LPADC driver now uses the channel parameter to select a software channel configuration buffer. Use
zephyr,input-negativedevicetree properties to select the hardware channel(s) to link a software channel configuration to.
Added MCP7940N battery-backed RTC SRAM driver.
zephyr,i2c-target-eepromfor I2C EEPROM target driver.
Introduced new flash API call
ec_op()callback provided by a flash driver. This allows to perform extra operations on flash devices, defined by Zephyr Flash API or by vendor specific header files.
CONFIG_FLASH_HAS_EX_OPshould be selected by the driver to indicate that extra operations are supported. To enable extra operations user should select
Retained memory (retained_mem) driver has been added with backends for Nordic nRF GPREGRET, and uninitialised RAM.
TWT intervals are changed from milli-seconds to micro-seconds, interval variables are also renamed.
Libraries / Subsystems¶
CONFIG_FS_FATFS_REENTRANTto enable the FAT FS reentrant option.
Added optional input expiration to shell MCUmgr transport, this allows returning the shell to normal operation if a complete MCUmgr packet is not received in a specific duration. Can be enabled with
CONFIG_MCUMGR_TRANSPORT_SHELL_INPUT_TIMEOUTand timeout set with
CONFIG_MCUBOOT_CMAKE_WEST_SIGN_PARAMSthat allows to pass arguments to west sign when invoked from cmake.