Releases: zephyrproject-rtos/zephyr
Zephyr v2.7.0
We are pleased to announce the release of Zephyr RTOS version 2.7.0 (LTS2).
Major enhancements since v2.6.0 include:
- Bluetooth Audio, Direction Finding, and Mesh improvements
- Support for Bluetooth Advertisement PDU Chaining
- Added support for armclang / armlinker toolchain
- Added support for MWDT C / C++ toolchain
- Update to CMSIS v5.8.0 (Core v5.5.0, DSP v1.9.0)
- Support for M-Profile Vector Extensions (MVE) on ARMv8.1-M
- Improved thread safety for Newlib and C++ on SMP-capable systems
- IEEE 802.15.4 Software Address Filtering
- New Action-based Power Management API
- USB Device Framework now includes all Chapter 9 defines and structures
- Generic System Controller (
syscon
) driver and emulator - Linker Support for Tightly-Coupled Memory in RISC-V
- Additional Blocking API calls for LoRa
- Support for extended PCI / PCIe capabilities, improved MIS-X support
- Added Support for Service Type Enumeration (STE) with mDNS / DNS Service Discovery
- Added Zephyr Thread Awareness for OpenOCD to West
- EEPROM now can be emulated in flash
- Added both Ethernet MDIO and Ethernet generic PHY drivers
Additional Major enhancements since v1.14.0 (LTS1) include:
- The kernel now supports both 32- and 64-bit architectures
- We added support for SOCKS5 proxy
- Introduced support for 6LoCAN, a 6Lo adaption layer for Controller Area Networks
- We added support for Point-to-Point Protocol (PPP)
- We added support for UpdateHub, an end-to-end solution for over-the-air device updates
- We added support for ARM Cortex-R Architecture
- Normalized APIs across all architectures
- Expanded support for ARMv6-M architecture
- Added support for numerous new boards and shields
- Added numerous new drivers and sensors
- Added BLE support on Vega platform
- Memory size improvements to Bluetooth host stack
- We added initial support for 64-bit ARMv8-A architecture
- CANopen protocol support through 3rd party CANopenNode stack
- LoRa support was added along with the SX1276 LoRa modem driver
- A new Zephyr CMake package has been introduced
- A new Devicetree API which provides access to virtually all DT nodes and properties
- The kernel timeout API has been overhauled
- A new k_heap/sys_heap allocator, with improved performance
- Zephyr now integrates with the TF-M (Trusted Firmware M) PSA-compliant framework
- The Bluetooth Low Energy Host now supports LE Advertising Extensions
- The CMSIS-DSP library is now included and integrated
- Introduced initial support for virtual memory management
- Added Bluetooth host support for periodic advertisement and isochronous channels.
- Added a new TCP stack which improves network protocol testability
- Introduced a new toolchain abstraction with initial support for GCC and LLVM/Clang
- Moved to using C99 integer types and deprecate Zephyr integer types
- Introduced support for the SPARC architecture and the LEON implementation
- Added Thread Local Storage (TLS) support
- Added support for per thread runtime statistics
- Added support for building with LLVM on X86
- Added new synchronization mechanisms using Condition Variables
- Add support for demand paging, initial support on X86
- Logging subsystem overhauled
- Added support for 64-bit ARCv3
- Split ARM32 and ARM64, ARM64 is now a top-level architecture
- Added initial support for Arm v8.1-m and Cortex-M55
- Removed legacy TCP stack support which was deprecated in 2.4
- Tracing subsystem overhaul / added support for Percepio Tracealyzer
- Device runtime power management (PM) completely overhauled
- Automatic SPDX SBOM generation has been added to West
- Added an example standalone Zephyr application
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
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-3510: Zephyr project bug tracker GHSA-289f-7mw3-2qf4.
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
Deprecated in this release
-
DT_ENUM_TOKEN
andDT_ENUM_UPPER_TOKEN
,
were deprecated in favor of utilizing
DT_STRING_TOKEN
andDT_STRING_UPPER_TOKEN
-
BT_CONN_ROLE_MASTER
andBT_CONN_ROLE_SLAVE
have been deprecated in favor of
BT_CONN_ROLE_CENTRAL
andBT_CONN_ROLE_PERIPHERAL
-
BT_LE_SCAN_OPT_FILTER_WHITELIST
has been deprecated in favor of
BT_LE_SCAN_OPT_FILTER_ACCEPT_LIST
-
The following whitelist functions have been deprecated:
bt_le_whitelist_add
bt_le_whitelist_rem
bt_le_whitelist_clear
in favor of
bt_le_filter_accept_list_add
bt_le_filter_accept_list_remove
bt_le_filter_accept_list_clear
Modified in this release
-
The following Bluetooth macros and structures in :file:
hci.h
have been
modified to align with the inclusive naming in the v5.3 specification:BT_LE_FEAT_BIT_SLAVE_FEAT_REQ
is nowBT_LE_FEAT_BIT_PER_INIT_FEAT_XCHG
BT_LE_FEAT_BIT_CIS_MASTER
is nowBT_LE_FEAT_BIT_CIS_CENTRAL
BT_LE_FEAT_BIT_CIS_SLAVE
is nowBT_LE_FEAT_BIT_CIS_PERIPHERAL
BT_FEAT_LE_SLAVE_FEATURE_XCHG
is nowBT_FEAT_LE_PER_INIT_FEAT_XCHG
BT_FEAT_LE_CIS_MASTER
is nowBT_FEAT_LE_CIS_CENTRAL
BT_FEAT_LE_CIS_SLAVE
is nowBT_FEAT_LE_CIS_PERIPHERAL
BT_LE_STATES_SLAVE_CONN_ADV
is nowBT_LE_STATES_PER_CONN_ADV
BT_HCI_OP_LE_READ_WL_SIZE
is nowBT_HCI_OP_LE_READ_FAL_SIZE
bt_hci_rp_le_read_wl_size
is nowbt_hci_rp_le_read_fal_size
bt_hci_rp_le_read_wl_size::wl_size
is nowbt_hci_rp_le_read_fal_size::fal_size
BT_HCI_OP_LE_CLEAR_WL
is nowBT_HCI_OP_LE_CLEAR_FAL
BT_HCI_OP_LE_ADD_DEV_TO_WL
is nowBT_HCI_OP_LE_REM_DEV_FROM_FAL
bt_hci_cp_le_add_dev_to_wl
is nowbt_hci_cp_le_add_dev_to_fal
BT_HCI_OP_LE_REM_DEV_FROM_WL
is nowBT_HCI_OP_LE_REM_DEV_FROM_FAL
bt_hci_cp_le_rem_dev_from_wl
is nowbt_hci_cp_le_rem_dev_from_fal
BT_HCI_ROLE_MASTER
is nowBT_HCI_ROLE_CENTRAL
BT_HCI_ROLE_SLAVE
is nowBT_HCI_ROLE_PERIPHERAL
BT_EVT_MASK_CL_SLAVE_BC_RX
is nowBT_EVT_MASK_CL_PER_BC_RX
BT_EVT_MASK_CL_SLAVE_BC_TIMEOUT
is nowBT_EVT_MASK_CL_PER_BC_TIMEOUT
BT_EVT_MASK_SLAVE_PAGE_RSP_TIMEOUT
is nowBT_EVT_MASK_PER_PAGE_RSP_TIMEOUT
BT_EVT_MASK_CL_SLAVE_BC_CH_MAP_CHANGE
is nowBT_EVT_MASK_CL_PER_BC_CH_MAP_CHANGE
m_*
structure members are nowc_*
s_*
structure members are nowp_*
-
The
CONFIG_BT_PERIPHERAL_PREF_SLAVE_LATENCY
Kconfig option is now
CONFIG_BT_PERIPHERAL_PREF_LATENCY
-
The
CONFIG_BT_CTLR_SLAVE_FEAT_REQ_SUPPORT
Kconfig option is now
CONFIG_BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT
-
The
CONFIG_BT_CTLR_SLAVE_FEAT_REQ
Kconfig option is now
CONFIG_BT_CTLR_PER_INIT_FEAT_XCHG
Changes in this release
Removed APIs in this release
-
Removed support for the deprecated
DEVICE_INIT
andDEVICE_AND_API_INIT
macros. -
Removed support for the deprecated
BUILD_ASSERT_MSG
macro. -
Removed support for the deprecated
GET_ARG1
,GET_ARG2
andGET_ARGS_LESS_1
macros. -
Removed support for the deprecated Kconfig
PRINTK64
option. -
Removed support for the deprecated
bt_set_id_addr
function. -
Removed support for the Kconfig
USB
option. OptionUSB_DEVICE_STACK
is sufficient to enable USB device support. -
Removed
CONFIG_OPENTHREAD_COPROCESSOR_SPINEL_ON_UART_ACM
and
CONFIG_OPENTHREAD_COPROCESSOR_SPINEL_ON_UART_DEV_NAME
Kconfig options
in favor of chosen nodezephyr,ot-uart
. -
Removed
CONFIG_BT_UART_ON_DEV_NAME
Kconfig option
in favor of direct use of chosen nodezephyr,bt-uart
. -
Removed
CONFIG_BT_MONITOR_ON_DEV_NAME
Kconfig option
in favor of direct use of chosen nodezephyr,bt-mon-uart
. -
Removed
CONFIG_MODEM_GSM_UART_NAME
Kconfig option
in favor of direct use of chosen nodezephyr,gsm-ppp
. -
Removed
CONFIG_UART_MCUMGR_ON_DEV_NAME
Kconfig option
in favor of direct use of chosen nodezephyr,uart-mcumgr
. -
Removed
CONFIG_UART_CONSOLE_ON_DEV_NAME
Kconfig option
in favor of direct use of chosen nodezephyr,console
. -
Removed
CONFIG_UART_SHELL_ON_DEV_NAME
Kconfig option
in favor of direct use of chosen nodezephyr,shell-uart
.
Stable API changes in this release
-
Bluetooth
- Added
multiple
to thebt_gatt_read_params
- this
structure contains two members:handles
, which was moved from
bt_gatt_read_params
, andvariable
.
- Added
Kernel
Architectures
-
ARC
- Add SMP support to ARCv3 HS6x
- Add MWDT C library support
- Add basic C++ support with MWDT toolchain
- Add MPUv3 and MPUv6 support
- Remove dead PM code from ARC core interrupt controller driver
- Add updating arc connect debug mask dynamically
-
ARM
-
AARCH32
- Updated CMSIS version to 5.8.0
- Added support for FPU in QEMU for Cortex-M, allowing to build and execute
tests in CI with FPU and FPU_SHARING options enabled. - Added MPU support for Cortex-R
-
AARCH64
-
-
RISC-V
- Added support to RISC-V CPU devicetree compatible bindings
- Added support to link with ITCM & DTCM sections
-
x86
Bluetooth
-
Updated all APIs and internal implementation to be conformant with the new
inclusive terminology in version 5.3 of the Bluetooth Core Specification -
Audio
- Added the Microphone Input Control Service and client.
- Changed the connected isochronous API to use a group-based opaque struct
- Split the configuration options into connected and broadcast groups
- Added...
Zephyr v2.7.0-rc5
Changes since v2.7.0-rc4:
Anas Nashif (1):
tests: logging: remove definition of SYS_CLOCK_HW_CYCLES_PER_SEC
Andrzej Głąbek (2):
doc: release: Add release notes for ADC, DMIC, I2S, and PWM drivers
drivers: pwm_nrfx: Fix handling of zero length periods
Andy Ross (1):
tests/msgq_usage: Correct memory usage for cache-incoherent platforms
Benedikt Schmidt (1):
docs: Improve documentation of bootloader usage
Bradley Bolen (1):
doc: release: 2.7: Add release note for aarch32
Carles Cufi (1):
doc: release notes: Add Bluetooth relnotes for 2.7.0
Christopher Friedt (2):
net: mdns + dns_sd: fix regression that breaks ptr queries
release: Zephyr 2.7.0-rc5
David Leach (1):
doc: release: 2.7: Add NXP SoC changes
Erwan Gouriou (1):
boards: b_u585i_iot02a: Fix ref man reference
Evgeniy Paltsev (3):
ARC: HS6x: nSIM: drop unsupported dcache_uncached_region from mdb.args
DOC: ARC: update arc status page
doc: release notes: ARC
Flavio Ceolin (8):
doc: security: Update information about CVE-2021-3581
doc: security: Update information about CVE-2021-3319
doc: security: Update information about CVE-2021-3625
doc: security: Update information about CVE-2021-3510
doc: security: Update information about CVE-2021-3436
doc: release: 2.7: add release notes for security
doc: release: 2.7: add release notes for PM
pm: Fix device resume order
Igor Knippenberg (2):
drivers: sensors: fdc2x1x: removed unused fdc2x1x_data
samples: sensors: fdc2x1x: fixed bugs in pm_info()
Johann Fischer (5):
doc: release-notes-2.7: update release notes for disk drivers
doc: release-notes-2.7: add release notes for MODBUS
doc: usb: refactor USB device support documentation structure
doc: usb: add CDC ACM device support documentation
doc: release-notes-2.7: add release notes for USB
Kumar Gala (2):
samples/subsys/mgmt/osdp: Fix build issues
arm: aarch32: mpu: Fix build issue with assert
Lauren Murphy (1):
doc: misc fixes
Martí Bolívar (6):
Revert "tests: devicetree: test supported devices API"
Revert "device: supported devices visitor API"
Revert "device: iterable supported devices"
Revert "device: simplify structure of handles array"
device: add fudge factor for handle padding
doc: devicetree release notes for 2.7
Maureen Helm (1):
doc: release: Add sensor release notes for v2.7.0
Peter Mitsis (1):
tracing: fix k_thread_abort tracing references
Piotr Pryga (10):
Bluetooth: hci: Add helper macros for ver of disallowed CTE types
Bluetooth: hci: Add handling of allowed CTE types for per sync create
Bluetooth: radio: move radio_df_cte_inline_set_enabled to radio.c
Bluetooth: controller: rework per scan lll to allow filt by CTE type
Bluetooth: controller: ULL: add per sync filtering by CTE type
samples: Bluetooth: df: enable filtering of per adv by CTE type
Bluetooth: controller: Add per sync filt by CTE type for SOC w/o DFE
tests: Bluetooth: bsim_test_iso: Change wait time in BIG receiver
Bluetooth: controller: Make per adv filtering by CTE cond compilable
Bluetooth: controller: df: fix handling of max count of IQ reports
Robert Melchers (1):
net: ethernet: ARP addresses being filled with mcast addresses
Szymon Janc (2):
bluetooth: Add support for reconfiguring L2CAP channels
tests: bluetooth: tester: Add support for L2CAP channel reconfiguration
Tim Lin (1):
ITE: drivers/i2c: returning negative values for error
Vinayak Kariappa Chettimada (5):
Bluetooth: Controller: Fix assertion failed [evdone]
Bluetooth: Controller: Fix HCI command parameter check failures
tests: Bluetooth: bsim: Use separate DUT and TST EDTT builds
manifest: EDTT: Update revision
tests: Bluetooth: mesh: Remove explicit disable of CSA#2
Zephyr v2.7.0-rc4
Changes since v2.7.0-rc3:
Agata Ponitka (1):
Bluetooth: Tester: Add the OOB Authentication method
Aleksander Wasaznik (1):
Bluetooth: Host: Fix resource leak in bt_gatt_unsubscribe
Alexandre Bourdiol (1):
tests: kernel: sched: schedule_api: enlarge timeslice criterion
Andrzej Głąbek (3):
soc: nrf53: Add missing HAS_HW_NRF_* entries
drivers: i2s_nrfx: Do not enforce two channels for I2S format
drivers: i2s_nrfx: Fix a few minor fixes
Carlo Caione (1):
reserved-memory: Fix layering violation
Chen Peng1 (1):
timer: mask interrupts in timer's timeout handler.
Christopher Friedt (3):
net: dns_sd, mdns: support service type enumeration
tests: net: dns_sd, mdns: support service type enumeration
release: Zephyr 2.7.0-rc4
Daniel Leung (3):
doc: release: 2.7: add release notes for serial
doc: release: 2.7: add release notes for PCI/PCIe
doc: release: 2.7: add release notes for IPM
Emil Gydesen (1):
Bluetooth: ISO: Remove bt_conn_unref for ISO deferred work
Enjia Mai (1):
docs: acrn: update the documentation of setting the ACRN hypervisor
Erwan Gouriou (6):
drivers/gpio: stm32f1: AFIO init should happen before GPIO inits
tests/drivers: gpio_basic_api: Upudate nucleo_f103rb configuration
boards: nucleo_l073rz: Set LSI as LPTIM clock source
boards: stm32u5: Fix instructions to use openocd
doc: release notes: STM32 updates for v2.7.0
doc: release notes: Shields updates for v2.7.0
Fabio Baltieri (3):
samples: canopennode: fix the sample path
samples: modbus: rtu_server: drop unused variable
samples: modbus: update/fix samples.yaml configs
Francois Ramu (1):
drivers: adc: stm32 adc disable causing endless loop
Gerard Marull-Paretas (2):
pm: stop handling devices on PM_STATE_RUNTIME_IDLE
tests: pm: power_mgmt: use PM_STATE_SUSPEND_TO_IDLE
Henrik Brix Andersen (1):
twister: ignore ROM region overflows
Joakim Andersson (3):
Bluetooth: host: compile out check for multiple identities
Bluetooth: host: Verify valid local identity loaded from settings
Bluetooth: host: Access local IRKs consistently
Krzysztof Chruscinski (1):
lib: os: mpsc_pbuf: Add const qualifier to API calls
Pavel Vasilyev (1):
Bluetooth: Mesh: Return ETIMEDOUT if k_sem_take call times out
Peter Mitsis (2):
kernel: fix deadline typo
doc: Add deadline scheduling information
Piotr Golyzniak (1):
twister: Fix missing testcases with error status
Piotr Pryga (2):
Bluetooth: controller: Fix ASSERT caused by ULL releasing chain PDUs
tests: Bluetooth: df: Add test to verify correctness of relase of PDUs
Ramiro Merello (1):
subsys/fs/nvs: nvs_write return missing documentation
Robert Lubos (4):
net: context: Do not overflow net_pkt when using msghdr
net: mqtt: Handle incomplete zsock_sendmsg write
net: sockets: tls: Ignore empty iovec entries in sendmsg
doc: release: 2.7: Add release notes for networking
Szymon Janc (1):
tests: bluetooth: tester: Add support for L2CAP Credits command
Torsten Rasmussen (9):
scripts: twister: print message from CMake verify toolchain on failures
drivers: create BT_DRIVERS Kconfig entry
drivers: net: adding NET_DRIVERS menuconfig
modules: hal_nxp: removing always empty zephyr_library
drivers: ethernet: remove dedicated drivers__ethernet__native_posix lib
drivers: gpio: remove unused GPIO selection
drivers: console: remove unused CONSOLE selection
Revert "drivers: pinmux: build as static library"
devicetree: remove support for DTC_OVERLAY_FILE in environment
Vinayak Kariappa Chettimada (17):
Bluetooth: Controller: Fix repeated per sync drift compensations
Bluetooth: Controller: Fix imprecise data bus error in periodic sync
Bluetooth: Controller: Update Bluetooth version to 5.3
Bluetooth: Controller: Minor rename of ULL internal function
Bluetooth: Controller: Explicitly typecast void return for memcpy calls
Bluetooth: Controller: Minor indentation fixes
Bluetooth: controller: Fix populate offset in latest advertising PDU
Bluetooth: Controller: Add advertiser clock accuracy value
Bluetooth: Controller: Add FIXME for Per Adv chain channel use
Bluetooth: Controller: Fix Extended Advertising channel use
Bluetooth: Controller: Use defines for aux pointer offset unit value
Bluetooth: Controller: Separate address get and read functions
Bluetooth: Controller: Fix multiple peripheral connection deadlock
Bluetooth: Controller: Allow resolving list update during passive scan
Bluetooth: Controller: Use defines for scanning state types
Bluetooth: Controller: Fix to ignore aux ptr in scannable advertising
Bluetooth: Controller: Fix assert on aux LLL scheduled chain reception
Zephyr v2.7.0-rc3
Changes since v2.7.0-rc2:
Aleksandr Khromykh (1):
bsim: test: fix missing of warnings in bsim tests build system
Alexandre Bourdiol (4):
soc: stm32l0: enable DMA clock to fix Hardfault linked to DBGMCU bits
soc: arm: stm32h7: rework STM32H7 dual core boot
soc: stm32: SEGGER RTT requires some extra configuration
soc: stl32l0: Enable DMA clock instead of DBGMCU clock
Alexandre Mergnat (1):
copyright: add missing license
Anas Nashif (1):
MAINTAINERS: fix github handle for dleach02
Andrzej Głąbek (6):
drivers: i2c_nrfx_twim: Use concatenation buffer by default
drivers: i2c_nrfx_twim: Add handling of buffers located in flash
drivers: spi_nrfx_spim: Fix limiting of SPIM frequency on nRF5340
drivers: spi_nrfx_spim: Change the way the nrfx driver is configured
drivers: spi_nrfx_spi: Change the way the nrfx driver is configured
samples: boards: nrfx: Fix setting up of (D)PPI channel endpoints
Aurelien Jarno (1):
soc: arm: stm32lx: fix using MSI as wake-up clock source
Aymeric Aillet (2):
tests: enable supported tests for h3ulcb
board: doc: Update H3ULCB doc for v2.7
Berend Ozceri (1):
drivers: timer: Fix RISC-V machine timer count drift due integer math
Carles Cufi (12):
Bluetooth: controller: hci: Align to terms in the v5.3 spec
Bluetooth: shell: Avoid reusing the same label
Bluetooth: shell: Align with terms in v5.3 spec
Bluetooth: host: Align with terms in v5.3 spec
Bluetooth: tests: Align with terms in v5.3 spec
Bluetooth: controller: Replace whitelist with FAL
Bluetooth: controller: Fix coding guidelines violation
Bluetooth: controller: Replace master with central
Bluetooth: controller: Replace slave with peripheral
Bluetooth: controller: Replace {m_,s_} with {c_,p_}
cmake: gnu: Fix debugging when GDB fails to load because of Python
doc: relnotes: Add a comment to the Bluetooth 2.6 release notes
Christoffer Zakrisson (1):
drivers: i2c: sam0: Continue write/read if next message allows it
Christopher Friedt (2):
Revert "board: Added board support package for Nucleo_F446ZE"
release: Zephyr 2.7.0-rc3
Daniel DeGrasse (1):
tests: ptp: Fixed PTP clock test failure on frdm_k64f
Daniel Leung (1):
demand_paging: eviction/nru: fix incorrect dirty bit return val
David Leach (1):
display: st77xx: Move initialization to POST_KERNEL
Dominik Ermel (1):
samples/littlefs: Remove FIXME with PRIxPTR usage
Emil Gydesen (2):
Bluetooth: ISO: Add ISO tx callback struct array
Bluetooth: ISO: Remove duplicate struct bt_iso_chan declaration
Eric Johnson (1):
bluetooth: host: conn: Fix conn param during l2cap fallback
Erwan Gouriou (8):
samples/posix: eventfd: Prevent run in twister when SRAM below 32K
drivers/uart: stm32: Fix pm_constraint handling
drivers/uart: stm32: Simplify code around pm_constraints handling
boards: nucleo_wb55rg: Give more flash space to M0 binary
samples/board/stm32: PM blinky: Enable CONFIG_DEBUG in CI
soc: stm32g0: Clock is required to write DBGMCU registers
soc: stm32l0: Disable clock after write to DBGMCU registers
tests/lib/cmsis_dsp: matrix: Limit f16 tc execution on ram => 144
Fabio Baltieri (1):
drivers: sx126x_stm32wl: clear the radio IRQ before reenabling it
Flavio Ceolin (1):
stm32: gpio: Fix device runtime pm
Florian Vaussard (15):
net: icmpv6: fix net_icmpv6_send_error() dropping packets
net: ipv6: rename nexthdr and next_nexthdr for readability
net: ipv6: correctly handle PADN option
net: ipv6: correctly set the offset to the unknown option
net: ipv6: check for NET_IPV6_NEXTHDR_NONE earlier
net: ipv6: reject invalid nexthdr early
net: ipv6: fix the logics of prev_hdr_offset
net: ip: replace hardcoded NET_IPV6_FRAGMENTS_MAX_PKT with a Kconfig
net: ipv6_fragment: fix NULL pointer dereference issues
net: ipv6_fragment: check the length also for the first fragment
net: ipv6_fragment: remove special handling of 1st fragment
net: ipv6_fragment: store M-bit in addition to the offset
net: ipv6_fragment: improve reassembly condition
net: ipv6_fragment: fix shift_packets() algorithm
net: ipv6_fragment: send ICMPv6 Time Exceeded upon reassembly timeout
Francois Ramu (2):
drivers: adc: stm32 disable the ADC before setting the Resolution
drivers: adc: stm32 disable the ADC before setting the Oversampling
Gerard Marull-Paretas (4):
samples: boards: nrf: battery: fix usage without voltage divider
samples: boards: nrf: battery: fix board in sample commands
drivers: display: st7789v: remove incorrect error check
doc: release notes: add details on device PM changes
Gerhard Jörges (1):
drivers: ieee802154: remove ieee802154_radio_handle_ack() stub
Gerson Fernando Budke (6):
samples: net: echo_server: Decrease buffer for atsamr21_xpro
doc: release: 2.7: Add notes about Cypress related changes
doc: release: 2.7: Add notes about Atmel related changes
doc: release: 2.7: Add note about west openocd runner
doc: release: 2.7: Add note about modem
doc: release: 2.7: Add note about risc-v
Henrik Brix Andersen (1):
MAINTAINERS: add myself as riscv collaborator
Jamie McCrae (6):
boards: arm: bl654_usb: Fix offset load
boards: arm: bl654_usb: Fix name and identifier
samples: ipc: ipc_service: Add support for BL5340
samples: ipc: rpmsg_multi_instance: Add support for BL5340
samples: ipc: rpmsg_service: Add support for BL5340
Bluetooth: host: Fix non-extended adverts not being limited to 31 bytes
Joakim Andersson (6):
Bluetooth: host: Ignore return value of change-aware when reading DBhash
Bluetooth: SDP: Check len is not zero before accessing data pointer
Bluetooth: host: Fix unexpected control flow
Bluetooth: host: check return value of bt_rand when creating identities
Bluetooth: shell: Handle return value of GATT service register functions
Bluetooth: shell: Log failure to register authentication handlers
Julien D'ascenzio (1):
drivers: spi: stm32: Fix forever lock when configure failed
Katsuhiro Suzuki (1):
dts: riscv: fix irq number of UART and SPI for SiFive FU740
Keith Short (1):
npcx: Disable I2C controllers by default
Krzysztof Chruscinski (5):
kernel: thread: Fix thread runtime stats
drivers: regulator: Fix k_work_schedule return code handling
drivers: uart: Cleanup not supported API handling
logging: Fixing coverity issue
tests: lib: cbprintf_package: Fix coverity issue
Kumar Gala (2):
ci: Bump to use SDK 0.13.1
docs: Update for SDK 0.13.1
Lauren Murphy (1):
doc: update coding guidelines compliance stages
Maksim Masalski (1):
thread: set mxcsr bit 6 DAZ to zero to disable denormals-are-zeros
Markus Becker (1):
Tracing: Enable tracing of ISR based on CONFIG_TRACING_ISR
Markus Fuchs (1):
net: ethernet: Refactor IPv4 to MAC multicast address conversion
Martí Bolívar (5):
boards: rename circuitdojo_feather_nrf9160ns
boards: rename nrf9160_innblue21ns
boards: rename nrf9160_innblue22ns
boards: rename sparkfun_thing_plus_nrf9160ns
boards: rename thingy53_nrf5340_cpuappns
Meng xianglin (1):
test: logging: improve test coverage for logging subsystem
Michał Barnaś (1):
shell: fix polling TXDONE signal by multiple threads
Morten Priess (1):
Bluetooth: controller: Prevent multiple ticker_stop in cis_disabled_cb
Naiyuan Tian (1):
tests: threads: fix uninitialized scalar variable
Piotr Pryga (1):
Bluetooth: controller: Fix compilation error due to missing includes
Robert Lubos (6):
net: lwm2m: Fix IPSO Push Button counter incrementation
net: lwm2m: Fix Registration failue reporting
doc: net: Remove obsolete note about sockets thread-safety status
samples: net: coap_server: Fix retransmission mechanism
samples: net: coap_server: Remove observer on notification timeout
samples: net: coap_server: Finetune sample parameters
Ron Smith (6):
drivers: dma: dma_sam0: change sam0 DMA to higher priority init.
drivers: serial: uart_sam0: move err_check methodout of if guard
drivers: serial: uart_sam0: Fix async tx done event triggering to early.
dts: atmel: sam0: Add clarification on dma-cells property
tests: uart_async_api: Correct DMA channels on atsamr21_xpro board
drivers: serial: uart_sam0: Fix sercom5 pinctrl pad per datasheet
Ryan Erickson (12):
modem: hl7800: change sleep mode
modem: hl7800: remove DTR control
DTS: modem: HL7800: remove DTR binding
modem: hl7800: fix PSM
MAINTAINERS: Add modem maintainer
modem: hl7800: fix gpio with interrupts init
modem: hl7800: Only reconfig DNS if iface up
modem: hl7800: Fix IPv6 operation
modem: hl7800: Add address family config
modem: hl7800: ensure IP family set correctly
modem: hl7800: sync APN for PDN and GPRS connection
modem: hl7800: separate IO interrupt config
Ryan McClelland (1):
lib: timeutil: fix implicit conversions from float to double
Stephanos Ioannidis (6):
cmake: Do not include `zephyr_stdint.h` for native POSIX archs
cmake: compiler: Add framework for disabling C++ standard includes
cmake: compiler: Add nostdincxx property for gcc
samples: tflite-micro: hello_world: Enable standard C++ library
Revert "lib: newlib: Add workaround for #38258"
c...
Zephyr v2.7.0-rc2
Changes since v2.7.0-rc1:
Aleksander Wasaznik (1):
Bluetooth: Host: Doc fixup for rename of BT_SECURITY_L*
Alexandre Bourdiol (1):
arch: arm: core: aarch32: fix regression introduced with Cortex-R
Anas Nashif (8):
doc: power management: remove mention of tickless-idle
doc: pm: rework main documentation
MAINTAINER: path and glob fixes
MAINTAINERS: update few entries with maintainers/collaborators
actions: run get_maintainer.py to validate paths
twister: fix json reporting of build only tests
samples: i2c: fram: use node label instead of alias
tracing: percepio: update to v4.5.1
Andrzej Kaczmarek (1):
Bluetooth: Controller: Properly terminate per adv HCI on failed rx
Andrzej Puzdrowski (1):
manifest: mcuboot update
Andy Ross (3):
drivers/timer/cavs_timer: Don't suppress smp_timer_init()
soc/intel_adsp: Correct linker syntax for ancient binutils
cmake/compiler/xcc: sched: Support XCC inlining semantics
Armando Visconti (1):
drivers/sensor: lps22hh: Fix int32 overflow in the val2 part
Asbjørn Sæbø (2):
Bluetooth: Object transfer service object ID mask define
Bluetooth: Object Transfer Service: Defines for allowed object ID values
Bartosz Bilas (2):
drivers: sensors: sht3xd: allow multiple instances
logging: log_core: add extra space in missed strdup err msg
Benedikt Schmidt (1):
net: http: switch to zsock_ for http_client
Carles Cufi (5):
samples: bluetooth: hci_uart: Fix command len calculation
Bluetooth: Update terms in public API to spec v5.3
Bluetooth: hci: Remove AMP-related macros
doc: release notes: Fix typo in 2.7 release notes
Bluetooth: hci: Align terms with the Bluetooth v5.3 spec
Chen Peng1 (3):
tests: benchmarks: latency_measure: fix potential div by zero
cmsis_rtos_v1: fix thread instances management.
tests: mem_map: limit memory below 0x10000000 on up_squared.
Christian Taedcke (1):
doc: mcumgr: Mention udp in the transport overview
Christopher Friedt (4):
kernel: init: remove empty lcov exclusion
Revert "linker: xtensa: move IDT_LIST region"
tests: posix: common: clock: remove poorly conditioned tests
release: Zephyr 2.7.0-rc2
Daniel DeGrasse (1):
mxrt685: Disabled support for 1.8V USDHC negotiation on RT685 EVK
Daniel Leung (3):
debug: thread_info: stack pointer is not supported for xtensa
samples: philosophers: fix pointer type mismatch for stack fork
boards: qemu_x86: disable QEMU icount with shell and HPET timer
David Leach (2):
drivers: eth: mcux: Fix PTP clock init priority dependency
MAINTAINERS: Update NXP platforms maintainer
Dawid Niedzwiecki (1):
drivers: serial: ns16550: fix uart initialization
Dhruva Gole (1):
boards: Arduino Nano BLE 33: Update documentation
Dominik Ermel (1):
mgmt/mcumgr: Add Kconfig option for direct image upload
Dylan Hung (1):
libc/minimal: locate the memory pool for malloc() to .bss
Emil Gydesen (3):
Bluetooth: sample: Add ISO support to hci_uart
Bluetooth: Audio: Fix vcs_client_test duplicate conn_callbacks
Bluetooth: ISO: Add missing negation for valid_chan_io_qos
Enjia Mai (1):
tests: common: add test for ffs function
Erwan Gouriou (5):
soc: stm32g0: pm_power_ functions should be __weak
west.yml: hal_stm32: Fix stm32u5 hal license
boards: nucleo_g474re: Set openocd as default flash & debug i/f
boards: nucleo_g071rb: Set openocd as default flash & debug i/f
tests/drivers/uart: async_api: Enable test on nucleo_f103rb
Evgeniy Paltsev (1):
ARC: MWDT: add locking interface implementation
Flavio Ceolin (6):
device: Fix device from handle function
pm: Implement function stubs when PM is not enabled
pm: Fix function prototype visibility
pm: Allow override constraints implementation
pm: cc13x2_cc26x2: Implement their own constraint
cc13x2_cc26x2: pm: Conditionally implement PM functions
Francois Ramu (3):
drivers: clock control stm32wb has MSI clock range to set
tests: kernel: timer api with real time slot in test_sleep_abs
dts: arm: stm32 devices have lptim irq priority set to 1
Gerard Marull-Paretas (7):
drivers: pinmux: stm32: remove unused pinmux struct
drivers: pinmux: stm32: remove declaration of missing function
drivers: pinmux: stm32: remove redundant include
drivers: pinmux: stm32: fix remap equality check
drivers: serial: stm32: use PM constraints to prevent suspension
drivers: serial: stm32: remove unnecessary flag clear
soc: arm: st_stm32: do not enable PM_DEVICE by default
Gerson Fernando Budke (1):
scripts: runners: openocd: Fix empty search path
Glauber Maroto Ferreira (4):
esp32s2: drivers: counter: add support
esp32s2: samples: counter: add alarm sample support
west: update hal revision
dts: esp32s2: fix counter dt information
Henrik Brix Andersen (3):
soc: riscv: priv: call __reset during boot
manifest: update hal_nxp
soc: riscv: ite: it8xxx2: guard SoC Kconfig options
Håkon Øye Amundsen (1):
drivers: clock_control: nrf: fix cpp compatibility
Iuliana Prodan (2):
arch: xtensa: add workaround for small vector table entries
boards: xtensa: adsp: select XTENSA_SMALL_VECTOR_TABLE_ENTRY for imx8 board
Jani Hirsimäki (2):
tests: net: socket: new tests for AF_PACKET&SOCK_RAW&IPPROTO_RAW
net: ip: packet_socket: fixing raw sckt IPPROTO_RAW usage
Jiafei Pan (2):
arm/arm64: add 64bit read/write APIs
drivers: gicv3: set SPI's affinity when it is enabled
Jingru Wang (2):
ARC: add config files for nsim_sem_mpu_stack_guard
twister: when simulatio is mdb-nsim, call make run
Kamil Gawor (4):
logging: Add choice name in template
bluetooth: services: Use log template for BAS
bluetooth: Add missing choice names in Kconfig
bluetooth: Split configuration into separated Kconfigs
Kim Bøndergaard (2):
dts: arm: stm32f410/411: Added missing SPI5 clocks attribute
dts: arm: stm32f411: spi4 node removed
Krzysztof Kopyściński (3):
Tests: bluetooth: tester: find connection for get_attr_val_rp
Tests: bluetooth: tester: accomodate L2CAP connect commant to BTP change
Bluetooth: host: add testing API (disconnect one EATT channel)
Kumar Gala (2):
ci: increase number of builds for daily CI
ci: adjust number of builds for daily CI
Lingao Meng (3):
Bluetooth: Mesh: Fix friend buf send end not called.
Bluetooth: host: Fix host send cmd complete to dis-conn
Bluetooth: host: Fix hci command done
Lixin Guo (1):
tests: subsys: fixed the samples/tracing code can not generate coverage
Ludvig Samuelsen Jordet (1):
Bluetooth: Mesh: Test reprovisioning
Maciej Perkowski (3):
twister: native_posix: Ignor filtering by toolchain for native_posix
bugfix: sample: test: Add pass conditions to audio/dmic sample
bugfix: samples: display: Set ft800 sample to be build only
Magdalena Kasenberg (1):
doc: Bluetooth: Update ICSes to 8.0.3
Mahesh Mahadevan (1):
drivers: disk: Fix USDHC driver to return 0 on success
Martí Bolívar (1):
cmake: allow users to give runner args at cmake time
Maureen Helm (1):
boards: arm: Reset Ethernet PHY after system timer on mimxrt1xxx_evk's
Michał Narajowski (2):
Bluetooth: Mesh: Check if app key is bound in Model Publication Set
Bluetooth: Mesh: Verify if Remote confirmation is not identical
Mikkel Jakobsen (2):
boards: mimxrt1024_evk: enable mcux ethernet driver and pins
boards: mimxrt1024_evk: add missing supported board features
Neil Armstrong (1):
boards: fvp_base_revc_2xaemv8a: permit running Zephyr at EL1NS
Nick Ward (1):
drivers: watchdog: fix missing stm32 LOG_LEVEL macro
Nicolas Marty (1):
net: tcp: accept [FIN, PSH, ACK] in TCP_FIN_WAIT_2 state
NingX Zhao (2):
tests: subsys: Adding testcases to check trace API
tests: thread: Add an initialization
Piotr Pryga (2):
tests: Bluetooth: df: fix compilation error in per adv chain tests
Bluetooth: controller: df: fix error in remove CTE from per adv
Ramiro Merello (1):
MAINTAINERS: Added myself as JSON collaborator
Robert Lubos (12):
net: shell: Fix assertion in net nbr command
net: lwm2m: Fix unsigned integers ecoding in TLV
net: lwm2m: Remove LWM2M_RES_TYPE_U64 type
net: sockets: tls: Fix incorrectly used errno codes
net: sockets: tls: Return ENOTCONN when DTLS client session ends
net: sockets: tls: Fix TLS POLLHUP notification
net: lwm2m: Align float handling with specification
net: lwm2m: Fix plain text floating point handling
net: lwm2m: Fix JSON floating point handling
net: lwm2m: Fix JSON write handling
net: lwm2m: Fix binary to float32_value_t conversion
net: http: Fix HTTP_DATA_FINAL notification
Rubin Gerritsen (1):
Bluetooth: Host: Allow setting more than 251 bytes of adv data
Simon Guinot (1):
samples: led_ws2812: fix dma property in nucleo_f070rb.overlay
Stancu Florin (1):
net: ipv6: fix NBR lock initialization
Stephanos Ioannidis (4):
tests: newlib: thread_safety: Disable minimum newlib heap size check
lib: libc: newlib: Fix userspace write() and read() mishap
lib: libc: arcmwdt: Fix userspace write() and read() mishap
lib: libc: Drop `z_` prefix from stdio syscalls
Szymon Janc (1):
tests: bluetooth: tester: Fix build with EATT disabled
Tom Owen (1...
Zephyr v2.7.0-rc1
Please find the complete change log since v2.6.0 available for download here.
Zephyr v2.6.1-rc1
Changes since zephyr-v2.6.0:
Anas Nashif (3):
version: add EXTRAVERSION to VERSION file
release: Bump release to 2.6.1-rc1
doc: 2.6.1 release notes
Andy Ross (1):
arch/x86/zefi: Fix entry-nop hack for EFI entry
Bhavesh Bhojwani (1):
dts/arm: st: g0: closes parenthesis for soc
Chen Peng1 (1):
tests/benchmarks: add dynamic memory allocation measurement
Daniel Leung (5):
x86: acpi: limit search on where EBDA can be
timer: hpet: extract Counter Clock Period into a macro
timer: hpet: allow overriding MIN_DELAY
timer: hpet: don't force TIMER_READS_ITS_FREQUENCY_AT_RUNTIME
timer: hpet: convert register access to functions
Erwan Gouriou (2):
doc/guides/dts: bindings: Fix code snippet for 'signal-gpios'
drivers/clock_control: stm32: Fix macro to get HCLK freq
Evgeniy Paltsev (1):
ARC: save/restore accumulator registers on all ARCv2 HS CPUs by default
Fabio Baltieri (1):
drivers: flash_stm32_v1: fix a potential unaligned access
Francois Ramu (1):
drivers: bluetooth: hci driver for stm32wb includes clock control
Kumar Gala (1):
riscv: openisa_rv32m1: Fix booting of rv32m1_vega
Marcin Niestroj (1):
logging: fs: fix leak of opened directories in check_log_file_exist()
Martí Bolívar (2):
python-devicetree: tox: fix mypy
doc: api: fix devicetree modification version
Patrick Rathje (1):
Bluetooth: L2CAP: Fix missing net_buf_unref()
Stephanos Ioannidis (8):
linker: cpp: Fix C++ exception handling info section linking
cpp: Fix C++ exception handling newlib dependency
tests: cpp: libcxx: Use full version of newlib for testing
tests: cpp: libcxx: Test with full and nano variants of newlib
cmake: gcc: Remove no_libgcc exclusion for libgcc detection
cmake: host-gcc: Detect libgcc for all archs
cmake: host-gcc: Remove libgcc library path resolution
cmake: ld: Disable manual linking of libgcc components for host
Torbjörn Leksell (1):
Tracing: TraceRecorder CMake update
Vinayak Kariappa Chettimada (3):
Bluetooth: Controller: Minor change to use IS_ENABLED
Bluetooth: Controller: Fix free rx buffer MFIFO enqueue
Bluetooth: Controller: Fix Data Length Update node Rx reservations
Zephyr v2.5.1-rc1
Changes since zephyr-v2.5.0:
Alexander Wachter (1):
ztest: fix z_assert_within() bounds
Alexandre Bourdiol (1):
test: arch: arm: arm_interrupt: clear FPSCR register in ISR
Anas Nashif (2):
release: Bump release to 2.5.1-rc1
doc: 2.5.1 release notes
Andriy Gelman (1):
drivers: can: Fix sample point calculation
Andrzej Puzdrowski (2):
drivers/flash/soc_flash_nrf: support in-progress abort
drivers/flash/soc_flash_nrf: suspend POFWARN before engage
Andy Ross (2):
lib/p4wq: Fix race with completed work items
tests/timer_api: Correct precision and fix correctness mistakes
Antonis Sioutas (1):
drivers: counter: stm32: Fix alarm time calculation
Daniel Leung (1):
tests: schedule_api: lengthen interval for slicing reset test
Dong Wang (1):
interrupt_controller: ioapic: support more device power states
Erwan Gouriou (6):
drivers/uart: stm32: Report 9bits transactions as not supported
drivers/uart: stm32: Fix comparisons to have constants on right side
drivers/i2c: stm32_v1: TX IRQ enable called twice in a row
drivers/clock_control: stm32f1: Reinstanciate CLOCK_STM32_PLL_XTPRE
boards: stm32f1: Remove useless CONFIG_CLOCK_STM32_PLL_XTPRE=n
samples/driver: watchdog: wwdg sample should run with west
Eugeniy Paltsev (1):
linker-defs: Fix sorting order of objects by priority
Gustavo Romero (3):
boards: arm: mps2-an521: Fix DT memory regions
drivers: uart: uart_cmsdk_apb: Fix uart_irq_is_pending
tests: Add test to check uart_irq_is_pending
Joakim Andersson (4):
Bluetooth: host: Refactor update_keys_check to operate on keys as input
Bluetooth: host: Overwrite existing bond when IRK has been updated
Bluetooth: controller: Check length field of scan response data
Bluetooth: host: Fix L2CAP sent callback on disconnected channel
Johan Hedberg (1):
Bluetooth: L2CAP: Fix missing buffer length check for sdu_len
Johann Fischer (1):
usb: bluetooth: fix OUT buffer handling
Jose Alberto Meza (4):
drivers: espi: config: Support for host-initiated eSPI traffic
drivers: espi: xec: Add support for host-initiated traffic
samples: drivers: espi: Remove magic number
samples: drivers: espi: Showcase OOB Rx asynchronous handling
Jukka Rissanen (2):
net: tls: Allow access to TLS socket in userspace
net: mgmt: Use proper coop thread priority value
Kumar Gala (1):
drivers: uart: uart_cmsdk_apb: fix interrupt handling
Luiz Augusto von Dentz (5):
Bluetooth: L2CAP: Fix not checking for L2CAP_ECRED_CHAN_MAX
Bluetooth: L2CAP: Fix invalid BT_L2CAP_ECRED_CONN_RSP
Bluetooth: L2CAP: Fix not including all DCIDs
Bluetooth: ATT: Fix crash if bt_l2cap_send_cb fails
Bluetooth: ATT: Add documentation for chan_send
Marcin Niestroj (2):
drivers: wifi: esp: fix hostname configuration
net: offload: fix device and driver names generated by DT device macros
Martí Bolívar (1):
soc: nrf: fix NRF_DT_CHECK_GPIO_CTLR_IS_SOC
Matias Karhumaa (1):
Bluetooth: hci_raw: Fix switch fallthrough
Peter Bigot (1):
drivers/i2c: stm32_v1: remove unused variable
Torsten Rasmussen (1):
cmake: improved handling of output and byproducts in CMake
Vinayak Kariappa Chettimada (22):
Bluetooth: controller: Fix network privacy with resolution disabled
tests: Bluetooth: bsim: Enable LL/CON/INI/BV-24-C EDTT test
Bluetooth: controller: Fix regression in ctrl tx queue handling
Bluetooth: controller: Remove redundant connection initiated check
Bluetooth: controller: Fix dev assert in CPR implementation
Bluetooth: controller: Fix channel map check in CONNECT_IND PDU
Bluetooth: controller: Fix interval check in CONNECT_IND PDU
Bluetooth: controller: Add control procedure lock
Bluetooth: controller: Fix Feature Exchange checks
Bluetooth: controller: Fix unknown control PDU checks
Bluetooth: controller: Fix reject extended indication checks
Bluetooth: controller: Fix data length update procedure checks
Bluetooth: controller: Fix ping procedure checks
Bluetooth: controller: Fix PHY Update procedure checks
Bluetooth: controller: Move initiated flag into role specific union
Bluetooth: controller: Conditional compile adv addr used by initiator
Bluetooth: controller: Fix race in create connection cancel
Bluetooth: controller: Consistent use of internal BT_CTLR_ADV_SET
Bluetooth: controller: Facilitate reuse of BT_CTLR_MAX_CONNECTABLE
Bluetooth: controller: Increased thread context operation queue count
Bluetooth: controller: Fix flash driver sync regression
Bluetooth: controller: Fix missing encryption procedure state check
Wolfgang Puffitsch (2):
Bluetooth: controller: Avoid race between ULL and LLL when initiating conn
Bluetooth: controller: Remove use of lll_stop
Zephyr v1.14.3-rc1
Changes since Zephyr 1.14.2:
Vinayak Kariappa Chettimada (38):
Bluetooth: controller: split: Fix NRF_CCM overrun
Bluetooth: controller: legacy: Fix slave latency cancel race
Bluetooth: controller: legacy: Fix conn RSSI initial value
Bluetooth: controller: Fix mayfly optimization
Bluetooth: controller: legacy: Fix the slow Enc Setup alternative
Bluetooth: controller: legacy: Add missing BT_DEBUG_ENABLED define
Bluetooth: controller: legacy: Fix Tx Ctrl PDU leak
Bluetooth: controller: legacy: Fix length and ping rsp
Bluetooth: controller: legacy: Fix compiler warnings
Bluetooth: controller: legacy: Fix tx_time calculation for length update
Bluetooth: controller: legacy: Ensure that a `case` statement is present
Bluetooth: controller: Move ticker_id_prepare reset to early return
Bluetooth: controller: Fix missing BT_CTLR_FILTER conditional
Bluetooth: controller: Fix ticker_job enable/disable
Bluetooth: controller: legacy: Fix controller address check
Bluetooth: controller: legacy: Fix redundant priv variable check
Bluetooth: controller: legacy: Fix HCI LE Add Device to Whitelist
Bluetooth: controller: legacy: Fix Tx pool corruption
Bluetooth: controller: legacy: Fix Data Length Tx Rx time
Bluetooth: controller: legacy: Fix assert on DLE procedure stall
Bluetooth: controller: legacy: Fix cond. compile error
Bluetooth: controller: legacy: Fix DLE tx rx time on PHY update
Bluetooth: controller: legacy: Fix mandatory min PDU len Code PHY
Bluetooth: controller: Add Kconfig for Optimize for Speed
Bluetooth: controller: legacy: Use slot margins only around slave
Bluetooth: controller: Add ticker_stop_abs interface
Bluetooth: controller: legacy: Fix missing first conn event
Bluetooth: controller: legacy: Fix regression tx pool corruption
Bluetooth: controller: Fix ticker ticks_current value
Bluetooth: controller: legacy: Validate chan map and hop value
Bluetooth: controller: legacy: Simplify DLE state checks
Bluetooth: controller: legacy: Fix DLE duplicate requests
Bluetooth: controller: legacy: Fix slave latency during conn update
Bluetooth: controller: Increased thread context operation queue count
Bluetooth: controller: Fix regression in ctrl tx queue handling
Bluetooth: controller: legacy: Fix channel map check regression
Bluetooth: controller: legacy: Fix interval check in CONNECT_IND PDU
Bluetooth: controller: legacy: Fix dev assert in CPR implementation
Jukka Rissanen (11):
net: gptp: Return proper port number for given interface
net: gptp: The sync receive timer had wrong timeout
net: gptp: Fix field ordering in gptp_priority_vector struct
net: gptp: Allow user to tweak priority1 and priority2 values
net: gptp: Print priority1 and priority2 vars in net-shell
eth: mcux: Do not set carrier ON if interface is not known
net: dns: Check that we do not access data past msg size
net: dns: Verify that response is not too short
net: dns: Fix next answer position when parsing packet
net: dns: Parse individual labels in CNAME properly
net: dns: Verify that DNS id and flags can be read
Mieszko Mierunski (7):
drivers: nrf: Fix long receptions in UARTE async API.
drivers: uart: Fix incorrect len and offset in nrf UARTE async API.
drivers: nrf: Fix RX timeout and ENDRX ISR handling.
drivers: nrf: Add 2 stop bits option to nrf UARTE and UART driver
drivers: nrf: Fix values in UARTE async API callback.
drivers: nrf: Fix UART and UARTE hanging on RX errors
drivers: nrf: Add CTS and RTS pins to UART and UARTE PM
Anas Nashif (7):
ci: add compliance checking via GH actions
codeowner: add scripts/ci
ci: copy correct junit output
ci: run sanitycheck in verbose mode
test: object_tracing: account for pre-existing threads
docs: remove deprecated doxygen options
release: Bump release to 1.14.3-rc1
Kumar Gala (6):
ci: Update for buildkite environment
ci: Add initial buildkite ci setup
ci: tweak default docker image
ci: github: Update for deprecation of add-path
doc: Fix warnings associated with 'unbalanced grouping commands'
doc: Drop tests/kernel from doxygen input path
Flavio Ceolin (5):
net: coap: Fix possible overflow
random: Add syscalls for random subsystem
random: Include header where it is used
release: v1.14.3 release notes
mgmt: fs: Add security warning
Watson Zeng (5):
tracing: swap: bug fix and enhancement for ARC
arc: Preserve STATUS32 flags while setting AE flag
arc: add handling for r25, r30
arc: fix the bug where buffer validate should be atomic
arc: fix the bug where regular irq comes out in user mode
Joakim Andersson (4):
Bluetooth: controller: Fix scan request when advertising directed
Bluetooth: controller: Fix rejected enc procedure not terminated
Bluetooth: controller: Check if enc procedure is in progress
Bluetooth: controller: Remove incorrect comment
Robert Lubos (4):
net: lwm2m: Prevent infinite loop in do_write_op_tlv function
net: mqtt: Fix packet length decryption
net: mqtt: Improve buffer bounds validation in mqtt_read_message_chunk
net: mqtt: Improve PUBLISH message length validation
Wentong Wu (3):
scripts: use debug function instead of debug_die to dump objs
arch: arm: push ssf to thread privileged stack to complete stack frame
tests: kernel: syscalls: add more than 6 arguments syscall test case
Trond Einar Snekvik (2):
Bluetooth: Mesh: net_key_status only pull one key idx
[backport v1.14] Bluetooth: Mesh: Move RPL clear to bt_mesh_reset
Paul Sokolovsky (2):
net: dns: dns_pack: Properly access type and class fields of an answer
net: dns: dns_pack: Revamp FQDN parsing in answers
Nick Ward (1):
ext: lib: mcumgr: Fix slot-1 image upload deadlock condition
Peter A. Bigot (1):
Bluetooth: controller: remove duplicated code
peng1 chen (1):
arc/swap: add operation to save register r0 value.
Andrew Boie (1):
tests: userspace: check TLS location
Andrzej Puzdrowski (1):
settings_fcb: Fix storing the data
Audun Korneliussen (1):
drivers: uart: Enable rx byte counting timer only in active power state
Dennis Wildmark (1):
drivers: serial: Configurable GPIO management in NRFX UARTE
Faisal Saleem (1):
Bluetooth: SMP: fix for bt fixed passkey BT_PASSKEY_INVALID
Ioannis Glaropoulos (1):
arch: arm: cortex-m: fix MPU workaround
Ismael Fillonneau (1):
drivers: nrf: avoid UARTE pm infinite loop
Johan Hedberg (1):
Bluetooth: Fix NULL pointer dereference when bt_send() fails
Loic Poulain (1):
drivers: wifi: eswifi: Fix parsing buffer-overflows
Marc Reilly (1):
drivers: serial: nrf uarte: avoid dropping RX chars/overruns
Martí Bolívar (1):
doc: fix some errors
Zephyr v2.6.0
We are pleased to announce the release of Zephyr RTOS version 2.6.0.
Major enhancements with this release include:
- Logging subsystem overhauled
- Added support for 64-bit ARCv3
- Split ARM32 and ARM64, ARM64 is now a top-level architecture
- Added initial support for Arm v8.1-m and Cortex-M55
- Removed legacy TCP stack support which was deprecated in 2.4
- Tracing subsystem overhaul including expansion for tracing points and added support for Percepio Tracealyzer
- Device runtime power management (PM), former IDLE runtime, was completely overhauled.
- Added an example standalone Zephyr application in its own Git repository:
https://github.com/zephyrproject-rtos/example-application
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
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-3581: Under embargo until 2021-09-04
Known issues
You can check all currently known issues by listing them using the GitHub
interface and listing all issues with the bug label <https://github.com/zephyrproject-rtos/zephyr/issues?q=is%3Aissue+is%3Aopen+label%3Abug>
_.
API Changes
-
Driver APIs now return
-ENOSYS
if optional functions are not implemented. If the feature is not supported by the hardware-ENOTSUP
will be returned. Formerly-ENOTSUP
was returned for both failure modes, meaning this change may require existing code that tests only for that value to be changed. -
The
wait_for_usb_dfu
function now accepts ak_timeout_t
argument instead of using theCONFIG_USB_DFU_WAIT_DELAY_MS
macro. -
Added disconnect reason to the
disconnected
callback of :c:struct:bt_iso_chan_ops
. -
Align error handling of bt_l2cap_chan_send and
bt_iso_chan_send
so when an error occur the buffer is not unref. -
Added
lwm2m_engine_delete_obj_inst
function to the LwM2M library API.
Deprecated in this release
-
DT_CLOCKS_LABEL_BY_IDX
,DT_CLOCKS_LABEL_BY_NAME
,DT_CLOCKS_LABEL
,DT_INST_CLOCKS_LABEL_BY_IDX
,DT_INST_CLOCKS_LABEL_BY_NAME
, andDT_INST_CLOCKS_LABEL
was deprecated in favor of utilizingDT_CLOCKS_CTLR
and variants. -
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
, andDT_INST_PWMS_LABEL
was deprecated in favor of utilizingDT_PWMS_CTLR
and variants. -
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
, andDT_INST_IO_CHANNELS_LABEL
were deprecated in favor of utilizingDT_IO_CHANNELS_CTLR
and variants. -
DT_DMAS_LABEL_BY_IDX
,DT_DMAS_LABEL_BY_NAME
,DT_INST_DMAS_LABEL_BY_IDX
, andDT_INST_DMAS_LABEL_BY_NAME
were deprecated in favor of utilizingDT_DMAS_CTLR
and variants. -
USB HID specific macros in
<include/usb/class/usb_hid.h>
are deprecated in favor of new common HID macros defined in<include/usb/class/hid.h>
. -
USB HID Kconfig option USB_HID_PROTOCOL_CODE is deprecated. USB_HID_PROTOCOL_CODE does not allow to set boot protocol code for specific HID device. USB HID API function usb_hid_set_proto_code() can be used instead.
-
USB HID class API is changed by removing get_protocol/set_protocol and get_idle/set_idle callbacks. These callbacks are redundant or do not provide any additional value and have led to incorrect usage of HID class API.
-
The
CONFIG_OPENOCD_SUPPORT
Kconfig option has been deprecated in favor ofCONFIG_DEBUG_THREAD_INFO
. -
Disk API header
<include/disk/disk_access.h>
is deprecated in favor of<include/storage/disk_access.h>
. -
flash_write_protection_set()
. -
The
CONFIG_NET_CONTEXT_TIMESTAMP
is removed as it was only able to work with transmitted data. The same functionality can be achieved by settingCONFIG_NET_PKT_RXTIME_STATS
andCONFIG_NET_PKT_TXTIME_STATS
options. These options are also able to calculate the RX & TX times more accurately. This means that support for the SO_TIMESTAMPING socket option is also removed as it was used by the removed config option. -
The device power management (PM) APIs and data structures have been renamed from
device_pm_*
topm_device_*
since they are not device APIs but PM subsystem APIs. The same applies to enumerations and definitions, they now follow thePM_DEVICE_*
convention. Some other API calls such asdevice_set_power_state
anddevice_get_power_state
have been renamed topm_device_state_set
andpm_device_state_get
in order to align with the naming of other device PM APIs. -
The runtime device power management (PM) APIs is now synchronous by default and the asynchronous API has the _async sufix. This change aligns the API with the convention used in Zephyr. The affected APIs are
pm_device_put
andpm_device_get
. -
The following functions, macros, and structures related to the kernel work queue API:
k_work_pending()
replace withk_work_is_pending()
k_work_q_start()
replace withk_work_queue_start()
- :c:struct:
k_delayed_work
replace with :c:struct:k_work_delayable
k_delayed_work_init()
replace withk_work_init_delayable
k_delayed_work_submit_to_queue()
replace withk_work_schedule_for_queue()
ork_work_reschedule_for_queue()
k_delayed_work_submit()
replace withk_work_schedule()
ork_work_reschedule()
k_delayed_work_pending()
replace withk_work_delayable_is_pending()
k_delayed_work_cancel()
replace withk_work_cancel_delayable()
k_delayed_work_remaining_get()
replace withk_work_delayable_remaining_get()
k_delayed_work_expires_ticks()
replace withk_work_delayable_expires_get()
k_delayed_work_remaining_ticks()
replace withk_work_delayable_remaining_get()
K_DELAYED_WORK_DEFINE
replace withK_WORK_DELAYABLE_DEFINE
Removed APIs in this release
-
Removed support for the old zephyr integer typedefs (u8_t, u16_t, etc...).
-
Removed support for k_mem_domain_destroy and k_mem_domain_remove_thread
-
Removed support for counter_read and counter_get_max_relative_alarm
-
Removed support for device_list_get
Stable API changes in this release
-
Kernel
-
Added
k_mem_unmap()
so anonymous memory mapped viak_mem_map()
can be unmapped and virtual address reclaimed. -
Added the ability to gather more statistics for demand paging, including execution time histograms for eviction algorithms and backing stores.
-
Architectures
-
ARC
- Added new ARCv3 64bit ISA support and corresponding HS6x processor support
- Hardened SMP support
- Various minor fixes/improvements for ARC MWDT toolchain infrastructure
- Refactor of ARC Kconfig
-
ARM
-
AARCH32
- Added support for null pointer dereferencing detection in Cortex-M.
- Added initial support for Arm v8.1-m and Cortex-M55.
- Added support for preempting threads while they are performing secure calls in Cortex-M.
- Added support for memory region generation by the linker based on device tree node information in Cortex-M.
- Cleaned up definitions of SoC-specific memory regions in the common Cortex-M linker script.
- Added support for clearing NXP MPU region configuration during Zephyr early boot stage.
- Disallowed fpu hard ABI when building Non-Secure applications with TF-M on Cortex-M33.
- Enhanced register information dump in fault exceptions in Cortex-R.
- Fixed spurious interrupt handling in Cortex-R.
-
AARCH64
- SMP support
- MMU dynamic mappings with page table sharing.
- Userspace (unprivileged) thread support.
- Standalone SMCCC support.
- XIP support.
- ARM64 is now a top-level standalone architecture.
- Support for Cortex-R82 and Armv8-R AArch64 MPU.
- Cache management support.
- Revamped boot code.
- Full FPU context switching.
-
-
x86
-
Added SoC configuration for Lakemont SoC.
-
Removed kconfig
CONFIG_CPU_MINUTEIA
as there is no user of this option. -
Renamed kconfig
CONFIG_SSE*
toCONFIG_X86_SSE*
. -
Extended the pagetable generation script to allow specifying additional memory mapping during build.
-
x86-32
- Added support for kernel image to reside in virtual address space, allowing code execution and data manipulation via virtual addresses.
-
Bluetooth
-
Audio
- Split up ISO handling from audio handling, and moved the latter to its own directory.
- Added the Volume Offset Control Service and client.
- Added the Audio Input Control Service and client.
- Added the Volume Control Service and client.
-
Host
- Added basic support for Direction Finding.
- Added support for CTE connectionless transimission and reception over periodic advertising.
- Refactored the HCI and ECC handling implementations.
- Stopped auto updating the device name in the adv data.
- Added support for logging security keys to be used by an air sniffer.
- Fixed a bonding issue where the local bond data was not being updated after the remote device had removed it when the peer was not using the IRK stored in the bonding information.
- Implemented the directory listing object to OTS.
- Added a function to access the
bt_conn_iso
object. - Added a new configuration option for writeable device name.
- Added a new configuration option for minimum encryption key size.
- Added support for keypress notifications as an SMP responder.
- Added a new option,
BT_LE_ADV_OPT_FORCE_NAME_IN_AD
, which forces the device name to appear in the adv packet instead of the scan response. - Added a security level check when sending a notification or indication.
- Added the ability to send HCI monitor traces over RTT.
...