Releases: zephyrproject-rtos/zephyr
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.
...
Zephyr v2.6.0-rc3
Changes since v2.6.0-rc2:
Affrin Pinhero (1):
drivers/ADC: STM32: This solves coverity reported in ADC driver.
Alexander Wachter (1):
drivers: can: sjw == 0 in can_set_timing should not change sjw
Alexey Brodkin (1):
samples: tensorflow: Fix sample path
Anas Nashif (8):
doc: release notes: update tracing section
sensor: use function properties to document the context
thread analyzer: fix formatting for unsigned int
boards: up_squared: remove 32bit variant
boards: qemu_x86_coverage: remove board testing coverage
boards: minnowboard: remove untested and old board
release notes: document removed x86 boards
boards: acrn: do not run net/bt tests
Andrzej Głąbek (1):
doc: release-notes-2.6: Add entries for ADC and PWM drivers
Arvin Farahmand (1):
Kconfig: `ROM_START_OFFSET` fix for samd5x
Aurelien Jarno (1):
lib: newlib: fix _gettimeofday hook
Carles Cufi (2):
doc: release: Add Bluetooth release notes for 2.6
workflows: backport: Switch to using main
Casper Bonde (3):
Bluetooth: ISO: Speed up BT ISO data processing
Bluetooth: ISO: Add sequence number to ISO data packets
Bluetooth: ISO: Make it possible to setup unidirectional CIS
Daniel Leung (11):
scripts: size_report: fix pylint docstrings and import issues
scripts: size_report: recognize C++ file extensions
scripts: size_report: keep full path until inserting into tree
scripts: size_report: alter how nodes are grouped together
scripts: size_report: add tree node for hidden symbols
scripts: size_report: add tree node for WORKSPACE
scripts: gen_syscall: ignore Coverity overrun check
kernel: mmu: add doxygen group for demand paging APIs
kernel: mmu: rename z_eviction* to k_mem_paging_eviction*
kernel: mmu: z_backing_store* to k_mem_paging_backing_store*
doc: add some bits about demand paging
David Brown (1):
doc: security: Change 'master' to 'main'
Eduardo Montoya (1):
drivers: ieee802154: fix ACK length handling
Emil Gydesen (2):
Bluetooth: ISO: Fix BIG cleanup
Bluetooth: Host: Add status check BIG sync/create events
Emil Lindqvist (2):
net: sockets: tls: check return code from fcntl
drivers: modem: ublox-sara-r4: implement F_GETFL in ioctl
Enjia Mai (1):
doc: release-notes-2.6: Added and refined some testcases of kernel
Erwan Gouriou (1):
scripts: series-push-hook: Use main as base comparison branch
Flavio Ceolin (7):
drivers: can: can_set_bitrate is not a syscall
drivers: can: Fix compilation issue
pm: device: Get rid of z_pm_core_devices
pm: device: Get rid of device_idx_t
docs: release notes: PM API changes
docs: release notes: PM release notes
docs: release notes: Simple tags fixes
Francois Ramu (1):
tests: error_hook skipping div-by-0 test on cortex M0 M0+
Gerard Marull-Paretas (3):
ci: labeler: add Power Management
doc: release: add documentation changes
pm: device: remove CONFIG_PM_MAX_DEVICES
Henrik Brix Andersen (2):
drivers: i2c: gpio: fix compilation
boards: arm: arty: fix compilation with v2c_daplink shield enabled
Ioannis Glaropoulos (5):
kernel: stack_sentinel: disable in single-threaded builds
tests: arm: fix name for arm_irq_vector_table test suite
doc: release: final release notes for cortex-m
doc: release: release notes for Cortex-R
doc: release notes: remove blank lines
Jennifer Williams (1):
tests: posix: common: clock.c: rephrase comment on tick alignment
Joakim Andersson (5):
net: l2: bluetooth: Handle error if failed to register server
Bluetooth: host: Notify application about prepare write error
Bluetooth: host: Reject remote public key on same X coordinate.
Bluetooth: host: Log failure to initiatie security for bonded peer
Bluetooth: samples: Fix peripheral sample handling of string values
Jukka Rissanen (2):
net: capture: Fix the function documentation
net: capture: Fix the return value of net_capture_is_enabled()
Krzysztof Chruscinski (6):
drivers: console: rtt: Add no multithreading support
manifest: update segger
logging: backend_rtt: Align to changes in RTT_LOCK/UNLOCK
drivers: flash: nrf_qspi_nor: Fix no multithreading compilation
drivers: serial: nrf_uarte: Fix async/int TX api in inactive state
doc/releases: v2.6.0: Update for logging subsystem
Krzysztof Kopyściński (4):
Bluetooth: host:l2cap: fix sending error in le_ecred_reconf_req
Bluetooth: Host: add missing zero CIDs in ecred_conn_req
Bluetooth: Host: do not overwrite result in le_ecred_conn_req
Bluetooth: Host: change error returned when ecred_conn_req
Kumar Gala (8):
doc/releases: v2.6.0: Update drivers section
doc/releases: v2.6.0: Updated Major enhancements section
soc: xtensa: linker: Update linker scripts for C++ build
docs: Change a number of 'master' branch refers to 'main'
docs: Fix doxygen errors in include/sys/mem_manage.h
dts: arm: nxp: Add port property to nxp,lpc-gpio nodes
drivers: gpio: mcux_lpc: Convert driver to use devicetree port prop
release: Zephyr 2.6.0-rc3
Luiz Augusto von Dentz (6):
Bluetooth: ISO: Simplify reference handling
Bluetooth: ISO: Fix not assigning CIG and CIS IDs
Bluetooth: ISO: Fix call order of connected callback
Bluetooth: conn: Add support for ISO connections to bt_conn_get_info
Bluetooth: shell: Add connection type information to connections command
Bluetooth: conn: Align cleanup for ISO connections
Maksim Masalski (1):
posix: pthread_exit: check for null before dereferencing
Martin Åberg (4):
board: set chosen zephyr,shell-uart in LEON boards DTS
SPARC: add the Flush windows software trap
tests: libcxx: added qemu_leon3 to C++ exception test
cpp: Update list of archs supporting C++ exceptions
Martí Bolívar (5):
doc: zephyr.doxyfile.in: remove obsolete variable
doc: mainpage.md: fix for new doxygen
doc: external_content: fix for Unix
doc: add docs for west spdx
doc: release-notes-2.6: west extensions
Maureen Helm (1):
soc: arm: Fix condition to set lpc55xxx flash wait states
Mulin Chao (1):
doc: release: v2.6: add note for UART console input expired options
Pieter De Gendt (1):
net: mgmt: Initialize the event callbacks statically
Piotr Pryga (3):
Bluetooth: hci: Add response structure for HCI CTE sampling enable cmd
Bluetooth: controller: hci: Set correct return params for CTE sampl enable
Bluetooth: host: Check sync_handle return value when CTE sampl enable
Robert Lubos (1):
modules: mbedTLS: Add separate Kconfig entry for MBEDTLS_HAVE_TIME_DATE
Ruth Fuchss (2):
doc: improve installing dependencies
doc: improve doc processor installation
Scott Worley (1):
soc: mchp: Deep sleep exit sequence update
Stephanos Ioannidis (6):
linker: cpp: Disable sorting of C++ exception handling info sections
tests: cpp: libcxx: Update C++ exceptions testing filter
cpp: Restrict C++ exceptions usage to supported archs
nios2: Fix C++ exception handling info linking
cpp: Remove C++ exception handling arch restriction
tests: cpp: libcxx: Test C++ exception handling on all archs
Sylvio Alves (1):
drivers: wifi: esp32: fix reconnect issue
Thomas Stranger (1):
drivers: can: init timing.sjw also in canfd mode
Torbjörn Leksell (1):
Tracing: TRACING_NONE Compilation Fix
Torsten Rasmussen (4):
cmake: c++ exceptions linking support
tests: libcxx: increase ZTEST_STACKSIZE and added platforms for testing
doc: toolchains: move description of alternative install method on mac
doc: release notes: added oneApi toolchain to release notes
Vinayak Kariappa Chettimada (6):
tests: bluetooth: bsim: Updated advx test to verify sync data
Bluetooth: controller: Fix incorrect ext header flag access
tests: bluetooth: bsim: Updated advx test to verify previous sync data
Bluetooth: controller: Fix incorrect prev periodic header flag access
Bluetooth: controller: Fix incorrect prev aux header flag access
Bluetooth: controller: Minor improvements to ext header population
Zephyr v2.6.0-rc2
Changes since v2.6.0-rc1:
Affrin Pinhero (2):
drivers/spi: STM32: This solves SPI infinite loop on Tranceive
driver/spi: STM32 Revert while loop on tx only
Alexander Wachter (1):
drivers: sensors: sbs-gauge: add CHAN_ALL to fetch
Alexandre Bourdiol (2):
drivers: bluetooth: hci: increase spi_rx_stack
drivers: ethernet: stm32: enable IRQ at the end of iface init
Anas Nashif (30):
tracing: move test format into its own directory
tracing: test format: print more details
tracing: systemview: rework IDs and make them match APIs
doc: clock: link macros and struct to doxygen
twister: fix hardware map generation
actions: publish docs twice daily
doc: fix doxygen grouping
doc: remove tickless idle
doc: kernel: thread stack is not the same as stack object
kernel: move thread_stack.h to include/kernel
tracing: fix test format
ztest: set thread name to test name
power: trace power events
pm: remove mention of FSM
pm: trace pm_device_enable/disable
tracing: systemview: display return value of APIs
samples: lsm6dso: enable float printing
kernel: remove dead workq code
actions: fix path of API doc publishing
actions: publish docs every 3 hours
sof: do not get mainmenu from SOF project
doc: kernel: add documentation for queues
tracing: fix indentation of config entries
tracing: fix conflict with RTT locking
tracing: rearrange tool header inclusion
doc: tracing: document how to use systemview description file
doc: tracing: add missing doxygen references
nios2: max10: fix uart0 base register
boards: max10: fix function name in debug section
nios2: revert back to builtin sys_io functions
Andrzej Głąbek (4):
soc: nrf9160: Remove incorrect indication of SWO availability
kernel: timeout: Fix adding of an absolute timeout
drivers: nrf_rtc_timer: Remove unnecessary locking
tests: drivers: i2s_api: Fix MPU fault in user mode
Andrzej Kaczmarek (1):
Bluetooth: controller: Fix data length calculation in adv report
Andrzej Puzdrowski (2):
manifest: update MCUboot
tests/subsys/setting/functional: ignore settings_delete() retval
Andrés Manelli (1):
logging: Enable SWO pin for STM32 SoCs
Andy Ross (10):
tests/kernel/smp: Misc synchronization fixups
tests/kernel/common: Skip bitarray tests when KERNEL_COHERENCE
arch/x86: Correct multiboot interpretation when building for EFI
tests/kernel/smp: Remove release_global_lock_irq case
tests/kernel/common: Remove needless 1cpu limitation from test_clock_uptime
tests/kernel/fatal: Don't swap while locked
kernel/swap: Add assertion to catch lock-breaking context switches
k_heap: Clamp to a minimum heap size
tests/kernel/mem_heap: Add minimum-size heap test
kernel/sched: Remove "cooperative scheduling only" special cases
Armando Visconti (6):
drivers/sensor: iis2mdc: use gpio_dt_spec oriented macros
drivers/sensor: lsm6dso: Fix shub for multi-instance case
drivers/sensor: iis2iclx: Fix shub for multi-instance case
kernel/device: add arg checking in z_device_ready()
drivers/sensor: lsm6dso: use gpio_dt_spec oriented macros
drivers/sensor: iis2iclx: (FIX) enable interrupt selectively
Arvin Farahmand (1):
drivers: flash: bugfix: set atmel SAM0 write-block-size
Asger Munk Nielsen (1):
Bluetooth: Controller: fix uninitialized variable
Aurelien Jarno (8):
net: openthread: Make child related options only visible on FTD
net: openthread: Move SRP Kconfig options to Kconfig.features
net: openthread: Select ECDSA when SRP is enabled
net: tcp: select MBEDTLS_MAC_MD5_ENABLED for ISN algorithm
dts: arm: stm32f{2,4,7}: fix device tree warning
arch: arm: cortex_m: fix D-Cache reset with CONFIG_INIT_ARCH_HW_AT_BOOT
arch: arm: cortex_m: z_arm_mpu_init: fix D-Cache invalidation
logging: Enable SWO support for nRF SOCs
Benjamin Lindqvist (1):
net: lwm2m: no duplicate device error codes
Bob Recny (1):
boards: arm: Modify BMD-345-EVAL support
Bradley Bolen (2):
MAINTAINERS.yml: Add myself as ARM collaborator
tests: ztest: Use #if defined()
Carles Cufi (6):
libc: minimal: Align errno.h values with newlib
libc: minimal: Add doxygen formatting to errno.h
libc: minimal: Add EOVERFLOW
ci: Add an errno.h check to CI
doc: reference: Add a section for the C standard library
Bluetooth: controller: Add conn creation param checks
Carlo Caione (4):
MAINTAINERS: Add new ARM64 collaborator
ARM64: Release notes for 2.6
cache: Do not warn on unused parameters
cmake: arm64: Bail out if the old SDK is used
Damian Krolik (1):
openthread: shell: Do not execute OT commands when OT is not ready
Daniel Leung (25):
toolchain: add Z_GENERIC_DOT_SECTION() macro
toolchain: gcc: fix extra space when using SECTION_VAR
kernel: refactor stack declaration macros
linker: remove TEXT_START macro
linker: add bits for boot regions
linker: add bits for pinned regions
linker: add __isr tag
x86: gen_mmu: add support for boot and pinned regions
x86: ia32/linker: add boot and pinned sections
tests: x86/pagetables: update test for boot and pinned sections
devices: mark device MMIO declarations to boot/pinned sections
x86: ia32: put IRQ stubs into pinned linker section if needed
intc: system_apic: mark functions as boot/pinned
intc: loapic: mark data and functions as boot/pinned
intc: ioapic: mark data and functions as boot/pinned
timer: hpet: mark functions as boot/pinned/isr
x86: ia32: mark symbols for boot and pinned regions
boards: qemu_x86_virt: enable using boot and pinned sections
kernel: init.c: tag source for boot/pinned sections
tests: mem_protect/mem_map: remove unused assignment to cnt
doc: release-notes-2.6: major x86 changes
doc: release-notes-2.6: on k_mem_unmap and demand paging stats
kernel: mmu: remove un-needed call to virt_to_bitmap_offset
gpio: intel: fix reg address for Apollo Lake
tests: kernel/common: incorrect use of k_poll in timeout order
David Leach (1):
boards: mimxrt1010_evk: Point SRAM to OCRAM
Dominik Ermel (6):
tests/dfu/mcuboot: Remove unneeded overlay file for nrf52840dk
samples: littlefs: Fix sample attempting double mount
tests/logging/log_backend_fs: Fix test failed on dirty file system
storage/flash_map: Fix flash area bounds checking
shell: Parametrize dummy shell buffer size
mgmt/mcumgr: Info on SHELL_BACKEND_DUMMY_BUF_SIZE impact on mcumgr
Eduardo Montoya (1):
net: openthread: fix CSL API
Emil Gydesen (8):
Bluetooth: Audio: Update VCS Client conn check return value
Bluetooth: Audio: Update AICS client conn check return value
Bluetooth: Audio: Update VOCS conn check return value
Bluetooth: Audio: Fix dead code issue in VCS
Bluetooth: Audio: Move NULL check for conn in bt_vcs_discover
Bluetooth: Audio: Fix VCS client shell missing compile
Bluetooth: Host: Avoid memcpy'ing bt_addr_t to same pointer
Bluetooth: Samples: Fix peripheral_iso print data
Emil Obalski (1):
boards: thingy53: Fix building issue with NS image.
Enjia Mai (4):
tests: smp: correct the inappropriate testcase
tests: interrupt: fix coverity issue of newly added testcases
tests: kernel: fix two semaphroe testcases failed on ADSP
tests: interrupt: refine the offload case not rely on delay timing
Erik Brockhoff (1):
Bluetooth: controller: add apto/appto reset for peripheral
Erwan Gouriou (4):
tests/kernel/common: Fix test test_nop for ARMV7_M_ARMV8_M_MAINLINE
samples/boards: stm32 pm blinky: Run with twister device testing
doc/releases: v2.6.0: Update for STM32 impacts
doc/releases: v2.6.0: Update for shields impacts
Evgeniy Paltsev (3):
ARC: doc: update ARC HW & tools support status
doc: release notes: ARC
ARC: gcc-m-cpu: use -mcpu=archs as a default for ARCv2 HS
Flavio Ceolin (34):
pm: policy: Fix residency policy math
samples: pm: Fix device pm sample
doc: security: Add CVE-2020-13603 info
doc: security: Add backport info for old issues
doc: security: Add CVE-2020-10065 info
doc: security: Publish CVE under embargo
doc: security: Publish CVE 2021-3321
doc: security: Publish CVE-2020-3323 info
tests: pm: Remove unused Kconfig on power_mgmt
tests: pm: Remove unused Kconfig on power_mgmt_soc
pm: device_runtime: Add helper to wait on async ops
pm: device_runtime: Fix enable / disable runtime pm
pm: device_runtime: Fix atomic usage
pm: device_runtime: Fix sync path
tests: pm: Add device_runtime test
samples: device_pm: Fix condvar usage
pm: device_runtime: get rid of the spinlock
pm: device_runtime: Document isr and pre-kernel functions
samples: device_pm: Fix harness
pm: device_runtime: Get rid of atomic for state
pm: device_runtime: Don't use k_work on synchronous calls
docs: pm: Add device runtime definition
docs: pm: Fix typo
docs: pm: Fix doxygen tag
docs: pm: Fix invalid API reference
docs: pm: Device pm fixes and enhancements
docs: pm: Add missing device states
docs: pm: Fix device busy information
docs: pm: Add link to application defined policy
docs: pm: Improve residency policy documentation
docs: pm:...
Zephyr 2.6.0 RC1
Abram Early (1):
soc: atmel_sam0: Add GCLK Reset
Adam Serbinski (1):
drivers: sensors: mpu6050: add support for mpu9250
Adam Zelik (1):
modules: nrfx_glue: Reserve PPI/DPPI resources used by 802.15.4 drv
Akash Patel (1):
samples: flash_shell: fix SHELL_CMD_REGISTER typo
Alberto Escolar Piedras (4):
bsim_bt: tests: Fix relative paths search in scripts
nrf52_bsim: Fix LOG_MODE_IMMEDIATE kconfig warning
tests: log_core be explicit about configuration
posix: Add missing include
Aleksandr Khromykh (1):
Bluetooth: Mesh: Fix restoring fast period divisor from settings
Alex Tsamakos (4):
boards: arm: Add support for Actinius Icarus Bee (uC: Nordic nRF9160)
samples: add actinius_icarus_bee config in spi_flash and fs
boards: arm: Add support for Actinius Icarus SoM (uC: Nordic nRF9160)
boards: actinius_icarus: remove unused pwm nodes and add bootloader LED
Alexander Kozhinov (4):
dts: arm: st: f4: stm32f446re
dts: arm: st: f4: stm32f446.dtsi
boards: arm: nucleo_f446re: dts / yaml
boards: arm: nucleo_f446re: doc: index.rst
Alexander Wachter (13):
dts: stm32g4: Add SPI4 node
ztest: fix z_assert_within() bounds
include: clock_control: Fix int return value
devicetree: pwms: add helper marcos to obtain the node identifier
tests: devicetree: api: Add test for PWM_CTLR*
MAINTAINERS: add more collaborators to the can-bus area
drivers: can: Add Kconfig option for CANFD datalenght
drivers: can: Implement Bosch M_CAN driver
drivers: can: Implement stm32fd driver
dts: arm: stm32g4: add can bindings to stm32g4 SoCs
board: nucleo_g474re: Add CAN support.
tests: driver: can: api: Enhanced tests to check dispatching
tests: driver: can: canfd: Add CAN-FD tests
Alexandre Bourdiol (80):
test: arch: arm: arm_interrupt: clear FPSCR register in ISR
drivers: clock_control: add STM32WL support
drivers: gpio add STM32WL support
drivers: interrupt_controller add STM32WL support
dts: arm: st: add STM32WL support
soc: arm: st_stm32: add STM32WL support
boards: arm: add nucleo_wl55jc board support
drivers: i2c: add support of STM32WL
boards/dts: add i2c support to nucleo_wl55jc
boards/dts: add SPI support to nucleo_wl55jc board
tests: drivers: spi: spi_loopback: add nucleo_wl55jc board
drivers: clock_control: stm32wl doesn't have HSE bypass
boards: stm32l1_disco: Use dts for clocks configuration
boards: 96b_wistrio: Use dts for clocks configuration
boards: ronoth_lodev: Use dts for clocks configuration
boards: nucleo_l011k4: Use dts for clocks configuration
boards: dragino_lsn50: Use dts for clocks configuration
boards: b_l072z_lrwan1: Use dts for clocks configuration
boards: nucleo_l4r5zi: Use dts for clocks configuration
boards: nucleo_l412rb_p: Use dts for clocks configuration
boards: nucleo_l432kc: Use dts for clocks configuration
boards: nucleo_l433rc_p: Use dts for clocks configuration
boards: nucleo_l452re: Use dts for clocks configuration
boards: nucleo_l496zg: Use dts for clocks configuration
boards: stm32l476g_disco: Use dts for clocks configuration
boards: stm32l496g_disco: Use dts for clocks configuration
boards: sensortile_box: Use dts for clocks configuration
boards: nucleo_f302r8: Use dts for clocks configuration
boards: nucleo_f303re: Use dts for clocks configuration
boards: stm32373c_eval: Use dts for clocks configuration
boards: stm32f769i_disco Use dts for clocks configuration
boards: stm32f746g_disco: Use dts for clocks configuration
boards: stm32f723e_disco: Use dts for clocks configuration
boards: stm32l562e_dk: Use dts for clocks configuration
boards: nucleo_l152re: Use dts for clocks configuration
boards: nucleo_wl55jc: Use dts for clocks configuration
boards: nucleo_f207zg: Use dts for clocks configuration
boards: nucleo_f756zg: Use dts for clocks configuration
boards: nucleo_f767zi: Use dts for clocks configuration
boards: nucleo_l073rz: Use dts for clocks configuration
boards: nucleo_f030r8: Use dts for clocks configuration
boards: nucleo_f091rc: Use dts for clocks configuration
boards: nucleo_g474re: Use dts for clocks configuration
boards: nucleo_f303k8: Use dts for clocks configuration
boards: nucleo_l031k6: Use dts for clocks configuration
boards: stm32f3_disco: Use dts for clocks configuration
boards: b_l4s5i_iot01a: Use dts for clocks configuration
boards: nucleo_g0b1re: Use dts for clocks configuration
boards: stm32g0316_disco: Use dts for clocks configuration
boards: stm32g071b_disco: Use dts for clocks configuration
boards: google_kukui: Use dts for clocks configuration
boards: nucleo_f031k6: Use dts for clocks configuration
boards: stm32f0_disco: Use dts for clocks configuration
boards: stm32f030_demo: Use dts for clocks configuration
boards: stm32f072_eval: Use dts for clocks configuration
boards: stm32f072b_disco: Use dts for clocks configuration
boards: 96b_aerocore2: Use dts for clocks configuration
boards: 96b_argonkey: Use dts for clocks configuration
boards: 96b_carbon: Use dts for clocks configuration
boards: 96b_neonkey: Use dts for clocks configuration
boards: 96b_stm32_sensor_mez: Use dts for clocks configuration
boards: black_f407ve: Use dts for clocks configuration
boards: black_f407zg_pro: Use dts for clocks configuration
boards: mikroe_clicker_2: Use dts for clocks configuration
boards: mikroe_mini_m4_for_stm32: Use dts for clocks configuration
boards: olimex_stm32_e407: Use dts for clocks configuration
boards: olimex_stm32_h407: Use dts for clocks configuration
boards: olimex_stm32_p405: Use dts for clocks configuration
boards: nucleo_f410rb: Use dts for clocks configuration
boards: nucleo_f412zg: Use dts for clocks configuration
boards: nucleo_f413zh: Use dts for clocks configuration
boards: nucleo_f446re: Use dts for clocks configuration
boards: segger_trb_stm32f407: Use dts for clocks configuration
boards: adafruit_feather_stm32f405: Use dts for clocks configuration
boards: steval_fcu001v1: Use dts for clocks configuration
boards: stm32f4_disco: Use dts for clocks configuration
boards: stm32f411e_disco: Use dts for clocks configuration
boards: stm32f412g_disco: Use dts for clocks configuration
boards: stm32f429i_disc1: Use dts for clocks configuration
boards: stm32f469i_disco: Use dts for clocks configuration
Alexey Markevich (1):
jwt: use pre-computed JWT header
Anas Nashif (179):
release: Update patch level to 99 after the 2.5.0 release
action: publish documentation when VERSION is changed
actions: run backporting bot only on main
actions: use a different user for this action
doc: add draft for 2.6 release notes
compiler: do not allow expansion-to-defined
tests: filter default platforms
tests: sched: fix test identifier
tests: arm_thread_swap: fix testsuite setup
tests: kernel: tls: fix testsuite setup
kernel: thread: do not assert on tests
ci: remove shippable references
doc: remove references to shippable
boards: it8xxx2_evb: set architecture correctly
ci: do not run twister CI when changing checkpatch
ci: limit CI to only changed architecture
samples: userspace: enable shared_mem on x86_64
xcc: do not make assumptions about toolchain path
xcc: do not assume clang by default
xcc: do not enable builtin atomics with xcc
soc: intel_adsp: include cleanup
xcc: we do not support build asserts
intel_adsp: simplify bootloader cmake file
cmake: remove TOOLCHAIN_INCLUDES
samples: move kernel samples into one folder
samples: move debug samples under subsys/debug
samples: move testing -> subsys/testsuite
sampels: move video into subsys/video
sampels: move audio into subsys/audio
sampels: move display into subsys/display
samples: portability: fix project name
samples: move cpp samples into subsys/cpp
doc: fix top samples doc index
samples: move architecture specific samples to arch/
samples: move lorawan to subsys/lorawan
CODEOWNERS: update file path for samples
twister: fix integration_platforms selection
twister: fix integration selection
Revert "tests: net: socket: af_packet: fix resource leak"
twister: set verdict on tests after evaluating results
MAINTAINERS: remove overlap between ARM/ARM64
MAINTAINERS: add interrupt controllers to X86 area
MAINTAINERS: expand collaborators on twister
MAINTAINERS: add esspresif area
MAINTAINERS: add west documentation to area
clock: remove z_ from semi-public APIs
doc: clocks: link clock APIs from doxygen
clock: rename z_timer_cycle_get_32 -> sys_clock_cycle_get_32
drivers: arcv2_timer0: fix comment
clock: z_clock_isr -> sys_clock_isr
clock: z_clock_device_ctrl -> sys_clock_device_ctrl
sys_lock: extra 'needed' removed
clock: rename z_clock_hw_cycles_per_sec_runtime_get
clock: rename z_tick_get_32 -> sys_clock_tick_get_32
clocks: rename z_tick_get -> sys_clock_tick_get
clock: renmae z_timeout_end_calc -> sys_clock_timeout_end_calc
clock: remove unused z_ms_to_ticks
kernel: remove tickless idle
hal_ti: update to use k_ms_to_ticks_ceil32
ztest: fix h...
Zephyr v2.5.0
We are pleased to announce the release of Zephyr RTOS version 2.5.0.
Major enhancements with this release include:
- Introduced support for the SPARC processor architecture and the LEON
processor 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.
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
The following CVEs are addressed by this release:
- CVE-2021-3323: Under embargo until 2021-04-14
- CVE-2021-3321: Under embargo until 2021-04-14
- CVE-2021-3320: Under embargo until 2021-04-14
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
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
-
Removed SETTINGS_USE_BASE64 support as its been deprecated for more than
two releases. -
The :c:func:
lwm2m_rd_client_start
function now accepts an additional
flags
parameter, which allows to configure current LwM2M client session,
for instance enable bootstrap procedure in the curent session. -
LwM2M execute now supports arguments. The execute callback
lwm2m_engine_execute_cb_t
is extended with anargs
parameter which points
to the CoAP payload that comprises the arguments, and anargs_len
parameter
to indicate the length of theargs
data. -
Changed vcnl4040 dts binding default for property 'proximity-trigger'.
Changed the default to match the HW POR state for this property. -
The :c:func:
clock_control_async_on
function will now takecallback
and
user_data
as arguments instead of structure which contained list node,
callback and user data. -
The :c:func:
mqtt_keepalive_time_left
function now returns -1 if keep alive
messages are disabled by settingCONFIG_MQTT_KEEPALIVE
to 0. -
The
CONFIG_LEGACY_TIMEOUT_API
mode has been removed. All kernel
timeout usage must use the new-style k_timeout_t type and not the
legacy/deprecated millisecond counts. -
The :c:func:
coap_pending_init
function now accepts an additionalretries
parameter, allowing to specify the maximum retransmission count of the
confirmable message. -
The
CONFIG_BT_CTLR_CODED_PHY
is now disabled by default for builds
combining both Bluetooth host and controller. -
The :c:func:
coap_packet_append_payload
function will now take a pointer to a
constant buffer as thepayload
argument instead of a pointer to a writable
buffer. -
The :c:func:
coap_packet_init
function will now take a pointer to a constant
buffer as thetoken
argument instead of a pointer to a writable buffer. -
A new :ref:
regulator_api
API has been added to support controlling power
sources. Regulators can also be associated with devicetree nodes, allowing
drivers to ensure the device they access has been powered up. For simple
GPIO-only regulators a devicetree propertysupply-gpios
is defined as a
standard way to identify the control signal in nodes that support power
control. -
:c:type:
fs_tile_t
objects must now be initialized by calling
:c:func:fs_file_t_init
before their first use. -
:c:type:
fs_dir_t
objects must now be initialized by calling
:c:func:fs_dir_t_init
before their first use.
Deprecated in this release
-
Nordic nRF5340 PDK board deprecated and planned to be removed in 2.6.0.
-
ARM Musca-A board and SoC support deprecated and planned to be removed in 2.6.0.
-
DEVICE_INIT was deprecated in favor of utilizing DEVICE_DEFINE directly.
-
DEVICE_AND_API_INIT was deprecated in favor of DEVICE_DT_INST_DEFINE and
DEVICE_DEFINE. -
Bluetooth
- Deprecated the :c:func:
bt_set_id_addr
function, use :c:func:bt_id_create
before calling :c:func:bt_enable
instead. WhenCONFIG_PRIVACY
is
enabled a valid IRK has to be supplied by the application for this case.
- Deprecated the :c:func:
Removed APIs in this release
-
Bluetooth
- The deprecated BT_LE_SCAN_FILTER_DUPLICATE define has been removed,
use BT_LE_SCAN_OPT_FILTER_DUPLICATE instead. - The deprecated BT_LE_SCAN_FILTER_WHITELIST define has been removed,
use BT_LE_SCAN_OPT_FILTER_WHITELIST instead. - The deprecated bt_le_scan_param::filter_dup argument has been removed,
use bt_le_scan_param::options instead. - The deprecated bt_conn_create_le() function has been removed,
use bt_conn_le_create() instead. - The deprecated bt_conn_create_auto_le() function has been removed,
use bt_conn_le_create_auto() instead. - The deprecated bt_conn_create_slave_le() function has been removed,
use bt_le_adv_start() instead with bt_le_adv_param::peer set to the remote
peers address. - The deprecated BT_LE_ADV_* macros have been removed,
use the BT_GAP_ADV_* enums instead. - The deprecated bt_conn_security function has been removed,
use bt_conn_set_security instead. - The deprecated BT_SECURITY_* defines NONE, LOW, MEDIUM, HIGH, FIPS have been
removed, use the L0, L1, L2, L3, L4 defines instead. - The deprecated BT_HCI_ERR_AUTHENTICATION_FAIL define has been removed,
use BT_HCI_ERR_AUTH_FAIL instead.
- The deprecated BT_LE_SCAN_FILTER_DUPLICATE define has been removed,
-
Kernel
- The deprecated k_mem_pool API has been removed entirely (for the
past release it was backed by a k_heap, but maintained a
compatible API). Now all instantiated heaps must be
sys_heap/k_heaps. Note that the new-style heap is a general
purpose allocator and does not make the same promises about block
alignment/splitting. Applications with such requirements should
look at porting their logic, or perhaps at the k_mem_slab utility.
- The deprecated k_mem_pool API has been removed entirely (for the
Stable API changes in this release
Kernel
-
Added support for per thread runtime statistics
-
Added new synchronization mechanisms using Condition Variables
-
Thread Local Storage (TLS)
-
Introduced thread local storage support for the following architectures:
- ARC
- Arm Cortex-M
- Arm Cortex-R
- AArch64
- RISC-V
- Sparc
- x86 and x86_64
- Xtensa
-
This allows variables declared with
__thread
keyword to be allocated
on a per-thread basis, and every thread has its own copy of these
variables. -
Enable via :option:
CONFIG_THREAD_LOCAL_STORAGE
. -
errno
can be stored inside TLS if :option:CONFIG_ERRNO_IN_TLS
is enabled (together with :option:CONFIG_ERRNO
). This allow user
threads to access the value oferrno
without making a system call.
-
-
Memory Management
- Added page frame management for physical memory to keep track of
the status of each page frame. - Added :c:func:
k_mem_map
which allows applications to increase
the data space available via anonymous memory mappings. - Added :c:func:
k_mem_free_get
which returns the amount of
physical anonymous memory remaining. - Paging structure must now be pre-allocated so that there is no need
to do memory allocations when mapping memory. Because of this,
:c:func:arch_mem_map
may no longer fail.
- Added page frame management for physical memory to keep track of
-
Demand Paging
- Introduced the framework for demand paging and infrastructure for
custom eviction algorithms and implementation of backing stores. - Currently the whole kernel is pinned and remaining physical memory
can be used for paging.
- Introduced the framework for demand paging and infrastructure for
Architectures
-
ARC
- Fixed execution on ARC HS with one interrupt bank and fast interrupts (FIRQ)
enabled - Hardened SMP support
- Improved mdb west runner to support simulation on SMP nSIM-based
configurations - Improved mdb west runner to support nSIM-based configurations execution
on real HW (FPGA-based) - Added documentation page with Zephyr support status on ARC processor
- Added coverage support for nSIM-based configurations
- Switched to upstream OpenOCD for ARC
- Various minor fixes/improvements for ARC MWDT toolchain infrastructure
- Fixed execution on ARC HS with one interrupt bank and fast interrupts (FIRQ)
-
ARM
-
AARCH32
- Introduced the functionality for chain-loadable Zephyr
firmware images to force the initialization of internal
architecture state during early system boot (Cortex-M). - Changed the default Floating Point Services mode to
Shared FP registers mode. - Enhanced Cortex-M Shared FP register mode by implementing
dynamic lazy FP register stacking in threads. - Added preliminary support for Cortex-R7 variant.
- Fixed inline assembly code in Cortex-M system calls.
- Enhanced and fixed Cortex-M TCS support.
- Enabled interrupts before switching to main in single-thread
Cortex-M builds (CONFIG_MULTITHREADING=n). - Fixed vector table relocation in non-XIP Cortex-M builds.
- Fixed exception exit routine for fatal error exceptions in
Cortex-R. - Fixed interrupt nesting in ARMv7-R architecture.
- Introduced the functionality for chain-loadable Zephyr
-
AARCH64
- Fixed registers printing on error and beautified crash dump output
- Removed CONFIG_SWITCH_TO_EL1 symbol. By default the execution now drops
to EL1 at boot - Deprecated booting from EL2
- Improved assembly code and errors catching in EL3 and EL1 during the
start routine - Enabled support for EL0 in the page tables
- Fixed vector table alignment
- Introduced support to boot Zephyr in NS mode
- Fixed alignment fault in z_bss_zero
- Added PSCI driver
- Added ability to generate image header
- Improved MMU code and driver
-
-
RISC-V
- Added support for PMP (Physical Memory Protection).
Integrate PMP in Zephyr allow t...
- Added support for PMP (Physical Memory Protection).