Skip to content

Releases: zephyrproject-rtos/zephyr

Zephyr v2.5.0 RC4

12 Feb 12:33
Compare
Choose a tag to compare
Zephyr v2.5.0 RC4 Pre-release
Pre-release

Changes since v2.5.0-rc3:

Adam Jeliński (2):
      m2gl025_miv: Adjust frequencies and performance
      m2gl025_miv: Double the test timeouts

Alex Martens (1):
      doc: fix typo in condvar documentation

Alexander Wachter (2):
      tests: drivers: can: timing: Fix potential div by zero
      drivers: flash: stm32g4: Flush caches after erase

Anas Nashif (9):
      labels: label release note changes
      renode: fix dependencies for renode platforms
      xtensa: remove unused script
      intc: mvic: remove unused header
      license: add missing SPDX headers
      license: add missing SPDX headers
      release: add resolved issues
      release notes: add top level bullets, misc. changes
      release: bump version to 2.5.0-rc4

Andrzej Głąbek (1):
      scripts: kconfig: Fix uses of edt.compat2okay in helper functions

Andrzej Puzdrowski (1):
      doc: releasenotes 2.5: Add notes on addition fs_dir_t_init

Andy Ross (8):
      kernel/sched: Add missing lock around waitq unpend calls
      kernel/include: Put kernel stack memory in the right memory
      kernel/z_swap: Remove on-stack dummy spinlock
      tests/kernel/thread_stack: Fix KERNEL_COHERENCE interactions
      kernel/poll: Remove dummy waitq from stack
      kernel/sched: Correct coherence assert
      tests/kernel: Coherence: no shared data on stacks
      soc/intel_adsp: Move KERNEL_COHERENCE to cavs15

Carlo Caione (2):
      doc: release: v2.5.0 release notes for ARM AArch64
      aarch64: Fix corrupted IRQ state when tracing enabled

Christoph Reiter (1):
      drivers: sensor: dps310 fix out of bounds write

Daniel Leung (4):
      kernel: tls: align tdata/tbss sections in stack
      tests: threads/tls: add more thread variables
      doc: release-notes-2.5: kernel: add info on thread local storage
      doc: release-notes-2.5: memory management related items

Eduardo Montoya (2):
      manifest: openthread upmerge up to commit `add99687`
      net: openthread: add CoAP Block Kconfig option

Eugeniy Paltsev (1):
      doc: release notes: ARC

Faisal Saleem (1):
      Bluetooth: SMP: fix for bt fixed passkey BT_PASSKEY_INVALID

Flavio Ceolin (7):
      docs: pm: Replace outdated documentation
      docs: pm: Update central method diagram
      doc: release-notes-2.5: Power management contents
      doc: release-notes-2.5: Vulnerabilities addressed
      doc: release-notes-2.5: crypto libraries
      doc: security: Update vulnerabilities information
      power: Fix power states length

Ioannis Glaropoulos (1):
      doc: release: v2.5.0 release notes for ARM AARCH32

Jennifer Williams (3):
      doc: release-notes-2.5: boards and SoCs: x86 ehl_crb acrn_ehl_crb
      doc: releases: fix format issue in Boards & SoCs
      doc: releases: 2.5: add misc x86 to boards and socs

Jian Kang (2):
      board: cavs15: fixed size error that load firmware by script
      board: cavs15: Add a option to control signing ways

Joakim Andersson (17):
      Bluetooth: shell: Fix gatt write command not cleanup up on error
      Bluetooth: host: Fix update keys when using debug public key check
      Bluetooth: host: Handle multiple step security elevation
      Bluetooth: host: Allow requesting new security when security changed
      Bluetooth: host: Refactor smp handling of conn pointer
      Bluetooth: host: Fix indicate without user callback
      Bluetooth: host: Remove unused ATT request destroy callback
      Bluetooth: host: Release ATT request buffers once sent
      Bluetooth: host: Rename auth_err_get to security_err_get
      Bluetooth: host: Fix wrong error code type passed to security changed
      Bluetooth: shell: Add only pairing failed and pairing complete callbacks
      Bluetooth: shell: Improve security error readability
      Bluetooth: host: Don't call callbacks on unexpected SMP PDUs
      Bluetooth: host: Set encryption pending when LE SC bond exists
      Bluetooth: host: Terminate the pairing procedure when disconnected
      Bluetooth: host: Set error in security changed when not required level
      Bluetooth: host: Fail pairing if remote cannot meet required security

Johann Fischer (1):
      doc: release-notes-2.5: add release notes for USB

Jordan Yates (3):
      lora: sx126x: update modem state on transitions
      lora: sx126x: disable DIO1 in sleep mode
      lorawan: move public network request

Keith Short (1):
      npcx: fix NPCX PWM driver with PWM_POLARITY_INVERTED

Krzysztof Chruscinski (1):
      drivers: serial: nrfx_uarte: Add missing check

Kumar Gala (3):
      drivers: dma: iProc PAX: Fix use of deprecated APIs
      drivers: sensor: icm42605: Fix build issues
      drivers: sensor: icm42605: Fix use of deprecated API

Laczen JMS (1):
      boards: correct dts for bl654_dvk and bl652_dvk

Lauren Murphy (1):
      doc: fix typo in modules

Luiz Augusto von Dentz (1):
      Bluetooth: ATT: Remove BT_ATT_TX_MAX

Maciej Perkowski (5):
      boards: Fix ram/flash values in nrf5340dk_nrf5340_cpuapp
      twister: bugfix: Fix twister output
      samples: tests: Fix usb.audio.headphones_microphone test
      samples: tests: Fix usb.audio.headset test
      samples: tests: Fix sample.boards.nrf.nrfx test

Marc Herbert (1):
      (docs) Makefile: re-order targets to build htmldocs-fast by default

Martin Jäger (1):
      doc: release: Add DAC release notes for v2.5.0

Martí Bolívar (17):
      doc: release-notes-2.5: s/device tree/devicetree/
      devicetree: make sure DT_INVALID_NODE docstring appears
      doc: release-notes-2.5: devicetree
      guiconfig: fix search function
      scripts: zcmake: fix for prerelease cmake versions
      device.h: remove incorrect docstring
      doc: sort redirects
      doc: clean up west index
      doc: glossary: update west terms
      doc: west: move advanced content out of 'basics'
      doc: update west's workspaces.rst for 2.5
      doc: add missing docs for 'west zephyr-export'
      doc: improve manifest key docs
      doc: improve docs on building without west
      doc: west: clean up example workspace
      doc: west: improve troubleshooting for west update
      boards: nrf: fix incorrect debug docs

Nicolas Pitre (1):
      libc/minimal: restore proper locking for malloc() and friends

Peter Bigot (10):
      fs: littlefs: fix mis-use of preprocessor
      doc: release-notes-2.5: I2C
      samples: driver: watchdog: rework how callback support is handled
      doc: coding guidelines: add an anchor for inclusive language guideline
      doc: inclusive language: reference I2C status issue
      tests: i2c_slave_api: update to current standard terminology
      drivers: i2c: litex: remove redundant null pointers
      drivers: i2c: document slave API
      doc: drivers: i2c: provide more information on I2C APIs
      power: add missing dependency

Trond Einar Snekvik (3):
      Bluetooth: Mesh: Store network at the end of provisioning
      Bluetooth: Mesh: Initialize msg_ctx when re-encrypting friend msg
      Bluetooth: Mesh: Update seqnum when re-encrypting for friend

Vinayak Kariappa Chettimada (1):
      Bluetooth: controller: Fix missing advertising PDU len initialization

Zephyr v2.5.0 RC3

07 Feb 16:32
Compare
Choose a tag to compare
Zephyr v2.5.0 RC3 Pre-release
Pre-release

Changes since v2.5.0-rc2:

Alexander Shuklin (1):
      Drivers: serial: Fix stm32 uart async api callback

Alexander Wachter (1):
      drivers: can: common: Fix uninitializes sjw

Anas Nashif (7):
      kernel: fix usage of KERNEL_COHERENCE macro
      ci: add action to create release
      twister: remove usage of deprecated gccarmemb variant
      cmake: remove usage of deprecated gccarmemb variant
      twister: fix possible race
      twister: fix HW map fixtures parsing
      release: bump version to 2.5.0-rc3

Andrei Emeltchenko (5):
      edac: Use Device Tree values for BDF and PCI VID
      edac: Do not use BDF and PCI IDs from DTS
      edac: Move IBECC information to DT root
      edac: Rename PCI_ENDPOINT to PCI_HOST_BRIDGE
      edac: Update shell commands

Andrzej Puzdrowski (15):
      fs: Add fs_dir_t_init() function
      tests: fs: multifs: Add fs_dir_t type variable initializations
      tests/subsys/fs/fat_fs_api: Add fs_dir_t type variable initializations
      tests/subsys/fs/fat_fs_dual_drive: Add fs_dir_t type variable init.
      tests/subsys/fs/littlefs: Add fs_dir_t type variable initializations
      tests/subsys/fs/fs_api: Add fs_dir_t type variable init.
      tests/subsys/fs/fs_api: remove dir-multi-open test
      samples/subsys/fs: Add fs_dir_t type variable initializations
      lib/posix/fs: Add fs_dir_t type variable initialization
      fs: Add fs_dir_t type variable initializations
      samples/subsys/usb/mass: Add fs_dir_t type variable initialization
      lib/gui/lvgl: Add fs_dir_t type variable initialization …
      fs: Fix fs_opendir resource leak when invoked on fs_dir_t object in use
      include/fs: fixed typo in fs_file_t_init() description
      manifest: fixed MCUboot with image encryption enabled.

Andy Ross (4):
      tests/sched/deadline: Fix precision rollover
      arch/x86: Fix stack alignment for user threads
      tests/kernel/common: Skip the printk test when not applicable
      drivers/cavs_timer: Fix multiword race with timer counter

Carles Cufi (4):
      actions: compliance: Rebase before running `west update`
      doc: extensions: Fix generator being ignored in west
      Bluetooth: samples: hci_uart: Add overlays for nRF5340
      doc: gsg: Update Homebrew installation for macOS

Carlo Caione (1):
      kernel: mmu: Fix trivial typos

Daniel Leung (7):
      kernel: fix _kernel argument to arch_mem_coherent
      kernel: fix arch_mem_coherent() call in spinlock
      xtensa: fix hard-coded interrupt value for PS register
      xcc: define __INT*_C() and __UINT*_C()
      linker: ifdef thread local storage script
      xtensa: fix rsr/wsr assembly for XCC
      x86: mark page frame as reserved according to memory map

Detlev Zundel (3):
      soc: arm: st_stm32f2x: Convert Kconfig input prompt to uppercase
      soc: arm: designstart: Fix Kconfig LEADING_SPACE checkpatch problem
      soc: arm: arm: Align Kconfig input prompt for Arm SoCs

Emil Gydesen (1):
      Bluetooth: tests: Add missing dependency for CONFIG_BT_AUDIO_UNICAST

Emil Hammarstrom (1):
      bluetooth: host: expand l2cap CID abbreviation

Emil Lindqvist (2):
      logging: fix warnings when building with -Wunused-variable
      drivers: flash: stm32h7: fix int/long int warnings

Enjia Mai (3):
      tests: ztest: Fix issues due to test case of accessing NULL address
      tests: ztest: fix error_hook test case fail in some board
      tests: memory protect: add some error test cases

Erwan Gouriou (4):
      tests/drivers/dma: loop_transfer: Use ztest harness
      drivers/dma: stm32: Don't omit IRQ status check
      tests/drivers/dma: Enable tests on nucleo_f746zg and disco_l475_iot1
      dts/arm: stm32f2: Fix usart1 clock

