:orphan:

.. _zephyr_2.6:

Zephyr 2.6.0
############

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

Major enhancements with this release include:

* Logging subsystem overhauled
* Added support for 64-bit ARCv3
* Split ARM32 and ARM64, ARM64 is now a top-level architecture
* Added initial support for Arm v8.1-m and Cortex-M55
* Removed legacy TCP stack support which was deprecated in 2.4
* Tracing subsystem overhaul including expansion for tracing points and
  added support for Percepio Tracealyzer
* Device runtime power management (PM), former IDLE runtime, was
  completely overhauled.
* Added an example standalone Zephyr application in its own Git repository:
  https://github.com/zephyrproject-rtos/example-application

The following sections provide detailed lists of changes by component.

Security Vulnerability Related
******************************

The following CVEs are addressed by this release:

More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html

* CVE-2021-3581: Under embargo until 2021-09-04

Known issues
************

You can check all currently known issues by listing them using the GitHub
interface and listing all issues with the `bug label
<https://github.com/zephyrproject-rtos/zephyr/issues?q=is%3Aissue+is%3Aopen+label%3Abug>`_.

API Changes
***********

* Driver APIs now return ``-ENOSYS`` if optional functions are not implemented.
  If the feature is not supported by the hardware ``-ENOTSUP`` will be returned.
  Formerly ``-ENOTSUP`` was returned for both failure modes, meaning this change
  may require existing code that tests only for that value to be changed.

* The :c:func:`wait_for_usb_dfu` function now accepts a ``k_timeout_t`` argument instead of
  using the ``CONFIG_USB_DFU_WAIT_DELAY_MS`` macro.

* Added disconnect reason to the :c:func:`disconnected` callback of :c:struct:`bt_iso_chan_ops`.

* Align error handling of :c:func:bt_l2cap_chan_send and
  :c:func:`bt_iso_chan_send` so when an error occur the buffer is not unref.

* Added :c:func:`lwm2m_engine_delete_obj_inst` function to the LwM2M library API.

Deprecated in this release

* :c:macro:`DT_CLOCKS_LABEL_BY_IDX`, :c:macro:`DT_CLOCKS_LABEL_BY_NAME`,
  :c:macro:`DT_CLOCKS_LABEL`, :c:macro:`DT_INST_CLOCKS_LABEL_BY_IDX`,
  :c:macro:`DT_INST_CLOCKS_LABEL_BY_NAME`, and
  :c:macro:`DT_INST_CLOCKS_LABEL` was deprecated in favor of utilizing
  :c:macro:`DT_CLOCKS_CTLR` and variants.

* :c:macro:`DT_PWMS_LABEL_BY_IDX`, :c:macro:`DT_PWMS_LABEL_BY_NAME`,
  :c:macro:`DT_PWMS_LABEL`, :c:macro:`DT_INST_PWMS_LABEL_BY_IDX`,
  :c:macro:`DT_INST_PWMS_LABEL_BY_NAME`, and
  :c:macro:`DT_INST_PWMS_LABEL` was deprecated in favor of utilizing
  :c:macro:`DT_PWMS_CTLR` and variants.

* :c:macro:`DT_IO_CHANNELS_LABEL_BY_IDX`,
  :c:macro:`DT_IO_CHANNELS_LABEL_BY_NAME`,
  :c:macro:`DT_IO_CHANNELS_LABEL`,
  :c:macro:`DT_INST_IO_CHANNELS_LABEL_BY_IDX`,
  :c:macro:`DT_INST_IO_CHANNELS_LABEL_BY_NAME`, and
  :c:macro:`DT_INST_IO_CHANNELS_LABEL` were deprecated in favor of utilizing
  :c:macro:`DT_IO_CHANNELS_CTLR` and variants.

* :c:macro:`DT_DMAS_LABEL_BY_IDX`,
  :c:macro:`DT_DMAS_LABEL_BY_NAME`,
  :c:macro:`DT_INST_DMAS_LABEL_BY_IDX`, and
  :c:macro:`DT_INST_DMAS_LABEL_BY_NAME` were deprecated in favor of utilizing
  :c:macro:`DT_DMAS_CTLR` and variants.

* USB HID specific macros in ``<include/usb/class/usb_hid.h>`` are deprecated
  in favor of new common HID macros defined in ``<include/usb/class/hid.h>``.

* USB HID Kconfig option USB_HID_PROTOCOL_CODE is deprecated.
  USB_HID_PROTOCOL_CODE does not allow to set boot protocol code for specific
  HID device. USB HID API function usb_hid_set_proto_code() can be used instead.

* USB HID class API is changed by removing get_protocol/set_protocol and
  get_idle/set_idle callbacks. These callbacks are redundant or do not provide
  any additional value and have led to incorrect usage of HID class API.

* The ``CONFIG_OPENOCD_SUPPORT`` Kconfig option has been deprecated in favor
  of ``CONFIG_DEBUG_THREAD_INFO``.

* Disk API header ``<include/disk/disk_access.h>`` is deprecated in favor of
  ``<include/storage/disk_access.h>``.

* :c:func:`flash_write_protection_set()`.

* The ``CONFIG_NET_CONTEXT_TIMESTAMP`` is removed as it was only able to work
  with transmitted data. The same functionality can be achieved by setting
  ``CONFIG_NET_PKT_RXTIME_STATS`` and ``CONFIG_NET_PKT_TXTIME_STATS`` options.
  These options are also able to calculate the RX & TX times more accurately.
  This means that support for the SO_TIMESTAMPING socket option is also removed
  as it was used by the removed config option.

* The device power management (PM) APIs and data structures have been renamed
  from ``device_pm_*`` to ``pm_device_*`` since they are not device APIs but PM
  subsystem APIs. The same applies to enumerations and definitions, they now
  follow the ``PM_DEVICE_*`` convention. Some other API calls such as
  ``device_set_power_state`` and ``device_get_power_state`` have been renamed to
  ``pm_device_state_set`` and ``pm_device_state_get`` in order to align with
  the naming of other device PM APIs.

* The runtime device power management (PM) APIs is now synchronous by default
  and the asynchronous API has the **_async** sufix. This change aligns the API
  with the convention used in Zephyr. The affected APIs are
  ``pm_device_put`` and ``pm_device_get``.

* The following functions, macros, and structures related to the kernel
  work queue API:

  * :c:func:`k_work_pending()` replace with :c:func:`k_work_is_pending()`
  * :c:func:`k_work_q_start()` replace with :c:func:`k_work_queue_start()`
  * :c:struct:`k_delayed_work` replace with :c:struct:`k_work_delayable`
  * :c:func:`k_delayed_work_init()` replace with
    :c:func:`k_work_init_delayable`
  * :c:func:`k_delayed_work_submit_to_queue()` replace with
    :c:func:`k_work_schedule_for_queue()` or
    :c:func:`k_work_reschedule_for_queue()`
  * :c:func:`k_delayed_work_submit()` replace with :c:func:`k_work_schedule()`
    or :c:func:`k_work_reschedule()`
  * :c:func:`k_delayed_work_pending()` replace with
    :c:func:`k_work_delayable_is_pending()`
  * :c:func:`k_delayed_work_cancel()` replace with
    :c:func:`k_work_cancel_delayable()`
  * :c:func:`k_delayed_work_remaining_get()` replace with
    :c:func:`k_work_delayable_remaining_get()`
  * :c:func:`k_delayed_work_expires_ticks()` replace with
    :c:func:`k_work_delayable_expires_get()`
  * :c:func:`k_delayed_work_remaining_ticks()` replace with
    :c:func:`k_work_delayable_remaining_get()`
  * :c:macro:`K_DELAYED_WORK_DEFINE` replace with
    :c:macro:`K_WORK_DELAYABLE_DEFINE`

==========================

Removed APIs in this release

* Removed support for the old zephyr integer typedefs (u8_t, u16_t, etc...).

* Removed support for k_mem_domain_destroy and k_mem_domain_remove_thread

* Removed support for counter_read and counter_get_max_relative_alarm

* Removed support for device_list_get

============================

Stable API changes in this release
==================================

Kernel
******

* Added :c:func:`k_mem_unmap()` so anonymous memory mapped via :c:func:`k_mem_map()`
  can be unmapped and virtual address reclaimed.

* Added the ability to gather more statistics for demand paging, including execution
  time histograms for eviction algorithms and backing stores.

Architectures
*************

* ARC

  * Added new ARCv3 64bit ISA support and corresponding HS6x processor support
  * Hardened SMP support
  * Various minor fixes/improvements for ARC MWDT toolchain infrastructure
  * Refactor of ARC Kconfig

* ARM

  * AARCH32

    * Added support for null pointer dereferencing detection in Cortex-M.
    * Added initial support for Arm v8.1-m and Cortex-M55.
    * Added support for preempting threads while they are performing secure calls in Cortex-M.
    * Added support for memory region generation by the linker based on device tree node information in Cortex-M.
    * Cleaned up definitions of SoC-specific memory regions in the common Cortex-M linker script.
    * Added support for clearing NXP MPU region configuration during Zephyr early boot stage.
    * Disallowed fpu hard ABI when building Non-Secure applications with TF-M on Cortex-M33.
    * Enhanced register information dump in fault exceptions in Cortex-R.
    * Fixed spurious interrupt handling in Cortex-R.

  * AARCH64

    * SMP support
    * MMU dynamic mappings with page table sharing.
    * Userspace (unprivileged) thread support.
    * Standalone SMCCC support.
    * XIP support.
    * ARM64 is now a top-level standalone architecture.
    * Support for Cortex-R82 and Armv8-R AArch64 MPU.
    * Cache management support.
    * Revamped boot code.
    * Full FPU context switching.

* x86

  * Added SoC configuration for Lakemont SoC.
  * Removed kconfig ``CONFIG_CPU_MINUTEIA`` as there is no user of this option.
  * Renamed kconfig ``CONFIG_SSE*`` to ``CONFIG_X86_SSE*``.
  * Extended the pagetable generation script to allow specifying additional
    memory mapping during build.
  * x86-32

    * Added support for kernel image to reside in virtual address space, allowing
      code execution and data manipulation via virtual addresses.

Bluetooth
*********

* Audio

  * Split up ISO handling from audio handling, and moved the latter to its
    own directory.
  * Added the Volume Offset Control Service and client.
  * Added the Audio Input Control Service and client.
  * Added the Volume Control Service and client.

* Host

  * Added basic support for Direction Finding.
  * Added support for CTE connectionless transimission and reception over
    periodic advertising.
  * Refactored the HCI and ECC handling implementations.
  * Stopped auto updating the device name in the adv data.
  * Added support for logging security keys to be used by an air sniffer.
  * Fixed a bonding issue where the local bond data was not being updated after
    the remote device had removed it when the peer was not using the IRK stored
    in the bonding information.
  * Implemented the directory listing object to OTS.
  * Added a function to access the ``bt_conn_iso`` object.
  * Added a new configuration option for writeable device name.
  * Added a new configuration option for minimum encryption key size.
  * Added support for keypress notifications as an SMP responder.
  * Added a new option, ``BT_LE_ADV_OPT_FORCE_NAME_IN_AD``, which forces the
    device name to appear in the adv packet instead of the scan response.
  * Added a security level check when sending a notification or indication.
  * Added the ability to send HCI monitor traces over RTT.
  * Refactored the Bluetooth buffer configuration for simplicity. See the
    commit message of 6483e12a8ac4f495b28279a6b84014f633b0d374 for more info.
    Note however that the aformentioned commit message has two typos;

    * ``BT_CTLR_TX_BUFFER`` should be ``BT_CTLR_TX_BUFFERS``
    * ``BT_CTLR_TX_BUFFERS_SIZE`` should be ``BT_CTLR_TX_BUFFER_SIZE``
  * Added support for concurrent advertising with multiple identities.
  * Changed the logic to disable scanning before setting the random address.
  * Fixed a crash where an ATT timeout occurred on a disconnected ATT channel.
  * Changed the pairing procedure to fail pairing when both sides have the same
    public key.
  * Fixed an issue where GATT requests could deadlock the RX thread.
  * Fixed an issue where a fixed passkey that was previously set could not be
    cleared.
  * Fixed an issue where callbacks for "security changed" and "pairing failed"
    were not always called.
  * Changed the pairing procedure to fail early if the remote device could not
    reach the required security level.
  * Fixed an issue where GATT notifications and Writes Without Response could
    be sent out of order.
  * Changed buffer ownership of ``bt_l2cap_chan_send``.
    The application must now release the buffer for all returned errors.

* Mesh

  * Added CDB handle key refresh phase.
  * Added the ability to perform replay checks on SeqAuth.
  * Added the sending of a Link Close message when closing a link.
  * Added a Proxy callback structure for Node ID enabling and disabling.
  * Added a check for the response address in the Configuration Client.
  * Introduced a new acknowledged messages API.
  * Reworked the periodic publication timer and poll timeout scheduling logic.
  * Added reporting configured ``LPNTimeout`` in ``cfg_srv``.
  * Ensured that provisioning output count number is at least 1.
  * Ensured to encrypt initial friend poll with friend credentials.
  * Stopped resetting the PB ADV reliable timer on retransmission.

* Bluetooth LE split software Controller

  * Removed support for the nRF5340 PDK. Use the nRF5340 DK instead.
  * Added basic support for Direction Finding.
  * Added support for CTE connectionless transimission and reception over
    periodic advertising.
  * Added support for antenna switching in the context of Direction Finding.
  * Added an invalid ACL data length check.
  * Added basic support for the ISO Adaptation Layer.
  * Added experimental support for Broadcast Isochronous Groups and Streams.
  * Added partial experimental support for Connected Isochronous Groups and
    Streams.
  * Implemented extended connection creation and cancellation.
  * Changed the policy to ignore connection requests from an already-connected
    peer.
  * Added a control procedure locking system.
  * Added GPIO PA/LNA support for the Nordic nRF53x SoC series.
  * Added FEM support for the nRF21540 IC.
  * Added a new radio API to configure the CTE RX path.

* HCI Driver

  * Added support for the Espressif ESP32 platform.

Boards & SoC Support
********************

* Added support for these SoC series:

  * STM32F205xx
  * STM32G03yxx, STM32G05yxx, STM32G070xx and STM32G0byxx
  * STM32G4x1, STM32G4x3 and STM32G484xE
  * STM32WL55xx
  * Nuvoton npcx7m6fc, and npcx7m6fc
  * Renesas R-Car Gen3
  * Silicon Labs EFR32FG13P
  * ARM MPS3-AN547
  * ARM FVP-AEMv8A
  * ARM FVP-AEMv8R
  * NXP LS1046A
  * X86 Lakemont

* Removed support for these SoC series:

   * ARM Musca-A

* Made these changes in other SoC series:

  * Added Cypress PSoC-6 pinctrl support.
  * STM32 L4/L5/WB series were updated for better power management support (CONFIG_PM=y).
  * Backup SRAM added on a selection of STM32 series (F2/F4/F7/H7)
  * Set TRACE_MODE to asynchronous and enable trace output pin on STM32 SoCs

* Changes for ARC boards:

  * Added nSIM and QEMU simulation boards (nsim_hs6x and qemu_arc_hs6x)
    with ARCv3 64bit HS6x processors
  * Enabled MPU on qemu_arc_hs and qemu_arc_em boards
  * Added cy8c95xx GPIO expander support to HSDK board

* Added support for these ARM boards:

   * Actinius Icarus
   * Actinius Icarus SoM
   * Laird Connectivity BL654 Sensor Board
   * Laird Connectivity Sentrius BT6x0 Sensor
   * EFR32 Radio BRD4255A Board
   * MPS3-AN547
   * RAK4631
   * Renesas R-Car H3ULCB
   * Ronoth LoDev (based on AcSIP S76S / STM32L073)
   * nRF9160 Thing Plus
   * ST Nucleo F030R8
   * ST Nucleo G0B1RE
   * ST Nucleo H753ZI
   * ST Nucleo L412RP-P
   * ST Nucleo WL55JC
   * ST STM32G071B Discovery
   * Thingy:53
   * u-blox EVK-BMD-30/35: BMD-300-EVAL, BMD-301-EVAL, and BMD-350-EVAL
   * u-blox EVK-BMD-330: BMD-330-EVAL
   * u-blox EVK-BMD-34/38: BMD-340-EVAL and BMD-341-EVAL
   * u-blox EVK-BMD-34/38: BMD-345-EVAL
   * u-blox EVK-BMD-360: BMD-360-EVAL
   * u-blox EVK-BMD-34/48: BMD-380-EVAL
   * u-blox EVK-ANNA-B11x
   * u-blox EVK NINA-B11x
   * u-blox EVK-NINA-B3
   * u-blox EVK NINA-B40x

* Added support for these ARM64 boards:

   * fvp_base_revc_2xaemv8a
   * fvp_baser_aemv8r
   * nxp_ls1046ardb

* Removed support for these ARM boards:

   * ARM V2M Musca-A
   * Nordic nRF5340 PDK

* Removed support for these X86 boards:

   * up_squared_32
   * qemu_x86_coverage
   * minnowboard

* Made these changes in other boards:

  * cy8ckit_062_ble: Refactored to configure by pinctrl.
  * cy8ckit_062_ble: Added support to SCB[uart] with interrupt.
  * cy8ckit_062_ble: Added support to SCB[spi].
  * cy8ckit_062_ble: Added board revision schema.
  * cy8ckit_062_wifi_bt: Refactored to configure by pinctrl.
  * cy8ckit_062_wifi_bt: Added support to SCB[uart] with interrupt.
  * lpcxpresso55s16: Board renamed from lpcxpresso55s16_ns to
    lpcxpresso55s16 since the board does not have Trusted Firmware M
    (TF-M) support.
  * lpcxpresso55s28: Removed lpcxpresso55s28_ns config since the board
    does not have Trusted Firmware M (TF-M) support.
  * mimxrt685_evk: Added support for octal SPI flash storage, LittleFS, I2S, OS
    timer, and power management.
  * mimxrt1060_evk: Added support for QSPI flash storage, LittleFS, and
    mcuboot.
  * mimxrt1064_evk: Added support for mcuboot.

* Added support for these following shields:

  * FTDI VM800C Embedded Video Engine Board
  * Generic ST7735R Display Shield
  * NXP FRDM-STBC-AGM01
  * Semtech SX1272MB2DAS LoRa Shield

Drivers and Sensors
*******************

* ADC

  * Added support on TI CC32xx.
  * Added support on ITE IT8xxx2.
  * Added support for DMA and HW triggers in the MCUX ADC16 driver.
  * Added ADC emulator.
  * Moved definitions of ADC acquisition time macros so that those macros can be used in dts files.

