Releases: zephyrproject-rtos/zephyr
Zephyr 2.7.3
Changes since zephyr-v2.7.2:
Aleksandr Khromykh (1):
Bluetooth: Mesh: add check for rx buffer overflow in pb adv
Alexander Wachter (1):
drivers: can: m_can: fix alignmed issues
Alexej Rempel (1):
logging: shell: fix shell stats null pointer dereference
Andrei Emeltchenko (1):
edac: ibecc: Add support for EHL SKU13, SKU14, SKU15
Andriy Gelman (1):
net: route: Fix pkt leak if net_send_data() fails
Christopher Friedt (10):
release: update v2.7.2 release notes
lib: posix: semaphore: use consistent timebase in sem_timedwait
posix: pthread: consider PTHREAD_EXITED state in pthread_create
tests: posix: pthread: test for pthread descriptor leaks
scripts: release: use GITHUB_TOKEN and start_date in scripts
scripts: release: list_backports.py
ci: backports: check if a backport PR has a valid issue
scripts: release: list_backports: use older python dict merge method
release: update v2.7.3 release notes
release: Zephyr 2.7.3
Erwan Gouriou (1):
boards: nucleo_wb55rg: Fix documentation about BLE binary compatibility
Flavio Ceolin (1):
release: security: Notes for 2.7.3
Francois Ramu (1):
drivers: spi: stm32 spi with dma must enable cs after periph
Henrik Brix Andersen (4):
drivers: can: mcan: acknowledge all received frames
drivers: can: mcux: flexcan: fix handling of RTR frames
drivers: can: loopback: check frame ID type and RTR bit in filters
tests: drivers: can: api: add test for RTR filter matching
Jamie McCrae (1):
drivers: sensor: sm351lt: Fix global thread triggering bug
Mark Holden (1):
coredump: adjust mem_region find in gdbstub
Michał Narajowski (1):
tests/bluetooth/tester: Refactor Read UUID callback
Pavel Vasilyev (2):
Bluetooth: Mesh: Check SegN when receiving Transaction Start PDU
Bluetooth: Mesh: Fix segmentation when sending proxy message
Piotr Pryga (1):
Bluetooth: Controller: Fix per adv scheduling issue
Stephanos Ioannidis (7):
drivers: i2c: Fix infinite recursion in driver unregister function
lib: libc: minimal: Initialise libc heap during POST_KERNEL phase
lib: libc: newlib: Initialise libc heap during POST_KERNEL phase
tests: cpp: cxx: Add static global constructor invocation test
tests: cpp: cxx: Add dynamic memory availability test for static init
tests: cpp: cxx: Test with various types of libc
tests: cpp: cxx: Add qemu_cortex_a53 as integration platform
Szymon Janc (2):
Bluetooth: host: Fix L2CAP reconfigure response with invalid MTU
Bluetooth: host: Fix L2CAP reconfigure response with invalid CID
Torsten Rasmussen (3):
Revert "cmake: Zephyr sdk backward compatibility with 0.11.1 and 0.11.2"
cmake: zephyr toolchain code cleanup
cmake: remove xtensa workaround in Zephyr toolchain code.
Vinayak Kariappa Chettimada (1):
Bluetooth: Controller: Fix PHY update for unsupported PHY
Security Vulnerability Related
The following security vulnerabilities (CVEs) were addressed in this release:
- CVE-2022-2741: Under embargo until 2022-10-14
- CVE-2022-1042
- CVE-2022-1041
- CVE-2021-3966
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
Zephyr v3.1.0
We are pleased to announce the release of Zephyr RTOS version 3.1.0.
The following sections provide detailed lists of changes by component.
API Changes
Changes in this release
-
All Zephyr public headers have been moved to
include/zephyr
, meaning they
need to be prefixed with<zephyr/...>
when included. Because this change
can potentially break many applications or libraries,
:kconfig:option:CONFIG_LEGACY_INCLUDE_PATH
is provided to allow using the
old include path. This option is now enabled by default to allow a smooth
transition. In order to facilitate the migration to the new include prefix, a
script to automate the process is also provided:
:zephyr_file:scripts/utils/migrate_includes.py
. -
LoRaWAN: The message type parameter in :c:func:
lorawan_send
was changed
fromuint8_t
toenum lorawan_message_type
. If0
was passed for
unconfirmed message, this has to be changed toLORAWAN_MSG_UNCONFIRMED
. -
Disk Subsystem: SPI mode SD cards now use the SD subsystem to communicate
with SD cards. See :ref:the disk access api <disk_access_api>
for an
example of the new devicetree binding format required. -
Kconfig preprocessor function
dt_nodelabel_has_compat
was redefined, for
consistency with thedt_nodelabel_has_prop
function and devicetree macros
like :c:func:DT_NODE_HAS_COMPAT
. Now the function does not take into account
the status of the checked node. Its former functionality is provided by the
newly introduceddt_nodelabel_enabled_with_compat
function. -
CAN
-
Added
const struct device
parameter to the following CAN callback function signatures:can_tx_callback_t
can_rx_callback_t
can_state_change_callback_t
-
Allow calling the following CAN API functions from userspace:
- :c:func:
can_set_mode()
- :c:func:
can_calc_timing()
- :c:func:
can_calc_timing_data()
- :c:func:
can_set_bitrate()
- :c:func:
can_get_max_filters()
- :c:func:
-
Changed :c:func:
can_set_bitrate()
to use a sample point of 75.0% for bitrates over 800 kbit/s,
80.0% for bitrates over 500 kbit/s, and 87.5% for all other bitrates. -
Split CAN classic and CAN-FD APIs:
- :c:func:
can_set_timing()
split into :c:func:can_set_timing()
and
:c:func:can_set_timing_data()
. - :c:func:
can_set_bitrate()
split into :c:func:can_set_bitrate()
and
:c:func:can_set_bitrate_data()
.
- :c:func:
-
Converted the
enum can_mode
into acan_mode_t
bitfield and renamed the CAN mode
definitions:CAN_NORMAL_MODE
renamed to :c:macro:CAN_MODE_NORMAL
.CAN_SILENT_MODE
renamed to :c:macro:CAN_MODE_LISTENONLY
.CAN_LOOPBACK_MODE
renamed to :c:macro:CAN_MODE_LOOPBACK
.- The previous
CAN_SILENT_LOOPBACK_MODE
can be set using the bitmask(CAN_MODE_LISTENONLY | CAN_MODE_LOOPBACK)
.
-
STM32H7: :kconfig:option:
CONFIG_NOCACHE_MEMORY
is no longer responsible for disabling
data cache when defined. UseCONFIG_DCACHE=n
instead. -
Converted the STM32F1 pin nodes configuration names to include remap information (in
cases other than NO_REMAP/REMAP_0)
For instance:i2c1_scl_pb8
renamed toi2c1_scl_remap1_pb8
-
Removed APIs in this release
-
STM32F1 Serial wire JTAG configuration (SWJ CFG) configuration choice
was moved from Kconfig to :ref:devicetree <dt-guide>
.
See the :dtcompatible:st,stm32f1-pinctrl
devicetree binding for more information.
As a consequence, the following Kconfig symbols were removed:CONFIG_GPIO_STM32_SWJ_ENABLE
CONFIG_GPIO_STM32_SWJ_NONJTRST
CONFIG_GPIO_STM32_SWJ_NOJTAG
CONFIG_GPIO_STM32_SWJ_DISABLE
-
Removed experimental 6LoCAN protocol support.
-
Removed the following deprecated CAN APIs:
- Custom CAN error codes
can_configure()
can_attach_workq()
can_attach_isr()
can_attach_msgq()
can_detach()
can_register_state_change_isr()
can_write()
Deprecated in this release
-
:c:func:
nvs_init
is deprecated in favor of utilizing :c:func:nvs_mount
. -
The TinyCBOR module has been deprecated in favor of the new zcbor CBOR
library, included with Zephyr in this release. -
GPIO
- Deprecated the
GPIO_INT_DEBOUNCE
flag and theGPIO_DS_*
and
GPIO_VOLTAGE_*
groups of flags. Controller/SoC specific flags
should now be used instead.
- Deprecated the
-
SPI
- Deprecated the
gpio_dev
,gpio_pin
, andgpio_dt_flags
members in
struct :c:struct:spi_cs_control
in favor of a new struct
:c:struct:gpio_dt_spec
member namedgpio
.
- Deprecated the
-
PWM
- The
pin
prefix has been removed from all PWM API calls. So for example,
pwm_pin_set_cycles
is nowpwm_set_cycles
. The old API calls are
still provided, but are now deprecated. - PWM periods are now always set in nanoseconds, so
_nsec
and_usec
set functions such aspwm_pin_set_nsec()
andpwm_pin_set_usec()
have been deprecated. Other units can be specified using, e.g.
PWM_USEC()
macros, which convert other units to nanoseconds.
- The
-
Utilities
- :c:macro:
UTIL_LISTIFY
has been deprecated. Use :c:macro:LISTIFY
instead.
- :c:macro:
Stable API changes in this release
New APIs in this release
-
Util
- Added :c:macro:
IN_RANGE
for checking if a value is in the range of two
other values.
- Added :c:macro:
-
SDHC API
- Added the :ref:
SDHC api <sdhc_api>
, used to interact with SD host controllers.
- Added the :ref:
-
MIPI-DSI
- Added a :ref:
MIPI-DSI api <mipi_dsi_api>
. This is an experimental API,
some of the features/APIs will be implemented later.
- Added a :ref:
-
CAN
-
Added support for getting the minimum/maximum supported CAN timing parameters:
- :c:func:
can_get_timing_min()
- :c:func:
can_get_timing_max()
- :c:func:
can_get_timing_data_min()
- :c:func:
can_get_timing_data_max()
- :c:func:
-
Added support for enabling/disabling CAN-FD mode at runtime using :c:macro:
CAN_MODE_FD
.
-
Bluetooth
-
Extended and Periodic advertising are no longer experimental
-
Direction Finding is no longer experimental
-
Added support for disabling Bluetooth, including a new
bt_disable()
API
call -
Audio
- Changed the implementation of PACS to indicate instead of notifying
- Added support for the Broadcast Audio Scan Service (BASS)
- Added support for the Hearing Access Service (HAS)
- Added support for the Telephone Bearer Service (TBS)
-
Direction Finding
- Added sampling and switching offset configuration
-
Mesh
- Added support for Proxy Client
- Added support for Provisioners over PB-GATT
- Added a new heartbeat publication callback option
-
Controller
- Added support for the full ISO TX data path, including ISOAL
- Added support for ISO Broadcast Channel Map Update
- Added support for ISO Synchronized Receiver Channel Map Update
- The new implementation of LL Control Procedures is now the default whenever
Direction Finding is enabled - Added support for all missing v3 and v4 DTM commands
- Implemented ISO-AL TX unframed fragmentation
- Added support for back-to-back receiving of PDUs on nRF5x platforms
- Increased the maximum number of simultaneous connections to 250
-
HCI Driver
- Added support for a new optional :c:member:
bt_hci_driver.close
API which
closes HCI transport. - Implemented :c:member:
bt_hci_driver.close
on stm32wb HCI driver.
- Added support for a new optional :c:member:
-
Host
-
The :c:enum:
bt_l2cap_chan_state
valuesBT_L2CAP_CONNECT
and
BT_L2CAP_DISCONNECT
have been renamed toBT_L2CAP_CONNECTING
and
BT_L2CAP_DISCONNECTING
respectively. -
The callbacks :c:func:
pairing_complete
, :c:func:pairing_failed
, and
:c:func:bond_delete
have been moved from struct :c:struct:bt_auth_cb
to a
newly created informational-only callback struct :c:struct:bt_conn_auth_info_cb
. -
:c:func:
bt_conn_index
now takes aconst struct bt_conn*
argument. -
The :c:struct:
bt_gatt_subscribe_params
structure'swrite
callback
function has been deprecated. Use the newsubscribe
callback
instead. -
:c:func:
bt_disable
was added to enable the caller to disable the Bluetooth stack. -
Added new Kconfig options to select ISO Central and Peripheral role support
separately -
Added a new :c:func:
bt_get_appearance()
API call -
Implemented support for dynamic appearance, including a new
:c:func:bt_set_appearance()
API call -
Implemented support for L2CAP collision mitigation
-
Changed the scheduling of auto-initiated HCI commands so that they execute
synchronously -
Added a new :c:func:
bt_is_ready()
API call to find out if Bluetooth is
currently enabled and initialized -
Added support for automatic MTU exchange right after a connection is
established -
Created a new :c:struct:
bt_conn_auth_info_cb
to group the
security-related callbacks under a single struct -
Optimized the memory usage of the Object Transfer Service
-
Added a new :c:func:
bt_hci_le_rand()
API call to obtain a random number
from the LE Controller -
Added a new public API to connect EATT channels, :c:func:
bt_eatt_connect()
-
Optimized L2CAP channels resource usage when not using dynamic channels
-
Added the ability to run the Bluetooth RX context from a workqueue, in order
to optimize RAM usage. See :kconfig:option:CONFIG_BT_RECV_CONTEXT
. -
Added support for TX complete callback on EATT channels
-
Corrected the calling of the MTU callback to happen on any reconfiguration
-
Kernel
===...
Zephyr 2.7.2
Changes since v2.7.1:
Alexander Mihajlovic (2):
drivers: adc: stm32: Add function to enable ADC consistently
drivers: adc: stm32: Clear ADRDY before waiting
Alexandre Bourdiol (2):
boards: arm: stm32h7: select direct SMPS for both disco boards
boards: arm: stm32l562e_dk and nucleo_l552ze_q add openocd support
Andrea Campanella (1):
drivers: serial: stm32: Add Line Break Detection
Andrei Emeltchenko (2):
net: tcp: Remove redundant TCP option definitions
net: tcp: Remove unneeded declaration
Andrzej Głąbek (1):
drivers: spi_nrfx_spi: Fix compilation error
Binu Jacob (1):
libc: newlibc: Fix recursive gettimeofday() calls on non-Posix systems
Carlo Caione (2):
kernel: Reset the switch_handler only in the arch code
gen_relocate_app: Create files from scratch, do not append
Chen Peng1 (1):
cmake: save eh_frame section in output with CONFIG_EXCEPTIONS.
Chris Reed (1):
arm: cortex-m: initialise ptr_esf in get_esf() in fault.c.
Christopher Friedt (5):
doc: spinlock: ensure spinlock api is added to doxygen
pthread: cond: fix pthread_cond_wait always returning ETIMEDOUT
tests: pthread: cond: check return from pthread_cond_wait()
release: Bump release to 2.7.2-rc1
release: Zephyr 2.7.2
Daniel Nejezchleb (4):
net: tcp: Fixed forever loop in tcp_resend_data
net: tcp: Fix possible deadlock in tcp_conn_unref()
lib/os: fdtable: add locking to posix api
net: sockets: Fixes net_pkt leak in accept
Dominik Ermel (2):
mgmt/mcumgr: Correct packet length information
mgmt/mcumgr: Fix serial packet length not including CRC16
Emil Lindqvist (1):
logging: fix timestamp func overwrite on log2
Erwan Gouriou (4):
include/drivers/clock_control: stm32h7: Add missing symbol PLL SRC CSI
boards: h747/h745: Update dual core flash and debug instructions
scripts/pylib/twister: Add sn option to stm32cubeprogrgammer runner
boards: nucleo_wb55rg: Add stm32cubeprogrammer runner
Evgeniy Paltsev (1):
ARC: nSIM: fix missing core numbers for mdb-hw runner args
Fabio Baltieri (1):
boards: nucleo_h745zi_q: enable POWER_SUPPLY_DIRECT_SMPS
Flavio Ceolin (3):
pm: Remove unused fields in pm_device
test: pm: device: Fix build options
doc: release: Update release notes with CVE
Francois Ramu (3):
drivers: adc: driver setting the resolution for stm32wl
drivers: adc: driver setting the oversampling for stm32wl
dts: arm: stm32l0 LSI clock freq is 37kHz
Gennady Kovalev (1):
drivers: clock_control: More power supply modes for STM32H7
Georgij Cernysiov (1):
include: drivers: clock_control: stm32: fix xtpre
Gerard Marull-Paretas (7):
doc: extensions: doxyrunner: add doxyrunner_outdir_var option
doc: extensions: doxyrunner: do not modify extension config
doc: conf: specify which variable is used for output directory
ci: make git credentials non-persistent
ci: split Bluetooth workflow
doc: update requirements
doc: css: update code documentation directives style
Gerson Fernando Budke (1):
riscv: linker.ld: Fix undefined reference linker error
Guillaume Lager (2):
driver: modem: Fix mux device name comparison
drivers: console: gsm_mux: fix length indicator
Henrik Brix Andersen (1):
drivers: can: change can_tx_callback_t function signature
Jamie McCrae (3):
samples: subsys: mgmt: smp_svr: Fix dupicate fs mgmt registration
boards: bl654_usb: Fix non-mcuboot builds not limiting size
doc: Add link to J-Link virtual MSD disable for SMP
Jaxson Han (4):
arm64: Fix booting issue with FVP V8R >= 11.16.16
cmake: armfvp: Add FVP min version check
board: arm64: fvp_baser_aemv8r: Update the version requirement
board: arm64: fvp_baser_aemv8r_smp: Increase CONFIG_MAX_THREAD_BYTES
Jeremy Wood (1):
drivers: can: m_can: fix reconfiguring bitrate
Johann Fischer (4):
include: usb: add alignment attribute to macro USBD_CFG_DATA_DEFINE
drivers: ssd16xx: fix driver initialization
bluetooth: hci_raw: avoid possible memory overflow in bt_buf_get_tx()
usb: bluetooth: check buffer tailroom before copying
Jordan Yates (5):
lora: sx126x: don't re-enable interrupt in sleep
doc: generate Doxygen tag file
doc: guides: index: document Doxygen linking
spi: nrfx_spi*: only run uninit if configured
wifi: esp_at: claim net_context in rx
Jukka Rissanen (1):
net: tcp2: Send our MSS to peer
Julien D'ascenzio (3):
uart_stm32: Fix conflit between poll_out and irq API
drivers/uart: stm32: fix dead lock on poll_out
drivers/uart: stm32: don't call k_yield on poll_out
Keith Packard (1):
arm: Use correct macro for z_interrupt_stacks declaration in stack.h
Krzysztof Chruscinski (11):
logging: Fix tracking of active messages
logging: Fix tracking of buffered messages
lib: os: printk: Minor refactoring
logging: printk: Fix LOG_PRINTK for v2
logging: log_output: Fix immediate output for big endian
tests: logging: log_core_additional: Add panic handler for test backend
tests: logging: log_api: Add test for LOG_PRINTK
logging: Improve algorithm for waking up the thread
logging: Fix counting of buffered messages
net: ip: route: Fix log_strdup misuse
lib: os: mpsc_pbuf: Add const to mpsc_pbuf_free argument
Kweh Hock Leong (2):
net: shell: Fix parser error on net ping command
net: gptp: Fix type mismatch calculation error in gptp_mi
Manojkumar Subramaniam (3):
soc: arm: st_stm32: add kconfig entry for STM32 SMPS
drivers: clock_control: stm32h7: Add logic to handle SMPS config
soc: arm: st_stm32: use SMPS power supply only if enabled
Marius Scholtz (1):
modbus: serial: Fix incomplete transmission issue
Michael Schmidt (1):
drivers: virt_ivshmem: Allow multiple instances of ivShMem devices.
Michel Haber (1):
timing: use runtime cycles for cortex-m systick
NingX Zhao (1):
poll: modify the function z_vrfy_k_poll
Patric Karlström (1):
posix: Make clock_settime/gettime REALTIME thread-safe
Pete Dietl (1):
drivers: adc: stm32: Disable ADC before calibration
Piotr Pryga (1):
Bluetooth: controller: Add missing NULL assign to df_cfg in ll_adv_set
Rene Bredlau (1):
modem: hl7800: use correct timeouts on KTCPSND to avoid internal deadlock
Robert Lubos (13):
net: http_client: Set body_start pointer unconditionally
net: sockets: getaddrinfo: Fix possible crash when callback is delayed
net: sockets: Simplify common getsockname() implementation
net: route: Fix struct net_route_nexthop leak
net: route: Verify if neighbor entry is in use when iterating
net: sockets: Use struct timeval provided by libc
net: sockets: Report ZSOCK_POLLHUP when socket is in EOF state
net: sockets: tls: Fix ZSOCK_POLLHUP detection
net: arp: Fix ARP retransmission source address selection
net: mqtt: Fix SOCKS5 setsockopt error handling
net: sockets: Retry net_context_sendmsg if EAGAIN is reported
net: sockets: Fix userspace accept() verification
net: tcp: Verify accept callback before use
Ryan McClelland (1):
cmake: fix multiple shield parsing
Stephanos Ioannidis (1):
x86: Initialise FPU regs during thread creation for eager FPU sharing
Sylvio Alves (1):
soc: esp32: use PYTHON_EXECUTABLE from build system
Szymon Janc (9):
Bluetooth: L2CAP: Fix checking if LTK is present
tests/bluetooth/tester: Add support for rejecting connection parameters
tests/bluetooth/tester: Fix possible buffer overflow
tests/bluetooth/tester: Add support for multiple GATT subscriptions
test/bluetooth/tester: Don't clear auth requirements on L2CAP server
tests/bluetooth/tester: Allocate L2CAP channel only when needed
Bluetooth: Host: Validate security on GATT subscription
tests/bluetooth/tester: Enable security validation for GATT subsciption
tests/bluetooth/tester: Add support for auto connection establishment
Thomas Stranger (6):
drivers: flash: stm32: mv security-mode dependent defines to header
flash: stm32: fix g0 error flags and move ifdef-ery to header
drivers: flash: stm32: wait for CFGBSY & BSY2 in wait_flash_idle
drivers: flash: stm32g0: preparation for dual bank handling
drivers: flash: stm32g0: dual bank handling
tests: drivers: flash: change integration_platforms
Tomasz Bursztyka (12):
net/icmpv4: Fix logging messagse
net/icmpv4: Do not send error on a packet that was broadcasted
arch/x86: Have a dedicated place for CPUID related functions
arch/x86: Add a CPUID function to get initial APIC ID
arch/x86: Fix MSI MAP destination
net/tcp: Stop TCP state machine breaking when sending locally
net/context: Close TCP connection properly
tests/net: TLS test requires more RX PKT and buffers
tests/net: Switch k_msleep to k_yield for tcp packet scheduling
tests/net: Put the context down and not only the tcp part in tcp2 test
test/net: Make sure the tls server socket is accepting before connect
net/tcp: Use highest priority for TCP internal work queue
Vinayak Kariappa Chettimada (1):
Bluetooth: Controller: Fix Periodic Adv EVENT_OVERHEAD_START_US jitter
Yong Cong Sin (5):
drivers: watchdog: STM32G0X: clock DBGMCU before configuring
net: mgmt: Use mutex for net_mgmt_lock
kernel: workq: Fix type errors in delayable work handlers
driver: serial: uart...
Zephyr v2.7.2-rc1
Changes since zephyr-v2.7.1:
Alexander Mihajlovic (2):
drivers: adc: stm32: Add function to enable ADC consistently
drivers: adc: stm32: Clear ADRDY before waiting
Alexandre Bourdiol (2):
boards: arm: stm32h7: select direct SMPS for both disco boards
boards: arm: stm32l562e_dk and nucleo_l552ze_q add openocd support
Andrea Campanella (1):
drivers: serial: stm32: Add Line Break Detection
Andrei Emeltchenko (2):
net: tcp: Remove redundant TCP option definitions
net: tcp: Remove unneeded declaration
Andrzej Głąbek (1):
drivers: spi_nrfx_spi: Fix compilation error
Binu Jacob (1):
libc: newlibc: Fix recursive gettimeofday() calls on non-Posix systems
Carlo Caione (2):
kernel: Reset the switch_handler only in the arch code
gen_relocate_app: Create files from scratch, do not append
Chen Peng1 (1):
cmake: save eh_frame section in output with CONFIG_EXCEPTIONS.
Chris Reed (1):
arm: cortex-m: initialise ptr_esf in get_esf() in fault.c.
Christopher Friedt (3):
doc: spinlock: ensure spinlock api is added to doxygen
pthread: cond: fix pthread_cond_wait always returning ETIMEDOUT
tests: pthread: cond: check return from pthread_cond_wait()
Daniel Nejezchleb (4):
net: tcp: Fixed forever loop in tcp_resend_data
net: tcp: Fix possible deadlock in tcp_conn_unref()
lib/os: fdtable: add locking to posix api
net: sockets: Fixes net_pkt leak in accept
Dominik Ermel (2):
mgmt/mcumgr: Correct packet length information
mgmt/mcumgr: Fix serial packet length not including CRC16
Emil Lindqvist (1):
logging: fix timestamp func overwrite on log2
Erwan Gouriou (4):
include/drivers/clock_control: stm32h7: Add missing symbol PLL SRC CSI
boards: h747/h745: Update dual core flash and debug instructions
scripts/pylib/twister: Add sn option to stm32cubeprogrgammer runner
boards: nucleo_wb55rg: Add stm32cubeprogrammer runner
Evgeniy Paltsev (1):
ARC: nSIM: fix missing core numbers for mdb-hw runner args
Fabio Baltieri (1):
boards: nucleo_h745zi_q: enable POWER_SUPPLY_DIRECT_SMPS
Flavio Ceolin (2):
pm: Remove unused fields in pm_device
test: pm: device: Fix build options
Francois Ramu (3):
drivers: adc: driver setting the resolution for stm32wl
drivers: adc: driver setting the oversampling for stm32wl
dts: arm: stm32l0 LSI clock freq is 37kHz
Gennady Kovalev (1):
drivers: clock_control: More power supply modes for STM32H7
Georgij Cernysiov (1):
include: drivers: clock_control: stm32: fix xtpre
Gerard Marull-Paretas (7):
doc: extensions: doxyrunner: add doxyrunner_outdir_var option
doc: extensions: doxyrunner: do not modify extension config
doc: conf: specify which variable is used for output directory
ci: make git credentials non-persistent
ci: split Bluetooth workflow
doc: update requirements
doc: css: update code documentation directives style
Gerson Fernando Budke (1):
riscv: linker.ld: Fix undefined reference linker error
Guillaume Lager (2):
driver: modem: Fix mux device name comparison
drivers: console: gsm_mux: fix length indicator
Henrik Brix Andersen (1):
drivers: can: change can_tx_callback_t function signature
Jamie McCrae (3):
samples: subsys: mgmt: smp_svr: Fix dupicate fs mgmt registration
boards: bl654_usb: Fix non-mcuboot builds not limiting size
doc: Add link to J-Link virtual MSD disable for SMP
Jaxson Han (4):
arm64: Fix booting issue with FVP V8R >= 11.16.16
cmake: armfvp: Add FVP min version check
board: arm64: fvp_baser_aemv8r: Update the version requirement
board: arm64: fvp_baser_aemv8r_smp: Increase CONFIG_MAX_THREAD_BYTES
Jeremy Wood (1):
drivers: can: m_can: fix reconfiguring bitrate
Johann Fischer (4):
include: usb: add alignment attribute to macro USBD_CFG_DATA_DEFINE
drivers: ssd16xx: fix driver initialization
bluetooth: hci_raw: avoid possible memory overflow in bt_buf_get_tx()
usb: bluetooth: check buffer tailroom before copying
Jordan Yates (5):
lora: sx126x: don't re-enable interrupt in sleep
doc: generate Doxygen tag file
doc: guides: index: document Doxygen linking
spi: nrfx_spi*: only run uninit if configured
wifi: esp_at: claim net_context in rx
Jukka Rissanen (1):
net: tcp2: Send our MSS to peer
Julien D'ascenzio (3):
uart_stm32: Fix conflit between poll_out and irq API
drivers/uart: stm32: fix dead lock on poll_out
drivers/uart: stm32: don't call k_yield on poll_out
Keith Packard (1):
arm: Use correct macro for z_interrupt_stacks declaration in stack.h
Krzysztof Chruscinski (11):
logging: Fix tracking of active messages
logging: Fix tracking of buffered messages
lib: os: printk: Minor refactoring
logging: printk: Fix LOG_PRINTK for v2
logging: log_output: Fix immediate output for big endian
tests: logging: log_core_additional: Add panic handler for test backend
tests: logging: log_api: Add test for LOG_PRINTK
logging: Improve algorithm for waking up the thread
logging: Fix counting of buffered messages
net: ip: route: Fix log_strdup misuse
lib: os: mpsc_pbuf: Add const to mpsc_pbuf_free argument
Kweh Hock Leong (2):
net: shell: Fix parser error on net ping command
net: gptp: Fix type mismatch calculation error in gptp_mi
Manojkumar Subramaniam (3):
soc: arm: st_stm32: add kconfig entry for STM32 SMPS
drivers: clock_control: stm32h7: Add logic to handle SMPS config
soc: arm: st_stm32: use SMPS power supply only if enabled
Marius Scholtz (1):
modbus: serial: Fix incomplete transmission issue
Michael Schmidt (1):
drivers: virt_ivshmem: Allow multiple instances of ivShMem devices.
Michel Haber (1):
timing: use runtime cycles for cortex-m systick
NingX Zhao (1):
poll: modify the function z_vrfy_k_poll
Patric Karlström (1):
posix: Make clock_settime/gettime REALTIME thread-safe
Pete Dietl (1):
drivers: adc: stm32: Disable ADC before calibration
Piotr Pryga (1):
Bluetooth: controller: Add missing NULL assign to df_cfg in ll_adv_set
Rene Bredlau (1):
modem: hl7800: use correct timeouts on KTCPSND to avoid internal deadlock
Robert Lubos (13):
net: http_client: Set body_start pointer unconditionally
net: sockets: getaddrinfo: Fix possible crash when callback is delayed
net: sockets: Simplify common getsockname() implementation
net: route: Fix struct net_route_nexthop leak
net: route: Verify if neighbor entry is in use when iterating
net: sockets: Use struct timeval provided by libc
net: sockets: Report ZSOCK_POLLHUP when socket is in EOF state
net: sockets: tls: Fix ZSOCK_POLLHUP detection
net: arp: Fix ARP retransmission source address selection
net: mqtt: Fix SOCKS5 setsockopt error handling
net: sockets: Retry net_context_sendmsg if EAGAIN is reported
net: sockets: Fix userspace accept() verification
net: tcp: Verify accept callback before use
Ryan McClelland (1):
cmake: fix multiple shield parsing
Sylvio Alves (1):
soc: esp32: use PYTHON_EXECUTABLE from build system
Szymon Janc (9):
Bluetooth: L2CAP: Fix checking if LTK is present
tests/bluetooth/tester: Add support for rejecting connection parameters
tests/bluetooth/tester: Fix possible buffer overflow
tests/bluetooth/tester: Add support for multiple GATT subscriptions
test/bluetooth/tester: Don't clear auth requirements on L2CAP server
tests/bluetooth/tester: Allocate L2CAP channel only when needed
Bluetooth: Host: Validate security on GATT subscription
tests/bluetooth/tester: Enable security validation for GATT subsciption
tests/bluetooth/tester: Add support for auto connection establishment
Thomas Stranger (6):
drivers: flash: stm32: mv security-mode dependent defines to header
flash: stm32: fix g0 error flags and move ifdef-ery to header
drivers: flash: stm32: wait for CFGBSY & BSY2 in wait_flash_idle
drivers: flash: stm32g0: preparation for dual bank handling
drivers: flash: stm32g0: dual bank handling
tests: drivers: flash: change integration_platforms
Tomasz Bursztyka (12):
net/icmpv4: Fix logging messagse
net/icmpv4: Do not send error on a packet that was broadcasted
arch/x86: Have a dedicated place for CPUID related functions
arch/x86: Add a CPUID function to get initial APIC ID
arch/x86: Fix MSI MAP destination
net/tcp: Stop TCP state machine breaking when sending locally
net/context: Close TCP connection properly
tests/net: TLS test requires more RX PKT and buffers
tests/net: Switch k_msleep to k_yield for tcp packet scheduling
tests/net: Put the context down and not only the tcp part in tcp2 test
test/net: Make sure the tls server socket is accepting before connect
net/tcp: Use highest priority for TCP internal work queue
Vinayak Kariappa Chettimada (1):
Bluetooth: Controller: Fix Periodic Adv EVENT_OVERHEAD_START_US jitter
Yong Cong Sin (5):
drivers: watchdog: STM32G0X: clock DBGMCU before configuring
net: mgmt: Use mutex for net_mgmt_lock
kernel: workq: Fix type errors in delayable work handlers
driver: serial: uart_stm32: Calculate suitable PRESCALER value
subsys/mgmt/hawkbit: update http response handling
Zephyr v3.0.0
We are pleased to announce the release of Zephyr RTOS version 3.0.0.
The following sections provide detailed lists of changes by component.
Security Vulnerabilities
The following CVEs are addressed by this release:
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
-
CVE-2021-3835: GHSA-fm6v-8625-99jf
-
CVE-2021-3861: GHSA-hvfp-w4h8-gxvj
-
CVE-2021-3966: GHSA-hfxq-3w6x-fv2m
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
- art_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
. -
The existing crc16 and crc16_ansi functions have been
modified. The former has a new signature. The latter now properly calculates the
CRC-16-ANSI checksum. A new function, crc16_reflect, has been
introduced to calculated reflected CRCs. -
GATT callbacks
bt_gatt_..._func_t
would previously be called with argument
conn = NULL
in the event of a disconnect. This was not documented as part
of the API. This behavior is changed so theconn
argument is provided as
normal when a disconnect occurs.
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
:ref:devicetree <dt-guide>
. See the :dtcompatible: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. -
Removed Kconfig option
CONFIG_OPENOCD_SUPPORT
in favor of
CONFIG_DEBUG_THREAD_INFO
. -
Removed
flash_write_protection_set()
along with the flash write protection
implementation handler. -
Removed
CAN_BUS_UNKNOWN
and changed the signature of
:c:func:can_get_state
to return an error code instead. -
Removed
DT_CHOSEN_ZEPHYR_CANBUS_LABEL
in favor of utilizing
:c:macro:DEVICE_DT_GET
. -
Removed
CONFIG_LOG_MINIMAL
. UseCONFIG_LOG_MODE_MINIMAL
instead.
Deprecated in this release
- Removed
<power/reboot.h>
and<power/power.h>
deprecated headers.
<sys/reboot.h>
and<pm/pm.h>
should be used instead. - :c:macro:
USBD_CFG_DATA_DEFINE
is deprecated in favor of utilizing
:c:macro:USBD_DEFINE_CFG_DATA
- :c:macro:
SYS_DEVICE_DEFINE
is deprecated in favor of utilizing
:c:macro:SYS_INIT
. - :c:func:
device_usable_check
is deprecated in favor of utilizing
:c:func:device_is_ready
. - Custom CAN return codes (:c:macro:
CAN_TX_OK
, :c:macro:CAN_TX_ERR
,
:c:macro:CAN_TX_ARB_LOST
, :c:macro:CAN_TX_BUS_OFF
,
:c:macro:CAN_TX_UNKNOWN
, :c:macro:CAN_TX_EINVAL
,
:c:macro:CAN_NO_FREE_FILTER
, and :c:macro:CAN_TIMEOUT
) are deprecated in
favor of utilizing standard errno error codes. - :c:func:
can_configure
is deprecated in favor of utilizing
:c:func:can_set_bitrate
and :c:func:can_set_mode
. - :c:func:
can_attach_workq
is deprecated in favor of utilizing
:c:func:can_add_rx_filter_msgq
and :c:func:k_work_poll_submit
. - :c:func:
can_attach_isr
is is deprecated and replaced by
:c:func:can_add_rx_filter
. - :c:macro:
CAN_DEFINE_MSGQ
is deprecated and replaced by
:c:macro:CAN_MSGQ_DEFINE
. - :c:func:
can_attach_msgq
is deprecated and replaced by
:c:func:can_add_rx_filter_msgq
. - :c:func:
can_detach
is deprecated and replaced by
:c:func:can_remove_rx_filter
. - :c:func:
can_register_state_change_isr
is deprecated and replaced by
:c:func:can_set_state_change_callback
. - :c:func:
can_write
is deprecated in favor of utilizing :c:func:can_send
.
New APIs in this release
-
Serial
-
Added new APIs to support datum wider than 8-bit.
-
:kconfig:
CONFIG_UART_WIDE_DATA
is added to enable this new APIs. -
Following functions, mirroring similar functions for 8-bit datum,
are added:-
:c:func:
uart_tx_u16
to send a given number of datum from buffer. -
:c:func:
uart_rx_enable_u16
to start receiving data. -
:c:func:
uart_rx_buf_rsp_u16
to set buffer for receiving data
in response toUART_RX_BUF_REQUEST
event. -
:c:func:
uart_poll_in_u16
to poll for input. -
:c:func:
uart_poll_out_u16
to output datum in polling mode. -
:c:func:
uart_fifo_fill_u16
to fill FIFO with data. -
:c:func:
uart_fifo_read_u16
to read data from FIFO.
-
-
-
-
Devicetree
-
Added new Devicetree helpers:
- :c:macro:
DT_INST_ENUM_IDX
- :c:macro:
DT_INST_ENUM_IDX_OR
- :c:macro:
DT_INST_PARENT
- :c:macro:
-
New :ref:
devicetree-ranges-property
APIs -
Removed:
DT_CHOSEN_ZEPHYR_CANBUS_LABEL
; use
DEVICE_DT_GET(DT_CHOSEN(zephyr_canbus))
to get the device instead, and
read the name from the device structure if needed. -
Removed deprecated macros:
DT_CLOCKS_LABEL_BY_IDX
DT_CLOCKS_LABEL
DT_INST_CLOCKS_LABEL_BY_IDX
DT_INST_CLOCKS_LABEL_BY_NAME
DT_INST_CLOCKS_LABEL
DT_PWMS_LABEL_BY_IDX
DT_PWMS_LABEL_BY_NAME
DT_PWMS_LABEL
DT_INST_PWMS_LABEL_BY_IDX
DT_INST_PWMS_LABEL_BY_NAME
DT_INST_PWMS_LABEL
DT_IO_CHANNELS_LABEL_BY_IDX
DT_IO_CHANNELS_LABEL_BY_NAME
DT_IO_CHANNELS_LABEL
DT_INST_IO_CHANNELS_LABEL_BY_IDX
DT_INST_IO_CHANNELS_LABEL_BY_NAME
DT_INST_IO_CHANNELS_LABEL
DT_DMAS_LABEL_BY_IDX
DT_INST_DMAS_LABEL_BY_IDX
DT_DMAS_LABEL_BY_NAME
DT_INST_DMAS_LABEL_BY_NAME
DT_ENUM_TOKEN
DT_ENUM_UPPER_TOKEN
-
-
CAN
- Added :c:func:
can_get_max_filters
for retrieving the maximum number of RX
filters support by a CAN controller device.
- Added :c:func:
Kernel
- Added support for event objects. Threads may wait on an event object such
that any events posted to that event object may wake a waiting thread if the
posting satisfies the waiting threads' event conditions. - Extended CPU runtime stats to track current, total, peak and average usage
(as bounded by the scheduling of the idle thread). This permits a developer
to obtain more system information if desired to tune the system. - Added "thread_usage" API for thread runtime cycle monitoring.
- Fixed timeout issues when SYSTEM_CLOCK_SLOPPY_IDLE is configured.
Architectures
-
ARM
-
AARCH32
- Converted inline assembler calls to using CMSIS provided functions for
:c:func:arm_core_mpu_enable
and :c:func:arm_core_mpu_disable
. - Replaced Kconfig
CONFIG_CPU_CORTEX_R
withCONFIG_ARMV7_R
to enable
differentiation between v7 and v8 Cortex-R. - Updated the Cortex-R syscall behavior to match that of the Cortex-M.
- Converted inline assembler calls to using CMSIS provided functions for
-
AARCH64
- Fixed out-of-bounds error when large number of IRQs are enabled and ignore
special INTDs between 1020 and 1023 - Added MPU code for ARMv8R
- Various MMU fixes
- Added nocache memory segment support
- Added Xen hypercall interface for ARM64
- Fixed race condition on SMP scheduling code.
- Fixed out-of-bounds error when large number of IRQs are enabled and ignore
-
-
Xtensa
-
Introduced a mechanism to automatically figure out which scratch registers
are used for internal code, instead of hard-coding. This is to accommodate
the configurability of the architecture where some registers may exist in
one SoC but not on another one. -
Added coredump support for Xtensa.
-
Added GDB stub support for Xtensa.
-
Bluetooth
-
Updated all experimental features in Bluetooth to use the new
EXPERIMENTAL
selectable Kconfig option -
Bluetooth now uses logging v2 as with the rest of the tree
-
Audio
- Implemented the Content Control ID module (CCID)
- Added support for the Coordinated Set Identification Service (CSIS)
- Added a Temporary Object Transfer ...
Zephyr v3.0.0-rc3
Changes since v3.0.0-rc2:
Aleksander Wasaznik (1):
Bluetooth: Host: L2CAP: Don't send credits if chan is disconnected
Anas Nashif (2):
actions: west/devicetree: exclude python 3.6 on windows
actions: twister: build/run module tests and samples
Andrzej Puzdrowski (1):
manifest: update MCUboot
Bradley Bolen (1):
arch: arm: core: aarch32: Fix Cortex-M userspace regression
Christopher Friedt (2):
pthread: cond: fix pthread_cond_wait always returning ETIMEDOUT
tests: pthread: cond: check return from pthread_cond_wait()
Dan Kalowsky (1):
release: Zephyr v3.0.0-rc3
Daniel DeGrasse (3):
samples: task_wdt: Increase min watchdog timeout
samples: blinky_pwm: decreased min PWM period for blinky sample
drivers: mcux_gpt_timer: Fix rounding error on tick boundary
Daniel Leung (1):
soc: xtensa/sample_controller: add snippets to linker script
Daniel Nejezchleb (2):
net: tcp: Fix possible deadlock in tcp_conn_unref()
lib/os: fdtable: add locking to posix api
Enjia Mai (1):
samples: fix the metairq_dispatch sample failed on acrn_ehl_crb
Flavio Ceolin (1):
scripts: twister: Fix -W help message
Jim Benjamin Luther (1):
Bluetooth: host: Save CCC data on pairing complete
Johann Fischer (3):
modbus: do not loop in UART IRQ handler
sample: modbus: mark MODBUS samples as build only
tests: modbus: add test fixture
Jordan Yates (1):
net: buf: remove gcc dependency
Marek Pieta (1):
Revert "Bluetooth: host: Remove CCC update from GATT connected callback"
Marius Scholtz (1):
modbus: serial: Fix incomplete transmission issue
Martí Bolívar (1):
MAINTAINERS: mbolivar-nordic for Devicetree
Maureen Helm (2):
Revert "logging: Prevent multiple arguments evaluation"
Revert "tests: logging: log_api: Add test for argument evaluation"
Piotr Golyzniak (1):
twister: add setting skip reason
Piotr Pryga (1):
Bluetooth: Host: Fix wrong length of antenna identifiers for CTE RX
Sjors Hettinga (1):
net: ppp: Properly terminate LCP state at modem side when closing down
Torsten Rasmussen (1):
cmake: only write devicetree files when there are changes.
Vinayak Kariappa Chettimada (14):
Bluetooth: Controller: Fix Periodic Sync lost implementation
Bluetooth: Controller: Add assert to check IQ sample allocation
Bluetooth: Controller: Add development assert to check auxiliary parent
Bluetooth: Controller: Add development assert to check aux context
Bluetooth: Controller: Add assert check to detect sync aux context leak
Bluetooth: Controller: Remove minor redundant assignment
Bluetooth: Controller: Periodic Sync Chain reception continuation
Bluetooth: Controller: Auxiliary PDU reception continuation
Bluetooth: Controller: Fix reset of is_aux_sched flag
Bluetooth: Controller: Fix auxiliary context release on scan done
Bluetooth: Controller: Fix missing auxiliary context done event
Bluetooth: Controller: Fix missing aux release on abort of LLL sched
Bluetooth: Controller: Fix scanner window close by using lll_disable
Bluetooth: Controller: Fix to use non-discardable buffer
Xabier Marquiegui (8):
samples: net: gptp: Enable deferred log mode
net: gptp: gptp port role disabled on link down
samples: net: gptp: add NXP RT series config support
boards: mimxrt: enable pps output
driver: eth_mcux: realtime optimizations
driver: eth_mcux: gptp: enable pps output
driver: eth_mcux: gptp: limit rate_adjust range
net: gptp: convert clock sync ratio from float to double
Yuval Peress (3):
tests: settings: Remove invalid config
test: settings: functional: fix missing test_main
tests: settings: Update test project structures
Zephyr v3.0.0-rc2
Changes since v3.0.0-rc1:
Abe Kohandel (1):
bluetooth: ots: directory listing record length
Aleksander Wasaznik (4):
Bluetooth: Host: Handle req alloc failure in bt_gatt_unsubscribe
Bluetooth: Host: Detect deadlock in bt_att_req_alloc
Bluetooth: Host: Update API docs on GATT request failures
Bluetooth: ATT: Fix conn parameter to req cb in att_reset
Alexander Mihajlovic (2):
soc: stm32l0: Clear LPSDSR when exiting STOP mode
usb: Add macro for user defined string descriptors
Anas Nashif (4):
cmake: fix path in comment
ci: disable cbprintf tag filtering
tests: settings: provide correct test prototypes
tests: settings: provide correct test prototypes
Andrea Campanella (1):
drivers: serial: stm32: Add Line Break Detection
Andrei-Edward Popa (5):
boards: arm: rpi_pico: added zephyr shell
drivers: serial: rpi_pico: check if baudrate was set by the API function
drivers: serial: added UART interrupts for Raspberry Pi Pico board
boards: arm: rpi_pico: added UART interrupt driven config
drivers: serial: rpi_pico: replaced high level API functions
Andrey Borisovich (1):
soc: xtensa: Replaced /dev/null in scripts
Andries Kruithof (2):
Bluetooth: controller: llcp: update lll_scan_aux for new LLCP
Bluetooth: tests: edtt: fix buffer overflow error
Andrzej Głąbek (4):
drivers: flash: nrf_qspi_nor: Fix setting of the base clock divider
drivers: uart_nrfx_uarte: Fix RX auto disabling routine
tests: uart_async_api: Add multiple_rx_enable test case
drivers: spi_nrfx_spi: Fix compilation error
Andrzej Puzdrowski (6):
test/subsys/storage/stream_flash: fix build size issue
tests/subsys: CONFIG_TEST_FLASH_DRIVERS=y only for qemu_x86
drivers/flash/flash_ite_i8xxx2: remove write_protection handler
tests/subsys/fs/multi-fs: remove write_protection flash handler
drivers/flash: remove flash_write_protection API
release-note: Record on removal of the flash write protection API
Andy Ross (5):
soc/intel_adsp: DMA Stability fix for cavstool
soc/intel_adsp: Add cAVS IPC register interface
tests/kernel/interrupt: Don't wait so long just for a tick
test/kernel/mbox: Drop needless 1cpu from test cases
subsys/pm: C99-legalize declaration of CPU power states
Arnaud Mouiche (1):
c++: fix missing extern "C" closing }
Asbjørn Sæbø (2):
Bluetooth: Audio: Align time-outs in babblesim tests
Bluetooth: Audio: Fix timeout message in BabbleSim tests
Attie Grande (5):
drivers: adc: adc_sam0: Fix interpretation of channels
samples: drivers: adc: Revise handling of configurable inputs
samples: drivers: adc: Add a device tree overlay for atsamd21_xpro
soc: atmel_sam0: Implement fixup.h for ADC driver
drivers: adc: adc_sam0: Change local variables to lower case
Aymeric Aillet (2):
doc: release: 3.0: Add new R-Car platform drivers
doc: release: 3.0: Add new I2C switch support
Berend Ozceri (1):
mgmt: smp: Fix NULL pointer dereferences in UDP transport.
Bradley Bolen (3):
arch: arm: core: aarch32: Fix the syscall design for Cortex-R
arch: arm: core: aarch32: Change Cortex-R config check
arch: arm: core: aarch32: Use cmsis functions
Carles Cufi (7):
Bluetooth: host: Document skip range in bt_le_per_adv_sync_param
doc: guides: Building the documentation
include: sys: crc: Clarify documentation of two crc functions
tests: unit: crc: Add tests for common checksums
mgmt: mcumgr: Replace use of crc16 with crc16_itu_t
lib: os: crc: Rework the crc16() implementation
modbus: Get rid of custom CRC16 function
Carlo Caione (1):
syscon: Compile the generic driver only when selected
Chen Peng1 (1):
twister: ignore unencodable unicode of west flash command.
Christian Taedcke (1):
drivers: spi_gecko: fix duplicated variable declaration
Christopher Friedt (1):
doc: spinlock: ensure spinlock api is added to doxygen
Dan Kalowsky (1):
release: Zephyr 3.0.0-rc2
Daniel DeGrasse (8):
drivers: dma: mcux_lpc_dma: Fix data variable name
drivers: usb_dc_mcux: Move mcux callback handler out of ISR context
drivers: regulator: Remove non-const usage of config struct
drivers: regulator: pmic: remove unneeded NULL check
boards: teensy41: Enable DAT3 pull detection for USDHC
soc: rt10xx: Set divisor for sys pll (PLL2) PFD0
drivers: usdhc: Add log for DAT3 detection
boards: mimxrt1170_evk_cm7: Reduce DAT3 power toggle delay
Daniel Leung (19):
cmake: compiler/xcc: omit -g if needed for Clang
tests: condvar_api: fix empty loop error for XCC
xtensa: xcc: add a dummy atexit()
tests: semaphore: fix empty loop error for XCC
cpp: BUILD_ASSERT() uses static_assert() iff C++11
clock: Z_TIMEOUT_NO_WAIT initializer to {0}
kernel: C++ friendly version of Z_WORK_USER_INITIALIZER
doc: release: 3.0: make API changes sub-headers visible
doc: release: 3.0: add info for Xtensa
doc: release: 3.0: mention new UART API
cmake: compiler/xcc: override and clear debug property for clang
Revert "cmake: compiler/xcc: omit -g if needed for Clang"
cmake: force assembler ID to be GNU for GCC-based XCC
doc: toolchain: add a few words about XCC
samples: logging/syst: add more lines to show string processing
lib/os: cbprintf_packaged: add ability to use external formatter
logging: syst: fix logging v2 with strings as arguments
samples: logging/syst: expand to doing v1/v2 immediate/deferred
tests: k_heap_api: make alloc pending tests a bit more robust
Daniel Nejezchleb (3):
net: sockets: Fixes net_pkt leak in accept
net: tcp: Fixed forever loop in tcp_resend_data
net: tcp: Fix possible deadlock in tcp_conn_unref()
David Leach (4):
drivers: counter: mcux_ctimer: fix config used as non-const
samples: grove_display: Exclude ip_k66f from sample build
doc: release: Update 3.0 release notes with NXP changes
dts: rt11xx: Fix invalid SAI4 address
Dominik Ermel (4):
mgmg/mcumgr/lib: Image upload size no longer needs flash alignment
mgmt/mcumgr/lib: Return error on bad SMP header
mgmt/mcumgr/lib: Fix no check on message
mgmt/mcumgr/lib: Fix message_size not updated
Ederson de Souza (2):
kernel/init.c: Initialise logging subsystem after arch
Revert "tests/kernel/obj_tracking: Filter cAVS 2.5 builds to prevent DSP host hangs"
Efrain Calderon (2):
net: coap: Update coap context using payload length
test: net: coap: update tests
Emil Gydesen (11):
Bluetooth: Samples: Add controller Kconfig requirement for ISO samples
Bluetooth: Tests: Fix ctrl iso audio dependency
Bluetooth: Audio: Add BAP unicast server support
Bluetooth: Audio: Add BAP unicast client support
Bluetooth: Audio: Add BAP unicast audio BSIM tests
Bluetooth: Samples: Add unicast audio client and server samples
Bluetooth: Audio: Add BAP broadcast source support
Bluetooth: Audio: Add BAP broadcast sink support
Bluetooth: Audio: Add broadcast audio BSIM tests
Bluetooth: shell: Add LE Audio shell commands
Bluetooth: Audio: Add BT_WARN for missing stream callbacks
Enjia Mai (1):
boards: intel_adsp_cavs18: add test coverage
Erwan Gouriou (13):
samples/compression/l4z: Increase min_ram
samples: lora: Add harnesses for execution with twister
doc/release-notes: V3.0: STM32 add-on
tests/drivers: gpio_basic_api: Add overlay to test nucleo_wl55jc
boards: nucleo_wl55jc: Fix openocd configuration
west.yml: Use fixed STM32Cube STM32WL for exti
west.yml: Fix issue with stm32wb ble library
tests/lib: devicetree: Remove references to deprecated macros
include/devicetree: clocks.h: Remove deprecated macros
include/devicetree: pwms.h: Remove deprecated macros
include/devicetree: io-channels.h: Remove deprecated macros
include/devicetree: dma.h: Remove deprecated macros
include: devicetree.h: Remove deprecated macros
Flavio Ceolin (12):
github: Update github security page
pm: Fix multithread issue with force state
pm: Just check the forced flag
pm: Clear the forced flag in the error path
tests: pinctrl: Fix typo on test name
tests: spi_loopback: Make test name consistent
tests: accel: Make test name consistent
tests: sensor: generic: Make test name consistent
tests: Fix drivers tests tag
security: docs: Add CVE-2021-3835
security: docs: Add CVE-2021-3861
doc: releases: 3.0: Add security notes
Francois Ramu (3):
drivers: uart stm32 F4X, F1X, F2X have a sw sequence to clear error flags
drivers: flash: stm32 qspi flash driver valid read or write operations
tests: drivers: flash running on disco stm32 board with qspi
Georgij Cernysiov (1):
include: drivers: clock_control: stm32: fix xtpre
Gerard Marull-Paretas (17):
ci: run apt-get update before install
boards: xtensa: intel_s1000_crb: enable gpio0
tests: boards: intel_s1000_crb: fix k_sleep arguments
doc: getting_started: linux: reference to the 3rd party compilers page
doc: release-notes: add power management release notes
doc: release-notes: add deprecated device API macros/functions
doc: release-notes: add new Devicetree macros
doc: release-notes: add documentation highlights
doc: release-notes: add pin control
doc: release-notes: add GigaDevice changes
boards: cc1352r1_la...
Zephyr v3.0.0-rc1
Please find the complete change log since v2.7.0 available for download here
Zephyr v2.7.1
Changes since zephyr-v2.7.0:
Alexandre Bourdiol (4):
include: drivers: clock_control: stm32u5 missing MSIS define
drivers: clock_control: stm32u5: rework MSIS as system clock source
drivers: clock_control: stm32u5: keep reset values of MSI trimming
drivers: clock_control: stm32u5: set voltage scaling VOS for MSIS
Anas Nashif (37):
ci: add code coverage action
actions: optimize clang actions
action: configure git user
actions: fix typo in clang action
action: codecov: do not run on weekends
actions: bluetooth: fix job names and description
actions: bluetooth: rename action and make it obvious
actions: compliance: minor improvements
actions: conflict: update version
actions: follow namespace for job names
actions: run code coverage only on main tree
actions: clang: do not rebase, use commit range
actions: clang: fix typo
actions: retry west update on various workflows
actions: clang: use ccache
actions: clang: set reporting before calling twister
ci: hotfix: disable test exclusion by tags
actions: run twister using github action
actions: clang: add branch name to ccache key
actions: twister: add a cancel job very early on
actions: twister: adapt events to branch
doc: replace buildkite with github actions
actions: twister/clang: cleanup test plan generation
actions: check of testplan exists
actions: twister: remove cleanup job
actions: twister: apply a new strategy from smaller test plans
actions: twister: run tests on all platforms when changed
actions: twister: load modules from cache
actions: twister: upload testplan as an artifact
actions: twister: do not schedule on non main branches
actions: twister: limit daily job to 60 builders
ci: test_plan: fix pylint warnings
actions: fix filtering for clang action
actions: twister: determine nodes in python script
actions: twister: remove existing ccache directory
scripts: gen_app_partitions: do not load empty files
tests: m2gl025_miv: exclude slow platform from some tests
Andrzej Głąbek (4):
samples: hci_spi: Decrease maximum number of BT connections
drivers: spi_context: Do not use transfer timeout in slave mode
drivers: spi_context: Fix handling of zero-length buffers
drivers: spi_context: Correct alignment of LOG_DBG() parameters
Andy Ross (1):
kernel/sched: Fix race with thread return values
Christopher Friedt (5):
libc: minimal: add qsort to the minimal libc
tests: libc: minimal: Add tests for qsort()
release: v2.7.1 release notes
release: additional entries in release notes
release: Bump release to 2.7.1
Daniel DeGrasse (2):
soc: rt6xx: Default flexspi logging to disabled
drivers: mcux_flexspi: Default logging to disabled when XIP is used
Daniel Leung (1):
toolchain: xcc: add macro __in_section_unique_named()
Daniel N. Hansten (1):
drivers: led: pca9633: add support for multiple devices
Dominik Ermel (1):
west.yml: Update mcumgr to backport fix for issue #38502
Enjia Mai (1):
tests: subsys: libcxx: extend the timeout for cpp.libcxx.newlib_nano
Evgeniy Paltsev (4):
ARC: forbid FIRQ or multiple register banks w/ 1 IRQ priority level
tests: fix tracing.osawareness.openocd for SMP platforms
tests: fix tracing.osawareness.openocd when thread names disabled
tests: tracing.osawareness.openocd cleanup
Francois Ramu (2):
drivers: clock control disable AHB3 clock in stm32_clock_control_off
drivers: uart stm32 flushing Rx register once the RXNE irq is enabled
Gerard Marull-Paretas (1):
sensor: qdec_nrfx: fix PM callback signature
Henrik Brix Andersen (5):
runners: canopen: poll for flash ready
drivers: can: flexcan: fix timing parameter limits
drivers: pwm: mcux: ftm: return -EBUSY if PWM capture in progress
boards: arm: waveshare_open103z: disable CAN bus tests
drivers: can: fix can_configure() when CAN-FD is enabled
Ilhan Ates (1):
Bluetooth: tester: Add directed adv support
Ilya Makarov (1):
Bluetooth: host: Fix MIC generation in Bluetooth CCM encryption
Jacob Siverskog (2):
bluetooth: host: reset channel request on send failure
bluetooth: host: avoid freeing structure that's part of a linked list
Jakub Rzeszutko (1):
shell: fix assert in panic mode
Jamie McCrae (2):
boards: arm: bl5340_dvk: Fix broken image
boards: arm: bt610: Rename from bt6x0
Johan Lundin (1):
Bluetooth: Host: Set SID in bt_le_per_adv_sync_recv_info
Johann Fischer (3):
usb: function_rndis: align rndis_cmd_pool to request buffer size
usb: function_rndis: do not force USB_COMPOSITE_DEVICE for IAD
drivers: ieee802154_dw1000: use dedicated workqueue
Julien D'ascenzio (1):
drivers/uart: stm32: fix a bug during transmission
Krzysztof Chruscinski (2):
logging: Cleaning references to tracing in logging
kernel: timer: Call user handler without spinlock
Krzysztof Kopyściński (1):
bluetooth: tester: allow to set DisplayYesNo IO capability
Lingao Meng (2):
Bluetooth: Mesh: Fix missing enable adv thread
[backport v2.7-branch] bluetooth: mesh: Fix incorrect return value
Lucas Dietrich (1):
drivers: can: Fixed timeout values comparison
Manivannan Sadhasivam (1):
modules: loramac-node: Fix the build issue for US915 and AU915 regions
Marcin Niestroj (1):
samples: sockets: http_get: increase main thread stack size
Marek Pieta (1):
bluetooth: att: Fix indication handling
Martin Jäger (2):
task_wdt: ensure hw wdt is started before being fed
task_wdt: fix overflow in current_ticks making wdt get stuck
Maureen Helm (2):
drivers: serial: Refactor drivers to use shared init priority Kconfig
soc: arm: Configure serial driver init priority for NXP SoCs
Pieter De Gendt (1):
net: openthread: Fix alarm timers reference calculation
Piotr Pryga (4):
BLuetooth: controller: hci: fix wrong sync handle in IQ samples report
Bluetooth: controller: ULL: fix dequeue of IQ samples reports
Bluetooth: host: Add handling of failures in per sync established evt
Bluetooth: controller: enable missing RSSI while periodic adv sync
Rafał Kuźnia (1):
drivers: ieee802154: nrf5: fix NULL pointer dereference
Robert Lubos (4):
samples: net: http_get: Update root CA certificate
net: sockets: tls: Fix TCP disconnect detection in poll()
net: lwm2m: Fix removed engine_observer_list usage
tests: net: all: Add LwM2M to build all test
Ryan Erickson (1):
modem: hl7800: fix IPv6 socket creation
Stephanos Ioannidis (2):
riscv: Fix C++ exception handling info linking
tests: cpp: libcxx: Set minimum RAM requirement for full newlib test
Sylvio Alves (1):
samples: shell_module: fix missing qsort reference
Szymon Janc (14):
tests: bluetooth: tester: Fix NULL pointer dereference in error path
bluetooth: Fix L2CAP CoC response code if LTK is present
tests: bluetooth: tester: Fix not marking chan as unused on disconnect
tests: bluetooth: tester: Add support for L2CAP channels options
bluetooth: host: Add support for SMP error code 0x0f
tests: bluetooth: tester: Add support for pairing failed event
tests: bluetooth: tester: Increase ATT prepare write buffers count
tests: bluetooth: tester: Add support for security_changed callback
tests: bluetooth: tester: Adjust Directed Advertising to latest BTP
tests: bluetooth: tester: Add support for advertising with target RPA
Bluetooth: Disconnect L2CAP channel if peer sent too much data
bluetooth: ATT: Ignore signed writes on EATT bearer
tests: bluetooth: tester: Fix memory corruption in reconfigured_cb
test/bluetooth/tester: Re-pair on lost bond
Timo Teräs (1):
drivers: uart_ns16550: Fix dts hw_flow_control mapping to config
Torsten Rasmussen (3):
cmake: CMake compile features support
scripts: support compile_commands.json in gen_app_partitions.py
twister: remove CMAKE_EXPORT_COMPILE_COMMANDS=1
Vinayak Kariappa Chettimada (2):
Bluetooth: Controller: Fix missing DTM Tx/Rx reset on HCI Reset Command
Bluetooth: Controller: Fix DTM HCI command returned error codes
Zephyr v1.14.3
This is an LTS maintenance release with fixes.
Security Vulnerability Related
The following security vulnerabilities (CVEs) were addressed in this
release:
- CVE-2020-10066
- CVE-2020-10069
- CVE-2020-13601
- CVE-2020-13602
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 1.14.0 tagged
release:
- #18334 - DNS resolution is broken for some addresses in master/2.0-pre
- #19917 - Bluetooth: Controller: Missing LL_ENC_RSP after HCI LTK Negative Reply
- #21107 - LL_ASSERT and 'Imprecise data bus error' in LL Controller
- #21257 - tests/net/net_pkt failed on mimxrt1050_evk board.
- #21299 - bluetooth: Controller does not release buffer on central side after peripheral reset
- #21601 - '!radio_is_ready()' failed
- #21756 - tests/kernel/obj_tracing failed on mec15xxevb_assy6853 board.
- #22968 - Bluetooth: controller: LEGACY: ASSERTION failure on invalid packet sequence
- #23069 - Bluetooth: controller: Assert in data length update procedure
- #23109 - LL.TS Test LL/CON/SLA/BV-129-C fails (split)
- #23805 - Bluetooth: controller: Switching to non conn adv fails for Mesh LPN
- #24601 - Bluetooth: Mesh: Config Client's net_key_status pulls two key indexes, should pull one.
- #25518 - settings_fcb: Fix storing the data
- #25519 - wrong debug function cause kinds of building error
- #26080 - gPTP time sync fails if having more than one port
- #28151 - gPTP should allow user setting of priority1 and priority2 fields used in BMCA
- #28177 - gPTP gptp_priority_vector struct field ordering is wrong
- #29386 - unexpected behavior when doing syscall with 7 or more arguments
- #29858 - Bluetooth: Mesh: RPL cleared on LPN disconnect
- #32430 - Bluetooth: thread crashes when configuring a non 0 Slave Latency
- #32898 - Bluetooth: controller: Control PDU buffer leak into Data PDU buffer pool
- #18598 - tests/net/trickle failed on multiple platforms
- #22751 - STM32F407 I2C driver hangs
- #24300 - tests/net/trickle failed on frdm_k64f and sam_e70_xplained with v1.14 branch.
- #24750 - need API to get list of succeed initialization device or add initialization status flag in struct device
- #24970 - ieee802154 l2: no length check in frame validation
- #25314 - Bluetooth: controller: legacy: Backport conformance test related changes
- #25350 - Bluetooth: controller: Data transmission delayed by slave latency
- #26499 - usermode: random: backport random syscall
- #26595 - tests/kernel/obj_tracing thread counting issue with 1.14 branch.
- #27771 - iotdk: cpu_stats function doesn't work as expected
- #35983 - Bluetooth: controller: Check length field of scan response data