Flavio Ceolin (2):
      mbedtls: Bump to 2.16.9
      drivers: bme280: Replace deprecated Kconfig option

Henrik Brix Andersen (2):
      checkpatch: ignore MULTISTATEMENT_MACRO_USE_DO_WHILE
      drivers: adc: lmp90xxx: initialise all instances

Ioannis Glaropoulos (4):
      arm: cortex_m: fix vector table relocation in non-XIP builds
      Revert "kernel: init: activate FPU for main thread"
      samples: rpmsg_service: do not run test for nrf5340 in CI
      arm: cortex-m: add extra stack size for test build with FPU_SHARING

Jan Tore Guggedal (1):
      drivers: sensor: adxl362: Fix unused variable warnings

Jennifer Williams (1):
      include: drivers: uart: fix incorrect event name in brief

Joel Westerberg (1):
      Bluetooth: ISO: fix error value set but not returned

Johann Fischer (3):
      samples: usb: remove unnecessary GPIO dependency
      samples: cdc_acm_composite: fix format specifier
      sample: usb: exlude native_posix platform

Jordan Yates (5):
      lorawan: query default region datarate
      lorawan: validate requested datarates
      lorawan: restore datarate after join
      serial: uart_nrfx_uarte: update state when enabled
      serial: uart_nrfx_uarte: graceful async power down

Jukka Rissanen (1):
      doc: net: Add networking changes to 2.5 release note

Katsuhiro Suzuki (1):
      soc/riscv: support reboot for QEMU RISC-V VirtIO

Krzysztof Chruscinski (1):
      drivers: serial: nrfx_uarte: Fix power management

Kumar Gala (11):
      dts: bindings: Remove defaults for cache lines from cpu binding
      dts: bindings: remove default usage in gaisler,irqmp
      dts: Cleanup litex,clk binding
      dts: Fix unit name warnings
      dts: Fix unit name should not have leading "0x" warning
      dts: Fix /soc/timer: missing or empty reg/ranges property warnings
      dts: Rename compatible arm,arm-timer to arm,armv8-timer
      dts: surpress node name for SPI buses should be 'spi' warning
      cmake: dts: Fix passing multiple EXTRA_DTC_FLAGS to gen_defines.py
      dts: atmel/nxp: supress duplicate unit-address warning
      dts: nrf/stm32: supress duplicate unit-address warning

Laczen JMS (1):
      board: correct dts for 96b_stm32_sensor_mez

Lauren Murphy (1):
      doc: fix typos in mutex

Lukasz Maciejonczyk (1):
      settings: Handle unhandled error

Marcin Niestroj (1):
      drivers: wifi: esp: process received packets in esp_rx thread

Martin Åberg (1):
      kernel: Decouple TICKS_PER_SEC from TICKLESS_CAPABLE

Martí Bolívar (3):
      runners: pyocd: handle None in hex/bin files
      runners: fix openocd with --use-elf
      doc: make it clear when DT properties are deprecated

Maureen Helm (3):
      drivers: serial: Don't condition uart_irq_rx_ready on irq enabled
      doc: release: Add sensor changes to v2.5.0 release notes
      doc: release: Add NXP-related changes to v2.5.0 release notes

Mulin Chao (3):
      driver: i2c: npcx: reset i2c semaphore before start transaction.
      driver: i2c: npcx: clear status register by setting a single bit.
      driver: i2c: npcx: Prevent transaction result overwritten by recovery.

Nicolas Pitre (1):
      mmu: fix ARM64 compilation by removing z_mapped_size usage

Peter Bigot (1):
      doc: data structures: fix description of sflist

Shlomi Vaknin (1):
      dma: stm32: remove dump stream info in irq

Tomasz Bursztyka (8):
      net/ieee802154: Invalidate frame in case of no address in relevant modes
      net/ieee802154: Each fragment should be at least of its header's length
      net/ieee802154: Avoid NULL pointer de-reference in packet reassembly
      net/ieee802154: Make sure L2 drop any ACK frames
      net/ieee802154: Do not unreference one time too many a fragmented packet
      net/ieee802154: Drop fragmented packet if first frag is not present
      net/6lo: First buffer fragment should hold the full compressed header
      drivers/virtualization: Fix ivshmem PCIE reg bar lookup on ivshmem-plain

Torsten Rasmussen (4):
      cmake: modules: remove Zephyr module duplicates from ZEPHYR_MODULE_NAMES
      cmake: remove ZEPHYR_GCC_VARIANT variable
      cmake: twister: Using common script for toolchain setting verification
      scripts: using pathlib for in get_toolchain() method

Trond Einar Snekvik (1):
      Bluetooth: Mesh: Verify network buffer max len

Vinayak Kariappa Chettimada (4):
      Bluetooth: controller: Fix BT_CTLR_ULL_HIGH_PRIO default value
      Bluetooth: controller: openisa: Fix unsupported ULL LLL Prio config
      Bluetooth: controller: openisa: Fix to use compiler memory barrier
      Bluetooth: controller: Fix build error with ISO support

Øyvind Rønningstad (2):
      tfm_integration: Add tfm tag in sample.yml
      tfm_ipc: Fix regex in sample.yml

Zephyr 2.5.0 RC2

03 Feb 05:13
Compare
Choose a tag to compare
Zephyr 2.5.0 RC2 Pre-release
Pre-release

Changes since 2.5.0-rc1:

Alexander Wachter (1):
      doc: releasenotes 2.5: Add CAN driver release notes

Alexandre Bourdiol (2):
      drivers: clock_control: Kconfig.stm32l4_l5_wb fix serie differences
      kernel: Kconfig: increase test default MAIN_STACK_SIZE for ARM Cortex M

Anas Nashif (11):
      twister: generate json report on demand
      sof: update to latest SOF master
      boards: cavs15: fixed link to private key
      west: sign: add new option -D for configurations
      west: rimage: get config dir from command line
      drivers: edac: CONFIG_LOG_MINIMAL -> CONFIG_LOG_MODE_MINIMAL
      boards: x86: depend on CONFIG_BUILD_OUTPUT_EFI
      CODEOWNERS: Remove inactive users and minor cleanup
      CODEOWNERS: cleanup and replacing few entries
      MAINTAINER: maintainer file updates
      release: Zephyr 2.5.0 RC2

Andrew Boie (1):
      x86: use large VM size if ACPI

Andrzej Kaczmarek (1):
      Bluetooth: shell: Fix 'bt per-adv-data'

Andrzej Puzdrowski (3):
      drivers/flash: select to allow flash write by MPU on ARM SoCs
      samples/subsys/mcumgr/smp_svr: disable log over shell
      manifest: fix MCUboot build after #31404

Andy Ross (4):
      tests/schedule_api: Correct tick/ms math for non-divisible clocks
      release-notes-2.5: Note k_mem_pool removal
      kernel/timeout: Schedule zero-time timeouts
      kernel/timeout: Fix timeout "sooner" computation

Armando Visconti (1):
      drivers/sensor: Fix typos in iis2dlpc/iis2iclx/lsm6dso

Carles Cufi (1):
      doc: west: Fix config overrides

Daniel Leung (8):
      linker: remove asterisk from IRQ/ISR section name macro
      tests: mem_protect: use MP_NUM_CPUS instead of SMP
      x86: clear GS at boot for x86_64
      toolchain: add GEN_ABSOLUTE_SYM_KCONFIG()
      tests: mem_map: put transplanted_function into its own section
      tests: mem_map: fix execution test for x86_64 with coverage
      tests: mem_protect: fix failing inheritance test under SMP
      Revert "tests: context: disable if DEMAND_PAGING"

Detlev Zundel (1):
      samples: display: lvgl: Fix README.rst

Dominik Ermel (15):
      tests/fs/fa_api: Fix order of checks and broken zassert messages
      fs: Add fs_file_t_init() function
      settings: Add fs_file_t type variable initializations
      tests/settings: Add fs_file_t type variable initializations
      posix: Add fs_file_t type variable initializations
      samples: littlefs: Add fs_file_t type variable initializations
      samples: fs: Extend littlefs sample to native_posix and qemu_x86
      fs: shell: Add fs_file_t type variable initializations
      native_posix: fuse: Add fs_file_t type variable initializations
      tests: fs: fatfs: Add fs_file_t type variable initializations
      tests: fs: littlefs: Add fs_file_t type variable initializations
      tests: fs: multifs: Add fs_file_t type variable initializations
      tests: lib: gui: lvgl: Add fs_file_t type variable initializations
      fs: Fix fs_open resource leak when invoked on fs_file_t object in use
      doc: releasenotes 2.5: Add notes on addition fs_file_t_init

Eduardo Montoya (3):
      manifest: openthread update with latest upmerge
      net: openthread: configure required masterkey
      net: openthread: add SRP Kconfig options

Emil Gydesen (2):
      Bluetooth: shell: Fix number of optional args for iso send
      Bluetooth: Audio: Add missing unref for ISO recv

Enjia Mai (1):
      tests: msgq: Fix uncheck return value of coverity scan

Erwan Gouriou (10):
      tests/drivers: pwm_api: Document how to tune test for stm32 targets
      drivers/adc: stm32: Use bitfield for multiple channels detection
      samples/drivers/adc: Few fixes for use with twister
      drivers/watchdog: window-watchdog stm32: Fix timeout computing
      tests/drivers/watchdog: Tune test for stm32 window watchdog
      tests/drivers/watchdog: Review yaml file for stm32 window watchdog
      drivers/watchdog: stm32: Select watchdog using compatible
      samples/drivers/watchdog: Update for stm32 window watchdog
      doc: release-notes-2.5: STM32 Additions
      doc: release-notes-2.5: Shields Additions

Eugeniy Paltsev (4):
      ARC: soc: hsdk: add MWDT compiler options
      doc: ARC: add info page with Zephyr support status on ARC
      tests: lib: cbprintf_fp: add filter for tests using newlib
      twister: check if output is connected to tty before 'stty sane' call

Flavio Ceolin (12):
      tests: socket: Fix compiler warnings
      tests: schedule_api: Do not mess ms with ticks
      tests: schedule_api: Improve log on error
      sched: timeout: Do not miss slice timeouts
      doc: scheduling: Remove ambiguous sentence
      timer: arm: Fix idle usage option
      timer: arm: idle is used when CONFIG_TICKLESS_KERNEL
      timer: arm: Mark ticks as unused
      tests: power: Fix Coverity error about uninitialized variable
      power: Fix function return in dummy policy
      power: Fix dummy policy states info
      tests: power_mgmt_soc: Increase idle stack size

Francois Ramu (1):
      drivers: timer: stm32 lptim fix Potentially overflow

Gerson Fernando Budke (6):
      doc: release: 2.5: Add release notes about UpdateHub changes
      doc: release: 2.5: Add notes about Cypress related changes
      doc: release: 2.5: Add notes about Inventek es-WIFI changes
      doc: release: 2.5: Add notes about Atmel related changes
      doc: release: 2.5: Add note about TagoIO network cloud sample
      doc: release: 2.5: Add note about west bossac runner

Giancarlo Stasi (1):
      soc: arm: stm32l4: Fix stm32 ll header list

Greg Leach (1):
      boards: Laird BT510 - add detail to docs and correct LED DTS reference

Guennadi Liakhovetski (1):
      SOF: cAVS 1.5 needs reset-vector.S in the main image

Hake Huang (1):
      drivers: mcux_flexcan driver errata

Hayden Ball (1):
      max17055: Fix current conversion from MAX17055 unit to milliamps

Henrik Brix Andersen (4):
      samples: canbus: canopen: mass-erase flash prior to running sample
      dts: bindings: mtd: rename SPI/I2C EEPROM base binding
      doc: releases: 2.5: add EEPROM release notes for v2.5
      tests: drivers: pwm: api: run PWM tests in user space