* Bluetooth

  * The Kconfig option ``CONFIG_BT_CTLR_TO_HOST_UART_DEV_NAME`` was removed.
    Use the :ref:`zephyr,bt-c2h-uart chosen node <devicetree-chosen-nodes>`
    directly instead.

* CAN

  * A driver for CAN-FD based on the Bosch M_CAN IP was added. The driver
    currently supports STM32G4 series MCUs. Additional support for Microchip
    SAM and NXP chips is in progress.

  * The CAN ISO-TP subsystem was enhanced to allow padding and fixed
    addressing.

* Clock Control

  * On STM32 series, system clock configuration has been moved from Kconfig to DTS.
    Usage of existing Kconfig dedicated symbols (CONFIG_CLOCK_STM32_FOO) is now
    deprecated.
  * Added clock control driver for Renesas R-Car platform

* Console

  * Added ``UART_CONSOLE_INPUT_EXPIRED`` and ``UART_CONSOLE_INPUT_EXPIRED_TIMEOUT``
    Kconfig options to notify the power management module that UART console is
    in use now and forbid it to enter low-power states.

* Counter

   * Added support for ESP32 Counter

* DAC

   * Added support for Microchip MCP4725

* Disk

  * Added SDMMC support on STM32L4+

* Display

  * Added support for ST7735R

* Disk

  * Moved disk drivers (``disk_access_*.c``) to ``drivers/disk`` and renamed
    according to their function.
  * Fixed CMD6 support in USDHC driver.
  * Fixed clock frequency switching after initialization in ``sdmmc_spi.c`` driver.

* DMA

  * Added support on STM32G0 and STM32H7

* EEPROM

  * Added support for EEPROM emulated in flash.

* ESPI

  * Added support for Microchip eSPI SAF

* Ethernet

  * Added simulated PTP clock to e1000 Ethernet controller. This allows simple PTP
    clock testing with Qemu.
  * Separated PTP clock from gPTP support in mcux and gmac drivers. This allows
    application to use PTP clock without enabling gPTP support.
  * Converted clock control to use DEVICE_DT_GET in mcux driver.
  * Changed to allow changing MAC address in gmac driver.
  * Driver for STM32H7 is now using specific memory layout to fit DMA constraints
    for RAM accesses.

* Flash

  * flash_write_protection_set() has been deprecated and will be removed in
    Zephyr 2.8. Responsibility for write/erase protection management has been
    moved to the driver-specific implementation of the flash_write() and
    flash_erase() API calls. All in-tree flash drivers have been updated,
    and the protect implementation removed from their API tables.
    During the deprecation period user code invoking
    flash_write_protection_set() will have no effect, but the flash_write() and
    flash_erase() driver shims will wrap their calls with calls to the protect
    implementation if it is present in the API table.
    Out-of-tree drivers must be updated before the wrapping in the shims is
    removed when the deprecation period ends.
  * Added QSPI support on STM32F7.

* GPIO

  * :c:struct:`gpio_dt_spec`: a new structure which makes it more convenient to
    access GPIO configuration in the :ref:`devicetree <dt-guide>`.
  * New macros for initializing ``gpio_dt_spec`` values:
    :c:macro:`GPIO_DT_SPEC_GET_BY_IDX`, :c:macro:`GPIO_DT_SPEC_GET_BY_IDX_OR`,
    :c:macro:`GPIO_DT_SPEC_GET`, :c:macro:`GPIO_DT_SPEC_GET_OR`,
    :c:macro:`GPIO_DT_SPEC_INST_GET_BY_IDX`,
    :c:macro:`GPIO_DT_SPEC_INST_GET_BY_IDX_OR`,
    :c:macro:`GPIO_DT_SPEC_INST_GET`, and :c:macro:`GPIO_DT_SPEC_INST_GET_OR`
  * New helper functions for using ``gpio_dt_spec`` values:
    :c:func:`gpio_pin_configure_dt`, :c:func:`gpio_pin_interrupt_configure_dt`
  * Remove support for ``GPIO_INT_*`` flags in :c:func:`gpio_pin_configure()`.
    The feature has been deprecated in the Zephyr 2.2 release. The interrupt
    flags are now accepted by :c:func:`gpio_pin_interrupt_configure()`
    function only.
  * STM32 GPIO driver now supports clock gating using PM_DEVICE and PM_DEVICE_RUNTIME
  * Added GPIO driver for Renesas R-Car platform

* Hardware Info

  * Added support on Silicon Labs Gecko SoCs

* I2C

  * Added support on STM32F2

* I2S

  * Added support for NXP LPC devices

* IEEE 802.15.4

  * Fixed various issues in IEEE 802.15.4 L2 driver.

  * nrf5:

    * Made HW Radio Capabilities runtime.
    * Enabled CSMA-CA on serialized host.
    * Changed driver to load EUI64 from UICR.

  * rf2xx:

    * Added support for tx mode direct.
    * Added support for tx mode CCA.
    * Added support to enable promiscuous mode.
    * Added support to enable pan coordinator mode.

* Interrupt Controller

  * Moved shared interrupt controller configuration to be based
    on devicetree.

* LED

  * Add support for LED GPIO
  * Added power management support for LED PWM

* LoRa

  * Added support for SX1272

* Modem

  * Converted wncm14a2a, quectel-bg9x, hl7800 and ublox-sara-r4 drivers to use
    new DT device macros.
  * Changed GSM modem to optionally do a factory reset when booting.
  * Added autostarting support to GSM modem.
  * Added wait for RDY instead of polling AT in BG9X.
  * Fixed PDP context management for BG9X.
  * Added TLS offload support to ublox-sara-r4.
  * Made reset pin optional in ublox-sara-r4.
  * Fixed potential buffer overrun in hl7800.
  * Fixed build errors on 64-bit platforms.
  * Added support for dialup modem in PPP driver.

* PWM

  * Added support on STM32F2 and STM32L1.
  * Added support on Silicon Labs Gecko SoCs.

* Sensor

  * Added support for STM32 internal (CPU) temperature sensor.
  * Refactored mulitple ST sensor drivers to use gpio_dt_spec macros and common
    stmemc routines, support multiple instances, and configure ODR/range
    properties in device tree.
  * Added SBS 1.1 compliant fuel gauge driver.
  * Added MAX17262 fuel gauge driver.
  * Added BMP388 pressure sensor driver.
  * Added Atmel SAM QDEC driver.
  * Added TI FDC2X1X driver.
  * Added support for MPU9250 to existing MPU6050 6-axis motion tracking driver.
  * Refactored BME280 temperature/pressure sensor driver.
  * Added BMI270 IMU driver.
  * Added Nuvoton tachometer sensor driver.
  * Added MAX6675 cold-junction-compensated K-thermocouple to digital
    converter.

* Serial

  * Extended Cypress PSoC-6 SCB[uart] driver to support interrupts.
  * Added UART driver for Renesas R-Car platform

* SPI

  * Added Cypress PSoC-6 SCB[spi] driver.
  * Default SPI_SCK configuration is now pull-down for all STM32 to minimize power
    consumption in stop mode.

* Timer

  * Added x86 APIC TSC_DEADLINE driver.
  * Added support for NXP MCUX OS Timer.
  * Added support for Nuvoton NPCX system timer.
  * Added CMT driver for Renesas R-Car platform.

* USB

  * Added support on STM32H7
  * Added attached event delay to usb_dc_nrfx driver

* Watchdog

  * Added support for TI CC32xx watchdog.

* WiFi

  * Converted eswifi and esp drivers to new DT device macros

  * esp:

    * Fixed hostname configuration.
    * Removed POSIX API dependency.
    * Renamed offloading driver from esp to esp_at.
    * Added esp32 wifi driver support.

Networking
**********

* CoAP:

  * Fixed coap_find_options() to return 0 when options are empty.

* DHCPv4:

  * Fixed DHCPv4 dependency to network event management options.

* DNS:

  * Added locking to DNS library prevent concurrent access.
  * Added 10ms delay when rescheduling query timeout handler in DNS. This allows
    applications to run and handle the timeout gracefully.
  * Added support for reconfiguring DNS resolver when DNS servers are changed.
    This is supported by DHCPv4 and PPP.

* HTTP:

  * Added support for storing numeric HTTP error code in client API.

* IPv4:

  * Added IGMPv2 support to IPv4.
  * Removed IPv4 multicast address check when selecting source address during TX.

* LwM2M:

  * Fixed query buffer size so that it is large enough to encode all query strings.
  * Added data validation callback.
  * Fixed Register/Update to use link_format writer.
  * Added application/link-format content writer.
  * Removed .well-known/core handling.
  * Introduced attribute handling helper functions.
  * Removed obsolete LWM2M_IPSO_TIMESTAMP_EXTENSIONS option.
  * Added IPSO Buzzer, Push Button, On/Off Switch, Accelerometer, Pressure Sensor,
    Humidity, Generic Sensor and Temperature object implementation to support
    object model in version 1.1
  * Unified reusable resources creation.
  * Added support for object versioning.
  * Changed to allow cancel-observe to match path.
  * Made pmin and pmax attributes optional.
  * Added API function to delete object instance.
  * Fixed Registration Update send on object creation.
  * Changed to only parse TLV from the first block.
  * Changed to trigger registration update only when registered.

* Misc:

  * Added UDP packet sending support to net-shell.
  * Fixed source network interface setting when sending and when there are
    multiple network interfaces.
  * Changed connection managed to ignore not used network interfaces.
  * Added locking to network interface API function calls.
  * Changed to allow application to disable IPv4 or IPv6 support for a network interface.
  * Added support for virtual network interfaces.
  * Added support for IPv4/v6 tunneling network interface.
  * Added net events notification for PPP dead and running states.
  * Added PPP LCP MRU option support.
  * Added PPP IPCP IP and DNS address peer options support.
  * Added support for network packet capturing and sending data to external system
    for analysis.
  * Enabled running without TX or RX threads. By default, one RX thread and
    no TX thread is created. If userspace support is enabled, then one RX and one
    TX thread are created. This improves the network transmit latency when a
    packet is sent from application.
  * Changed to push highest priority net_pkt directly to driver when sending and if
    there is at least one TX thread.
  * Changed to use k_fifo instead of k_work in RX and TX processing. This prevents
    k_work from accessing already freed net_pkt struct. This also improves the latency
    of network packets when the data is passed between different network threads.
  * Changed to check network interface status when sending and return ENETDOWN to the
    application if data cannot be sent.
  * Fixed echo-server sample application and set netmask properly when VLAN is
    enabled.

* OpenThread:

  * Added microseconds timer API support.
  * Changed to switch radio off when stopping diagnostics.
  * Enabled CSL delayed transmissions.
  * Added CSL transmitter and receiver API support.
  * Changed to init NCP after USB communication is established.
  * Aligned with the new NCP API.
  * Aligned with the new CLI API.
  * Introduced new OpenThread options.
  * Added Link Metrics API support.
  * Selected ECDSA when SRP is enabled.
  * Made child related options only visible on FTD.
  * Changed OT shell not to execute OT commands when shell is not ready.

* Socket:

  * Added SO_PROTOCOL and SO_TYPE get socket option.
  * Added MSG_WAITALL receive socket option flag.
  * Added MSG_TRUNC socket option flag.
  * Added support for close method for packet sockets.
  * Added locking to socket API function calls.
  * Added support for SO_BINDTODEVICE socket option.
  * Added support for SO_SNDTIMEO socket option.
  * Made NET_SOCKETS_POSIX_NAMES be on by default. This allows application to use
    normal BSD socket API calls without adding the zsock prefix.
  * Added sample application to use SO_TXTIME socket option.

* TCP:

  * Implemented ISN calculation according to RFC6528 in TCP. This is optional and
    enabled by default, and can be disabled if needed.
  * Removed legacy TCP stack support.
  * Changed TCP to use private work queue in order not to block system work queue.

* TLS:

  * Fixed userspace access to TLS socket.
  * Added socket option support for setting and getting DTLS handshake timeout.

USB
***

* Reworked USB classes configuration. Various minor fixes in USB DFU class.

* USB HID class

  * Removed get_protocol/set_protocol from USB HID class API.
  * Allowed boot interface Protocol Code to be set per device.
  * Rework idle report implementation.

* Samples

  * Allowed to build USB Audio sampe for different platforms.
  * Added SD card support to USB MSC sample.
  * Reworked USB HID sample.

Build and Infrastructure
************************

* Improved support for additional toolchains:
  * Support for the Intel oneApi toolchain.

* Devicetree

  - :c:macro:`DT_COMPAT_GET_ANY_STATUS_OKAY`: new macro
  - the ``96b-lscon-3v3`` and ``96b-lscon-1v8`` :ref:`compatible properties
    <dt-important-props>` now have ``linaro,`` vendor prefixes, i.e. they are
    now respectively :dtcompatible:`linaro,96b-lscon-3v3` and
    :dtcompatible:`linaro,96b-lscon-1v8`.

    This change was made to bring Zephyr's devicetrees into compliance with an
    upstream Linux regular expression used to validate compatible properties.
    This regular expression requires a letter as the first character.

* West (extensions)

  * This section only covers west :ref:`west-extensions` maintained in the
    zephyr repository. For release notes on west's built-in features, see
    :ref:`west-release-notes`.

  * Changes to the runners backends used for :ref:`flashing and debugging
    commands <west-build-flash-debug>`:

    * bossac runner: added legacy mode option into extended SAM-BA
      bootloader selection. This extends compatibility between Zephyr and
      some Arduino IDE bootloaders.

    * jlink runner: Zephyr thread awareness is now available in GDB by default
      for application builds with :kconfig:option:`CONFIG_DEBUG_THREAD_INFO` set to ``y``
      in :ref:`kconfig`. This applies to ``west debug``, ``west debugserver``,
      and ``west attach``. JLink version 7.11b or later must be installed on the
      host system, with JLink 7.20 or later strongly recommended.

    * jlink runner: default ``west flash`` output is less verbose. The old
      behavior is still available when run as ``west --verbose flash``.

    * jlink runner: when flashing, this runner now prefers a ``.hex`` file
      generated by the build system to a ``.bin``. Unlike ``.bin``, the HEX
      format includes information on the image's address range in flash, so
      this works better when flashing Zephyr images linked for locations other
      than the target's boot address, e.g. images meant to be run by
      bootloaders. The ``.bin`` file is still used as a fallback if a HEX File
      is not present.

    * openocd runner: support for ``west debug`` and ``west attach`` has been
      fixed. Previously with this runner, ``west debug`` behaved like ``west
      attach`` should, and ``west attach`` behaved like ``west debugserver``
      should.

    * pyocd runner: board-specific pyOCD configuration files in YAML can now be
      placed in :file:`support/pyocd.yaml` inside the board directory. See
      :zephyr_file:`boards/arm/reel_board/support/pyocd.yaml` for an example,
      and the pyOCD documentation for details on its configuration format.

  * ``west spdx``: new command which can be used to generate SPDX software
    bills of materials for a Zephyr application build. See :ref:`west-spdx`.


Libraries / Subsystems
**********************

* Disk

  * Disk drivers (``disk_access_*.c``) are moved to ``drivers/disk`` and renamed
    according to their function. Driver's Kconfig options are revised and renamed.
    SDMMC host controller drivers are selected when the corresponding node
    in devicetree is enabled. Following application relevant Kconfig options
    are renamed: ``CONFIG_DISK_ACCESS_RAM`` -> `CONFIG_DISK_DRIVER_RAM`,
    ``CONFIG_DISK_ACCESS_FLASH`` -> `CONFIG_DISK_DRIVER_FLASH`,
    ``CONFIG_DISK_ACCESS_SDHC`` -> `CONFIG_DISK_DRIVER_SDMMC`.

* Management

  * MCUmgr

    * Fixed an issue with the file system management failing to
      open files due to missing initializations of :c:type:`fs_file_t`
      structures.
    * Fixed an issue where multiple SMP commands sent one after the other would
      corrupt CBOR payload.
    * Fixed problem where mcumgr over shell would stall and wait for
      retransmissions of frames.

* CMSIS subsystem

  * Moved CMSIS portability layer headers to include/portability/cmsis_os.h
    and include/portability/cmsis_os2.h

* Power management

  * ``device_pm_control_nop`` has been removed in favor of ``NULL`` when device
    PM is not supported by a device. In order to make transition easier for
    out-of-tree users a macro with the same name is provided as an alias to
    ``NULL``. The macro is flagged as deprecated to make users aware of the
    change.

  * Devices set as busy are no longer suspended by the system power management.

  * The time necessary to exit a sleep state and return to the active state was
    added in ``zephyr,power-state`` binding and accounted when the system
    changes to a power state.

  * Device runtime power management (PM), former IDLE runtime, was
    completely overhauled.

    * Multiple threads can wait an operation (``pm_device_get_async`` and
      ``pm_device_put_async``) to finish.
    * A new API ``pm_device_wait`` was added so that drivers can easily
      wait for an async request to finish.
    * The API can be used in  :ref:`pre-kernel <api_term_pre-kernel-ok>` stages.
    * Several concurrence issues related with atomics access and the usage
      of the polling API have been fixed. Condition variables are now used to
      handle notification.

* Logging

  * Introduced logging v2 which allows logging any variable types (including
    floating point variables). New version does not require transient string
    duplication (``log_strdup()``). Legacy mode remains and is still the default
    but user API is not changed and modes are interchangeable.
    ``CONFIG_LOG2_MODE_DEFERRED`` or ``CONFIG_LOG2_MODE_IMMEDIATE`` enable
    logging v2. Logging backend API is extended to support v2 and the most
    popular backends (UART, shell) are updated.

* Shell

  * Added ``CONFIG_SHELL_BACKEND_DUMMY_BUF_SIZE`` option that allows to set
    size of the dummy backend buffer; changing this parameter allows to work
    around issue, where output from command, shell that is gathered by the dummy
    backend, gets cut to the size of buffer.

* Storage

  * Added persistent write progress to stream_flash.

* Task Watchdog

  * This new subsystem was added with this release and allows supervision of
    individual threads. It is based on a regularly updated kernel timer,
    whose ISR is never actually called in regular system operation.

    An existing hardware watchdog can be used as an optional fallback if the
    task watchdog itself gets stuck.

