Zephyr 3.0.0 (Working draft)
We are pleased to announce the release of Zephyr RTOS version 3.0.0.
The following sections provide detailed lists of changes by component.
Known issues
You can check all currently known issues by listing them using the GitHub interface and listing all issues with the bug label.
API Changes
Changes in this release
Following functions in UART Asynchronous API are using microseconds to represent timeout instead of milliseconds: *
uart_tx()
*uart_rx_enable()
Replaced custom LwM2M
float32_value
type with a native double type.Added function for getting status of USB device remote wakeup feature.
Added
ranges
anddma-ranges
as invalid property to be used with DT_PROP_LEN() alongreg
andinterrupts
.
Changes in this release
Removed APIs in this release:
The following Kconfig options related to radio front-end modules (FEMs) were removed:
CONFIG_BT_CTLR_GPIO_PA
CONFIG_BT_CTLR_GPIO_PA_PIN
CONFIG_BT_CTLR_GPIO_PA_POL_INV
CONFIG_BT_CTLR_GPIO_PA_OFFSET
CONFIG_BT_CTLR_GPIO_LNA
CONFIG_BT_CTLR_GPIO_LNA_PIN
CONFIG_BT_CTLR_GPIO_LNA_POL_INV
CONFIG_BT_CTLR_GPIO_LNA_OFFSET
CONFIG_BT_CTLR_FEM_NRF21540
CONFIG_BT_CTLR_GPIO_PDN_PIN
CONFIG_BT_CTLR_GPIO_PDN_POL_INV
CONFIG_BT_CTLR_GPIO_CSN_PIN
CONFIG_BT_CTLR_GPIO_CSN_POL_INV
CONFIG_BT_CTLR_GPIO_PDN_CSN_OFFSET
This FEM configuration is hardware description, and was therefore moved to devicetree. See the
nordic,nrf-radio
devicetree binding’sfem
property for information on what to do instead on the Nordic open source controller.Removed Kconfig option
CONFIG_USB_UART_CONSOLE
. OptionCONFIG_USB_UART_CONSOLE
was only relevant for console driver when CDC ACM UART is used as backend. Since the behavior of the CDC ACM UART is changed so that it more closely mimics the real UART controller, option is no longer necessary.
Deprecated in this release:
USBD_CFG_DATA_DEFINE
is deprecated in favor of utilizingUSBD_DEFINE_CFG_DATA
Stable API changes in this release
Kernel
Architectures
ARC
ARM
AARCH32
AARCH64
x86
Bluetooth
Audio
Host
The
CONFIG_BT_SETTINGS_CCC_STORE_ON_WRITE
is enabled by default. Storing CCC right after it’s written reduces risk of inconsistency of CCC values between bonded peers.
Mesh
Bluetooth LE split software Controller
HCI Driver
Boards & SoC Support
Added support for these SoC series:
Removed support for these SoC series:
Made these changes in other SoC series:
Changes for ARC boards:
Added support for these ARM boards:
Added support for these ARM64 boards:
Removed support for these ARM boards:
Removed support for these X86 boards:
Made these changes in other boards:
Added support for these following shields:
Drivers and Sensors
ADC
Bluetooth
CAN
Clock Control
Console
Counter
DAC
Disk
Display
Disk
DMA
EEPROM
ESPI
Ethernet
Flash
GPIO
Hardware Info
I2C
I2S
IEEE 802.15.4
Interrupt Controller
LED
LoRa
Modem
PWM
Sensor
Serial
SPI
Timer
USB
Watchdog
WiFi
Networking
CoAP:
DHCPv4:
DNS:
HTTP:
IPv4:
LwM2M:
Misc:
OpenThread:
Socket:
TCP:
TLS:
USB
Build and Infrastructure
Build system
New CMake extension functions:
dt_alias()
target_sources_if_dt_node()
The following CMake extension functions now handle devicetree aliases:
dt_node_exists()
dt_node_has_status()
dt_prop()
dt_num_regs()
dt_reg_addr()
dt_reg_size()
Devicetree
West (extensions)
Libraries / Subsystems
Disk
Management
Fixed the mcumgr SMP protocol over serial not adding the length of the CRC16 to packet length.
Kconfig option OS_MGMT_TASKSTAT is now disabled by default.
CMSIS subsystem
Power management
Logging
Shell
Storage
Task Watchdog
Tracing
Debug
OS
HALs
MCUboot
Fixed serial recovery skipping on nrf5340.
Fixed issue which caused that progressive’s erase feature was off although was selected by Kconfig (introduced by #42c985cead).
Added check of reset address in incoming image validation phase, see
CONFIG_MCUBOOT_VERIFY_IMG_ADDRESS
.Allow image header bigger than 1 KB for encrypted images.
Support Mbed TLS 3.0.
stm32: watchdog support.
many documentation improvements.
Fixed deadlock on cryptolib selectors in Kconfig.
Fixed support for single application slot with serial recovery.
Added various hooks to be able to change how image data is accessed, see
CONFIG_BOOT_IMAGE_ACCESS_HOOKS
.Added custom commands support in serila recovery (PERUSER_MGMT_GROUP): storage erase
CONFIG_BOOT_MGMT_CUSTOM_STORAGE_ERASE
, custo image statusCONFIG_BOOT_MGMT_CUSTOM_IMG_LIST
.Added support for direct image upload, see
CONFIG_MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD
in serial recovery.