Hubert Miś (4):
      net: coap: define max token length
      net: coap: Allow encoding packets using data from constant buffers
      net: coap: define default CoAP version
      net: coap: clean up token usage in samples and tests

Ioannis Glaropoulos (10):
      trusted-firmware-m: update manifest pointer for TF-M module
      arm: cortex_m: skip clearing CONTROL if this is done at boot
      arm: cortex_m: force FP context stacking by default
      arm: cortex_m: select by default FP sharing mode when using the FPU
      arm: aarch32: introduce status bit-flag for the MPU region width
      arm: cortex_m: make lazy FP stacking enabling dynamic
      arm: cortex_m: log EXC_RETURN value in fatal.c
      arm: cortex_m: update docs to reflect the lazy stacking functionality
      doc: release notes: a note for changing the default FP mode in ARM
      tests: arm: cortex_m: test dynamic lazy stacking on Cortex-m

Jan Pohanka (1):
      usb: fix possible deadlock in usb_transfer_sync()

Jedrzej Ciupis (2):
      west.yml: Update hal_nordic revision
      drivers: gpio_nrfx: Allocate GPIOTE channels with nrfx

Jian Kang (1):
      boards: cavs15: change the signing command in flash.sh

Jingru Wang (1):
      twister: rename variable p to log_root

Joakim Andersson (19):
      Bluetooth: host: Handle ATT timeout on disconnected ATT channel
      Bluetooth: host: Remove ATT modification of L2CAP conn pointer
      Bluetooth: host: Fail pairing with identical public key
      Bluetooth: host: Remove deprecated scan filter duplicate params
      Bluetooth: host: Remove deprecated security defines
      Bluetooth: host: Remove deprecated BT_BUF_USER_DATA_MIN macro
      Bluetooth: host: Remove the deprecated Advertising Types definitions
      Bluetooth: host: Remove deprecated connection create API functions.
      Bluetooth: host: remove deprecated bt_conn_security function
      Bluetooth: host: Remove the deprecated bt_conn_create_slave_le function
      Bluetooth: samples: Fix stack overflow in TX power control samples
      Bluetooth: host: Deprecate the bt_set_id_addr API function
      Bluetooth: host: Fix doxygen in addr header
      Bluetooth: host: Prevent bt_rand calls before bt_enable
      Bluetooth: host: Add options to control behavior of the init command
      Bluetooth: shell: Fix misleading shell message id-create failed
      Bluetooth: host: Fix fixed passkey for legacy pairing
      Bluetooth: kconfig: Fix SMP dependency on BT_ECC
      Bluetooth: host: Mark the option BT_FIXED_PASSKEY as insecure

Johann Fischer (1):
      usb: fix BOS descriptor registration

Jordan Yates (1):
      lora: sx12xx_common: force sleep on boot

Jukka Rissanen (6):
      samples: net: syslog: Add info how to manually start net backend
      net: config: Tweak the startup of logging backend
      net: tcp2: Create a timer for connection establishment
      net: tcp2: Cleanup properly if running out of mem
      net: tcp2: slist API is not thread safe so use locking
      net: tcp2: Properly cleanup receive queue

Kasun Hewage (1):
      net: coap: Fixed discovery response formatting according to RFC6690

Katrin Gartenmeister (1):
      doc: corrected Bluetooth sample documentation

Krzysztof Chruscinski (2):
      logging: Revamp menuconfig
      drivers: uart: Clarity timeout in uart_rx_enable and add doxygen links

Kumar Gala (7):
      sdk: Move to SDK 0.12.2
      x86: Fix zefi.py generation to use SDK toolchain
      MAINTAINERS/CODEOWNERS: Remove nategraff-sifive
      ci: ...
Read more

Zephyr 2.5.0 RC1

24 Jan 22:25
Compare
Choose a tag to compare
Zephyr 2.5.0 RC1 Pre-release
Pre-release
Aastha Grover (2):
      code-guideline: Fixing code violation 10.4 Rule
      boards: x86: acrn : Add configurations for acrn_ehl_crb

Abhishek Shah (14):
      drivers: pcie_ep: iproc: update registers for v2 IP
      dts: arm: viper: m7: Add reset interrupts for pcie node
      drivers: pcie_ep: iproc: enable reset interrupts conditionally
      drivers: pcie_ep: iproc: shorten file names
      drivers: pcie_ep: iproc: move msi(x) functions
      dts: arm: viper: m7: Add PVM interrupts for pcie node
      drivers: pcie_ep: iproc: Add MSI-X PVM feature for Viper
      drivers: pcie_ep: iproc: clear pvm interrupts before handling
      dts: bindings: pl330: add dma-cells property
      dts: arm: viper: Add tx/rx pl330 channels for iProc PCIe node
      pcie: endpoint: Add public API for data transfer with System DMA
      drivers: pcie_ep: iproc: Add support for PL330 DMA
      drivers: pcie_ep: Add API to achieve data transfer with system DMA
      drivers: pcie_ep: iproc: Remove sys_read8 from unmap API

Akseli Peltola (1):
      modem: fix socket descriptor leak

Alberto Escolar Piedras (3):
      board: native_posix: Fix timer for k_busy_wait()
      posix: Add cpu_hold() function to better emulate code delay
      board: native_posix: Add test for k_busy_wait and cpu_hold

Alex Tsamakos (8):
      boards: arm: actinius_icarus: update RAM partitions in DTS
      boards: arm: actinius_icarus: add vbatt node in DTS
      boards: arm: actinius_icarus: add feather and arduino related aliases
      boards: arm: actinius_icarus: update supported board capabilities
      boards: arm: actinius_icarus: add lis2dh12 compatibility in DTS
      boards: arm: actinius_icarus: add docs portal link, image, description
      boards: arm: actinius_icarus: turn on hardware stack protection
      boards: arm: actinius_icarus: fix partition sizes for SPU compatibility

Alexander Kozhinov (24):
      west.yml: civetweb: revision number
      samples: net: civetweb: reduce RAM usage
      boards: arm: nucleo_h745zi_q: dts
      zephyr: codeowners:
      zephyr: maintainers:
      samples: civetweb_websocket_server: init project
      boards: arm: nucleo_h745zi_q: doc
      samples: net: civetweb: prj.conf
      samples: net: sockets: README.rst
      boards: arm: stm32h747i_disco: ethernet
      boards: arm: stm32h747i_disco: rng
      boards: arm: stm32h747i_disco: doc: images
      boards: arm: nucleo_h745zi_q: openocd.cfg
      samples: net: civetweb: Refractor code structure
      CODEOWNERS: civetweb
      soc: arm: st_stm32: stm32h723
      dts: arm: st: h723
      drivers: clock_control: stm32h7
      boards: arm: nucleo_h723zg
      west.yaml: hal_stm32
      dts: arm: st: h7: stm32h745
      samples: subsys: canbus: canopen: README.rst
      boards: arm: nucleo_f303re: dts: usart1
      boards: arm: nucleo_f303re

Alexander Mihajlovic (1):
      soc: arm: stm32l0: Add STM32L071 series

Alexander Wachter (10):
      include: drivers: pinmux: stm32: Add missing C linkage
      include: sys: thread_stack add missing extern "C" on C++
      drivers: can: Rework can_configure API
      drivers: can: rework zcan_frame and zcan_filter
      drivers: can: Compile time check of can timing not set
      tests: canbus: remove unnecessary test for invalid frames
      tests: drivers: can: timing
      drivers: can: flexcan: Fix incorrect timing.
      doc: can_api: Update the CAN documentation after API update
      doc: CAN: Fix code in CAN API documentation

Alexandre Bourdiol (20):
      tests: arch: arm: arm_thread_swap: use memset() instead of memcpy()
      boards: arm: nucleo_f429zi: add ADC support
      boards: arm: stm32f3_disco: add ADC support
      boards: arm: nucleo_g474re add ADC support
      boards: arm: disco_l475_iot1: add ADC support
      boards: arm: nucleo_l4r5zi: add ADC support
      test: drivers: watchdog: 64bits variables for STM32H7 and STM32F7
      boards: arm: stm32 review Joystick polarity and pul up/down
      boards: arm: stm32h747i_disco: wakeup pin is active high
      west.yml: update revision  modules/hal/stm32/hal_stm32
      modules: Delete switches USE_STM32_HAL_RCC and USE_STM32_HAL_RCC_EX
      drivers: pwm: pwm_stm32.c: enable ARR preload
      doc: guides: debugging: host-tools.rst: typo PATH
      arch: arm: aarch32:cortex_m: timing.c: cortex M7 may need DWT unlock
      drivers: flash: flash_stm32g4x.c: manage bank1/2 discontinuity
      drivers: flash: flash_stm32g4x.c: rework flash_stm32_block_erase_loop
      drivers: flash: flash_stm32g4x.c: take into account bank swap
      divers: flash: flash_stm32: add flash configuration check
      drivers: flash: flash_stm32h7x.c: manage bank1/2 discontinuity
      drivers: flash: stm32h7: compilation issue. Fix typo

Alexandre Mergnat (9):
      arch: riscv: add e31 core support
      arch: riscv: add pmp support
      arch: riscv: add memory protection support
      riscv: add support for canaries
      boards: hifive1_revb: add support for memory protection features
      samples: userspace: hello_world
      tests: userspace: add riscv support
      tests: mem_protect: add riscv support
      tests: protection: add riscv support

Alexey Brodkin (6):
      board: arc: hsdk*: Accommodate upstream OpenOCD for ARC
      board: arc: hsdk_2cores: Re-add missing taps into JTAG chain
      Revert "tests: kernel: lifo_usage: Exclude on qemu_arc_em"
      Revert "tests: exclude qemu_arc_hs in lifo_usage test"
      Revert "tests: Exclude qemu_arc{em|hs} in some"
      ARC: QEMU: Enable icount support

Alexey Tsvetkov (1):
      bluetooth: update comment to LE Advertising Parameters struct

Ali Sabil (1):
      board: arm: sensortile_box: add user button 1