* Tracing

  * ``CONFIG_TRACING_CPU_STATS`` was removed in favor of
    ``CONFIG_THREAD_RUNTIME_STATS`` which provides per thread statistics. The
    same functionality is also available when Thread analyzer is enabled with
    the runtime statistics enabled.
  * Expanded and overhauled tracing hooks with more coverage and support for
    tracing all kernel objects and basic power management operations.
  * Added support for Percepio Tracealyzer, a commercial tracing tool which now
    has built-in support for Zephyr. We now have the Percepio tracerecorder
    integrated as a module.
  * Expanded support for the new hooks in SEGGER Systemview and enhanced the
    description file with support for all APIs.

* Debug
  * SEGGER Systemview and RTT SDK updated to version v3.30

* OS

  * Reboot functionality has been moved to ``subsys/os`` from ``subsys/power``.
    A consequence of this movement is that the ``<power/reboot.h>`` header has
    been moved to ``<sys/reboot.h>``. ``<power/reboot.h>`` is still provided
    for compatibility, but it will produce a warning to inform users of the
    relocation.

HALs
****

* HALs are now moved out of the main tree as external modules and reside in
  their own standalone repositories.


Trusted Firmware-m
******************

* Synchronized Trusted-Firmware-M module to the upstream v1.3.0 release.
* Configured QEMU to run Zephyr samples and tests in CI on mps2_an521_nonsecure
  (Cortex-M33 Non-Secure) with TF-M as the secure firmware component.
* Added Kconfig options for selecting the desired TF-M profile and build type
* Added Kconfig options for enabling the desired TF-M secure partitions
* Added a new sample to run the PSA tests with Zephyr
* Added a new sample to run the TF-M regression tests using the Zephyr build system
* Added support for new platforms

   * BL5340 DVK
   * STM32L562E DK

* NOTE: Trusted-Firmware-M can not currently be used with mbedtls 2.26.0 when
  PSA APIs are enabled in mbedtls (``MBEDTLS_USE_PSA_CRYPTO`` and
  ``MBEDTLS_PSA_CRYPTO_C``). If both TF-M and mbedtls are required, mbedtls
  must be used without the PSA APIs. This will be resolved in a future
  update to mbedtls.

Documentation
*************

* Documentation look and feel has been improved by using a new stylesheet.
* Doxygen is now run by Sphinx using the ``doxyrunner`` custom extension. The
  new extension centralizes multiple scattered workarounds that existed before
  in a single place.
* Doxygen now runs with ``WARN_AS_ERROR`` enabled.
* Documentation known warnings are now filtered using a custom Sphinx extension:
  ``warnings_filter``. This extension removes the need of post-processing
  the Sphinx output and allows to use the ``-W`` option (treat warnings as
  errors) which has been enabled by default.
* External content, e.g. samples and boards documentation is now handled by
  the ``external_content`` extension.
* Sphinx is now run in parallel mode by default (``-j auto``).
* The documentation helper ``Makefile`` has been moved from the repository root
  to the ``doc`` folder.

Tests and Samples
*****************

* Twister's ``dt_compat_enabled_with_alias()`` test case filter was deprecated
  in favor of a new ``dt_enabled_alias_with_parent_compat()`` filter. The old
  filter is still supported, but it may be removed in a future release.

  To update, replace uses like this:

  .. code-block:: yaml

     filter: dt_compat_enabled_with_alias("gpio-leds", "led0")

  with:

  .. code-block:: yaml

     filter: dt_enabled_alias_with_parent_compat("led0", "gpio-leds")

* Add a feature which handles pytest script in twister and provide an example.
* Provide test excution time per ztest testcase.
* Added and refined some testcases, most of them are negative testcases, to
  improve the test code coverage:

   * Testcases of x86's regular/direct interrupts and offload job from ISR.
   * Testcases of SMP, and enabled SMP for existed testing of semaphore, condvar, etc.
   * Testcases of memory protection, userspace and memory heap.
   * Testcases of data structure include stack, queue, ringbuffer and rbtree.
   * Testcases of IPC include pipe, poll, mailbox, message queue.
   * Testcases of synchronization include mutex, semaphore, atomic operations.
   * Testcases of scheduling and thread.
   * Testcases of testing for arch_nop() and errno.
   * Testcases of libc and posix API.
   * Testcases of log and sensor subsystem.

Issue Related Items
*******************

These GitHub issues were addressed since the previous 2.5.0 tagged
release:

* :github:`35962` - drivers using deprecated Kconfigs
* :github:`35955` - Bluetooth: Controller: Regression in connection setup
* :github:`35949` - can: mcan: sjw-data devicetree configuration is not written correctly
* :github:`35941` - subsys: tracing: sysview: No SEGGER_SYSVIEW.h in path
* :github:`35926` - Shell tab-completion with more than two levels of nested dynamic commands fails
* :github:`35924` - Help with Configuring Custom GPIO Pins
* :github:`35916` - drivers: TI cc13xx_cc26xx: build error when PM is enabled (serial, entropy, spi, i2c modules)
* :github:`35911` - shield sample sensorhub does not produce and meaningful data
* :github:`35910` - LIS2MDL reporting wrong temperature
* :github:`35896` - frdm_k64f: build failure missing dt-bindings/clock/kinetis_sim.h: No such file or directory
* :github:`35890` - Build system ignores explicit ZephyrBuildConfiguration_ROOT variable
* :github:`35882` - Fixed width documentation makes DT bindings docs unreadable
* :github:`35876` - Bluetooth: host: CCC store not correctly handled for multiple connections
* :github:`35871` - LPS22HH sensor reporting wrong pressure data
* :github:`35840` - Bluetooth: host: L2CAP enhanced connection request conformance test issues
* :github:`35838` - Bluetooth: ISO: BIG termination doesn't fully unref the connection
* :github:`35826` - LORAWAN Compatibility with nrf52832 and sx1262
* :github:`35813` - Zephyr Native Posix Build Uses Linux Build Machine Headers out of Sandbox
* :github:`35812` - ESP32 Factory app partition is not bootable
* :github:`35781` - Missing response parameter for HCI_LE_Set_Connectionless_IQ_Sampling_Enable HCI command
* :github:`35772` - Support C++ exceptions on NIOS2
* :github:`35764` - tests: kernel: threads: no multithreading: fails with CONFIG_STACK_SENTINEL=y
* :github:`35762` - SAMPLES: shell_module gives no console output on qemu_leon3
* :github:`35756` - ESP32 Ethernet Support
* :github:`35737` - drivers: can: mcan: sjw not initialized when CAN_FD_MODE is enabled
* :github:`35714` - samples: subsys: testusb: I want to know how to test in window10.
* :github:`35713` - tests: kernel.scheduler.multiq: test_k_thread_suspend_init_null failure
* :github:`35694` - No console output from NIOS2 Max10
* :github:`35693` - gpio_mcux_lpc.c uses devicetree instance numbers incorrectly
* :github:`35686` - Bluetooth: Crash in bt_gatt_dm_attr_chrc_val when BLE device is disconnected during discovery process
* :github:`35681` - Unable to get ouput for samples/subsys/logging/logger and samples/philosophers
* :github:`35677` - samples/subsys/console/getchar and samples/subsys/console/getline build breaks for arduino_nano_33_ble
* :github:`35655` - Arm64: Assertion failed when CONFIG_MP_CPUS >= 3.
* :github:`35653` - ARC MWDT toolchain put __start and __reset at different address
* :github:`35633` - Out of bound read: Multiple Coverity sightings in generated code
* :github:`35631` - [Coverity CID: 205610] Out-of-bounds read in /zephyr/include/generated/syscalls/kernel.h (Generated Code)
* :github:`35630` - [Coverity CID: 205657] Out-of-bounds read in /zephyr/include/generated/syscalls/sample_driver.h (Generated Code)
* :github:`35629` - [Coverity CID: 207968] Out-of-bounds read in /zephyr/include/generated/syscalls/counter.h (Generated Code)
* :github:`35628` - [Coverity CID: 207976] Out-of-bounds read in /zephyr/include/generated/syscalls/counter.h (Generated Code)
* :github:`35627` - [Coverity CID: 208195] Out-of-bounds read in /zephyr/include/generated/syscalls/gpio.h (Generated Code)
* :github:`35626` - [Coverity CID: 210588] Out-of-bounds read in /zephyr/include/generated/syscalls/dac.h (Generated Code)
* :github:`35625` - [Coverity CID: 211042] Out-of-bounds read in /zephyr/include/generated/syscalls/socket.h (Generated Code)
* :github:`35624` - [Coverity CID: 214226] Out-of-bounds read in /zephyr/include/generated/syscalls/uart.h (Generated Code)
* :github:`35623` - [Coverity CID: 215223] Out-of-bounds read in /zephyr/include/generated/syscalls/net_ip.h (Generated Code)
* :github:`35622` - [Coverity CID: 215238] Out-of-bounds read in /zephyr/include/generated/syscalls/net_ip.h (Generated Code)
* :github:`35621` - [Coverity CID: 219477] Out-of-bounds read in /zephyr/include/generated/syscalls/pwm.h (Generated Code)
* :github:`35620` - [Coverity CID: 219482] Out-of-bounds read in /zephyr/include/generated/syscalls/pwm.h (Generated Code)
* :github:`35619` - [Coverity CID: 219496] Out-of-bounds read in /zephyr/include/generated/syscalls/ztest_error_hook.h (Generated Code)
* :github:`35618` - [Coverity CID: 219506] Out-of-bounds read in /zephyr/include/generated/syscalls/log_ctrl.h (Generated Code)
* :github:`35617` - [Coverity CID: 219568] Out-of-bounds read in /zephyr/include/generated/syscalls/net_if.h (Generated Code)
* :github:`35616` - [Coverity CID: 219586] Out-of-bounds read in /zephyr/include/generated/syscalls/net_if.h (Generated Code)
* :github:`35615` - [Coverity CID: 219648] Uninitialized scalar variable in /zephyr/include/generated/syscalls/test_syscalls.h (Generated Code)
* :github:`35614` - [Coverity CID: 219725] Out-of-bounds read in /zephyr/include/generated/syscalls/kernel.h (Generated Code)
* :github:`35613` - [Coverity CID: 225900] Out-of-bounds access in tests/net/lib/dns_addremove/src/main.c
* :github:`35612` - [Coverity CID: 229325] Out-of-bounds read in /zephyr/include/generated/syscalls/log_msg2.h (Generated Code)
* :github:`35611` - [Coverity CID: 230223] Out-of-bounds read in /zephyr/include/generated/syscalls/log_msg2.h (Generated Code)
* :github:`35610` - [Coverity CID: 232755] Out-of-bounds read in /zephyr/include/generated/syscalls/log_ctrl.h (Generated Code)
* :github:`35609` - [Coverity CID: 235917] Out-of-bounds read in /zephyr/include/generated/syscalls/log_msg2.h (Generated Code)
* :github:`35608` - [Coverity CID: 235923] Out-of-bounds read in /zephyr/include/generated/syscalls/log_msg2.h (Generated Code)
* :github:`35607` - [Coverity CID: 235933] Out-of-bounds read in /zephyr/include/generated/syscalls/gpio.h (Generated Code)
* :github:`35606` - [Coverity CID: 235951] Out-of-bounds read in /zephyr/include/generated/syscalls/log_ctrl.h (Generated Code)
* :github:`35605` - [Coverity CID: 236005] Out-of-bounds read in /zephyr/include/generated/syscalls/log_ctrl.h (Generated Code)
* :github:`35604` - [Coverity CID: 236129] Unused value in drivers/adc/adc_lmp90xxx.c
* :github:`35603` - [Coverity CID: 236130] Wrong sizeof argument in drivers/adc/adc_lmp90xxx.c
* :github:`35596` - Bluetooth: Cannot connect if extended advertising is enabled in ``prj.conf``
* :github:`35586` - Timer based example on docu using nrf52-dk compile error.
* :github:`35580` - Fault when logging
* :github:`35569` - tests/lib/mem_alloc failed with arcmwdt toolchain
* :github:`35567` - some mwdt compiler options can't be recognized by zephyr_cc_option
* :github:`35561` - Issue with fat_fs example on nucleo_f767zi
* :github:`35553` - all menuconfig interfaces contain sound open firmware/SOF text
* :github:`35543` - samples: subsys: display: lvgl: is run on nucleo_f429zi and nucleo_f746zg but should be skipped
* :github:`35541` - sockets_tls: when using dtls with sara-r4 modem, handshake hangs if no reply
* :github:`35540` - tests: ztest: error_hook: fails on nucleo_g071rb and nucleo_l073rz
* :github:`35539` - tests: drivers: spi: spi_loopback: test failed since #34731 is merged
* :github:`35524` - tests: samples: led: LED PWM sample fails on nrf platforms
* :github:`35522` - doc: Current section is not shown in the side pane nor the page top cookie
* :github:`35512` - OpenThread can't find TRNG driver on nRF5340
* :github:`35509` - tests: timer: Unstable tests using timer at nrf platforms
* :github:`35489` - samples: net: gsm_modem: build fails if CONFIG_GSM_MUX=y
* :github:`35480` - pm: device_runtime: ``pm_device_request`` can block forever
* :github:`35479` - address is not a known kernel object exception with arcmwdt toolchain
* :github:`35476` - bluetooth: controller assertion when scanning with multiple active connections
* :github:`35474` - The dma-stm32 driver don't build for STM32F0 MCUs
* :github:`35444` - drivers: sensor: sbs-gauge: The sbs-gauge cannot be read from sensor shell
* :github:`35401` - Enabling POSIX_API leads to SSL handshake error
* :github:`35395` - STM32F4: Infinite reboot loop due to Ethernet initialization
* :github:`35390` - net.socket.tls.tls_ext: frdm_k64f test failure
* :github:`35383` - Can't setup ISO Broadcast Demo on nrf53dk
* :github:`35380` - sys: timeutil: inconsistent types for local times
* :github:`35363` - bt_gatt_discover() retunrs incorrect handle (offset by -1)
* :github:`35360` - Power consumption nRF52
* :github:`35352` - [Coverity CID: 215376] Out-of-bounds access in drivers/sensor/lis2dh/lis2dh_trigger.c
* :github:`35351` - [Coverity CID: 219472] Unrecoverable parse warning in tests/kernel/mem_protect/mem_protect/src/mem_domain.c
* :github:`35350` - [Coverity CID: 236055] Out-of-bounds access in subsys/modbus/modbus_core.c
* :github:`35349` - [Coverity CID: 236057] Unrecoverable parse warning in tests/kernel/mem_protect/mem_protect/src/mem_domain.c
* :github:`35348` - [Coverity CID: 236060] Out-of-bounds access in subsys/net/l2/ppp/ppp_l2.c
* :github:`35347` - [Coverity CID: 236064] Dereference null return value in subsys/bluetooth/controller/ll_sw/ull.c
* :github:`35346` - [Coverity CID: 236069] Out-of-bounds access in tests/lib/c_lib/src/main.c
* :github:`35345` - [Coverity CID: 236074] Out-of-bounds access in tests/lib/c_lib/src/main.c
* :github:`35344` - [Coverity CID: 236075] Out-of-bounds access in subsys/bluetooth/controller/hci/hci.c
* :github:`35343` - [Coverity CID: 236079] Untrusted divisor in subsys/bluetooth/controller/hci/hci.c
* :github:`35342` - [Coverity CID: 236085] Dereference after null check in samples/userspace/prod_consumer/src/app_a.c
* :github:`35341` - twister: Hardware map creation is buggy (+ inaccurate docs)
* :github:`35338` - USB: ethernet CDC ECM/EEM support is broken
* :github:`35336` - tests: samples: power: samples/subsys/pm/device_pm/sample.power.ospm.dev_idle_pm fails on nrf52 platforms
* :github:`35329` - samples: gsm_modem: Compilation failed, likely related to logging changes
* :github:`35327` - Sensor Code for CC3220sf
* :github:`35325` - Shell: Kernel: Reboot: echo is abruptly terminated
* :github:`35321` - Improve STM32: Serial Driver,Handle uart mode per instance
* :github:`35307` - ARM64 system calls are entered with interrupts masked
* :github:`35305` - Linking order when using both TF-M and Mbed TLS
* :github:`35299` - PM suspend IPC message sporadically not being  delivered
* :github:`35297` - STM32 SPI - wrong behavior after PR 34731
* :github:`35286` - New logging breaks eclipse
* :github:`35278` - LittleFs Sample will not build for qemu_riscv64 sample target
* :github:`35263` - device_pm_control_nop is used in dac_mcp4725.c
* :github:`35242` - intel_adsp_cavs15: run kernel common testcases failed on ADSP
* :github:`35241` - intel_adsp_cavs15: run interrupt testcases failed on ADSP
* :github:`35236` - tests: doc: Document generation process FAILS with valid module ``samples:``
* :github:`35223` - Coverity [CID 221772]: Wrong operator used in logging subsystem, multiple violations
* :github:`35220` - tests: dma: memory-to-memory transfer fails on stm32f746zg nucleo board
* :github:`35219` - tests: driver: dma test case loop_transfer fails on stm32 with dmamux
* :github:`35215` - tests/kernel/msgq/msgq_usage failed on hsdk board
* :github:`35209` - tests/kernel/mem_heap/mheap_api_concept failed on hsdk board
* :github:`35204` - PPI channel assignment for Bluetooth controller is incorrect for nRF52805
* :github:`35202` - smp atomic_t global_lock will never be cleared when a thread oops with global_lock is set
* :github:`35200` - tests/kernel/smp failed on hsdk board
* :github:`35199` - Queues: there is no documentation about queue's implementation.
* :github:`35198` - subsys.pm.device_pm: frdm_k64f leave idel fails
* :github:`35197` - Zephyr Project Development with 2 Ethernet Interfaces Supported (eth0, and eth1)
* :github:`35195` - doc, coding guidelines: broken CERT-C links
* :github:`35191` - GIT Checkout of Master Branch is 2.6.0rc1 versus west update as 2.5.99
* :github:`35189` - Coding Guidelines: Resolve the issues under Rule 21.2
* :github:`35187` - Version selection not working
* :github:`35176` - strtol crashes
* :github:`35175` - quectel-bg9x crashes in modem_rssi_query_work
* :github:`35169` - esp32:    uart_poll_in never ready for UART2 only
* :github:`35163` - [Coverity CID: 236009] Wrong sizeof argument in tests/lib/cbprintf_package/src/test.inc
* :github:`35162` - [Coverity CID: 235972] Wrong sizeof argument in tests/lib/cbprintf_package/src/test.inc
* :github:`35161` - [Coverity CID: 235962] Unused value in tests/kernel/mem_protect/mem_map/src/main.c
* :github:`35160` - [Coverity CID: 235930] Unused value in kernel/mmu.c
* :github:`35159` - [Coverity CID: 232698] Uninitialized scalar variable in samples/net/sockets/txtime/src/main.c
* :github:`35158` - [Coverity CID: 224630] Uninitialized scalar variable in subsys/net/ip/igmp.c
* :github:`35157` - [Coverity CID: 221380] Uninitialized scalar variable in subsys/bluetooth/controller/ll_sw/ull_iso.c
* :github:`35156` - [Coverity CID: 235979] Unchecked return value in drivers/sensor/iis2mdc/iis2mdc_trigger.c
* :github:`35155` - [Coverity CID: 235677] Unchecked return value in drivers/gpio/gpio_cy8c95xx.c
* :github:`35154` - [Coverity CID: 233524] Unchecked return value in include/drivers/dma.h
* :github:`35153` - [Coverity CID: 236006] Structurally dead code in tests/subsys/logging/log_api/src/test.inc
* :github:`35152` - [Coverity CID: 235986] Structurally dead code in tests/subsys/logging/log_api/src/test.inc
* :github:`35151` - [Coverity CID: 235943] Reliance on integer endianness in include/sys/cbprintf_cxx.h
* :github:`35150` - [Coverity CID: 225136] Out-of-bounds write in tests/kernel/sched/deadline/src/main.c
* :github:`35149` - [Coverity CID: 234410] Out-of-bounds read in tests/kernel/sched/preempt/src/main.c
* :github:`35148` - [Coverity CID: 236015] Out-of-bounds access in tests/subsys/logging/log_api/src/mock_backend.c
* :github:`35147` - [Coverity CID: 236012] Out-of-bounds access in subsys/bluetooth/audio/vcs_client.c
* :github:`35146` - [Coverity CID: 235994] Out-of-bounds access in tests/kernel/interrupt/src/interrupt_offload.c
* :github:`35145` - [Coverity CID: 235984] Out-of-bounds access in include/sys/cbprintf_cxx.h
* :github:`35144` - [Coverity CID: 235944] Out-of-bounds access in subsys/bluetooth/audio/vcs_client.c
* :github:`35143` - [Coverity CID: 235921] Out-of-bounds access in include/sys/cbprintf_cxx.h
* :github:`35142` - [Coverity CID: 235914] Out-of-bounds access in subsys/bluetooth/audio/vcs.c
* :github:`35141` - [Coverity CID: 235913] Out-of-bounds access in subsys/bluetooth/audio/vcs.c
* :github:`35140` - [Coverity CID: 231072] Out-of-bounds access in tests/kernel/sched/preempt/src/main.c
* :github:`35139` - [Coverity CID: 229646] Out-of-bounds access in subsys/bluetooth/audio/vocs.c
* :github:`35138` - [Coverity CID: 229545] Out-of-bounds access in tests/subsys/canbus/isotp/conformance/src/main.c
* :github:`35137` - [Coverity CID: 225993] Out-of-bounds access in tests/subsys/canbus/isotp/conformance/src/main.c
* :github:`35136` - [Coverity CID: 235916] Operands don't affect result in drivers/adc/adc_stm32.c
* :github:`35135` - [Coverity CID: 235911] Negative array index write in tests/subsys/logging/log_api/src/mock_backend.c
* :github:`35134` - [Coverity CID: 222151] Negative array index write in tests/subsys/logging/log_msg2/src/main.c
* :github:`35133` - [Coverity CID: 232501] Missing varargs init or cleanup in subsys/logging/log_msg2.c
* :github:`35132` - [Coverity CID: 236003] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35131` - [Coverity CID: 235998] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35130` - [Coverity CID: 235997] Logically dead code in drivers/adc/adc_stm32.c
* :github:`35129` - [Coverity CID: 235990] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35128` - [Coverity CID: 235970] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35127` - [Coverity CID: 235965] Logically dead code in tests/subsys/logging/log_api/src/test.inc
* :github:`35126` - [Coverity CID: 235961] Logically dead code in tests/subsys/logging/log_api/src/test.inc
* :github:`35125` - [Coverity CID: 235956] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35124` - [Coverity CID: 235955] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35123` - [Coverity CID: 235954] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35122` - [Coverity CID: 235952] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35121` - [Coverity CID: 235950] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35120` - [Coverity CID: 235934] Logically dead code in subsys/bluetooth/audio/vcs.c
* :github:`35119` - [Coverity CID: 235932] Logically dead code in samples/sensor/adxl372/src/main.c
* :github:`35118` - [Coverity CID: 235919] Logically dead code in samples/sensor/bmg160/src/main.c
* :github:`35117` - [Coverity CID: 235945] Incorrect sizeof expression in include/sys/cbprintf_cxx.h
* :github:`35116` - [Coverity CID: 235987] Incompatible cast in include/sys/cbprintf_cxx.h
* :github:`35115` - [Coverity CID: 236000] Improper use of negative value in tests/lib/cbprintf_package/src/test.inc
* :github:`35114` - [Coverity CID: 221976] Division or modulo by zero in tests/drivers/can/timing/src/main.c
* :github:`35113` - [Coverity CID: 235985] Dereference before null check in subsys/bluetooth/audio/vcs_client.c
* :github:`35112` - [Coverity CID: 235983] Dereference after null check in samples/sensor/max17262/src/main.c
* :github:`35111` - [Coverity CID: 234630] Dereference after null check in tests/net/dhcpv4/src/main.c
* :github:`35110` - [Coverity CID: 220616] Arguments in wrong order in tests/subsys/canbus/isotp/conformance/src/main.c
* :github:`35108` - tests: drivers: pwm: pwm_api: failed on nucleo_f207zg
* :github:`35107` - Atmel SAM E70 / Cortex-M7 fails to boot if CONFIG_NOCACHE_MEMORY=y
* :github:`35104` - arch.interrupt.gen_isr_table.arm_mainline: fails on lpcxpresso55s16_ns
* :github:`35102` - testing.ztest.error_hook: fails on lpcxpresso55s16_ns
* :github:`35100` - libraries.libc.sprintf_new: fails on lpcxpresso55s16_ns and lpcxpresso55s69_ns
* :github:`35099` - benchmark.kernel.application.fp.arm: Illegal load of EXC_RETURN into PC on lpcxpresso55s16_ns and lpcxpresso55s69_ns
* :github:`35097` - arch.interrupt: fails on NXP Cortex-M0+ platforms
* :github:`35091` - enc424j600 does not work
* :github:`35089` - stm32h7: systematic crash at each second boot with NETWORKING=y
* :github:`35083` - dts: stm32mp1: SPI2 mixup with SAI2, SPI3 mixup with SAI3
* :github:`35082` - intel_adsp_cavs15: All the testcases run failed on ADSP
* :github:`35079` - acrn_ehl_crb: build warnings for old APIC_TIMER configs
* :github:`35076` - acrn_ehl_crb does not work with CPUs >1
* :github:`35075` - .west/config west.yml and zephyr versioning during project development
* :github:`35073` - timer: cortex_m_systick: uptime drifting in tickless mode
* :github:`35060` - tests/kernel/common: test_nop failed on ARMV7_M_ARMV8_M_MAINLINE
* :github:`35058` - Bluetooth: deadlock when canceling db_hash.work from settings commit handler
* :github:`35051` - CONFIG_LOG2 fails for floating point output with warning and bad output
* :github:`35048` - mcuboot with enabled  serial recovery does not compile
* :github:`35046` - Tracing shows k_busy_wait() being executed very often on nRF platforms
* :github:`35043` - NXP: Build error : ModuleNotFoundError: No module named 'elftools'
* :github:`35041` - Crash in net-shell when invoking "net dns" command
* :github:`35036` - STM32: Wrong uart_event_tx len calculation
* :github:`35033` - samples/boards: stm32 pm blinky fails when run with twister
* :github:`35028` - frdm_k64f: failed to run tests/subsys/pm/power_mgmt/
* :github:`35027` - frdm_k64f: failed to run testcase tests/drivers/adc/adc_emul/
* :github:`35026` - sam_e70b_xplained: failed to run testcases tests/drivers/adc/adc_emul/
* :github:`35013` - Bluetooth: Controller: Out-of-Bound ULL context access during connection completion
* :github:`34999` - Using BT_ISO bluetooth hci_usb sample, and  enable, but still shows no command supported
* :github:`34989` - Implement arch_page_phys_get() for ARM64
* :github:`34979` - MIMRT685-EVK board page has broken links
* :github:`34978` - misleading root folder size in footprint reports
* :github:`34969` - Documentation still mentions deprecated macro DT_INST_FOREACH_STATUS_OKAY
* :github:`34964` - net regression: Connection to Zephyr server non-deterministically leads to client timeout, ENOTCONN on server side
* :github:`34962` - tfm: cmake: Toolchain not being passed into psa-arch-tests
* :github:`34950` - xtensa arch ：The source code version is too old
* :github:`34948` - SoF module is not pointing at Zehpyr repo
* :github:`34935` - LwM2M: Block transfer with TLV format does not work
* :github:`34932` - drvers/flash/nrf_qspi_nor: high power consumption on nrf52840
* :github:`34931` - dns resolve timeout leads to CPU memory access violation error
* :github:`34925` - tests/lib/cbprintf_package fails to build
* :github:`34923` - net.socket.get_addr_info: frdm_k64f test fails
* :github:`34917` - arch.interrupt.arm| arch.interrupt.extra_exception_info: lpcxpresso55s28 series: test failure
* :github:`34915` - arch.interrupt.gen_isr_table.arm_mainline:lpcxpresso55s16_ns/lpcxpresso55s28: interrupt 57 does not work
* :github:`34911` - tests/kernel/mem_protect/mem_protect: frdm_k82f/frdm_k64f unexpected fatal error
* :github:`34909` - dma_loopback:lpcxpresso55s28_ns driver test failure
* :github:`34904` - uart_mcux_lpuart: Enable driver to work with ``CONFIG_MULTITHREADING=n``
* :github:`34903` - doc: Target name is wrong for rcar_h3ulcb board
* :github:`34891` - mcumgr timeout due to smp_shell_process stalling
* :github:`34880` - Convert SoF Module to new kwork API
* :github:`34865` - CONFIG_NET_SOCKETS_PACKET interferes with other network traffic (gptp, IP)
* :github:`34862` - CAN ISO-TP implementation not using local work queue
* :github:`34852` - Some bluetooth advertising packages never get transmitted over-air (Bluetooth Mesh application)
* :github:`34844` - qemu_cortex_a53_smp:  tests/ztest/error_hook failed after enabling the FPU context switching support
* :github:`34840` - CONFIG_MULTITHREADING=n is not tested on hardware platforms
* :github:`34838` - tests/subsys/logging/log_msg2 failes on qemu_cortex_a53
* :github:`34837` - Unstable multi connections between NRF52840
* :github:`34827` - tests: power management: test_power_state_trans fails on nrf boards
* :github:`34796` - x86 jlink runner fails on M1 macs
* :github:`34794` - LIS2DH Hard Fault when INT2 is not defined
* :github:`34788` - APIC timer does not support SMP
* :github:`34777` - semaphore and condvar_api tests fails after ARM64 FPU context switch commit on qemu_cortex_a53_smp
* :github:`34772` - Mixed usage of signed/unsigned integer by the logging subsystem
* :github:`34757` - west update: Default behavior should fetch only --depth 1
* :github:`34753` - Building and Debugging Zephyr for Native Platform on Linux using VSCode and/or QtCreator
* :github:`34748` - Native posix: Segmentation fault in case of allocations without explicit heap assignment
* :github:`34739` - tests/arch/arm/arm_no_multithreading/arch.arm.no_multithreading fails to build on a number of platforms
* :github:`34734` - Can handler doesn't compile with CONFIG_USERSPACE
* :github:`34722` - nvs: possibility of losing data
* :github:`34716` - flash: spi_nor: build fails when CONFIG_SPI_NOR_SFDP_RUNTIME is enabled
* :github:`34696` - Unable to select LOG_DICTIONARY_SUPPORT when TEST_LOGGING_DEFAULTS=y
* :github:`34690` - net: process_rx_packet() work handler violates requirements of Workqueue Threads implementation
* :github:`34687` - intel_adsp_cavs15: run tests/kernel/semaphore/semaphore/ failed on ADSP
* :github:`34683` - MCUboot not confirm image when using 'west flash'
* :github:`34672` - stm32h7: issue with CONFIG_UART_ASYNC_API=y
* :github:`34670` - smp_svr sample configured for serial port with shell management enabled does not work
* :github:`34669` - uart_read_fifo() reads only 2 chars on nucleo STM32L43KC and nRF52840-DK
* :github:`34668` - i2c_ite_it8xxx2.c fails to build - possibly related to device_pm_control_nop changes
* :github:`34667` - posix_apis:mimxrt685_evk_cm33 timeout in test_posix_realtime
* :github:`34662` - many udp networking cases fail on nxp platforms
* :github:`34658` - TF-M integration samples do not work with GNU ARM Embedded having GCC v10.x.x
* :github:`34656` - STM32 ADC - read of multiple channels in a sequence
* :github:`34644` - CAN - Bus Driver Sample
* :github:`34635` - BME280 build error
* :github:`34633` - STM32: Mass conversion of boards to dts based clock control configuration
* :github:`34624` - Coding guidelines 15.7 PR causes tests failures
* :github:`34605` - flash_stm32h7x.c fails to build
* :github:`34601` - sample: bluetooth: beacon: USAGE FAULT after few seconds on board b_l4s5i_iot01a
* :github:`34597` - Mismatch between ``ot ping`` and ``net ping``
* :github:`34593` - Using hci_usb with Bluez 5.55 or 5.58
* :github:`34585` - mec15xxevb_assy6853: test_timeout_order in tests/kernel/common assertion failed
* :github:`34584` - kernel: workqueue thread is occasionally not invoked when kernel is run in cooperative mode only
* :github:`34583` - twister failing: fails platform native_posix, test lib/cmsis_dsp/filtering
* :github:`34581` - Unable to work with SX1276 Lora module.
* :github:`34570` - IPC samples running secure but configured nonsecure (AN521)
* :github:`34568` - Compilation error with zephyr 2.3.0
* :github:`34563` - net: lib: sockets: Unable to select() file descriptors with number >= 32
* :github:`34558` - Compilation error with Log v2 and CONFIG_LOG_PRINTK
* :github:`34541` - per-adv-sync-create doesn't work on nRF52840, ./tests/bluetooth/shell/
* :github:`34538` - STM32 temperature sensor
* :github:`34534` - west sign regression when HEX file not exists
* :github:`34527` - Cpp compiling error: expected primary-expression before 'char'.    _Generic macros problem
* :github:`34526` - logging tests fails to build on a number of platforms
* :github:`34515` - samples: net: syslog_net: hard fault when running on frdm_k64f
* :github:`34505` - mimxrt1050_evk:failed to run testcases tests/net
* :github:`34503` - up_squared and ehl_crb: test fails from timeout in application_development.cpp.libcxx.exceptions
* :github:`34500` - thingy52 lis2dh12 sensor values too large
* :github:`34495` - logger: Logger API cannot be compiled with C++
* :github:`34492` - Logging still broken with SOF
* :github:`34482` - net_tunnel_virtual:frdm_k64f: build failure
* :github:`34474` - MPS2-AN385 SRAM does not match what the documentation page says
* :github:`34473` - Add Requirements repository with infrastructure and placeholder requirements
* :github:`34469` - nrf53: nrf5340dk_nrf5340_cpunet not executing.
* :github:`34463` - LwM2M bootstrap DELETE operation not working
* :github:`34462` - samples: net: sockets: packet: reception stops working after a while
* :github:`34461` - Unable to use PWM pins with STM Nucleo H743ZI
* :github:`34443` - Document font display is incomplete
* :github:`34439` - Logging subsystem causes build to fail with LLVM
* :github:`34434` - subsys: testsuite: ztest framework breaks if run in cooperative mode only
* :github:`34426` - RFC: API Change: USB HID remove get_protocol/set_protocol/get_idle/set_idle callbacks
* :github:`34423` - twister build issue with arm64
* :github:`34419` - significant build time increase with new logging subsystem
* :github:`34416` - Configuration HAS_DTS has no function, preventing compile for vendors without device tree
* :github:`34409` - mDNS response on link local when using DHCPv4 and AutoIP/Static IP
* :github:`34403` - Logging disable function causes Zephyr hard lockup
* :github:`34402` - spi: spi_nrfx_spim: wrong clock frequency selected
* :github:`34397` - Update getting started docs to reflect gdb python requirements
* :github:`34387` - Error message in include/linker/kobject-text.ld is unclear
* :github:`34382` - fs/nvs: if closing ATE has to high offset NVS iterates up to the end of flash.
* :github:`34372` - CPU Lockups when using own Log Backend
* :github:`34369` - Driver esp for wifi got a dead lock.
* :github:`34368` - Cmake's Python path breaks after using west build --pristine
* :github:`34363` - k_work: incorrect return values for synchronous cancel
* :github:`34355` - LittleFS sample code catch an "undefined symbol 'ITCM_ADDR' referenced in expression" in linker step
* :github:`34345` - samples/net/civetweb/websocket_server fails to build
* :github:`34342` - No output on SWO pin (STM32L4)
* :github:`34341` - SWO logging and DWT timing collision
* :github:`34329` - lwm2m: pmin and pmax attributes should be optional
* :github:`34325` - hal: microchip: Missing Wake bit definitions
* :github:`34309` - unable to connect to azure iot hub via mqtt protocol
* :github:`34308` - SPI transceive function only transmitting first tx_buffer on Sifive's MCU
* :github:`34304` - intel_adsp_cavs15: run tests/kernel/queue/ failed on ADSP
* :github:`34295` - TensorFlow Lite Micro Module
* :github:`34280` - Add USB to LPCXpresso55S69 board
* :github:`34275` - drivers: led_pwm: Improper label assignment
* :github:`34272` - twister: Add memory footprint info to json report
* :github:`34270` - NVS read after consecutive restarts.
* :github:`34265` - BME280 Pressure calculation
* :github:`34264` - CI: twister: Add  merged report from all sub-builds to buildkite build artifacts
* :github:`34262` - Unable to find detailed documentation on pinmux driver development
* :github:`34249` - Unable to initialize on STM32F103RE + Quectel EC21 using BG9x driver
* :github:`34246` - LoRa driver sending opcode of commands without parameters
* :github:`34234` - UART NS16550 Underflow Issue During Clearing Port
* :github:`34233` - OpenThread build issues
* :github:`34231` - uzlib (decompression library)
* :github:`34229` - C++ Exception Support in qemu_riscv32 emulation
* :github:`34225` - BBC micro:bit v1.5 LSM303AGR-ACCEL
* :github:`34216` - Using nrfx_gpiote library with spi(nrf52840)
* :github:`34214` - codes reference weak variable are optimized out
* :github:`34209` - BLE Mesh Provisioning generates value 0 outside of Specification for Blink, Beep, or Vibrate
* :github:`34206` - Question: Is zephyrproject actively maintaining the windows-curses sub-project?
* :github:`34202` - MPU Fault when running central coded bluetooth and ENC28J60 dhcpv4_client
* :github:`34201` - Fatal error when perform "bt phy-update" if there is not any connections at ./tests/bluetooth/shell
* :github:`34197` - samples: telnet: Tab completion not working in telnet shell
* :github:`34196` - st_lis2mdl: LSM303AGR-MAGN not detected
* :github:`34190` - Newbie: Simple C++ List App Builds for QEMU but not Native Posix Emulation
* :github:`34184` - video samples fail to build
* :github:`34178` - apds9960 sensor sample does not build on STM32
* :github:`34165` - SNTP fails to close the used socket
* :github:`34154` - AArch64 PR reviews and merges are lagging behind
* :github:`34152` - intel_adsp_cavs15: run tests/kernel/smp/ failed on ADSP
* :github:`34149` - Invalid link in Zephyr document to ACRN page
* :github:`34145` - Convert NXP kinetis boards to have pindata in devicetree
* :github:`34134` - USB do not works if bootloader badly use the device before
* :github:`34117` - ehl_crb: tests/kernel/context tests failed
* :github:`34116` - mec15xxevb_assy6853: tests/kernel/mutex/sys_mutex/
* :github:`34107` - Convert tests/benchmarks/mbedtls/src/benchmark.c to new kwork API
* :github:`34106` - Convert tests/kernel/pending/src/main.c to new kwork API
* :github:`34104` - Convert tests/benchmarks/footprints/src/workq.c to new kwork API
* :github:`34103` - Convert drivers/console/uart_mux.c to new kwork API
* :github:`34102` - Convert drivers/serial/uart_sam0.c to new kwork API
* :github:`34101` - Convert subsys/mgmt to new kwork API
* :github:`34100` - Convert subsys/shell/shell_telnet to new kwork API
* :github:`34099` - Convert subsys/tracing/cpu_stats.c to new kwork API
* :github:`34098` - Convert samples/drivers/led_sx1509b_intensity to new kwork API
* :github:`34097` - Convert samples/boards/reel_board/mesh_badge to new kwork API
* :github:`34096` - Convert samples nrf clock_skew to new kwork API
* :github:`34095` - Convert CAN to new kwork API
* :github:`34094` - Convert ubsys/ipc/rpmsg_service/rpmsg_backend.c to new kwork API
* :github:`34093` - Convert bluetooth to new kwork API
* :github:`34092` - Convert usb to new kwork API
* :github:`34091` - Convert uart_stm32.c to new kwork API
* :github:`34090` - Convert video_sw_generator.c to new kwork API
* :github:`34082` - Bullets are broken in documentation
* :github:`34076` - Unrecognized characters generated during document construction
* :github:`34068` - DOC BUILD FAIL
* :github:`34046` - Failed to build arm64 architecture related board
* :github:`34045` - samples: subsys: mgmt: smp_srv: UDP sample does not boot on frdm_k64f
* :github:`34026` - RISCV32 QEMU illegal instruction exception / floating point support
* :github:`34023` - test_prevent_interruption has wrong data type for key
* :github:`34014` - Toolchain Compile Error  of RISC-V(rv32m1-vega board)
* :github:`34011` - NRF52840 DTS questions
* :github:`34010` - [Coverity CID: 220531] Copy into fixed size buffer in tests/net/socket/misc/src/main.c
* :github:`34009` - [Coverity CID: 220532] Unrecoverable parse warning in subsys/bluetooth/controller/ll_sw/ull_peripheral_iso.c
* :github:`34008` - [Coverity CID: 220533] Improper use of negative value in tests/net/socket/misc/src/main.c
* :github:`34007` - [Coverity CID: 220534] Out-of-bounds access in tests/arch/arm/arm_no_multithreading/src/main.c
* :github:`34006` - [Coverity CID: 220535] Dereference before null check in subsys/net/l2/virtual/virtual.c
* :github:`34005` - [Coverity CID: 220536] Pointer to local outside scope in subsys/net/lib/lwm2m/lwm2m_engine.c
* :github:`34004` - [Coverity CID: 220537] Uninitialized pointer read in tests/net/virtual/src/main.c
* :github:`34003` - [Coverity CID: 220538] Logically dead code in subsys/net/l2/virtual/virtual.c
* :github:`34002` - [Coverity CID: 220539] Improper use of negative value in tests/net/socket/misc/src/main.c
* :github:`34001` - [Coverity CID: 220540] Uninitialized scalar variable in samples/drivers/flash_shell/src/main.c
* :github:`34000` - [Coverity CID: 220541] Dereference before null check in subsys/net/lib/capture/capture.c
* :github:`33986` - TCP stack doesn't handle data received in FIN_WAIT_1
* :github:`33983` - example-application module: add trivial driver
* :github:`33981` - example-application module: add board zxa_board_stub
* :github:`33978` - MCP2515 wrong BRP value
* :github:`33977` - Question: How best to contribute drivers upstream?
* :github:`33974` - The stm32wb55rc MCU does not operate on zephyr
* :github:`33969` - Hardfault error caused by ARM Cortex m0 non-4-byte alignment
* :github:`33968` - ESP32 Porting GSM Module Compile Error
* :github:`33967` - The printed total size differs from calculated from .json
* :github:`33966` - STM32: I-cache & D-cache
* :github:`33965` - example-application module: add trivial project
* :github:`33956` - tests: kernel: fpu: Several tests related to fpu fail on nrf5340dk_nrf5340_cpuappns
* :github:`33954` - I2C scan in UART shell is not detecting any I2C devices on ESP32
* :github:`33951` - periodic_adv not working with nRF5340 DK
* :github:`33950` - periodic_adv not working with nRF5340 DK
* :github:`33929` - subsys: logging: Sample app doesn't build if using Werror and logging with latest SDK
* :github:`33925` - Rework hl7800 driver to use new work queue APIs
* :github:`33923` - GSM modem automatic operation selection mode problems
* :github:`33911` - test:twr_ke18f: tests/kernel/sched/schedule_api - kernel_threads_sched_userspace cases meet out our space
* :github:`33904` - having issue compile a shell program and it is bug likely
* :github:`33898` - intel_adsp_cavs15: running testcases failed tests/kernel/workq/work on adsp
* :github:`33897` - Bluetooth: extended advertising can't restart after connection
* :github:`33896` - Device tree: STM32L4 defines can1 node for chips which do not support CAN peripheral
* :github:`33895` - Device tree: STM32L412 and STM32L422 are missing nodes
* :github:`33890` - Continuous Integration check patch false warnings
* :github:`33884` - CORTEX_M_DEBUG_NULL_POINTER_EXCEPTION_DETECTION_NONE is way too long
* :github:`33874` - twister: Add skip as error feature
* :github:`33868` - Bluetooth: controller: connectable advertisement disable race condition
* :github:`33866` - uart: TX_DONE occurs before transmission is complete.
* :github:`33860` - DEPRECATED, a replacement suggestion should be found somewhere
* :github:`33858` - tests: ztest: test trigger_fault_access from tests/ztest/error_hook fails on em_starterkit_em7d_v22
* :github:`33857` - atomic xtensa  build fail
* :github:`33843` - ESP32 example does not connect to WiFi
* :github:`33840` - [Coverity CID: 220301] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33839` - [Coverity CID: 220302] Uninitialized scalar variable in subsys/net/lib/lwm2m/lwm2m_rw_link_format.c
* :github:`33838` - [Coverity CID: 220304] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33837` - [Coverity CID: 220305] Logically dead code in drivers/gpio/gpio_nrfx.c
* :github:`33836` - [Coverity CID: 220306] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33835` - [Coverity CID: 220309] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33834` - [Coverity CID: 220310] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33833` - [Coverity CID: 220311] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33832` - [Coverity CID: 220312] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33831` - [Coverity CID: 220313] Logically dead code in subsys/bluetooth/services/ots/ots_obj_manager.c
* :github:`33830` - [Coverity CID: 220314] Untrusted value as argument in subsys/bluetooth/services/ots/ots_dir_list.c
* :github:`33829` - [Coverity CID: 220315] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33828` - [Coverity CID: 220316] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33827` - [Coverity CID: 220317] Unchecked return value in tests/kernel/pipe/pipe_api/src/test_pipe_contexts.c
* :github:`33826` - [Coverity CID: 220318] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33825` - [Coverity CID: 220319] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33824` - [Coverity CID: 220320] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33823` - [Coverity CID: 220321] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33822` - [Coverity CID: 220413] Explicit null dereferenced in tests/lib/sprintf/src/main.c
* :github:`33821` - [Coverity CID: 220414] Unused value in tests/subsys/logging/log_backend_fs/src/log_fs_test.c
* :github:`33820` - [Coverity CID: 220415] Uninitialized scalar variable in tests/posix/common/src/pthread.c
* :github:`33819` - [Coverity CID: 220417] Out-of-bounds access in subsys/modbus/modbus_core.c
* :github:`33818` - [Coverity CID: 220418] Destination buffer too small in subsys/modbus/modbus_raw.c
* :github:`33817` - [Coverity CID: 220419] Unchecked return value in subsys/bluetooth/host/gatt.c
* :github:`33816` - [Coverity CID: 220420] Out-of-bounds access in tests/subsys/modbus/src/test_modbus_raw.c
* :github:`33815` - [Coverity CID: 220421] Incorrect sizeof expression in tests/lib/cbprintf_package/src/main.c
* :github:`33814` - [Coverity CID: 220422] Extra argument to printf format specifier in tests/lib/sprintf/src/main.c
* :github:`33813` - [Coverity CID: 220423] Out-of-bounds access in subsys/net/l2/ppp/ppp_l2.c
* :github:`33812` - [Coverity CID: 220424] Out-of-bounds access in drivers/watchdog/wdt_mcux_imx_wdog.c
* :github:`33811` - [Coverity CID: 220425] Destination buffer too small in tests/subsys/modbus/src/test_modbus_raw.c
* :github:`33810` - [Coverity CID: 220426] Out-of-bounds access in tests/lib/c_lib/src/main.c
* :github:`33809` - [Coverity CID: 220427] Unchecked return value in tests/posix/common/src/pthread.c
* :github:`33808` - [Coverity CID: 220428] Out-of-bounds access in subsys/bluetooth/audio/vocs.c
* :github:`33807` - [Coverity CID: 220429] Out-of-bounds access in subsys/net/l2/ppp/ppp_l2.c
* :github:`33806` - [Coverity CID: 220430] Operands don't affect result in tests/lib/c_lib/src/main.c
* :github:`33805` - [Coverity CID: 220431] Extra argument to printf format specifier in tests/lib/sprintf/src/main.c
* :github:`33804` - [Coverity CID: 220432] Out-of-bounds access in subsys/net/l2/ethernet/ethernet.c
* :github:`33803` - [Coverity CID: 220433] Printf arg count mismatch in tests/lib/sprintf/src/main.c
* :github:`33802` - [Coverity CID: 220434] Resource leak in tests/lib/mem_alloc/src/main.c
* :github:`33801` - [Coverity CID: 220435] Extra argument to printf format specifier in tests/lib/sprintf/src/main.c
* :github:`33800` - [Coverity CID: 220436] Explicit null dereferenced in tests/lib/sprintf/src/main.c
* :github:`33799` - [Coverity CID: 220437] Wrong size argument in tests/lib/mem_alloc/src/main.c
* :github:`33798` - [Coverity CID: 220438] Out-of-bounds access in subsys/bluetooth/audio/vocs_client.c
* :github:`33797` - [Coverity CID: 220439] Destination buffer too small in tests/subsys/modbus/src/test_modbus_raw.c
* :github:`33796` - [Coverity CID: 220440] Out-of-bounds access in tests/subsys/modbus/src/test_modbus_raw.c
* :github:`33795` - [Coverity CID: 220441] Untrusted loop bound in subsys/modbus/modbus_client.c
* :github:`33794` - [Coverity CID: 220442] Pointless string comparison in tests/lib/c_lib/src/main.c
* :github:`33793` - [Coverity CID: 220443] Out-of-bounds access in tests/subsys/modbus/src/test_modbus_raw.c
* :github:`33792` - [Coverity CID: 220444] Out-of-bounds access in subsys/modbus/modbus_raw.c
* :github:`33791` - [Coverity CID: 220445] Unchecked return value in subsys/logging/log_backend_fs.c
* :github:`33790` - [Coverity CID: 220446] Printf arg count mismatch in tests/lib/sprintf/src/main.c
* :github:`33789` - [Coverity CID: 220447] Out-of-bounds access in subsys/modbus/modbus_raw.c
* :github:`33788` - [Coverity CID: 220448] Out-of-bounds access in tests/subsys/modbus/src/test_modbus_raw.c
* :github:`33787` - [Coverity CID: 220449] Unused value in tests/subsys/logging/log_backend_fs/src/log_fs_test.c
* :github:`33786` - [Coverity CID: 220450] Untrusted loop bound in subsys/modbus/modbus_client.c
* :github:`33785` - [Coverity CID: 220451] Resource leak in tests/lib/mem_alloc/src/main.c
* :github:`33784` - [Coverity CID: 220452] Out-of-bounds access in subsys/net/l2/ethernet/ethernet.c
* :github:`33783` - [Coverity CID: 220453] Extra argument to printf format specifier in tests/lib/sprintf/src/main.c
* :github:`33768` - Rpmsg initialisation on nRF53 may fail
* :github:`33765` - Regular loss of a few connection intervals
* :github:`33761` - Documentation: K_WORK_DEFINE usage is not shown in workqueue doc
* :github:`33754` - xtensa sys timer Interrupt bug？
* :github:`33745` - ``west attach`` silently downgrades to ``debugserver`` for openocd runner
* :github:`33729` - flash_write() in STM32L0 MCU throws hard fault
* :github:`33727` - mec15xxevb_assy6853: multiple tests failed due to assertion failure at kernel/sched.c:841
* :github:`33726` - test:mimxrt1010_evk:  tests/kernel/sched/schedule_api - kernel_threads_sched_userspace cases meet out our space
* :github:`33721` - STM32 serial driver configure api doesn't set correct datalength when even or odd parity is used.
* :github:`33712` - kernel/poll: no error happened when mutil-threads poll a same event at a same time.
* :github:`33702` - cfb sample build error for esp32 when SSD1306 is enabled
* :github:`33697` - dts:dt-bindings No OCTOSPIM dt-bindings available for stm32h723
* :github:`33693` - cmake -E env: unknown option '-Wno-unique_unit_address_if_enabled'
* :github:`33667` - tests: kernel: timer: Test timeout_abs from tests/kernel/timer/timer_api hangs causing test scenarios to fail
* :github:`33665` - tests: kernel: timer_api fails with hard fault in CONFIG_TICKLESS_KERNEL
* :github:`33662` - Make twister dig deeper in directory structure to find additional .yaml files
* :github:`33658` - Question: How is NUM_IRQS determined for example for STM32F401xC
* :github:`33655` - Add support for board: Nucleo-L412RB-P
* :github:`33646` - Expose net_ipv4_create, net_ipv6_create, and net_udp_create in standard header
* :github:`33645` - Random MAC after RESET - NRF52832
* :github:`33641` - API Meeting Minutes
* :github:`33635` - subsys/ipc/openamp sample on QEMU not working when debugging
* :github:`33633` - NXP imx rt1064 evk: Application does not boot when flash/flexSPI driver is enabled
* :github:`33629` - tests: subsys: logging:  Tests from /tests/subsys/logging/log_backend_fs fail on nrf52840dk
* :github:`33625` - NVS: replace dev_name parameter by device reference in nvs_init()
* :github:`33612` - Add support to get adv address of a per_adv_sync object and lookup per_adv_sync object from adv address
* :github:`33610` - ARC: add ARCv3 HS6x support
* :github:`33609` - Question about memory usage of the binary zephyr.exe
* :github:`33600` - Master is broken at build-time when SRAM is mapped at an high address
* :github:`33593` - acrn_ehl_crb: general tests and samples execution slowdown
* :github:`33591` - wordlist (kobject hash) is not generated correctly when using high addresses for SRAM on 64-bit platforms
* :github:`33590` - nrf: Debugging any test fails when CORTEX_M_DEBUG_NULL_POINTER_EXCEPTION_DETECTION_DWT is enabled
* :github:`33589` - SSD1306 driver no longer works for I2C displays
* :github:`33583` - nRF SPI CS control: CS set / release delay is longer than configured
* :github:`33572` -  <err> esp_event: SYSTEM_EVENT_STA_DISCONNECTED for wifi sample for esp32 board
* :github:`33568` - Test tests/arch/x86/info fails for ehl_crb
* :github:`33567` - sof: framework is redefnining MAX, MIN to version with limited capabilities
* :github:`33559` - pin setting error on frdm_kl25z boards
* :github:`33558` - qemu_cortex_a53_smp and qemu_x86_64 failed in tests/kernel/condvar/condvar while enabling for SMP
* :github:`33557` - there is no network interface to work with for  wifi sample for esp32 board
* :github:`33551` - tests: SMP: Two threads synchronize failed using mutex or semaphore while both doing irq_lock()
* :github:`33549` - xt-xcc unknown field 'obj' specified in initializer
* :github:`33548` - xt-xcc does not support deprecated attribute
* :github:`33545` - ehl_crb: tests/arch/x86/info failed.
* :github:`33544` - ehl_crb: portability.posix.common.posix_realtime failed.
* :github:`33543` - ehl_crb: tests/subsys/edac/ibecc failed.
* :github:`33542` - reel_board: samples/subsys/usb/hid/ timeout failure
* :github:`33539` - ehl_crb: tests/kernel/mem_heap/mheap_api_concept failed.
* :github:`33529` - adafruit_feather_nrf52840 dts not setting I2C controller compat (was: SSD1306 DTS properties not being generated in devicetree_unfixed.h)
* :github:`33526` - boards:  Optimal way to have customized dts for my project.
* :github:`33525` - ST Nucleo G071RB board support issue
* :github:`33524` - minor: kswap.h is included twice in kernel/init.c
* :github:`33523` - Bossac runner flashes at an incorrect offset
* :github:`33516` - socket: tcp application crashes when there are no more net buffers in case of reception
* :github:`33515` - arm64/mmu: Are you sure it's OK to use atomic_cas before the MMU is initialized?
* :github:`33512` - build: build target is always out-of-date
* :github:`33509` - samples: tests: watchdog: samples/subsys/task_wdt breaks nrf platforms performace
* :github:`33505` - WS2812 SPI LED driver with DMA on nrf52 bad SPI data
* :github:`33498` - west: Question on ``west flash --hex-file`` behavior with build.dir-fmt
* :github:`33491` - fwrite() function will cause the program to crash when wrong parameters passed
* :github:`33488` - Ring buffer makes it hard to discard items
* :github:`33479` - disk_access_spi_sdhc: Missing stop/end bit
* :github:`33475` - Need to add device node for UART10 in dts/arm/st/h7/stm32h723.dtsi
* :github:`33464` - SYS_INIT initialize priority "2-9" ordering error
* :github:`33459` - Divide zero exception is not enabled in ARC
* :github:`33457` - Fail to build ARC zephyr with MetaWare toolchain
* :github:`33456` - lorawan: unconfirmed messages leave stack in busy state
* :github:`33426` - a few failures with CONFIG_HCI_ACL_DATA_SIZE in nightly builds
* :github:`33424` - tests: ztest: Test from tests/ztest/error_hook fails on nrf5340dk_nrf5340_cpuappns
* :github:`33423` - tests: portability: tests/portability/cmsis_rtos_v2 fails on nrf5340dk_nrf5340_cpuappns
* :github:`33422` - samples/subsys/usb/dfu/sample.usb.dfu fails on multiple platforms in daily build
* :github:`33421` - Add BT_LE_FEAT_BIT_PER_ADV checks for periodic advertising commands
* :github:`33403` - trigger_fault_divide_zero test case didn't run divide instruction
* :github:`33381` - West debug does not work with Bluetooth shell and nRF52840 DK
* :github:`33378` - Extended advertising switch on / switch off loop impossible
* :github:`33374` - Network interface routines are not thread safe
* :github:`33371` - mec15xxevb_assy6853: tests/drivers/gpio/gpio_basic_api/ failed
* :github:`33365` - Add STM32H7 Series USB Device Support
* :github:`33363` - Properly indicate ISR number in SystemView
* :github:`33356` - Using AT HOST  fails build
* :github:`33353` - work: k_work_schedule from running work item does not schedule
* :github:`33352` - Arduino Nano 33 BLE sense constantly resetting.
* :github:`33351` - uart peripheral outputs 7 bits when configured in 8 bits + parity on stm32
* :github:`33348` - ip/dhcpv4 is not thread-safe in SMP/preemptive thread configurations
* :github:`33342` - disco_l475_iot1: Multiple definitions of z_timer_cycle_get_32, etc.
* :github:`33339` - API/functions to get remaining free heap size
* :github:`33330` - Poll on DTLS socket returns -EAGAIN if bind & receive any data.
* :github:`33326` - The gpio-map for adafruit_feather_stm32f405 looks like it contains conflicts
* :github:`33324` - Using bluetooth hci_usb sample, and set periodic adv enable, but bluez still shows no command supported
* :github:`33322` - Questions on ztest : 1) Can twister/ztests run on windows? 2) Project structure
* :github:`33319` - Kernel doesn't validate lock state on swap
* :github:`33318` - [Coverity CID: 219722] Resource leak in tests/lib/mem_alloc/src/main.c
* :github:`33317` - [Coverity CID: 219727] Improper use of negative value in tests/lib/cbprintf_package/src/main.c
* :github:`33316` - [Coverity CID: 219724] Side effect in assertion in tests/kernel/queue/src/test_queue_contexts.c
* :github:`33315` - [Coverity CID: 219723] Side effect in assertion in tests/kernel/queue/src/test_queue_contexts.c
* :github:`33314` - [Coverity CID: 219726] Side effect in assertion in tests/kernel/lifo/lifo_usage/src/main.c
* :github:`33313` - [Coverity CID: 219728] Untrusted array index read in subsys/bluetooth/host/iso.c
* :github:`33312` - [Coverity CID: 219721] Untrusted array index read in subsys/bluetooth/host/iso.c
* :github:`33311` - [Coverity CID: 219729] Logically dead code in lib/os/cbprintf_packaged.c
* :github:`33303` - __ASSERT does not display message or register info in v2.5.0
* :github:`33291` - Using both NET_SOCKETS_SOCKOPT_TLS and POSIX_API fails build
* :github:`33280` - drivers: serial: nrf uarte: The application receives one more byte that was received over UART
* :github:`33273` - The z_smp_reacquire_global_lock() internal API is not used any where inside zephyr code base
* :github:`33269` - ILI9341 (ILI9XXX) set orientation function fails to update the display area correctly
* :github:`33265` - Power Management Overhaul
* :github:`33261` - gatt_notify too slow on Broadcast
* :github:`33253` - STM32G4 with USB-C PD: Some pins cannot be used as input by default
* :github:`33239` - lib/rbtree: Remove dead case in rb_remove()
* :github:`33238` - tests: drivers: pwm api fails on many boards
* :github:`33233` - uart9 missing from <st/h7/stm32h7.dtsi>
* :github:`33218` - Incorrect documentation CONFIG_LOG_STRDUP_MAX_STRING
* :github:`33213` - Configuring a project with a sub-project (e.g. nRF5340) and an overlay causes an infinite configuring loop
* :github:`33212` - GUI configuration system (ninja menuconfig) exists with an error when the windows key is pressed
* :github:`33208` - cbprintf: Package size calculation is using best case alignment
* :github:`33207` - twister: Add option to load list with quarantined tests
* :github:`33203` - Bluetooth: host: ISO: Missing terminate reason in ISO disconnected callback
* :github:`33200` - USB CDC ACM sample application fails to compile
* :github:`33196` - I2C doesn't work on STM32F103RE
* :github:`33185` - TCP traffic with IPSP sample not working on 96Boards Nitrogen
* :github:`33176` - tests: kernel: Multiple test cases from tests/kernel/workq/work_queue are failing
* :github:`33173` - tests/kernel/workq/work_queue fails on sam_e70_xplained
* :github:`33171` - Create Renesas HAL
* :github:`33169` - STM32 SPI Driver - Transmit (MOSI) Only - Infinite Loop on Tranceive
* :github:`33168` - CONFIG_HEAP_MEM_POOL_SIZE=64 doesn't work
* :github:`33164` - Newlib has no synchronization
* :github:`33153` - west flash cannot find OpenOCD
* :github:`33149` - subsys: canbus: canopen EDSEditor / libedssharp version that works with Zephyr's CANopenNode
* :github:`33147` - Not able to build blinky or set toolchain to zephyr
* :github:`33142` - fs_mount for FAT FS does not distingush between no file system and other errors
* :github:`33140` - STM32H7: Bus fault when reading corrupt flash sectors
* :github:`33138` - invalid west cmake diagnostics when using board alias
* :github:`33137` - Enabling DHCP without NET_MGMT shouldn't be allowed
* :github:`33127` - Improve documentation user experience
* :github:`33122` - Device-level Cache API
* :github:`33120` - iotdk: running testcase tests/kernel/mbox/mbox_api/ failed
* :github:`33114` - tests: mbox_api: testcase test_mbox_data_get_null has some bugs.
* :github:`33104` - Updating Zephyr to fix Work Queue Problems
* :github:`33101` - DNS resolver misbehaves if receiving response too late
* :github:`33100` - tcp2 not working with ppp
* :github:`33097` - Coverity ID links in associated GitHub issues are broken
* :github:`33096` - [Coverity CID :215373] Unchecked return value in subsys/net/lib/lwm2m/lwm2m_rd_client.c
* :github:`33095` - [Coverity CID :215379] Out-of-bounds write in subsys/mgmt/osdp/src/osdp_cp.c
* :github:`33094` - [Coverity CID :215381] Resource leak in samples/net/mdns_responder/src/service.c
* :github:`33093` - [Coverity CID :215391] Unchecked return value from library in samples/net/mdns_responder/src/service.c
* :github:`33092` - [Coverity CID :215392] Logically dead code in subsys/mgmt/osdp/src/osdp_cp.c
* :github:`33091` - [Coverity CID :219474] Logically dead code in subsys/bluetooth/controller/ll_sw/ull_scan.c
* :github:`33090` - [Coverity CID :219476] Dereference after null check in subsys/bluetooth/controller/ll_sw/ull_conn.c
* :github:`33089` - [Coverity CID :219556] Self assignment in drivers/espi/host_subs_npcx.c
* :github:`33088` - [Coverity CID :219558] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33087` - [Coverity CID :219559] Out-of-bounds access in tests/arch/arm/arm_interrupt/src/arm_interrupt.c
* :github:`33086` - [Coverity CID :219561] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33085` - [Coverity CID :219562] Out-of-bounds access in tests/bluetooth/tester/src/gatt.c
* :github:`33084` - [Coverity CID :219563] Dereference after null check in arch/x86/core/multiboot.c
* :github:`33083` - [Coverity CID :219564] Untrusted value as argument in subsys/net/lib/lwm2m/lwm2m_engine.c
* :github:`33082` - [Coverity CID :219566] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33081` - [Coverity CID :219572] Untrusted value as argument in tests/net/lib/coap/src/main.c
* :github:`33080` - [Coverity CID :219573] Untrusted value as argument in samples/net/sockets/coap_client/src/coap-client.c
* :github:`33079` - [Coverity CID :219574] Side effect in assertion in tests/subsys/edac/ibecc/src/ibecc.c
* :github:`33078` - [Coverity CID :219576] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33077` - [Coverity CID :219579] Out-of-bounds read in drivers/ipm/ipm_nrfx_ipc.c
* :github:`33076` - [Coverity CID :219583] Operands don't affect result in drivers/clock_control/clock_control_npcx.c
* :github:`33075` - [Coverity CID :219588] Out-of-bounds access in tests/bluetooth/tester/src/gatt.c
* :github:`33074` - [Coverity CID :219590] Unchecked return value in subsys/bluetooth/mesh/proxy.c
* :github:`33073` - [Coverity CID :219591] Untrusted divisor in drivers/sensor/bme680/bme680.c
* :github:`33072` - [Coverity CID :219593] Logically dead code in tests/arch/x86/pagetables/src/main.c
* :github:`33071` - [Coverity CID :219595] Dereference before null check in subsys/net/ip/net_context.c
* :github:`33070` - [Coverity CID :219596] Out-of-bounds read in tests/kernel/interrupt/src/dynamic_isr.c
* :github:`33069` - [Coverity CID :219597] Untrusted value as argument in tests/net/lib/coap/src/main.c
* :github:`33068` - [Coverity CID :219598] Out-of-bounds access in tests/bluetooth/tester/src/gatt.c
* :github:`33067` - [Coverity CID :219600] Unchecked return value in drivers/watchdog/wdt_wwdg_stm32.c
* :github:`33066` - [Coverity CID :219601] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33065` - [Coverity CID :219603] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33064` - [Coverity CID :219608] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33063` - [Coverity CID :219609] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33062` - [Coverity CID :219610] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33061` - [Coverity CID :219611] Dereference after null check in subsys/net/ip/tcp2.c
* :github:`33060` - [Coverity CID :219613] Uninitialized scalar variable in lib/cmsis_rtos_v1/cmsis_signal.c
* :github:`33059` - [Coverity CID :219615] Out-of-bounds access in tests/arch/arm/arm_irq_advanced_features/src/arm_zero_latency_irqs.c
* :github:`33058` - [Coverity CID :219616] Untrusted value as argument in subsys/net/lib/coap/coap_link_format.c
* :github:`33057` - [Coverity CID :219619] Untrusted divisor in subsys/bluetooth/controller/hci/hci.c
* :github:`33056` - [Coverity CID :219620] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33055` - [Coverity CID :219621] Uninitialized scalar variable in tests/net/socket/getaddrinfo/src/main.c
* :github:`33054` - [Coverity CID :219622] Untrusted value as argument in subsys/net/lib/coap/coap.c
* :github:`33053` - [Coverity CID :219623] Out-of-bounds read in drivers/ipm/ipm_nrfx_ipc.c
* :github:`33051` - [Coverity CID :219625] Unchecked return value in subsys/bluetooth/mesh/proxy.c
* :github:`33050` - [Coverity CID :219628] Untrusted value as argument in subsys/net/lib/lwm2m/lwm2m_engine.c
* :github:`33049` - [Coverity CID :219629] Operands don't affect result in drivers/clock_control/clock_control_npcx.c
* :github:`33048` - [Coverity CID :219631] Out-of-bounds read in drivers/espi/espi_npcx.c
* :github:`33047` - [Coverity CID :219634] Out-of-bounds access in tests/net/lib/dns_addremove/src/main.c
* :github:`33046` - [Coverity CID :219636] Untrusted value as argument in subsys/net/lib/lwm2m/lwm2m_engine.c
* :github:`33045` - [Coverity CID :219637] Untrusted value as argument in tests/net/lib/coap/src/main.c
* :github:`33044` - [Coverity CID :219638] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33043` - [Coverity CID :219641] Out-of-bounds access in tests/bluetooth/tester/src/gatt.c
* :github:`33042` - [Coverity CID :219644] Side effect in assertion in tests/subsys/edac/ibecc/src/ibecc.c
* :github:`33040` - [Coverity CID :219646] Untrusted value as argument in subsys/net/lib/coap/coap.c
* :github:`33039` - [Coverity CID :219647] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33038` - [Coverity CID :219649] Operands don't affect result in kernel/sem.c
* :github:`33037` - [Coverity CID :219650] Out-of-bounds access in samples/bluetooth/central_ht/src/main.c
* :github:`33036` - [Coverity CID :219651] Logically dead code in subsys/bluetooth/mesh/net.c
* :github:`33035` - [Coverity CID :219652] Unchecked return value in drivers/gpio/gpio_stm32.c
* :github:`33034` - [Coverity CID :219653] Unchecked return value in drivers/modem/hl7800.c
* :github:`33033` - [Coverity CID :219654] Out-of-bounds access in tests/net/lib/dns_addremove/src/main.c
* :github:`33032` - [Coverity CID :219656] Uninitialized scalar variable in tests/kernel/threads/thread_stack/src/main.c
* :github:`33031` - [Coverity CID :219658] Untrusted value as argument in samples/net/sockets/coap_client/src/coap-client.c
* :github:`33030` - [Coverity CID :219659] Side effect in assertion in tests/subsys/edac/ibecc/src/ibecc.c
* :github:`33029` - [Coverity CID :219660] Untrusted divisor in drivers/sensor/bme680/bme680.c
* :github:`33028` - [Coverity CID :219661] Unchecked return value in subsys/bluetooth/host/gatt.c
* :github:`33027` - [Coverity CID :219662] Inequality comparison against NULL in lib/os/cbprintf_packaged.c
* :github:`33026` - [Coverity CID :219666] Out-of-bounds access in tests/bluetooth/tester/src/gatt.c
* :github:`33025` - [Coverity CID :219667] Untrusted value as argument in tests/net/lib/coap/src/main.c
* :github:`33024` - [Coverity CID :219668] Dereference after null check in drivers/espi/host_subs_npcx.c
* :github:`33023` - [Coverity CID :219669] Untrusted value as argument in subsys/mgmt/updatehub/updatehub.c
* :github:`33022` - [Coverity CID :219672] Untrusted value as argument in samples/net/sockets/coap_server/src/coap-server.c
* :github:`33021` - [Coverity CID :219673] Untrusted value as argument in samples/net/sockets/coap_client/src/coap-client.c
* :github:`33020` - [Coverity CID :219675] Macro compares unsigned to 0 in kernel/include/mmu.h
* :github:`33019` - [Coverity CID :219676] Unchecked return value in drivers/modem/wncm14a2a.c
* :github:`33018` - [Coverity CID :219677] Logically dead code in drivers/timer/npcx_itim_timer.c
* :github:`33009` - kernel: k_heap failures on small heaps
* :github:`33001` - stm32: window watchdog (wwdg): setup of prescaler not valid for newer series
* :github:`33000` - stm32: window watchdog (wwdg): invalid interrupts priority for CM0 Series Socs
* :github:`32996` - SPI speed when using SDHC via SPI in Zephyr
* :github:`32994` - Question: Possible simplification in mutex.h?
* :github:`32975` - Where should a few include/ headers live
* :github:`32969` - Wrong board target in microbit v2 documentation
* :github:`32966` - frdm_k64f: Run some testcases timeout failed by using twister
* :github:`32963` - USB device is not supported by qemu_x86 platform
* :github:`32961` - [Coverity CID :219478] Unchecked return value in subsys/bluetooth/controller/ll_sw/ull_filter.c
* :github:`32960` - [Coverity CID :219479] Out-of-bounds access in subsys/net/l2/bluetooth/bluetooth.c
* :github:`32959` - [Coverity CID :219480] Out-of-bounds read in lib/os/cbprintf_nano.c
* :github:`32958` - [Coverity CID :219481] Out-of-bounds access in subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_aux.c
* :github:`32957` - [Coverity CID :219483] Improper use of negative value in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32956` - [Coverity CID :219484] Out-of-bounds access in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32955` - [Coverity CID :219485] Logically dead code in subsys/bluetooth/controller/ll_sw/ull.c
* :github:`32954` - [Coverity CID :219486] Unrecoverable parse warning in tests/kernel/mem_protect/mem_protect/src/mem_domain.c
* :github:`32953` - [Coverity CID :219487] Resource leak in tests/net/socket/getaddrinfo/src/main.c
* :github:`32952` - [Coverity CID :219488] Unrecoverable parse warning in tests/kernel/mem_protect/mem_protect/src/mem_domain.c
* :github:`32951` - [Coverity CID :219489] Structurally dead code in tests/drivers/dma/loop_transfer/src/test_dma_loop.c
* :github:`32950` - [Coverity CID :219490] Unsigned compared against 0 in drivers/wifi/esp/esp.c
* :github:`32949` - [Coverity CID :219491] Resource leak in tests/net/socket/af_packet/src/main.c
* :github:`32948` - [Coverity CID :219492] Out-of-bounds access in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32947` - [Coverity CID :219493] Unchecked return value in tests/kernel/workq/work/src/main.c
* :github:`32946` - [Coverity CID :219494] Logically dead code in boards/xtensa/intel_s1000_crb/pinmux.c
* :github:`32945` - [Coverity CID :219495] Pointless string comparison in tests/lib/devicetree/api/src/main.c
* :github:`32944` - [Coverity CID :219497] Logically dead code in subsys/bluetooth/host/gatt.c
* :github:`32943` - [Coverity CID :219498] Out-of-bounds access in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32942` - [Coverity CID :219499] Argument cannot be negative in tests/net/socket/af_packet/src/main.c
* :github:`32941` - [Coverity CID :219501] Unchecked return value in subsys/net/l2/bluetooth/bluetooth.c
* :github:`32940` - [Coverity CID :219502] Improper use of negative value in tests/net/socket/af_packet/src/main.c
* :github:`32939` - [Coverity CID :219504] Logically dead code in subsys/net/lib/lwm2m/lwm2m_engine.c
* :github:`32938` - [Coverity CID :219508] Unchecked return value in lib/libc/minimal/source/stdlib/malloc.c
* :github:`32937` - [Coverity CID :219508] Unchecked return value in lib/libc/minimal/source/stdlib/malloc.c
* :github:`32936` - [Coverity CID :219509] Side effect in assertion in tests/net/socket/tcp/src/main.c
* :github:`32935` - [Coverity CID :219510] Improper use of negative value in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32934` - [Coverity CID :219511] Uninitialized scalar variable in tests/kernel/mbox/mbox_api/src/test_mbox_api.c
* :github:`32933` - [Coverity CID :219512] Unrecoverable parse warning in tests/kernel/mem_protect/mem_protect/src/mem_domain.c
* :github:`32932` - [Coverity CID :219513] Logically dead code in drivers/wifi/esp/esp.c
* :github:`32931` - [Coverity CID :219514] Out-of-bounds access in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32930` - [Coverity CID :219515] Side effect in assertion in subsys/bluetooth/controller/ll_sw/ull_sched.c
* :github:`32929` - [Coverity CID :219516] Improper use of negative value in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32928` - [Coverity CID :219518] Macro compares unsigned to 0 in subsys/bluetooth/mesh/transport.c
* :github:`32927` - [Coverity CID :219519] Unchecked return value in drivers/ethernet/eth_sam_gmac.c
* :github:`32926` - [Coverity CID :219520] Unsigned compared against 0 in drivers/wifi/esp/esp.c
* :github:`32925` - [Coverity CID :219521] Unchecked return value in tests/kernel/workq/work/src/main.c
* :github:`32924` - [Coverity CID :219522] Unchecked return value in tests/subsys/dfu/mcuboot/src/main.c
* :github:`32923` - [Coverity CID :219523] Side effect in assertion in subsys/bluetooth/controller/ll_sw/ull_adv_sync.c
* :github:`32922` - [Coverity CID :219524] Logically dead code in drivers/wifi/esp/esp.c
* :github:`32921` - [Coverity CID :219525] Unchecked return value in tests/subsys/settings/functional/src/settings_basic_test.c
* :github:`32920` - [Coverity CID :219526] Operands don't affect result in tests/boards/mec15xxevb_assy6853/qspi/src/main.c
* :github:`32919` - [Coverity CID :219527] Resource leak in tests/net/socket/getaddrinfo/src/main.c
* :github:`32918` - [Coverity CID :219528] Arguments in wrong order in tests/drivers/pwm/pwm_loopback/src/main.c
* :github:`32917` - [Coverity CID :219529] Unchecked return value in subsys/bluetooth/controller/ll_sw/ull_filter.c
* :github:`32916` - [Coverity CID :219530] Dereference before null check in drivers/modem/ublox-sara-r4.c
* :github:`32915` - [Coverity CID :219531] Improper use of negative value in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32914` - [Coverity CID :219532] Out-of-bounds access in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32913` - [Coverity CID :219535] Dereference after null check in drivers/sensor/icm42605/icm42605.c
* :github:`32912` - [Coverity CID :219536] Dereference before null check in drivers/ieee802154/ieee802154_nrf5.c
* :github:`32911` - [Coverity CID :219537] Out-of-bounds access in samples/boards/nrf/system_off/src/retained.c
* :github:`32910` - [Coverity CID :219538] Illegal address computation in subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_aux.c
* :github:`32909` - [Coverity CID :219540] Side effect in assertion in subsys/bluetooth/controller/ll_sw/ull_sched.c
* :github:`32908` - [Coverity CID :219541] Unused value in subsys/bluetooth/controller/ticker/ticker.c
* :github:`32907` - [Coverity CID :219542] Dereference null return value in subsys/bluetooth/mesh/heartbeat.c
* :github:`32906` - [Coverity CID :219543] Out-of-bounds access in samples/boards/nrf/mesh/onoff_level_lighting_vnd_app/src/smp_svr.c
* :github:`32905` - [Coverity CID :219544] Logically dead code in drivers/wifi/esp/esp.c
* :github:`32904` - [Coverity CID :219545] Side effect in assertion in subsys/bluetooth/controller/ll_sw/ull_adv_aux.c
* :github:`32903` - [Coverity CID :219546] Unchecked return value in tests/kernel/workq/work/src/main.c
* :github:`32902` - [Coverity CID :219547] Improper use of negative value in tests/drivers/timer/nrf_rtc_timer/src/main.c
* :github:`32898` - Bluetooth: controller: Control PDU buffer leak into Data PDU buffer pool
* :github:`32877` - acrn:  test case of kernel.timer and kernel.timer.tickless failed
* :github:`32875` - Benchmarking Zephyr vs. RIOT-OS
* :github:`32867` - tests/kernel/sched/schedule_api does not start with stm32wb55 on nucleo
* :github:`32866` - bt_le_ext_adv_create returns -5 with 0x2036 opcode status 1
* :github:`32862` - MCUboot, use default UART_0 value for RECOVERY_UART_DEV_NAME
* :github:`32860` - Periodic advertising/synchronization on nRF52810
* :github:`32853` - lwm2m: uninitialized variable in this function
* :github:`32839` - tests/kernel/timer/timer_api/test_timeout_abs still fails on multiple platforms
* :github:`32835` - twister: integration_platforms stopped working as it should
* :github:`32828` - tests: posix: Test case portability.posix.common.tls.newlib.posix_realtime fails on nrf9160dk_nrf9160
* :github:`32827` - question: Specify size of malloc arena
* :github:`32818` - Function z_swap_next_thread() missing coverage in sched.c
* :github:`32817` - Supporting fedora in the getting started docs
* :github:`32816` - ehl_crb: tests/kernel/timer/timer_api/timer_api/test_sleep_abs (kernel.timer.tickless) failed.
* :github:`32809` - Fail to build ARC zephyr with MetaWare toolchain
* :github:`32800` - Race conditions with setting thread attributes after ``z_ready_thread``?
* :github:`32798` - west flash fails for reel board
* :github:`32778` - Cannot support both HID boot report keyboard and mouse on a USB HID device
* :github:`32774` - Sensor BMI160: set of undersampling mode is not working
* :github:`32771` - STM32 with Ethernet crashes when receiving packets early
* :github:`32757` - Need openthread merge
* :github:`32755` - mcumgr: shell output gets truncated
* :github:`32745` - Bluetooth PAST shell command
* :github:`32742` - Bluetooth: GAP: LE connection complete event handling priority
* :github:`32741` - ARM32 / ARM64 separation
* :github:`32735` - Subsys: Logging: Functions purely to avoid compiling error affects test coverage
* :github:`32724` - qemu timer change introducing new CI failures
* :github:`32723` - kernel/sched: Only send IPI to abort a thread if the hardware supports it
* :github:`32721` - samples/bluetooth/periodic_adv/, print random address after every reset
* :github:`32720` - ./samples/microbit/central_eatt builds failed at v2.5.0 release
* :github:`32718` - NUCLEO-F446RE: Enable CAN Module
* :github:`32715` - async uart api not working on stm32 with dmamux
* :github:`32705` - KERNEL_COHERENCE on xtensa doesn't quite work yet
* :github:`32702` - RAM overflow with bbc:microbit for samples/bluetooth/peripheral...
* :github:`32699` - Setting custom BOARD_ROOT raises FileNotFoundError
* :github:`32697` - sam_e70b_xplained: running tests/kernel/timer/timer_api failed
* :github:`32696` - intel_adsp_cavs15: run testcases failed of tests/kernel/common
* :github:`32695` - intel_adsp_cavs15: cannot get output of some testcases
* :github:`32691` - Function z_find_first_thread_to_unpend() missing coverage in sched.c
* :github:`32688` - up_squared: tests/kernel/timer/timer_api failed.
* :github:`32679` - twister with --device-testing sometimes overlaps tests
* :github:`32677` - z_user_string_nlen() might lead to non-recoverable errors, despite suggesting the opposite
* :github:`32657` - canopen sample wont respond on pdo mapping with CO_ODs from objdict.eds
* :github:`32656` - reel_board: tests/lib/devicetree/devices/ build failure
* :github:`32655` - reel_board: tests/kernel/timer/timer_api/ failure
* :github:`32644` - Cannot build any project with system-wide DTC
* :github:`32619` - samples: usb: audio: Samples for usb audio fail building
* :github:`32599` - bbc_microbit build failure is blocking CI
* :github:`32589` - ehl_crb: tests/kernel/context fails sporadically
* :github:`32581` - shell/usb cdc_acm: shell does not work on CDC_ACM
* :github:`32579` - Corrupt CBOR payloads in MCUMGR when sending multiple commands together
* :github:`32572` - tests/kernel/timer/timer_api/test_timeout_abs fails on stm32 boards
* :github:`32566` - lwm2m: Long endpoint names are truncated due to short buffer
* :github:`32537` - Fatal error syscall_list.h
* :github:`32536` - Codec phy connection ASSERTION FAIL [event.curr.abort_cb]
* :github:`32515` - zephyr/kernel/thread.c:382 failed
* :github:`32514` - frdm_k64f:running testcase tests/subsys/debug/coredump/ and tests/subsys/debug/coredump_backends/ failed
* :github:`32513` - intel_adsp_cavs15: run testcases of fifo failed
* :github:`32512` - intel_adsp_cavs15: run testcases of queue failed
* :github:`32511` - Zephyr build fail with LLVM on Ubuntu for target ARC
* :github:`32509` - west build -p auto -b nrf52840dk_nrf52840 samples/bluetooth/hci_uart FAILED with  zephyr-v2.5.0
* :github:`32506` - k_sleep: Invalid return value when using absolute timeout.
* :github:`32499` - k_sleep duration is off by 1 tick
* :github:`32497` - No checks of buffer size in l2cap_chan_le_recv
* :github:`32492` - AArch64: Rework secure states (NS vs S) discussion
* :github:`32485` - CONFIG_NFCT_PINS_AS_GPIOS not in Kconfig.soc for nRF53
* :github:`32478` - twister: Twister cannot properly handle runners errors (flashing)
* :github:`32475` - twister error building mcux acmp driver
* :github:`32474` - pm: review post sleep wake up application notification scheduling
* :github:`32469` - Twister: potential race conditions.
* :github:`32468` - up_squared: tests/kernel/smp  failed.
* :github:`32467` - x86_64: page fault with access violation error complaining supervisor thread not allowed to rwx
* :github:`32459` - the cbprintf unit tests don't actually test all variations
* :github:`32457` - samples: drivers: espi: Need to handle failures in temperature retrieval
* :github:`32448` - C++ exceptions do not work on multiple platforms
* :github:`32445` - 2021 GSoC Project Idea: Transplantation for embarc_mli
* :github:`32444` - z_cstart bug
* :github:`32433` - pwm_stm32: warning: non-portable use of "defined"
* :github:`32431` - RTC driver support on STM32F1 series
* :github:`32429` - Only one PWM Channel supported in STM32L4 ?
* :github:`32420` - bbc_microbit_v2 build error for lis2dh
* :github:`32414` - [Coverity CID :218733] Explicit null dereferenced in tests/ztest/error_hook/src/main.c
* :github:`32413` - [Coverity CID :216799] Out-of-bounds access in tests/net/lib/dns_addremove/src/main.c
* :github:`32412` - [Coverity CID :216797] Dereference null return value in tests/net/6lo/src/main.c
* :github:`32411` - [Coverity CID :218744] Out-of-bounds access in subsys/bluetooth/host/gatt.c
* :github:`32410` - [Coverity CID :218743] Out-of-bounds access in subsys/bluetooth/host/gatt.c
* :github:`32409` - [Coverity CID :218742] Out-of-bounds access in subsys/bluetooth/host/gatt.c
* :github:`32408` - [Coverity CID :218741] Out-of-bounds access in subsys/bluetooth/host/att.c
* :github:`32407` - [Coverity CID :218740] Out-of-bounds access in subsys/bluetooth/host/gatt.c
* :github:`32406` - [Coverity CID :218737] Out-of-bounds write in subsys/bluetooth/host/gatt.c
* :github:`32405` - [Coverity CID :218735] Out-of-bounds access in subsys/bluetooth/host/att.c
* :github:`32404` - [Coverity CID :218734] Out-of-bounds access in subsys/bluetooth/host/smp.c
* :github:`32403` - [Coverity CID :218732] Out-of-bounds access in subsys/bluetooth/host/att.c
* :github:`32402` - [Coverity CID :218731] Out-of-bounds access in subsys/bluetooth/shell/gatt.c
* :github:`32401` - [Coverity CID :218730] Operands don't affect result in subsys/bluetooth/host/conn.c
* :github:`32400` - [Coverity CID :218729] Out-of-bounds access in subsys/bluetooth/host/gatt.c
* :github:`32399` - [Coverity CID :218728] Out-of-bounds access in subsys/bluetooth/host/gatt.c
* :github:`32398` - [Coverity CID :218727] Out-of-bounds access in subsys/bluetooth/host/gatt.c
* :github:`32397` - [Coverity CID :218726] Out-of-bounds access in subsys/bluetooth/host/att.c
* :github:`32385` - clock_control: int is returned on enum return value
* :github:`32382` - Clock issues for STM32F103RE custom board
* :github:`32376` - samples: driver: watchdog: Sample fails on disco_l475_iot1
* :github:`32375` - Networking stack crashes when run in cooperative scheduling mode only
* :github:`32365` - samples: hci_rpmsg build fail for nrf5340
* :github:`32344` - sporadic failure in tests/kernel/mem_protect/userspace/kernel.memory_protection.userspace
* :github:`32343` - openthread manual joiner hangs
* :github:`32342` - review use of cpsid in aarch32 / CONFIG_PM
* :github:`32331` - Use of unitialized variables in can_set_bitrate()
* :github:`32321` - /tmp/ccTlcyeD.s:242: Error: Unrecognized Symbol type  " "
* :github:`32320` - drivers: flash: stm32: Flush ART Flash cache after erase operation
* :github:`32314` - 2021 GSoC Project Idea: Enable Interactive Zephyr Test Suite
* :github:`32291` - Zephyr don't build sample hello world for Particle Xenon
* :github:`32289` - USDHC: Fails after reset
* :github:`32279` - Question about flasing Adafruit Feather Sense with Zephyr
* :github:`32270` - TCP connection stalls
* :github:`32269` - shield: cmake: Shield conf is not loaded during build
* :github:`32265` - STM32F4 stuck handling I2C interrupt
* :github:`32261` - problem with CONFIG_STACK_SENTINEL
* :github:`32260` - STM32 counter driver error in estimating alarm time
* :github:`32258` - power mgmt: pm_devices: Get rid of z_pm_core_devices array
* :github:`32257` - Common DFU partition enumeration API
* :github:`32256` - Bluetooth mesh : Long friendship establishment after reset
* :github:`32252` - Building anything for nrf5340pdk_nrf5340_cpuappns/mps2_an521_ns(any non-secure platforms) pulls external git trees
* :github:`32237` - twister failing locally - fails to link native_posix w/lld
* :github:`32234` - Documentation: How to update Zephyr itself (with west)
* :github:`32233` - Often disconnect timeouts when running the BLE peripheral HR sample on Nitrogen96
* :github:`32224` - Treat devicetree binding deprecation usage as build error when running w/twister
* :github:`32212` - Tx power levels are not similar on ADV and CONN modes when set manually (nRF52)
* :github:`32206` - CMSIS-DSP support seems broken on link
* :github:`32205` - [misc] AArch64 improvements and fixes
* :github:`32203` - Cannot set static address when using hci_usb or hci_uart on nRF5340 attached to Linux Host
* :github:`32201` - arch_switch() on ARM64 isn't quite right
* :github:`32197` - arch_switch() on SPARC isn't quite right
* :github:`32195` - ARMv8-nofp support
* :github:`32193` - Plan to support raspberry pi Pico?
* :github:`32158` - twister: inconsistent total testcases number with same configuration
* :github:`32145` - ``kernel threads`` and ``kernel stacks`` deadlock in many scenarios
* :github:`32137` - Provide test execution times per ztest testcase
* :github:`32118` - drivers/flash/soc_flash_nrf: nRF anomaly 242 workaround is not implemented
* :github:`32098` -  Implement a driver for the   Microphone / audio sensor (MP23ABS1) in Sensotile.Box
* :github:`32084` - Custom Log Backend breaks performance
* :github:`32075` - net: lwm2m: Testing Strategy for LWM2M Engine
* :github:`32072` - tests/kernel/common seems to fail on nrf52833dk_nrf52833
* :github:`32071` - devicetree: ``bus:`` does not work in ``child-binding``
* :github:`32052` - p4wq has a race with work item re-use
* :github:`32023` - samples: bluetooth: peripheral_hids: Unable to communicate with paired device after board reset
* :github:`32000` - 2021 GSoC Call for Project Ideas - deadline Feb.19, 2021 12:00PM PST
* :github:`31985` - riscv: Long execution time when TICKLESS_KERNEL=y
* :github:`31982` - tests: kernel: queue: regression introduced by FPU sharing PR #31772
* :github:`31980` - Communicating with BMI160 chip over SPI
* :github:`31969` - test_tcp_fn:net2 mximxrt1060/1064/1050 fails on test_client_invalid_rst with semaphore timed out
* :github:`31964` - up_squared: tests/kernel/timer/timer_api failed.
* :github:`31922` - hci_usb: HCI ACL packet with size divisible by 64 not sent
* :github:`31856` - power: ``device_pm_get_sync`` not thread-safe
* :github:`31854` - undefined reference to ``sys_arch_reboot``
* :github:`31829` - net: lwm2m: Update IPSO objects to version 1.1
* :github:`31799` - uart_configure does not return -ENOTSUP for stm32 uart with 9 bit data length.
* :github:`31774` - Add an application power management sample (PM_POLICY_APP)
* :github:`31762` - ivshmem application in acrn
* :github:`31761` - logging:buffer_write with len=0 causes kernel panic
* :github:`31757` - GCC compiler option should include '-mcpu=hs38' for HSDK
* :github:`31742` - Bluetooth: BLE 5 data throughput to Linux host
* :github:`31721` - tests: nrf: posix: portability.posix.common.tls.newlib fails on nrf9160dk_nrf9160
* :github:`31711` - UART failure with CONFIG_UART_ASYNC_API
* :github:`31613` - Undefined reference errors when using External Library with k_msgq_* calls
* :github:`31588` - Bluetooth: Support for multiple connectable advertising sets with different identities.
* :github:`31585` - BMD345: Extended BLE range with PA/LNA
* :github:`31503` - drivers: i2c: i2c_nrfx_twim  Power Consumption rises after I2C data transfer
* :github:`31416` - ARC MPU version number misuse ver3, should be ver4
* :github:`31348` - twister: CI: Run twister daily builds with "--overflow-as-errors"
* :github:`31323` - Compilation warning regards the SNTP subsys
* :github:`31299` - tests/kernel/mbox/mbox_usage failed on hsdk board
* :github:`31284` - [stm32] PM restore console after sleep mode
* :github:`31280` - devicetree: Add a macro to easily get optionnal devicetree GPIO properties
* :github:`31254` - Bluetooth: Extended advertising with one advertising set fails after the first time
* :github:`31248` - i2c shell functions non-functional on nRF53
* :github:`31217` - Multi-threading flash access is not supported by flash_write_protection_set()
* :github:`31191` - Samples: TF-M: Enable NS test app(s)
* :github:`31179` - ``iso bind`` for slave not working as intended
* :github:`31169` - kconfig configuration (prj.conf) based on zephyr version
* :github:`31164` - Problem to build lorawan from samples
* :github:`31150` - tests/subsys/canbus/isotp/conformance: failing on nucleo_f746zg
* :github:`31149` - tests/subsys/canbus/isotp/implementation: failing on nucleo_f746zg
* :github:`31103` - CMSIS RTOS v2 API implementation bugs in osEventFlagsWait
* :github:`31058` - SWO log backend clock frequency is off on some CPUs
* :github:`31036` - BMI 160 i2c version not working. I modified to i2c in kconfig to make it use i2c.
* :github:`31031` - samples/bluetooth/mesh is not helpful
* :github:`30991` - Unable to add new i2c sensor to nrf/samples
* :github:`30943` - MPU fault with STM32L452
* :github:`30936` - tests: sockets: tcp: add a tls test
* :github:`30929` - PDM Driver for nrf52840dk
* :github:`30841` - How to disable reception of socket CAN frames
* :github:`30771` - Logging: Fault instruction address in the logging thread
* :github:`30770` - mps2_an521: no input to shell from Windows qemu host
* :github:`30618` - Add arduino header/spi support for HSDK board
* :github:`30544` - nrf5340 pwm "Unsupported board: pwm-led0 devicetree alias is not defined"
* :github:`30540` - CONFIG_TRACING not working after updating from v2.1.0 to 2.2.0
* :github:`30520` - recv() call to Ublox Sara R4 cant return 0
* :github:`30465` - Spurious interrupts not handled in ARMv7-R code with GICv2.
* :github:`30441` - hci_uart uses wrong BT_BUF_ACL_SIZE on dual chip solutions + multicore
* :github:`30429` - Thread Border Router with NRC/RCP sample and nrf52840dk not starting
* :github:`30416` - No restore possible with mesh shell app from /tests using qemu_x86 on RaspberryPi3
* :github:`30395` - Add possibility to use alternative list of platforms default for CI runs.
* :github:`30355` - Multiple vlan interfaces on same interface not working
* :github:`30353` - RFC: Logging subsystem overhaul
* :github:`30325` - Stack overflow with http post when using civetweb
* :github:`30204` - Support for Teensy 4.0 and 4.1
* :github:`30195` - Missing error check of device_get_binding() and flash_area_open()
* :github:`30192` - mec15xxevb_assy6853: running tests/subsys/power/power_mgmt_soc failed
* :github:`30162` - Build zephyr with Metaware toolchain for HSDK fails
* :github:`30121` - Make log subsystem power aware
* :github:`30101` - tests should not be silently skipped due to insufficient RAM
* :github:`30074` - Occasional Spinlocks on zephyr 2.4.0 (ASSERTION FAIL [z_spin_lock_valid(l)] @ WEST_TOPDIR/zephyr/include/spinlock.h:92)
* :github:`30055` - Memory corruption for newlib-nano with float printf and disabled heap
* :github:`29946` - SD card initialization is wrong
* :github:`29915` - eth: stm32h747i_disco: sem timeout and hang on debug build
* :github:`29798` - test spi loopback with dma fails on nucleo_f746zg
* :github:`29733` - SAM0 will wake up with interrupted execution after deep sleep
* :github:`29722` - West flash is not able to flash with openocd
* :github:`29689` - tests: drivers: gpio: gpio_basic_api: correct dts binding
* :github:`29610` - documentation says giving a semaphore can release IRQ lock
* :github:`29599` - gPTP: frdm_k64f : can not converge time
* :github:`29581` - LoRaWAN sample for 96b_wistrio - Tx timeout
* :github:`29545` - samples: tfm_integration: tfm_ipc: No module named 'cryptography.hazmat.primitives.asymmetric.ed25519'
* :github:`29526` - generic page pool for MMU-based systems
* :github:`29476` - Samples: TF-M: Add PSA FF API Sample
* :github:`29349` - Using float when driver init in RISC-V arch might cause system to get stuck.
* :github:`29224` - PTS: Test framework: Bluetooth: GATT/SR/GAC/BI-01-C - FAIL
* :github:`29107` - Bluetooth: hci-usb uses non-standard interfaces
* :github:`29038` - drivers/usb/device/usb_dc_native_posix_adapt.c sees weird commands and aborts
* :github:`28901` - implement searchable bitfields
* :github:`28900` - add support for memory un-mapping
* :github:`28873` - z_device_ready() lies
* :github:`28803` - Use generic config option for early platfrom init (AKA "warm boot")
* :github:`28722` - Bluetooth: provide ``struct bt_conn`` to ccc_changed callback
* :github:`28597` - Bluetooth: controller: Redesign the implementation/use of NODE_RX_TYPE_DC_PDU_RELEASE
* :github:`28551` - up_squared: samples/boards/up_squared/gpio_counter failed.
* :github:`28535` - RFC: Add lz4 Data Compresssion library Support
* :github:`28438` - Example downstream manifest+module repo in zephyrproject-rtos
* :github:`28249` - driver: espi: mchp: eSPI OOB driver does not support callbacks for incoming OOB messages from eSPI master.
* :github:`28105` - sporadic "Attempt to resume un-suspended thread object" faults on x86-64
* :github:`28096` - fatfs update to latest upstream version
* :github:`27855` - i2c bitbanging on nrf52840
* :github:`27697` - Add support for passing -nogui 1 to J-Link Commander on MS Windows
* :github:`27692` - Allow to select between advertising packet/scan response for BT LE device name
* :github:`27525` - Including STM32Cube's USB PD support to Zephyr
* :github:`27484` - sanitycheck: Ease error interception from calling script
* :github:`27415` - Decide if we keep a single thread support (CONFIG_MULTITHREADING=n) in Zephyr
* :github:`27356` - deep review and redesign of API for work queue functionality
* :github:`27203` - tests/subsys/storage/flash_map failure on twr_ke18f
* :github:`27048` - Improve out-of-tree driver experience
* :github:`27033` - Update terminology related to I2C
* :github:`27032` - zephyr network stack socket APIs are not thread safe
* :github:`27000` - Avoid oppressive language in code base
* :github:`26952` - SMP support on ARM64 platform
* :github:`26889` - subsys: power: Need syscall that allows to force sleep state
* :github:`26760` - Improve caching configuration and move it to be cross architecture
* :github:`26728` - Allow k_poll for multiple message queues
* :github:`26495` - Make k_poll work with KERNEL_COHERENCE
* :github:`26491` - PCIe: add API to get BAR region size
* :github:`26363` - samples: subsys: canbus: canopen: objdict: CO_OD.h is not normally made.
* :github:`26246` - Printing 64-bit values in LOG_DBG
* :github:`26172` - Zephyr Master/Slave not conforming with Core Spec. 5.2 connection policies
* :github:`26170` - HEXDUMP log gives warning when logging function name.
* :github:`26118` - Bluetooth: controller: nRF5x: refactor radio_nrf5_ppi.h
* :github:`25956` - Including header files from modules into app
* :github:`25865` - Device Tree Memory Layout
* :github:`25775` - [Coverity CID :210075] Negative array index write in samples/net/cloud/mqtt_azure/src/main.c
* :github:`25719` - sanitycheck log mixing between tests
* :github:`25601` - UART input does not work on mps2_an{385,521}
* :github:`25440` - Bluetooth: controller: ensure deferred PDU populations complete on time
* :github:`25389` - driver MMIO address range management
* :github:`25313` - samples:mimxrt1010_evk:samples/subsys/usb/audio: build error no usbd found
* :github:`25187` - Generic ethernet packet filtering based on link (MAC) address
* :github:`24986` - Convert dma_nios2_msgdma to DTS
* :github:`24731` - Bluetooth: controller: Network privacy not respected when address resolution is disabled
* :github:`24625` - lib: drivers: clock: rtc:  rtc api to maintain calendar time through reboot
* :github:`24228` - system power states
* :github:`24142` - NRF5340 PA/LNA support
* :github:`24119` - STM32: SPI: Extend power saving SPI pin config to all stm32 series
* :github:`24113` - STM32 Flash: Device tree updates
* :github:`23727` - RFC: clarification and standardization of ENOTSUP/ENOSYS error returns
* :github:`23520` - JLink Thread-Aware Debugging (RTOS Plugin)
* :github:`23465` - Zephyr Authentication - ZAUTH
* :github:`23449` - "make clean" doesn't clean a lot of generated files
* :github:`23225` - Bluetooth: Quality of service: Adaptive channel map
* :github:`23165` - macOS setup fails to build for lack of "elftools" Python package
* :github:`22965` - 4 byte addressing in spi_nor driver for memory larger than 128Mb.
* :github:`22956` - nios2: k_busy_wait() never returns if called with interrupts locked
* :github:`22731` - Improve docker CI documentation
* :github:`22620` - adapt cpu stats tracing to tracing infrastructure
* :github:`22078` - stm32: Shell module sample doesn't work on nucleo_l152re
* :github:`22061` - Ethernet switch support
* :github:`22060` - Build fails with gcc-arm-none-eabi-9-2019-q4-major
* :github:`22027` - i2c_scanner does not work on olimexino_stm32
* :github:`21993` - Bluetooth: controller: split: Move the LLL event prepare/resume queue handling into LLL
* :github:`21840` - need test case for CONFIG_MULTIBOOT on x86
* :github:`21811` - Investigate using Doxygen-generated API docs vs. Sphinx/Breath API docs
* :github:`21809` - Update document generating tools to newer versions
* :github:`21783` - rename zassert functions
* :github:`21489` - Allow to read any types during discovery
* :github:`21484` - Option for safe k_thread_abort
* :github:`21342` - z_arch_cpu_halt() should enter deep power-down where supported
* :github:`21293` - adding timeout the I2C read/write functions for the stm32 port
* :github:`21136` - ARC: Add support for reduced register file
* :github:`21061` - Document where APIs can be called from using doxygen
* :github:`21033` - Read out heap space used and unallocated
* :github:`20707` - Define GATT service at run-time
* :github:`20576` - DTS overlay files must include full path name
* :github:`20366` - Make babbelsim testing more easily available outside of CI
* :github:`19655` - Milestones toward generalized representation of timeouts
* :github:`19582` - zephyr_library: missing 'kernel-mode' vs 'app-mode' documentation
* :github:`19340` - ARM: Cortex-M: Stack Overflows when building with NO_OPTIMIZATIONS
* :github:`19244` - BLE throughput of DFU by Mcumgr is too slow
* :github:`19224` - deprecate spi_flash_w25qxxdv
* :github:`18934` - Update Documentation To Reflect No Concurrent Multi-Protocol
* :github:`18554` - Tracking Issue for C++ Support as of release 2.1
* :github:`18509` - Bluetooth:Mesh:Memory allocation is too large
* :github:`18351` - logging: 32 bit float values don't work.
* :github:`17991` - Cannot generate coverage reports on qemu_x86_64
* :github:`17748` - stm32: clock-control: Remove usage of SystemCoreClock
* :github:`17745` - stm32: Move clock configuration to device tree
* :github:`17571` - mempool is expensive for cyclic use
* :github:`17486` - nRF52: SPIM: Errata work-around status?
* :github:`17375` - Add VREF, TEMPSENSOR, VBAT internal channels to the stm32 adc driver
* :github:`17353` - Configuring with POSIX_API disables NET_SOCKETS_POSIX_NAMES
* :github:`17314` - doc: add tutorial for using mbed TLS
* :github:`16539` - include/ directory and header cleanup
* :github:`16150` - Make more LWM2M parameters configurable at runtime
* :github:`15855` - Create a reliable footprint tracking benchmark
* :github:`15854` - Footprint Enhancements
* :github:`15738` - Networking with QEMU for mac
* :github:`15497` - USB DFU: STM32: usb dfu mode doesn't work
* :github:`15134` - samples/boards/reel_board/mesh_badge/README.rst : No compilation or flash instructions
* :github:`14996` - enhance mutex tests
* :github:`14973` - samples: Specify the board target required for the sample
* :github:`14806` - Assorted pylint warnings in Python scripts
* :github:`14591` - Infineon Tricore architecture support
* :github:`14581` - Network interfaces should be able to declare if they work with IPv4 and IPv6 dynamically
* :github:`14442` - x86 SOC/CPU definitions need clean up.
* :github:`14309` - Automatic device dependency tracking
* :github:`19760` - Provide command to check board supported features
* :github:`13553` - Ways to reduce Bluetooth Mesh message loss
* :github:`13469` - Shell does not show ISR stack usage
* :github:`13436` - Enabling cooperative scheduling via menuconfig may result in an invalid configuration
* :github:`13091` - sockets: Implement MSG_WAITALL flag
* :github:`12718` - Generic MbedTLS setup doesn't use MBEDTLS_ENTROPY_C
* :github:`12098` - Not possible to print 64 bit decimal values with minimal libc
* :github:`12028` - Enable 16550 UART driver on x86_64
* :github:`11820` - sockets: Implement (POSIX-compatible) timeout support
* :github:`11529` - Get configuration of a running kernel in console
* :github:`11449` - checkpatch warns on .dtsi files about line length
* :github:`11207` - ENOSYS has ambiguous meaning.
* :github:`10621` - RFC: Enable device by using dts, not Kconfig
* :github:`10499` - docs: References to "user threads" are confusing
* :github:`10494` - sockets: Implement MSG_TRUNC flag for recv()
* :github:`10436` - Mess with ssize_t, off_t definitions
* :github:`10268` - Clean up remaining SPI_DW defines in soc.h
* :github:`10042` - MISRA C - Do not cast an arithimetic type to void pointer
* :github:`10041` - MISRA C - types that indicate size and signedness should be used instead of basic numerical types
* :github:`10030` - MISRA C - Document Zephyr's code guideline based on MISRA C 2012
* :github:`9954` - samples/hello_world build failed on Windows/MSYS
* :github:`9895` - MISRA C Add 'u' or 'U' suffix for all unsigned integer constants
* :github:`9894` - MISRA C Make external identifiers distinct according with C99
* :github:`9889` - MISRA C  Avoid implicit conversion between integers and boolean expressions
* :github:`9886` - MISRA C Do not mix signed and unsigned types
* :github:`9885` - MISRA C Do not have dead code
* :github:`9884` - MISRA-C Check return value of a non-void function
* :github:`9882` - MISRA-C - Do not use reserved names
* :github:`9778` - Implement zephyr specific SEGGER_RTT_LOCK and SEGGER_RTT_UNLOCK macros
* :github:`9626` - Add support for the FRDM-KL28Z board
* :github:`9507` - pwm: No clear semantics to stop a PWM leads to diverse implementations
* :github:`9284` - Issues/experience trying to use TI ARM code gen tools in Zephyr
* :github:`8958` - Bluetooth: Proprietary vendor specific opcode discovery
* :github:`8400` - test kernel XIP case seems not well defined
* :github:`8393` - ``CONFIG_MULTITHREADING=n`` builds call ``main()`` with interrupts locked
* :github:`7317` - Add generation of SPDX TagValue documents to each build
* :github:`7297` - STM32: Drivers: Document series support for each driver
* :github:`7246` - esp32 fails to build with xtensa-esp32-elf-gcc: error: unrecognized command line option '-no-pie'
* :github:`7216` - Stop using gcc's "-include" flag
* :github:`7214` - Defines from DTS and Kconfig should be available simultaneously
* :github:`7151` - boards: Move existing boards to "default configuration guidelines"
* :github:`6925` - Provide Reviewer Guidelines as part of the documentation
* :github:`6291` - userspace: support MMU-based memory virtualization
* :github:`6066` - LwM2M: support object versioning in register / discover operations
* :github:`5517` - Expand toolchain/SDK support
* :github:`5325` - Support interaction with console in twister
* :github:`5116` - [Coverity CID: 179986] Null pointer dereferences in /subsys/bluetooth/host/mesh/access.c
* :github:`4911` - Filesystem support for qemu
* :github:`4569` - LoRa:  support LoRa
* :github:`1418` - kconfig options need some cleanup and reorganisation
* :github:`1415` - Problem with forcing new line in generated documentation.
* :github:`1392` - No module named 'elftools'
* :github:`3933` - LWM2M: Create application/link-format writer object to handle discovery formatting
* :github:`3931` - LWM2M: Data Validation Callback
* :github:`3723` - WiFi support for ESP32
* :github:`3675` - LE Adv. Ext.: Extended Scan with PHY selection for non-conn non-scan un-directed without aux packets
* :github:`3674` - LE Adv. Ext.: Non-Connectable and Non-Scannable Undirected without auxiliary packet
* :github:`3634` - ARM: implement NULL pointer protection
* :github:`3514` - Bluetooth: controller: LE Advertising Extensions
* :github:`3487` - Keep Zephyr Device tree Linux compatible
* :github:`3420` - Percepio Tracealyzer Support
* :github:`3280` - Paging Support
* :github:`2854` - Modbus RTU Support
* :github:`2542` - battery: Add standard APIs for Battery Charging and Fuel Gauge Handling (Energy Management)
* :github:`2470` - Supervisory and Monitoring Task
* :github:`2381` - SQL Database
* :github:`2336` - IPv4 - Multicast Join/Leave Support