Anas Nashif (207):
      sanitycheck: build_only ambiguity cleanup
      sanitycheck: adapt testsuite for build_only cleanup
      sanitycheck: support --filter to limit number of tests built
      sanitycheck: tests: adapt testsuite to new filter
      actions: install needed modules for docs
      Bluetooth: remove unused extern z_prf
      samples: synchronization: show cpu
      samples: synchronisation: run thread_b on cpu 0 in SMP mode
      doc: use latest label instead of version in docs
      west: commands: sign: Add signing support for other CAVS targets
      ipm: cavs_idc: use the IPC/IDC definitions in SoC
      soc: xtensa: fix definition of PLATFORM_CORE_COUNT
      intel_adsp: make idc variable depend on CONFIG_IPM_CAVS_IDC
      cmake: work around sdk toolchain configuration for xtensa [REVERTME]
      interrupt controller: set PER_CPU_OFFSET for new SoCs
      manifest: add CNL, TGL, ICL overlays
      build: add option to delete intermediate files
      up_squared_adsp: disable bin creation on up_squared_adsp
      kernel: only resume suspended threads
      kernel: do not queue a thread that is already queued
      kernel: document k_sleep with K_FOREVER
      soc: intel_adsp: remove stray soc directory
      boards: rename up_squared_adsp intel_adsp_cavs15
      logging: mipi-sys-t: move platform.h to main tree
      manifest: mipi-sys-t: move platform.h
      ci: add more fields to versions.json
      doc: fix showing latest version in sidebar
      sanitycheck: count skipped tests due to overflow
      sanitycheck: handle overflow skips
      toolchain: make clang happy with inline asm
      toolchain: clang: add -Wno-typedef-redefinition option
      clang: remove include-fixed inclusion
      clang: do not assert on libgcc not found
      clang: remove cache handling
      boards: qemu_x86: enable llvm toolchain
      llvm: add support for building x86_64-pc
      clang: use LLVM_TOOLCHAIN_PATH instead of CLANG_ROOT_DIR
      sanitycheck: test on integration platforms on top of default platforms
      libc: add labs() and llabs()
      net: lldp: use llabs with int64_t
      tests: native_posix: use llabs with int64_t
      doc: kernel: clarify object limits
      CODEOWNERS: populate entry for kernel docs
      sanitycheck: do not try platforms not in hardware map
      kernel: move xip code to dedicated file
      kernel: init: move banner handling
      tests: kernel: do not build on all platforms
      sanitycheck: print pid of qemu process when debugging
      sanitycheck: error out if we do not find any tests
      sanitycheck: use multiprcoessing instead of threads
      sanitycheck: do not report about execution if --build-only
      sanitycheck: report test name if no status
      sanitycheck: add some debugging during report phase
      sanitycheck: reduce verbosity
      sanitycheck: fix arch filtering
      sanitycheck: unify terminology and fix accounting
      sanitycheck: schema: 'available' is a runtime key
      sanitycheck: cleanup hardware map handling
      sanitycheck: tests: simplify filter testcase
      sanitycheck: fix hardware map defaults
      sanitycheck: add option to treat overflows as errors
      MAINTAINER: fix kconfig area
      MAINTAINERS: add missing labels
      Revert "boards: define flash partitions for nucleo_h743zi"
      Revert "soc: stm32h7: define rom offset when using mcuboot"
      Revert "drivers/flash: add support for stm32h7 devices"
      Revert "dts: flash: write/erase block size to stm32h7 devs"
      kernel: fix usage of KERNEL_COHERENCE macro
      kernel: make KERNEL_COHERENCE depend on ARCH_HAS_COHERENCE
      Revert "kernel: fix usage of KERNEL_COHERENCE macro"
      actions: rename jobs
      sanitycheck: fix json file generation
      doc: fix doxygen groups for k_heap
      power: standarize PM Kconfigs and cleanup
      power: move kconfigs from arch/ to power/
      power: remove SYS_ and sys_ prefixes
      power: move z_pm_save_idle_exit prototype to power.h
      power: rename _sys_suspend/_s...
Read more

Zephyr v2.4.0

27 Sep 20:43
zephyr-v2.4.0
Compare
Choose a tag to compare

We are pleased to announce the release of Zephyr RTOS version 2.4.0.

Major enhancements with this release include:

  • Introduced initial support for virtual memory management.

  • Added Bluetooth host support for periodic advertisement and isochronous
    channels.

  • Enabled the new TCP stack, TCP2, by default. This stack was introduced in
    Zephyr v2.1.0 to improve network protocol testability with open source tools.

  • Introduced a new toolchain abstraction with initial implementations for GCC
    and LLVM/Clang, and groundwork for future support of commercial toolchains.

  • Moved to using C99 integer types and deprecate Zephyr integer types. The
    Zephyr types can be enabled by Kconfig DEPRECATED_ZEPHYR_INT_TYPES option.

The following sections provide detailed lists of changes by component.

Security Vulnerability Related

The following CVEs are addressed by this release:

  • CVE-2020-10060: UpdateHub Might Dereference An Uninitialized Pointer
  • CVE-2020-10064: Improper Input Frame Validation in ieee802154 Processing
  • CVE-2020-10066: Incorrect Error Handling in Bluetooth HCI core
  • CVE-2020-10072: all threads can access all socket file descriptors
  • CVE-2020-13598: FS: Buffer Overflow when enabling Long File Names in FAT_FS and calling fs_stat
  • CVE-2020-13599: Security problem with settings and littlefs
  • CVE-2020-13601: Under embargo until 2020/11/18
  • CVE-2020-13602: Remote Denial of Service in LwM2M do_write_op_tlv

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.

API Changes

  • Moved to using C99 integer types and deprecate Zephyr integer types. The
    Zephyr types can be enabled by Kconfig DEPRECATED_ZEPHYR_INT_TYPES option.

  • The <sys/util.h> header has been promoted to a documented API with
    experimental stability. See util_api for an API
    reference.

  • The wdt_feed function will now return -EAGAIN if
    issuing a feed would stall the caller. Application code may need to
    ignore this diagnostic result or initiate another feed operation
    later.

  • <drivers/uart.h> has seen its callbacks normalized.
    uart_callback_t and uart_irq_callback_user_data_t
    had their signature changed to add a struct device pointer as first parameter.
    uart_irq_callback_t has been removed. uart_callback_set,
    uart_irq_callback_user_data_set and uart_irq_callback_set
    user code have been modified accordingly.

  • <drivers/dma.h> has seen its callback normalized. It had its signature
    changed to add a struct device pointer as first parameter. Such callback
    signature has been generalized throuh the addition of dma_callback_t.
    'callback_arg' argument has been renamed to 'user_data. All user code have
    been modified accordingly.

  • <drivers/ipm.h> has seen its callback normalized.
    ipm_callback_t had its signature changed to add a struct device
    pointer as first parameter. ipm_register_callback user code have
    been modified accordingly. The context argument has been renamed to user_data
    and all drivers have been modified against it as well.

  • The fs_open function now accepts open flags that are passed as
    a third parameter.
    All custom file system front-ends require change to the implementation
    of open callback to accept the new parameter.
    To maintain original behaviour within user code, two argument invocations
    should be converted to pass a third argument FS_O_CREATE | FS_O_RDWR.

  • The struct device got 3 attributes renamed: config_info to config,
    driver_api to api and finally driver_data to data.
    This renaming was done to get rid of legacy names, for which the reasons
    do no longer apply.

  • All device instances got a const qualifier. So this applies to all APIs
    manipulating struct device * (ADC, GPIO, I2C, ...). In order to avoid
    const qualifier loss on ISRs, all ISRs now take a const *void as a
    paremeter as well.

  • The _gatt_ and _GATT_ infixes have been removed for the HRS, DIS
    and BAS APIs and the Kconfig options.

  • <include/bluetooth/gatt.h> callback bt_gatt_attr_func_t used by
    bt_gatt_foreach_attr and bt_gatt_foreach_attr_type has
    been changed to always pass the original pointer of attributes along with its
    resolved handle.

  • Established the unrestricted alignment of flash reads for all drivers.

Deprecated in this release

  • The full set of k_mem_pool and sys_mem_pool APIs
    are considered deprecated as of this release. The replacements are
    the k_heap and sys_heap APIs. These APIs are not tagged with
    __deprecated in the 2.4 release, but will be in 2.5. They will be
    removed completely in Zephyr 2.6 LTS. The set of APIs now deprecated is as
    follows:

    • k_mbox_data_block_get()
    • k_pipe_block_put()
    • K_MEM_POOL_DEFINE()
    • k_mem_pool_alloc()
    • k_mem_pool_free()
    • k_mem_pool_free_id()
    • SYS_MEM_POOL_DEFINE()
    • sys_mem_pool_init()
    • sys_mem_pool_alloc()
    • sys_mem_pool_free()
    • sys_mem_pool_try_expand_inplace()
  • The Kconfig option CONFIG_MULTITHREADING to disable multi-threading was
    deprecated due to lack of maintainership. This means that single-threaded
    mode with the scheduler disabled is deprecated; normal multi-threaded mode is
    still fully supported.

Removed APIs in this release

  • Other

    • The deprecated MACRO_MAP macro has been removed from the
      util_api. Use FOR_EACH instead.
    • The CONFIG_NET_IF_USERSPACE_ACCESS is removed as it is no longer needed.
  • Build system

    • The set of *_if_kconfig() CMake functions have been removed. Use
      _ifdef(CONFIG_ ...) instead.

Stable API changes in this release

  • USB

    • HID class callbacks now takes a parameter const struct device* which
      is the HID device for which callback was called.
  • Bluetooth

    • The _gatt_ infix has been removed from all GATT service APIs.
  • Bluetooth HCI Driver

    • bt_hci_evt_is_prio() removed, use bt_hci_evt_get_flags() instead when
      CONFIG_BT_RECV_IS_RX_THREAD is defined and call bt_recv and bt_recv_prio
      when their flag is set, otherwise always call bt_recv().

Kernel

  • Initial support for virtual memory management

    • API definitions in include/sys/mem_manage.h.
    • Supporting architectures will implement arch_mem_map() and enable
      CONFIG_MMU.
    • The kernel is linked at its physical memory location in RAM.
    • The size of the address space is controlled via CONFIG_KERNEL_VM_SIZE
      with memory mapping calls allocating virtual memory growing downward
      from the address space limit towards the system RAM mappings.
    • This infrastructure is still under heavy development.
  • Device memory mapped I/O APIs

    • Namedspaced as DEVICE_MMIO and specified in a new
      include/sys/device_mmio.h header.

    • This is added to facilitate the specification and the storage location of
      device driver memory-mapped I/O regions based on system configuration.

      • Maintained entirely in ROM for most systems.
      • Maintained in RAM with hooks to memory-mapping APIs for MMU or PCI-E
        systems.
  • Updates for Memory Domain APIs

    • All threads now are always a member of a memory domain. A new
      memory domain k_mem_domain_default introduced for initial threads
      like the main thread.
    • The k_mem_domain_destroy() and k_mem_domain_remove_thread() APIs
      are now deprecated and will be removed in a future release.
    • Header definitions moved to include/app_memory/mem_domain.h.
  • Thread stack specification improvements

    • Introduced a parallel set of K_KERNEL_STACK_* APIs for specifying
      thread stacks that will never host user threads. This will conserve memory
      as ancillary data structures (such as privilege mode elevation stacks) will
      not need to be created, and certain alignment requirements are less strict.

    • Internal interfaces to the architecture code have been simplified. All
      thread stack macros are now centrally defined, with arches declaring
      support macros to indicate the alignment of the stack pointer, the
      stack buffer base address, and the stack buffer size.

Architectures

  • ARC

    • Added ARC MetaWare toolchain support
    • General arch improvements for stacks & memory domains
    • API improvements for cache flush and cache invalidate
    • Debugging help: show all registers on exception
    • Fix for fast irq (one register bank configuration)
    • Fix for undefined shift behavior (CID 211523)
  • ARM

    • AARCH32

      • Added support for ARM Cortex-M1 architecture.
      • Implemented the timing API in Cortex-M architecture using the Data
        Watchpoint and Trace (DWT) unit.
      • The interrupt vector relaying feature support was extended to Cortex-M
        Mainline architecture variants.
      • Cortex-M fault handling implementation was enhanced by adding an option to
        generate and supply the full register state to the kernel fatal error
        handling mechanism.
      • Fixed Cortex-M boot sequence for single-threaded applications
        (CONFIG_MULTITHREADING=n).
      • Added thread safety to Non-Secure entry function calls in ARMv8-M
        architecture.
      • Fixed stack randomization for main thread.
      • Fixed exception vector table alignment in Cortex-M architecture
      • Increased test coverage in QEMU for ARMv6-M architecture variant.
      • Removed the implementation of arch_mem_domain_* APIs for Cortex-M
    • AARCH64

      • Re...
Read more

Zephyr v2.4.0-rc3

24 Sep 23:11
v2.4.0-rc3
Compare
Choose a tag to compare
Zephyr v2.4.0-rc3 Pre-release
Pre-release
Alexander Kozhinov (1):
      samples: hello_world: cmake warning

Alexandre Bourdiol (5):
      soc: arm: st_stm32: stm32f0: take into account SW_VECTOR_RELAY
      tests: kernel: mem_protect: syscalls: FAULTY_ADDRESS for nucleo_l073rz
      boards: arm: b_l4s5i_iot01a: leds are active high
      tests: kernel: timer: timer_api: tick align for test_timer_k_define
      tests: kernel: timer: timer_api: reorder test_timer_remaining step

Anas Nashif (6):
      samples: tracing: print out useful information
      tracing: fix empty thread name
      samples: synchronisation: handle empty thread name
      tracing: x86_64: move switched_in to switch function
      tracing: handle null thread names with systemview
      actions: increase stale operations

Andrew Boie (3):
      x86-64: fix thread tracing
      doc: releasenotes: mem pool deprecation
      tests: exception: fix thread entry points

Andrzej Głąbek (1):
      modules/Kconfig.nordic: Do not select HAS_CMSIS_CORE through HAS_NRFX

Andrzej Puzdrowski (1):
      include/storage/flash_map: describe return values of flash_area_open()

Armando Visconti (2):
      drivers/sensor/lsm6dsl: Fix read/write bus API in shub code
      drivers: sensor: hts221: Add checks for drdy_gpios macros

Carles Cufi (1):
      kernel: Deprecate CONFIG_MULTITHREADING

Daniel Leung (4):
      tests: x86/pagetables: skip table dumping if large memory
      tests: thread_apis: move uptime gathering in join scenario
      tests: portability/cmsis_rtos_v2: skip up_squared
      samples: cmsis_rtos_v1: philosophers: skip up_squared

David Komel (2):
      drivers: net: slip: Allow slip to co-exist with other interfaces
      net: tcp2: fix sysworkq corruption in tcp_conn_unref()

David Leach (1):
      test: power: Remove frdm_k64f platform from allowed list

Dominik Ermel (1):
      storage: flash_map: Unify partition processing macros name

Emil Gydesen (4):
      Bluetooth: Host: Fix PA sync cancel scan update
      Bluetooth: Host: Change PA sync scan to fast scan
      Bluetooth: Shell: PA sync terminate callback clears entry
      Bluetooth: Shell: Fix PA shell command parameter cnt

Emil Obalski (1):
      tests: shell: Correct overlay extension

Eric Johnson (3):
      sys: byteorder: Fix incorrect shift in sys_get_be48/le48
      tests: kernel: common: Add tests for 48-bit byteorder functions
      tests: kernel: common: Add tests for 24-bit byteorder functions

Erik Brockhoff (1):
      bluetooth: controller: fix mark/unmark error in ull_adv::disable

Erwan Gouriou (1):
      boards: nucleo_l552ze_q: Fix connectors image

Flavio Ceolin (2):
      doc: release notes: Update security notes for 2.4
      codeowners: Add owners to security documentation

Gerard Marull-Paretas (1):
      lib: gui: lvgl: fix touch point rotation equations

Gerson Fernando Budke (2):
      dts: arm: atmel: sam4l: Fix pinctrl typo
      samples: net: echo_server: Decrease buffer for atsamr21_xpro

Hake Huang (1):
      board: update rt6xx series sram mapping

Henrik Brix Andersen (2):
      boards: arm: arty: note which boards can use the pre-built bitstream
      doc: release: 2.4: add sensor_attr_get() in release notes

Ievgenii Meshcheriakov (4):
      drivers/flash/soc_flash_nrf: Name flash sync choice
      drivers/flash/soc_flash_nrf: Rename config option SOC_FLASH_NRF_RADIO_SYNC
      drivers/flash/soc_flash_nrf: Enable ticker radio sync only with Zephyr LL
      drivers/flash/soc_flash_nrf: Remove blank lines at the end of config files

Ilya Averyanov (1):
      Bluetooth: fix strncpy call in bt_set_name

Ioannis Glaropoulos (6):
      arch: arm: cortex_m: cleanup SW_VECTOR_RELAY_CLIENT dependencies
      modules: tfm: make BL2 header in non-secure image configurable
      boards: mps2_an521: do not offset the image by default by 0x400.
      boards: arm: musca_b1: do not offset the image by default by 0x400.
      boards: nucleo_l552ze_q: do not offset the image by default by 0x400.
      tests: explicitly disable HW Stack Protection when needed

Joakim Andersson (2):
      Bluetooth: SMP: Move le_sc_supported helper function up
      Bluetooth: host: Fix stuck OOB get local functions SC is not supported

Johan Hedberg (1):
      x86: pcie: Fix calling pcie_mm_init()

Johann Fischer (1):
      drivers: eth_enc424j600: initialize device pointer

Jukka Rissanen (8):
      net: conn: Ignore unhandled IPv4 broadcast packets
      net: pkt: Add net_pkt_is_empty() util function
      net: Drop incoming packet if there is no data in it
      net: gptp: Allow user to tweak priority1 and priority2 values
      net: gptp: Print priority1 and priority2 vars in net-shell
      tests: net: tcp2: Fix crash in frdm_k64f
      net: DHCPv4 needs UDP to work properly
      net: tcp2: Access k_work in k_delayed_work using field name

Julien D'Ascenzio (1):
      soc: arm: stm32[l4|wb]: fix power state exit

Krzysztof Chruscinski (1):
      drivers: clock_control: nrf: Fix waiting for LF clock

Kumar Gala (3):
      net: tcp2: Fix build failures on 64-bit platforms
      ci: double number of builders for daily build
      doc: release: 2.4: Add notes about devicetree related changes

Lauren Murphy (1):
      doc: Clarify semantics of k_msgq_put

Lingao Meng (1):
      Bluetooth: Mesh: Fix send input_complete before public key

Luiz Augusto von Dentz (4):
      Bluetooth: UUID: Fix BT_UUID_ES_TRIGGER_SETTING
      Bluetooth: GATT: Fix assuming CCC position
      Bluetooth: L2CAP: Document behavior of alloc_buf
      Bluetooth: L2CAP: Truncate RX MTU if segmentation is not supported

Maksim Masalski (1):
      tests: arch: x86 mem protection check CPU scrubs regs after syscall

Marek Porwisz (1):
      net: openthread: Fix stack overflow for joiner

Maureen Helm (3):
      doc: release: Add 2.4.0 highlights
      doc: release: Add NXP SoCs, boards, and drivers to 2.4.0 notes
      release: Zephyr 2.4.0-rc3

Peter Bigot (2):
      logging: avoid null pointer dereference in loop
      tests: kernel/sleep: increase maximum threshold for nRF51

Ryan Erickson (1):
      doc: release notes: mention Pinnacle 100 board addition

Siddharth Chandrasekaran (1):
      board: stm32_min_dev: Fix LED0 connection inversion

Stephan Walter (1):
      drivers: nrf_qspi: fix devicetree opcode references

Torsten Rasmussen (2):
      cmake: fix zephyr_get_system_include_directories_for_lang() function
      west.yml: update openthread module

Trond Einar Snekvik (1):
      Bluetooth: Mesh: Provisioning: Reject identical random

Vinayak Kariappa Chettimada (3):
      Bluetooth: controller: Fix REJECT_IND PDU handling
      Bluetooth: controller: nRF53x: Fix missing sw_switch clear DPPI config
      Bluetooth: controller: Fix redundant PDU transmission

Wentong Wu (2):
      tests: kernel: mem_map: Explicitly cast function pointer to (void *)
      arch: x86: mmu: use z_x86_kernel_ptables as array.

Øyvind Rønningstad (3):
      arm: tz: secure_entry_functions.ld: Fix NSC_ALIGN redefinition
      arm: tz: secure_entry_functions.ld: Fix NSC_ALIGN for nRF devices
      cortex_m: secure_entry_functions.ld: Increase SAU alignment to 32

Zephyr v2.4.0-rc2

19 Sep 15:39
v2.4.0-rc2
Compare
Choose a tag to compare
Zephyr v2.4.0-rc2 Pre-release
Pre-release
Abhishek Shah (2):
      Revert "drivers: watchdog: Remove useless Kconfig entry"
      drivers: watchdog: cmsdk: rename wdog_cmsdk_apb_enable

Abram Early (1):
      drivers: winc1500: Fix signed/unsigned comparison

Alexandre Bourdiol (7):
      tests: benchmarks: data_structure_perf: rbtree: uninitialized field
      tests: lib: cmsis:transform: cf64 min_ram 96k
      tests: lib: cmsis:transform: cf64 min_ram reorder test to fit 96k
      drivers: dma: dma_stm32: can't use device_get_binding() during init
      drivers: dma: dma_stm32_v2: typo in compilation switch
      tests: kernel: context: align timer init on ticks
      tests: posix: common: move printk() out of k_usleep() tick alignment

Anas Nashif (14):
      tests: footprint: remove deperecated API call
      samples: shell: fs: require keyboard harness
      actions: add backporting bot
      tests: usb: add fixture requirement
      power: fix Kconfig help message
      board: arc: fix nsim_em7d_v22 identifier
      boards: ODROID-GO: fix board identifier
      boards: LPCXpresso55S69: remove duplicate identifier
      sanitycheck: error on duplicate board identifier
      boards: lpcxpresso55s69_cpu1: disable sanitycheck
      samples: display: add fixture
      sanitycheck: capture timeout as reason in cases we kill qemu
      sanitycheck: comment cleanup and style fixes
      actions: stale: increase operations per run

Andrew Boie (12):
      mps2_an385: use default stack sizes
      tests: userspace: fix flaky behavior
      aarch64: work around QEMU 'wfi' issue
      x86: print more detail on non-present pagefaults
      tests: mem_protect: fix test prototypes
      tests: mem_protect: fix SMP race
      doc: release-notes: kernel & x86
      sched: hold spinlock in z_thread_timeout()
      sched: check if runnable in sliceable()
      sched: hold spinlock in z_time_slice()
      sched: don't use local lock in z_tick_sleep()
      x86: memory map BIOS Data Area

Andrzej Głąbek (2):
      drivers: spi: Kconfig.nrfx: Use RAM buffers for SPIMs by default
      drivers: spi: nrfx: Restore recently changed spi_context function

Andrzej Kaczmarek (1):
      Bluetooth: controller: Fix TxAdd setting in auxiliary PDU

Andrzej Puzdrowski (5):
      include/drivers/flash: correction on the unrestricted alignment of writes
      drivers/flash/nrf_qspi_nor: corrects write-block-size to 4B
      release-note: settings, management and other updates
      manifest: mcuboot update
      release-notes-2.4: flash changes

Armando Visconti (2):
      drivers: sensor: lis2dh: make the driver multi-instance
      drivers: sensor: lsm6dsl: make the driver multi-instance

Carles Cufi (8):
      github: actions: Use on-PR labeler
      github: labeler: Fix dts/ folder matching
      Revert "github: labeler: Fix dts/ folder matching"
      github: labeler: Remove line using negation (!)
      Bluetooth: controller: Make RX prio thread stack configurable
      Bluetooth: tester: Fixes for GCC 10.x
      boards: nordic: Turn hardware stack protection on by default
      boards: nrf52840dongle: Enable serial conditionally

Carlo Caione (1):
      arm64: tracing: Fix double tracing

Crist Xu (1):
      drivers: usb: Fix usb fail when using the on-chip memory

Daniel Leung (9):
      benchmarks: add an app for commonly used kernel funcs footprint
      x86: pcie: fallback to config via PIO
      tests: latency_measure: move timing_init() earlier
      doc: releases: add notes on core dump for v2.4 release
      x86_64: fix size to init stack at boot
      linker: add macros so iterable sections can be garbage collected
      linker: do not force keep common kernel objects
      kernel: add kconfig CONFIG_KERNEL_MEM_POOL
      samples: basic/minimal: disable memory pool when MT=n

Daniel Schaupp (1):
      doc: getting_started: updated reel board blinky gif

David Leach (1):
      random: rand32_ctr_drbg: Fix missed device constify change

Dominik Ermel (1):
      storage: flash_map: Fix checking unsigned for negative value

Eduardo Montoya (1):
      net: openthread: fix initialization with link raw enabled

Emil Obalski (8):
      usb: Fix for is_ep_valid
      usb: clock_control: Fix symbol when getting mgr for HFCLK
      usb: intel: Fix the sample, update to recent API change.
      usb: nrf: Do not allow to clear STALL or dtoggle for ISO ep.
      usb: cdc: Semaphore per CDC_ACM instance.
      usb: cdc_acm: Do not change rx/tx_irq_ena flags on RESET and CONFIGURED
      samples: mgmt: smp_svr: Add Serial over USB CDC_ACM overlay.
      samples: mgmr: smp_svr: Build samples in CI.

Erwan Gouriou (9):
      CODEOWNERS: aplhabetical sorting
      CODEOWNERS: Add reviewers on stm32 components
      CODEOWNERS: stm32: Update on active members
      drivers/entropy: stm32: fix error erasing
      dts/arm/st: Keep systick disabled by default
      boards: Fix obsolete link to flash partition doc
      doc: release notes  V2.4.0: STM32 related additions
      doc: release notes  V2.4.0: Shields additions
      dts/Kconfig: Remove HAS_DTS_I2C

Erwin Rol (1):
      boards: nucleo_l4r5zi: Correct SPI1 SCK pin setting

Eug Krashtan (1):
      samples: net: sockets: Fix for multicast filtering

Eugeniy Paltsev (2):
      linker: kobject-text: align multiline string definition syntax
      ARC: linker: merge GNU and MWDT linker scripts

Fabio Utzig (7):
      doc: bump breathe>=4.21.0
      doc: enable SEPARATE_MEMBER_PAGES compatibility
      doc: add new @option Doxygen ALIAS
      doc: update Kconfig options to use @option ALIAS
      doc: update reference to use :c:macro
      doc: update bluetooth to use @option ALIAS
      doc: ext: link-roles: allow non-default baseurl

Flavio Ceolin (4):
      mgmt: hawkbit: Fix resources leakage
      mbedtls: Bump to 2.16.8
      codeowners: Add myself to gdbstub
      codeowners: Add myself as additional onwer to power

Gerard Marull-Paretas (4):
      lib: gui: lvgl: add support for kscan axes swap and inversion
      boards: shields: invert kscan X axis on Arduino 2.8" TFT
      boards: shields: invert kscan X axis on Buydisplay 2.8" TFT
      lib: gui: lvgl: match kscan rotation with the display

Gerson Fernando Budke (2):
      boards: atmel: set BUILD_OUTPUT_HEX for OpenOCD boards
      boards: atmel: Add missing default configuration

Grzegorz Kostka (1):
      lib: fdtable: fix z_free_fd multiple calls fd leak

Guillaume Lager (1):
      logging: rtt: Do not retry on error in non blocking mode

Henrik Brix Andersen (3):
      samples: canbus: canopen: fix argument to CO_delete()
      doc: release: 2.4: add ARM DesignStart FPGA related release notes
      manifest: Update CANopenNode to include v1.3 SDO/LSS bug fixes

Ievgenii Meshcheriakov (2):
      shell: Make shell UART backend initialization priority configurable
      shell: Fix typo in a comment

Ioannis Glaropoulos (10):
      doc: release: v2.4.0 release notes draft for Cortex-M
      doc: release: v2.4.0 release notes draft for Cortex-A
      CODEOWNERS: remove commas in reviewers' listing
      tests: arm: interrupt: fix side effect in assertion
      tests: kernel: fatal: minor #ifdef guard fix
      arch: arm: aarch64: remove non-applicable linker section
      tests: arch: arm: rework test suite configuration
      tests: arch: arm: do not build/run test suites for _ns boards
      boards: nrf9160: fix default flash partitioning
      boards: nrf5340: fix default flash partitioning

Jakub Rzeszutko (2):
      shell: fix Tab crashing issue
      shell: add argc range in Kconfig

Jan Van Winkel (1):
      cmake: Ignore LDFLAGS and AFLAGS from environment

Jennifer Williams (1):
      docs: ref: kernel: clarify data_item structure in message queues

Jeremy LOCHE (1):
      drivers: bluetooth: hci_spi: fix init priority

Jian Kang (2):
      test: add new test cases for timer
      tests: mailbox: add new tests

Joakim Andersson (5):
      Bluetooth: controller: Select controller features from SoC capabilities
      Bluetooth: controller: Fix Kconfig dependencies for PHY options
      Bluetooth: host: Fix not setting NRPA before starting scanner
      Bluetooth: host: Ignore failure to set passive scanner address
      Bluetooth: host: Fix bug in device name shortening handling

Jukka Rissanen (24):
      doc: net: Add networking changes to 2.4 release note
      net: context: Simplify the param check when sending data
      net: context: Fix sendmsg() handling in AF_CAN socket
      modules: mbedtls: Allow to enable server name indication option
      doc: net: Add note about socket API thread safe status
      drivers: eth: Fix return value if we run out of bufs in TX
      net: tcp2: Use pointer to slist node
      net: tcp2: Use safe version of slist macro in conn search
      net: conn: Use safe slist macro when searching connection
      net: tcp2: Honor TCP retry count limit from Kconfig file
      net: socket: Wait new buffers when sending
      net: tcp2: Do not close connection if we run out of memory
      net: tcp2: Avoid double free message
      net: context: Return -ENOBUFS to caller if we run out of bufs
      net: tcp2: Make sure the pkt if not null
      net: tcp2: Re-order connection struct fields
      net: tcp2: Adjust the send window according to avail bufs
      net: tcp2: If the send window is full, do not try to send
      net: tcp2: Print context state when closing connection
      net: tcp2: Fix connection state debugging
      net: tcp2: Retrigger resend if sending window is full
      net: tcp2: Bail out if new connection cannot be created
      net: tcp2: Fix connection termination
      net: tcp2: Check that connection exists in net_tcp_put()

Krzysztof Chruscinski (7):
      drivers: timer: nrf...
Read more

Zephyr 2.4.0-rc1

05 Sep 19:53
v2.4.0-rc1
Compare
Choose a tag to compare
Zephyr 2.4.0-rc1 Pre-release
Pre-release
Aastha Grover (9):
      scripts: tests: sanitycheck: Add more testcases for Class TestSuite
      tests: sanitycheck: Testcases for load_from_file and apply_filters
      sanitylib: Fix discard_report to check self.discards dict
      sanitycheck: Testcases for report functions of TestSuite Class
      github workflow : Add github worklow for Sanitycheck testsuite
      requirements-build-test.txt: Updating mock module version
      include: Implement API's for cache flush and cache invalidate
      arch: x86: core: Add cache flush function for x86
      syscalls: Add system call for cache flush & invalidate

Abhishek Shah (15):
      drivers: pcie: remove depends on X86
      pcie: endpoint: Add public APIs for PCIe endpoint driver
      pcie: endpoint: Introduce API to achieve PCIe data transfer
      dts: bindings: Add binding for iProc PCIe EP node
      dts: arm: viper: Add DT node for iProc PCIe EP
      pcie: endpoint: Add iProc PCIe EP driver
      boards: arm: bcm958402m2_a72: Enable PCIe EP support
      pcie: endpoint: Add public API to register reset interrupt callback
      drivers: pcie: ep: iproc: Add reset interrupt handlers
      drivers: pcie: ep: iproc: Add reset callback support
      drivers: pcie: Do not enable PCIe RC module shell for endpoint
      soc: arm: viper: Add PCIe highmem OB memory in MMU table
      soc: arm: viper: Fix callee saved register corruption in el3 init
      drivers: pcie: refactor pcie directory to make RC and EP independent
      boards: arm: bcm958402m2_a72: remove CONFIG_PCIE

Adam Porter (3):
      drivers: modem: use zsock_ variants of socket API
      drivers: wifi: remove dependency on NET_SOCKETS_POSIX_NAMES
      net: sockets: remove POSIX_NAMES dependency on SOCKETS_OFFLOAD

Alberto Escolar Piedras (2):
      tests: kernel benchmark: Avoid timeout in nrf52_bsim
      native_posix: timer: Ignore nanosleep return

Aleksandr Koltsoff (1):
      cmake: sort shield list and improve indent

Alexander Falb (2):
      boards: Add support for the Serpente Board
      tests/samples: add samples for Serpente board

Alexander Kozhinov (17):
      soc: stm32: Add support for stm32h745xx SoC
      boards: Add support for NUCLEO-H745ZI-Q
      dts: arm: st: h7: add rng peripheral support
      dts: arm: st: h7: add dma peripheral support
      boards: nucleo_h745zi_q_m7: fixed pwm bug
      samples: net: sockets: big_http_download: Extend progress metrics
      drivers: pinumx: stm32: pinmux_stm32h7: added ethernet pins
      drivers: ethernet: stm32: pre-add stm32h7 support
      drivers: ethernet: stm32: add stm32h7 support
      boards: nucleo_h745zi_q: added ethernet support
      boards: arm: dts: nuleo_h745zi_q_m7
      boards: arm: dts: nuleo_h745zi_q_m4
      boards: arm: yaml: nucleo_h745zi_q_m4
      soc: arm: stm32h7: entropy generator support
      boards: arm: nucleo_h745zi_q: rng
      soc: arm: stm32h7: remove explicit full libc selection
      samples: net: sockets: civetweb

Alexandre Bourdiol (35):
      board: arm: Enable MPU for all STM32 boards supporting it
      soc: arm: st_stm32: add include of devictree.h in soc.h
      tests: lib: mem_alloc: restrict newlib config to more than 16K RAM
      net: ip: copy to wrong destination in z_vrfy_net_addr_pton()
      drivers: STM32 dualcore concurrent register access protection with HSEM
      drivers: flash: stm32wb return in case of control register locked
      boards: arm: nucleo_f767zi: ethernet restriction on cut-A
      drivers: flash: stm32wb: disable Page Erase at end of erase_page()
      STM32H7: manage Dual core boot whatever option bytes configuration
      boards: arm: nucleo_g474re: add device tree rng okay
      tests: drivers: spi: spi_loopback: add fixture spi_loopback
      tests: drivers: spi: spi_loopback: add nucleo_f429zi support
      tests: drivers: spi: spi_loopback: add nucleo_f746zg support
      tests: drivers: spi: spi_loopback: add nucleo_f103rb support
      tests: drivers: spi: spi_loopback: add stm32f3_disco support
      tests: drivers: spi: spi_loopback: add nucleo_g474re support
      tests: drivers: spi: spi_loopback: add nucleo_l4r5zi support
      tests: drivers: gpio: gpio_basic_api: add some STM32 boards overlay
      drivers: i2c: fix STM32 implicit-fallthrough warning
      drivers: entropy: stm32: RCC_HSI48_SUPPORT not always defined
      boards: arm: nucleo_h743zi: add rng support
      board: arm: nucleo_f207zg: add DAC support
      tests: drivers: dac: dac_loopback: add fixture dac_adc_loopback
      tests: drivers: pwm: pwm_api: add support of STM32 boards
      dts: arm: st: add interrupts property to rng node
      drivers: entropy: stm32 full driver rework with software fifo
      boards: arm: nucleo_g071rb enable PWM
      boards: arm: stm32f3_disco: enable PWM
      soc: arm: st_stm32: update HSEM ID from STM32WB cube update
      drivers: STM32: Rework CLK48 HSEM protection
      drivers: flash: stm32wb: rework dualcore flash operation
      boards: arm: nucleo_g474re: add watchdog support to yaml
      boards: arm: nucleo_l152re: fix openOCD issue to access bank2
      drivers: clock: stm32f7 needs power over-drive to reach 216Mhz
      tests: lib: cmsis_dsp: matrix: binary_q15 reorder test to fit 128k ram

Alexey Brodkin (1):
      tests: Exclude qemu_arc{em|hs} in some

Alexey Markevich (6):
      samples: net: google_iot_mqtt: log actual error
      samples: net: google_iot_mqtt: fix log typo
      samples: net: google_iot_mqtt: fix subscription qos initialization
      samples: net: google_iot_mqtt: use sntp_simple
      samples: net: google_iot_mqtt: remove unused definition
      samples: net: google_iot_mqtt: fix CONFIG_CLOUD_CLIENT_ID value

Anas Nashif (145):
      up_squared: disable i2c in defconfig
      up_squared: enable SMP on this board
      tests: kernel: remove ram restrictions
      tests: kernel: common: rename test boot_delay
      tests: common: skip bootdelay test on qemu_cortex_m0
      ci: add compliance checking via GH actions
      sanitycheck: capture non-ztest results
      spelling: fix typo
      tests: exclude qemu_arc_hs in lifo_usage test
      samples: remove board_shell
      shell: enable modules by default if shell is enabled
      pcie: shell: add subcommands
      test: remove TEST_SHELL
      shell: kernel: select dependencies
      tests: jwt: increase timeout for test
      boards: qemu_cortex_a53: do not run on net/bt tests
      kernel: logging: convert K_DEBUG to LOG_DBG
      kernel: cleanup header inclusion
      tests: net: remove duplicate test
      test: posix: fix identifier
      sanitycheck: reorg junit output for nicer reports
      ci: do not run sanitycheck on action changes
      actions: add automatic labeler action
      actions: action for processing stale PRs/Issues
      actions: only mark bugs as stale
      ci: do not skip BT simulator tests
      actions: mark pull requests with conflicts
      sanitycheck: set selected_plaforms when loading tests from file
      boards: waveshare_open103z: remove unused Kconfig
      actions: use one label for stale PRs and issues
      actions: disable conflict action for now
      Revert "tests: rbtree to add and modify some tastcases"
      Revert "tests: dlist to add a testcase and add some tags"
      boards: qemu_arc: disable as default test platform
      sanitycheck: fix --failed-only handling
      ci: do not run sanitycheck on linter config changes
      sanitycheck: handle qemu crashes
      sanitycheck: Use the C LibYAML parser if available
      templates: rename rfc template file
      templates: add template for hardware support
      doc: add coding guidelines
      actions: update daily version for testing
      sanitycheck: do not retry build errors with --retry-failed
      doc: make device pm APIs show in doxygen docs
      doc: replace lifo/fifo with LIFO/FIFO
      sanitycheck: capture fails correctly on qemu crashes
      doc: fix usage of :c:type
      sanitycheck: disable erroring on warnings
      x86: zefi: support arguments and make compatible with windows
      boards: up_squared: add a post build target
      actions: daily_tests: fetch all tags
      tests/samples: add tags to some tests
      sanitycheck: support only_tags for boards
      boards: qemu_x68_nommu: run only kernel/userspace tests
      sanitycheck: fix --device-testing without serial-pty
      samples: remove useless nfc sample
      scripts: add maintainer script
      doc: add documentation for tool targets
      sanitycheck: do not expect results from build_only instances
      sanitycheck: do not duplicate code in tests
      sanitycheck: remove verbose log message
      tests: remove obsolete doxygen boilerplate
      tests: fix device model tests and remove wrong doxygen grouping
      doc: group audio header using doxygen
      sanitycheck: realign schema
      sanitycheck: introduce integration testing
      samples: philosophers: enable for integration testing
      tests: cmsis_dsp: use integration keyword
      samples: hello_world: filter for integration
      samples: cpp_synchronization: filter for integration
      ci: enable sanitycheck for integration
      tests: dac: remove whitelist
      tests: benchmarks: filter for integration
      tests: tinycrypt: do not whitelist
      samples: bluetooth: cleanup prj*.conf
      drivers: arcv2_irq_unit: remove include
      power: remove unused inclusion of soc.h
      tests: device: remove whitelisting
      tests: shell: remove filter
      samples: pi: add integration support
      tests/samples: enable for integration testing
      boards: qemu_x86_coverage: limit to core tests
      doc: add documentation about --integration option
      sanitycheck: fix only_tags usage
      tests...
Read more

Zephyr v2.3.0

05 Jun 20:07
zephyr-v2.3.0
Compare
Choose a tag to compare

We are pleased to announce the release of Zephyr RTOS version 2.3.0.

Major enhancements with this release include:

  • A new Zephyr CMake package has been introduced, reducing the need for
    environment variables
  • A new Devicetree API, based on hierarchical macros, has been introduced. This
    new API allows the C code to access virtually all nodes and properties in a
    clean, organized fashion
  • The kernel timeout API has been overhauled to be flexible and configurable,
    with future support for features like 64-bit and absolute timeouts in mind
  • A new k_heap/sys_heap heap allocator has been introduced, with much better
    performance than the existing k_mem_pool/sys_mem_pool
  • 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

The following sections provide detailed lists of changes by component.

Security Vulnerability Related

The following CVEs are addressed by this release:

  • CVE-2020-10022: UpdateHub Module Copies a Variable-Sized Hash String
    into a fixed-size array.
  • CVE-2020-10059: UpdateHub Module Explicitly Disables TLS
    Verification
  • CVE-2020-10061: Improper handling of the full-buffer case in the
    Zephyr Bluetooth implementation can result in memory corruption.
  • CVE-2020-10062: Packet length decoding error in MQTT
  • CVE-2020-10063: Remote Denial of Service in CoAP Option Parsing Due
    To Integer Overflow
  • CVE-2020-10068: In the Zephyr project Bluetooth subsystem, certain
    duplicate and back-to-back packets can cause incorrect behavior,
    resulting in a denial of service.
  • CVE-2020-10069: An unchecked parameter in bluetooth data can result
    in an assertion failure, or division by zero, resulting in a denial
    of service attack.
  • CVE-2020-10070: MQTT buffer overflow on receive buffer
  • CVE-2020-10071: Insufficient publish message length validation in MQTT

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.

A single high-priority bug is currently open:

  • #23364 - Bluetooth: bt_recv deadlock on supervision timeout with
    pending GATT Write Commands

API Changes

  • HWINFO

    • The identifier data structure for hwinfo drivers is clarified. Drivers are
      responsible for ensuring that the identifier data structure is a sequence
      of bytes. The returned ID value is not supposed to be interpreted based on
      vendor-specific assumptions of byte order and should express the identifier
      as a raw byte sequence.
      The changes have an impact on users that use the hwinfo API to identify
      their devices.
      The sam0 driver byte swaps each 32 bit word of the 128 bit identifier to
      big endian.
      The nordic driver byte swaps the entire 64 bit word to big endian.
  • I2C

    • Added a new API for recovering an I2C bus from situations where the I2C
      master and one or more I2C slaves are out of synchronization (e.g. if the
      I2C master was reset in the middle of an I2C transaction or if a noise
      pulse was induced on the SCL line).

Deprecated in this release

  • Kernel

    • k_uptime_delta_32(), use k_uptime_delta()

    • Timeout values

      • All timeout values are now encapsulated k_timeout_t opaque structure when
        passing them to the kernel. If you want to revert to the previous s32_t
        type for the timeout parameter, please enable
        :option:CONFIG_LEGACY_TIMEOUT_API
  • Bluetooth

    • BT_LE_SCAN_FILTER_DUPLICATE, use BT_LE_SCAN_OPT_FILTER_DUPLICATE instead
    • BT_LE_SCAN_FILTER_WHITELIST, use BT_LE_SCAN_OPT_FILTER_WHITELIST instead
    • bt_le_scan_param::filter_dup, use bt_le_scan_param::options instead
    • bt_conn_create_le(), use bt_conn_le_create() instead
    • bt_conn_create_auto_le(), use bt_conn_le_create_auto() instead
    • bt_conn_create_slave_le(), use bt_le_adv_start() instead with
      bt_le_adv_param::peer set to the remote peers address.
    • BT_LE_ADV_* macros, use BT_GAP_ADV_* enums instead
  • Boards

    • nrf51_pca10028 has been renamed to nrf51dk_nrf51422
    • nrf51_pca10031 has been renamed to nrf51dongle_nrf51422
    • nrf52810_pca10040 has been renamed to nrf52dk_nrf52810
    • nrf52_pca10040 has been renamed to nrf52dk_nrf52832
    • nrf52833_pca10100 has been renamed to nrf52833dk_nrf52833
    • nrf52811_pca10056 has been renamed to nrf52840dk_nrf52811
    • nrf52840_pca10056 has been renamed to nrf52840dk_nrf52840
    • nrf52840_pca10059 has been renamed to nrf52840dongle_nrf52840
    • nrf9160_pca10090 has been renamed to nrf9160dk_nrf9160
    • nrf52840_pca10090 has been renamed to nrf9160dk_nrf52840
    • nrf52_pca20020 has been renamed to thingy52_nrf52832
    • nrf5340_dk_nrf5340 has been renamed to nrf5340pdk_nrf5340
    • efr32_slwstk6061a has been renamed to efr32_radio_brd4250b
  • Devicetree

    • The C macros generated from the devicetree in previous releases are now
      deprecated in favor of a new <devicetree.h> API.
    • See :ref:dt-from-c for a high-level guide to the new API, and
      :ref:devicetree_api for an API reference.
    • Use of the legacy macros now requires explicitly enabling
      :option:CONFIG_LEGACY_DEVICETREE_MACROS. See :ref:dt-legacy-macros for
      more information, including a link to a migration guide to the new API.
  • Other

    • MACRO_MAP has been deprecated. Use FOR_EACH instead.
    • BUILD_ASSERT_MSG has been deprecated. Use BUILD_ASSERT instead.

Removed APIs in this release

  • The INLINE macro in util.h has been removed.
  • STACK_ANALYZE, stack_analyze and stack_unused_space_get have been
    removed.

Stable API changes in this release

  • Bluetooth Mesh

    • The net_idx parameter has been removed from the Health Client model
      APIs since it can be derived (by the stack) from the app_idx parameter
  • Networking

    • The NET_DEVICE_INIT(), NET_DEVICE_INIT_INSTANCE(), NET_DEVICE_OFFLOAD_INIT()
      and ETH_NET_DEVICE_INIT() macros changed and take a device power management
      function pointer parameter. If networking PM is not implemented for the
      specific network device, the device_pm_control_nop value can be used.
  • Video

    • The video_dequeue() API call now takes a k_timeout_t for the timeout
      parameter. This reverts to s32_t if CONFIG_LEGACY_TIMEOUT_API is enabled.
  • Floating Point Services

    • FLOAT and FP_SHARING Kconfig options have been renamed to FPU and FPU_SHARING,
      respectively.

Kernel

  • A new general purpose memory allocator, sys_heap/k_heap, has been added
    to Zephyr with more conventional API/behavior, better space
    efficiency and higher performance than the pre-existing mem_pool.
    The older mem_pool APIs are, by default, wrappers around this new
    heap backend and will be deprecated in an upcoming release. The
    original implementation remains available for this release via
    disabling CONFIG_MEM_POOL_HEAP_BACKEND.
  • The timeout arguments to all kernel calls are now a "k_timeout_t"
    type instead of a 32 bit millisecond count. These can be
    initialized in arbitrary time units (ns/us/ms, ticks), be
    interpreted relative to either current time or system start, and be
    expressed in 64 bit quantities. This involves a minor change to the
    API, so the original API is still available in a completely
    source-compatible way via CONFIG_LEGACY_TIMEOUT_API.
  • Simplified dummy thread implementation and properly name idle threads
  • Centralized new thread priority check
  • Refactored device structures and introduced struct init_entry which is
    a generic init end-point. SYS_INIT() generates only a struct init_entry via
    calling INIT_ENTRY_DEFINE(). Also removed struct deviceconfig leaving
    struct device to own everything now.

Architectures

  • ARC:

    • Changed to automatic generation of privilege stack for ARC MPU V2 to
      avoid the potential waste of memory When USERSPACE is configured
    • Enhanced runtime programming for the MPU v3 by making the gap-filling
      of kernel memory a user-configurable feature
    • Refactored the thread switch code in epilogue of irq and exception
    • Refactored the assembly codes for better maintenance
    • Fixed the behavior of ARC timer driver
    • Fixed the behavior of ARC SMP
    • Fixed the wrong configurations of ARC boards in Kconfig and DTS
  • ARM:

    • CMSIS has been moved out of the main tree and now resides in its
      own standalone module repository
    • Updated CMSIS version to 5.7.0
    • Added CMSIS-DSP library integration
    • Added semihosting console support
    • Cleanups and improvements to the Cortex-M exception vector table
    • Fixed the behavior of Cortex-M spurious IRQ handler
    • Fixed parsing of Cortex-M MemManage Stacking Errors
    • Fixed the arch_cpu_idle() implementation for Cortex-M and Cortex-R
    • Renamed Cortex-R architecture port to cortex_a_r in preparation for the
      AArch32 Cortex-A architecture port
    • Added processor exception handling and reporting framework for Cortex-R
    • Added nested interrupt support on AArch32 Cortex-R and AArch64 Cortex-A
    • Refactored Cortex-R interrupt system to remove fake multi-level interrupt
      controller abstraction scheme
  • POSIX:

    • Added support for building on ARM hosts
  • RISC-V:

    • Added support for hard floating point for RISC-V
    • Added march and mabi options to Kconfig
    • Fixed compilation warning for platforms without PLIC
  • x86:

    • Instrumented code for timing information
    • Added ability for SoC to add MMU regions
    • x86 FPU sharing symbols renam...
Read more

Zephyr 2.3.0-rc2

03 Jun 22:02
v2.3.0-rc2
Compare
Choose a tag to compare
Zephyr 2.3.0-rc2 Pre-release
Pre-release
Aastha Grover (3):
      sanitylib: Remove hardcoded sample.yaml & testcase.yaml in TestSuite class
      sanitycheck: add testcases for add_testcases function of testsuite class
      scripts: tests: sanitycheck: Add testcases for schema validation.

Abhishek Shah (2):
      dts: arm: Fix incorrect interrupt cells order
      dts: arm: qemu-virt: Modify timer interrupt to be level-sensitive

Alberto Escolar Piedras (1):
      doc: release-notes-2.3: Add POSIX ARCH section

Alexander Wachter (1):
      drivers: pwm: Clarify period parameter

Alexandre Bourdiol (7):
      test: drivers: gpio: gpio_basic_api: disable interrupt at end of test
      tests: drivers: counter: counter_basic_api: allow equality in assert
      driver: counter: counter_ll_stm32_rtc.c: Add 1 tick to alarm
      sample: drivers: counter: alarm: adapt test to driver change
      test/benchmarks/latency_measure: adapt test to 24bit Systick for STM32
      test: lib: heap: increase timeout
      tests: kernel: mem_protect: syscalls: configurable faulty address

Anas Nashif (20):
      sanitycheck: move export-tests handling and deduplicate code
      sanitycheck: support --force-platform
      samples: clean test identifiers
      sanitycheck: support exporting instances
      sanitycheck: also look for cpp files when scanning
      sanitycheck: give summary about built vs executed
      ci: update ci-tools repo sha
      sanitycheck: detect wrongly named tests and fail
      tests: ztest: prefix tests with test_
      templates: use correct label for Enhancement
      sanitycheck: remove wrong message about --qemu-testing
      sanitycheck: cleanup fixture processing
      tests: maxim_ds3231_api: use fixture
      sanitycheck: support fixtures
      sanitycheck: add fixture support to hardware map
      tests: gpio_basic: this test requires a fixture
      doc: sanitycheck: fixture documentation
      drivers: pwm: fix doxygen docs
      doc: add a header to all pages about development version
      doc: make statement about version bold

Andreas Sandberg (1):
      boards: arm: b_l072z_lrwan1: Fix flashing of big firmware

Andrei Gansari (4):
      dts: mikro-bus definition
      boards: Eth Click MikroElectronica shield
      boards: lpcxpresso55s69 add mikroBUS mapping
      boards: lpcxpresso55s69 add Arduino mapping

Andrew Boie (24):
      kernel: simplify dummy thread implementation
      x86: properly align initial dummy thread
      kernel: wipe TLS before dropping to user mode
      tests: userspace: check for TLS leakage
      docs: fix user mode sidebar
      x86: dump the right page tables
      tests: userspace: check TLS location
      kernek: don't allow mutex ops in ISRs
      x86: 32-bit: allow direct ISRs only with !KPTI
      kernel: fix k_object_free() spelling
      userspace: fix bad ssf pointer on bad/no syscall
      userspace: add z_is_in_user_syscall()
      scripts: gen_kobject_list: generalize obj alloc
      scripts: parse_syscalls: generalize struct tags
      userspace: net sockets are kernel objects
      net: tag net socket objects
      net: sockets: add API to fetch an fd's ctx object
      tests: net_mgmt: grant socket access
      tests: net: tcp: test zsock_get_context_object
      fdtable: init fd context objects
      net: lib: remove socket-specific recycle calls
      userspace: improve dynamic object allocation
      net: socketpair: fix user mode access
      net: check permissions on net contexts

Andrew Fernandes (1):
      logging: set 'log_backend_rtt:panic_mode' before 'log_backend_std_panic'

Andries Kruithof (2):
      Bluetooth: controller: split: Update feature exchange to BTCore V5.0
      Bluetooth: controller: split: include proper header file

Andrzej GÅ‚Ä…bek (5):
      nrf_radio_802154: Use chosen zephyr,entropy to get entropy device
      boards: arm: nrf5340pdk: Fix i2c1 pin assignments
      sensor: temp_nrf5: Allow use only when the TEMP peripheral is present
      drivers: serial: nrfx: Force poll_out when lock attempts are over
      drivers: uart_nrfx_uarte: Prevent spurious UART_RX_BUF_REQUEST

Andrzej Puzdrowski (5):
      manifest: mcumgr bugfix upgrade
      storage/stream: fix possible unaligned write on buffer flush
      tests/subsys/storage/stream_flash: add unaligned flash test
      include/storage/steram_flash: update buffer size requirements
      tests/subsys/settings/functional/nvs: add nrf52xx configuration

Andy Ross (6):
      tests/kernel/common: Make test_timeout_order 1cpu
      soc/x86/apollo_lake: IOAPIC ID's are not a SMP feature
      kernel/timer: Handle K_FOREVER in k_timer_start()
      docs/releases: Document the heap and timeout changes in 2.3
      kernel/queue: Remove interior use of k_poll()
      tests/kernel/queue: Add regression test for CONFIG_POLL race condition

Armand Ciejak (2):
      soc: arm: cortex_m: Improve error messages
      soc: arm: cortex_m: Fix OCRAM config for i.MX RT

Armando Visconti (1):
      samples/shields: x-nucleo-iks02a1: Fix doc for microphone

Bilal Wasim (3):
      drivers: eth: stm32: Fix driver crash caused by RX IRQ trigger
      drivers: eth: stm32: Fix invalid assertion comparison
      drivers: wifi: eswifi: Fully populate sockaddr_in on async msg

Carles Cufi (8):
      Revert "test: kernel: context: Exclude for qemu_cortex_r5 (temporary)"
      tests: logging: Add a clean ouput test and clarify output
      doc: dev process: Add a note about deprecation mechanisms
      doc: releases: Add 2.3 release notes highlights
      doc: release notes: Add 2.3 release notes on documentation
      doc: release notes: Add 2.3 Bluetooth release notes
      doc: kernel: Fix invalid use of K_NO_WAIT
      release: Zephyr 2.3.0-rc2

Christoph Reiter (3):
      sensor: add sensor driver for Infineon DPS310
      sensor: add sample for Infineon DPS310
      doc: fix board name in DPS310 sample

Christopher Friedt (11):
      net: socket: socketpair: mitigate possible race condition
      tests: socket: socketpair: fix userspace thread permissions
      samples: sockets: socketpair: sample application and docs
      net: socket: socketpair: remove dead code
      tests: socket: socketpair: assert recvfrom returns >= 0
      samples: sockets: socketpair: check return value of send
      samples: sockets: socketpair: check return of pthread_create
      samples: sockets: socketpair: mitigate negative index
      net: socket: socketpair: initialize after NULL check
      tests: socket: socketpair: init param before passing by ref
      tests: socket: socketpair: init param before passing by ref

Daniel Leung (18):
      gpio: mchp_xec: fix erroneous interrupt triggers
      tests: gpio_basic_api: change GPIOs for mec15xxevb_assy6853
      gpio: intel_apl: don't enable interrupt if line is output
      timer: hpet: enable benchmarking during ISR
      serial: ns16550: return error when init fails
      serial: ns16550: do not write to device cfg struct when PCIE=y
      gpio: intel_apl: fix ISR function signature
      x86: intel64: add missing _locore_end to linker script
      x86: acpi: make code 64-bit compatible
      gpio: intel_apl: fix incorrect address access
      x86: add ability for SoC to add MMU regions
      boards: x86/up_squared: specify CONFIG_X86_MMU_PAGE_POOL_PAGES
      x86: apollo_lake: add mmu regions for UARTs and I2Cs
      boards: x86/up_squared: remove SYS_CLOCK_HW_CYCLES_PER_SEC
      boards: x86: make up_squared default to x86_64
      tests: timing_info: need to calibrate TSC frequency on x86
      x86_64: instrument code for timing information
      x86: mmu: fix type mismatch of memory address in assert

David Brown (2):
      doc: vulnerabilities: Document public CVEs
      doc: release notes: Update security notes for 2.3

Eduardo Montoya (1):
      net: config: align Kconfig debug levels with OpenThread ones

Emil Obalski (5):
      usb: dt: Update USB audio class to recent changes in DT
      doc: release notes: Update USB notes for 2.3
      usb: driver: nordic: Unlock mutex in case of error.
      usb: driver: Fix Nordic driver for fragmented control OUT transfers.
      usb: doc: Add note about cdc+dfu Windows OS exception.

Erwan Gouriou (14):
      drivers/spi: stm32: Fix use of single dma channel
      doc: probes: Add info on ST-Link fw update
      boards: stm32: pinmux: Restore Kconfig control on pinmux (serial)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (spi)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (i2c)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (pwm)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (adc)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (dac)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (can)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (i2s)
      boards: stm32: pinmux: Restore Kconfig control on pinmux(sdmmc)
      drivers: susbsys: Check errors on devices selected using dt macro
      doc/release: v2.3.0: Update boards/shields section
      doc/release: v2.3.0: Update for stm32

Flavio Ceolin (2):
      drivers: peci: Add verification handlers
      mbedtls: Bump to 2.16.6 version

Francois Ramu (10):
      drivers: spi: driver dma callback function to set transfer flag
      drivers: spi: driver reloading dma buffers in the main transceive loop
      driver: timer: stm32_lptim: tickless mode without a compilation flag
      driver: timer: stm32_lptim set_timeout limit values
      driver: timer: stm32_lptim control the timer duration
      drivers: timer: stm32_lptim fix TICKLESS=n processing
      soc: arm: stm32 TICKS value with LPTIM config
      dts: stm32: timer define a new DT binding for LPTIM
      drivers:...
Read more