:orphan:

.. _zephyr_2.3:

Zephyr 2.3.0
############

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

Major enhancements with this release include:

* A new Zephyr CMake package has been introduced, reducing the need for
  environment variables
* A new Devicetree API, based on hierarchical macros, has been introduced. This
  new API allows the C code to access virtually all nodes and properties in a
  clean, organized fashion
* The kernel timeout API has been overhauled to be flexible and configurable,
  with future support for features like 64-bit and absolute timeouts in mind
* A new k_heap/sys_heap heap allocator has been introduced, with much better
  performance than the existing k_mem_pool/sys_mem_pool
* Zephyr now integrates with the TF-M (Trusted Firmware M) PSA-compliant
  framework
* The Bluetooth Low Energy Host now supports LE Advertising Extensions
* The CMSIS-DSP library is now included and integrated

The following sections provide detailed lists of changes by component.

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

The following CVEs are addressed by this release:

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

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

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

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

A single high-priority bug is currently open:

* :github:`23364` - Bluetooth: bt_recv deadlock on supervision timeout with
  pending GATT Write Commands

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

* HWINFO

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

* I2C

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

Deprecated in this release
==========================

* Kernel

  * k_uptime_delta_32(), use k_uptime_delta()
  * Timeout values

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

* Bluetooth

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

* Boards

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

* Devicetree

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

.. _the Zephyr v2.3 legacy devicetree macro page:
   https://docs.zephyrproject.org/2.3.0/guides/dts/legacy-macros.html#dt-legacy-macros

* Other

  * ``MACRO_MAP`` has been deprecated. Use ``FOR_EACH`` instead.
  * ``BUILD_ASSERT_MSG`` has been deprecated. Use ``BUILD_ASSERT`` instead.

Removed APIs in this release
============================

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


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

* Bluetooth Mesh

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

* Networking

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

* Video

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

* Floating Point Services

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

Kernel
******

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

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

* ARC:

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

* ARM:

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


* POSIX:

  * Added support for building on ARM hosts

* RISC-V:

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

* x86:

  * Instrumented code for timing information
  * Added ability for SoC to add MMU regions
  * x86 FPU sharing symbols renamed
  * early_serial: extended to support MMIO UART

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

* Added support for these SoC series:

  * Broadcom Viper BCM58402
  * Infineon XMC4500 SoC
  * Nordic nRF52820 SoC
  * NXP LPC55S16 SoC
  * SiLabs EFR32BG13P SoC
  * STM32L5 series of Ultra-low-power MCUs

* Added support for these ARM boards:

  * 96Boards AeroCore 2
  * Adafruit Feather nRF52840 Express
  * Adafruit Feather STM32F405 Express
  * Black STM32 F407VE Development Board
  * Black STM32 F407ZG Pro Development Board
  * Broadcom BCM958402M2
  * EFR32 BRD4104A (SLWRB4104A)
  * Infineon XMC45-RELAX-KIT
  * nRF52820 emulation on nRF52833 DK
  * nrf9160 INNBLUE21
  * nrf9160 INNBLUE22
  * NXP LPCXpresso55S16
  * SEGGER IP Switch Board
  * ST Nucleo H743ZI
  * ST Nucleo F303RE
  * ST Nucleo L552ZE-Q

* Made these changes in other boards

  * ``up_squared`` now defaults to the x86_64 architecture
  * ``intel_s1000`` now supports SMP

* Added support for these following shields:

  * Espressif ESP-8266 Module
  * MikroElektronika ADC Click
  * MikroElectronica Eth Click
  * ST X-NUCLEO-IKS02A1: MEMS Inertial and Environmental Multi sensor shield

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

* ADC

  * Added support for STM32G4, STM32L1 and STM32H7 series
  * Enabled internal voltage reference source on stm32
  * Added Microchip MCP320x driver

* Audio

  * N/A

* Bluetooth

  * Added an RX thread on stm32wb hci wrapper
  * Improved BLE support for rv32m1_vega:

    - Added Resolvable Private Address support
    - Enabled power saving support
    - Added 2 Mbps PHY support
    - Enabled controller-based privacy

* CAN

  * Converted can-primary alias to zephyr,can-primary chosen property
  * Converted loopback driver to use a thread to send frames

* Clock Control

  * Enabled MSI range config in PLL mode on stm32
  * Fixed AHB clock computation based on core on stm32h7

* Console

  * Fixed USB initialization
  * Added semihosting console

* Counter

  * Added support on stm32h7 and stm32l0
  * Fixed alarm tick count on stm32
  * Added Maxim DS3231 driver
  * Added NXP Kinetis LPTMR driver

* Crypto

  * Added driver for nRF ECB
  * Added CAP_NO_IV_PREFIX capability to stm32 driver

* DAC

  * Added stm32l0 series support
  * Added DAC shell
  * Added NXP Kinetis DAC and DAC32 drivers

* Debug

  * N/A

* Display

  * Added power management support to st7789v driver
  * Reworked controller memory initialization in ssd16xx driver
  * Updated st7789v driver to set x-offset and y-offset properties properly

* DMA

  * Enabled use of DMAMUX on stm32l4+ and stm32wb
  * Various fixes on stm32 dma management

* EEPROM

  * N/A

* Entropy

  * Removed Kconfig HAS_DTS_ENTROPY
  * Implemented ISR specific get entropy call in gecko driver

* ESPI

  * Various fixes in Microchip driver

* Ethernet

  * Added SAM E54 max queue count referencing
  * Added SAM0 family support to gmac driver
  * Added sam4e support to queue in gmac
  * Added network power management support to mcux
  * Added VLAN support to enc28j60
  * Added VLAN support to stm32
  * Added Ethernet cable link status support to gmac
  * Added support for i.MXRT1060 family to mcux
  * Added support for getting manual MAC address from devicetree
  * Added support for enabling random MAC address from devicetree
  * Various fixes to setup and cache handling in gmac
  * Fixed how unique MAC address is determined in mcux
  * Fixed Ethernet cable link detection in gecko
  * Fixed stm32 when receiving data during initialization

* Flash

  * Added logs on stm32
  * Fixed wrong bank erasing on stm32g4
  * Various fixes in nrf_qspi_nor driver
  * Added driver for AT456 compatible SPI flash chips
  * Enabled support for SAMV71

* GPIO

  * Added mcp23s17 driver
  * Added STM32L5 support to stm32 driver
  * Added interrupt support to sx1509b driver
  * Fixed interrupt handling in sifive, intel_apl, mchp_xec, mcux_igpio driver
  * Various fixes in intel_apl driver
  * Added MCP23S17 driver
  * Fixed port 1 interrupts in mcux lpc driver

* Hardware Info

  * Fixed ESP32 implementation
  * Updated byte order in all drivers

* I2C

  * Added support to stm32h7
  * Added write/read and bus recovery commands to shell
  * Added bus recovery function to gpio bitbang driver
  * Fixed fast and fast+ mode bus speeds in several drivers
  * Added mcux flexcomm driver

* I2S

  * Added I2S master DMA support and clock output to stm32 driver
  * Enabled SAMV71

* IEEE 802.15.4

  * Added Decawave DW1000 driver
  * Added "no auto start" option and local MAC address support to rf2xx
  * Added support for Frame Pending Bit (FPB) handling in nrf5
  * Added CSMA CA transmit capability to nrf5
  * Added PAN coordinator mode support to nrf5
  * Added support for promiscuous mode to nrf5
  * Added support for energy scan function to nrf5
  * Fixed RX timestamp handling in nrf5
  * Various fixes to rf2xx

* Interrupt Controller

  * Fixed PLIC register space
  * Added support for STM32L5 series
  * Added GIC V3 driver
  * Fixed ICFGRn access and config in GIC driver
  * Optimized the arc v2 interrupt unit driver

* IPM

  * Added CAVS DSP Intra-DSP Communication (IDC) driver

* Keyboard Scan

  * Added interrupt support to the ft5336 touch controller driver
  * Added SDL mouse driver

* LED

  * N/A

* LED Strip

  * N/A

* LoRa

  * Added a LoRa shell
  * Replaced counter driver usage with k_timer calls
  * Various fixes in sx1276 driver

* Modem

  * Added support for GSM 07.10 muxing protocol to generic GSM modem
  * Added support for modem commands that do not have a line ending
  * Added automatic detection of ublox-sara-r4 modem type
  * Added automatic setting of APN for ublox-sara-r4
  * Added sendmsg() support to ublox-sara-r4
  * Fixed UDP socket closing in ublox-sara-r4
  * Fixed RSSI calculation for Sara U201
  * Fixed TCP context release and RX socket src/dst port assignment in wncm14a2a
  * Changed PPP driver connection to generic GSM modem

* PECI

  * Added Microchip XEC driver

* Pinmux

  * Fixed compilation errors in rv32m1_vega pinmux

* PS/2

  * Tuned PS2 driver to support several mice brands

* PWM

  * Added support to stm32h7
  * Enhanced mcux ftm driver to configure pwm in ticks and allow configuring the clock prescaler
  * Added mcux tpm driver
  * Fixed nrfx driver to wait until PWM is stopped before restarting it

* Sensor

  * Added support for Analog Devices ADXL345 3-axis I2C accelerometer
  * Added Infineon DPS310 driver
  * Fixed temperature conversion in SI7006 driver
  * Added Honeywell MPR driver
  * Added BQ27421 driver
  * Added weighted average filter to NXP Kinetis temperature driver
  * Enabled single shot mode in ENS210 driver
  * Added forced sampling mode to BME280 driver
  * Added IIS2MDC magnetometer driver
  * Added IIS2DLPC accelerometer driver
  * Added ISM330DHCX IMU driver
  * Added MEC tachometer driver
  * Fixed I2C and SPI bus communication in LIS2DH driver

* Serial

  * Added uart_mux driver that is used in GSM 07.10 muxing protocol
  * Added support for parity setting from dts on stm32
  * Added support for stm32l5
  * Various fixes in ns16550 driver
  * Added XMC driver
  * Added interrupt and runtime configuration support to Xilinx driver
  * Fixed interrupt support in sifive driver
  * Enhanced nrfx driver TX only mode support
  * Added SAMV71 support to sam driver

* SPI

  * Added support for DMA client on stm32
  * Increased clock frequency in mcux flexcomm driver
  * Added power management support to cc13xx_cc26xx driver

* Timer

  * Various fixes in stm32_lptim driver
  * Removed RTC1 dependency from nrf driver
  * Various fixes in arcv2_timer0 driver
  * Fixed TICKLESS=n processing in nrf_rtc and stm32_lptim drivers
  * Added CAVS DSP wall clock timer driver
  * Implemented tickless support in xlnx_psttc_timer driver

* USB

  * Added experimental USB Audio implementation.
  * Added support to stm32wb
  * Fixed PMA leak at reset on stm32
  * Various fixes in usb_dc_nrfx driver
  * Refactored usb_dc_mcux_ehci driver

* Video

  * Added dedicated video init priority
  * Various fixes in sw_generator and mcux_csi
  * Fixed video buffer alignment

* Watchdog

  * Added support on stm32g0
  * Disabled iwdg at boot on stm32

* WiFi

  * Added scan completion indication to eswifi
  * Added support to ESP8266 and ESP32


Networking
**********

* Converted networking to use new k_timeout_t infrastructure
* Enhanced new TCP stack support
* Added minimal support for TFTP client (RFC 1350)
* Added support for network device driver power management
* Added support for socketpair() BSD socket API
* Added support for QEMU user networking (SLIRP)
* Added support to disable automatic network attachment in OpenThread
* Added support for Frame Pending Bit handling in OpenThread
* Added support for RX frame handling in OpenThread
* Added support for TX started notification in OpenThread
* Added support for HW CSMA CA in OpenThread
* Added support for promiscuous mode in OpenThread
* Added support for reading OPAQUE resources with OMA TLV in LWM2M
* Added config to enable PAN coordinator mode in IEEE 802.15.4
* Added config to enable promiscuous mode in IEEE 802.15.4
* Added support for subscribe in Azure cloud sample
* Added support for queue mode in lwm2m_client sample
* Added support to allow change of the QEMU Ethernet interface name
* Added support for PPP IPCP to negotiate used DNS servers
* Added support for setting hostname in DHCPv4 request
* Fixed binding AF_PACKET socket type multiple times
* Fixed LLDPDU data in sent LLDP packets
* Fixed and enhance Google IoT sample application documentation
* Fixed MQTT cloud sample when polling incoming messages
* Fixed LWM2M socket error handling, and pending and reply handling during start
* Fixed LWM2M retransmission logic
* Fixed LWM2M Cell ID resource initialization
* Fixed COAP pending and reply handling
* Fixed wpan_serial sample application and enable USB during initialization
* Fixed HTTP client payload issue on HTTP upload
* Fixed MQTT Websocket incoming data handling and accept packets only in RX
* Fixed MQTT Publish message length validation
* Fixed IEEE 802.15.4 received frame length validation
* IEEE 802.15.4: avoided ACK processing when not needed
* IEEE 802.15.4: Now allows energy detection scan unconditionally

Bluetooth
*********

* Host:

  * Support for LE Advertising Extensions has been added.
  * The Host is now 5.2 compliant, with support for EATT, L2CAP ECRED mode and
    all new GATT PDUs.
  * New application-controlled data length and PHY update APIs.
  * Legacy OOB pairing support has been added.
  * Multiple improvements to OOB data access and pairing.
  * The Host now uses the new thread analyzer functionality.
  * Multiple bug fixes and improvements

* BLE split software Controller:

  * The Controller is now 5.2 compliant.
  * A new HCI USB H4 driver has been added, which can interact with BlueZ's
    counterpart Host driver.
  * PHY support is now configurable.
  * Only control procedures supported by the peer are now used.
  * The Nordic nRF52820 IC is now supported
  * OpenISA/RV32M1:

    * 2 Mbps PHY support.
    * Radio deep sleep mode support.
    * Controller-based privacy support.

* BLE legacy software Controller:

  * The legacy Controller has been removed from the tree.

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

* Zephyr CMake package

  * The Zephyr main repository now includes a Zephyr CMake package.
    This allows for registering Zephyr in the CMake user package registry and
    allows for easier integration into Zephyr applications, by using the CMake
    function, ``find_package(Zephyr ...)``.
    Registering the Zephyr CMake package in the CMake user package registry
    removes the need for setting of ``ZEPHYR_BASE``, sourcing ``zephyr-env.sh``,
    or running ``zephyr-env.cmd``.
  * A new ``west`` extension command, ``west zephyr-export`` is introduced for easy
    registration of Zephyr CMake package in the CMake user package registry.
  * Zephyr Build Configuration CMake package hook.
    Zephyr offers the possibility of configuring the Zephyr build system through
    a Zephyr Build Configuration package. A single Zephyr workspace
    ``ZephyrBuildConfig.cmake`` will be loaded if present in the Zephyr
    workspace. This allows users to configure the Zephyr build system on a per
    workspace setup, as an alternative to using a ``.zephyrrc`` system wide file.

* Devicetree

  * A new :ref:`devicetree_api` was added. This API is not generated, but is
    still included via ``<devicetree.h>``.

    See `the Zephyr v2.3 legacy devicetree macro page`_ for more information,
    including a link to a migration guide to the new API.

    The :ref:`dt-howtos` page has been extended for the new API, and a new
    :ref:`dt-from-c` API usage guide was also added.

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

* Disk

  * Add stm32 sdmmc disk access driver, supports stm32f7 and stm32l4

* Random

  * Removed the ``rand32_timestamp`` driver.

* POSIX subsystem:

  * socketpair() function implemented.
  * eventfd() function (Linux-like extension) implemented.

* Power management:

  * Add system and device power management support on TI CC13x2/CC26x2.

HALs
****

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

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

* New API overview page added.
* Reference pages have been cleaned up and organized.
* The Devicetree documentation has been expanded significally.
* The project roles have been overhauled in the Contribution Guidelines pages.
* The documentation on driver-specific APIs has been simplified.
* Documentation for new APIs, boards and samples.

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

* Added samples for USB Audio Class.
* Added sample for using POSIX read()/write() with network sockets.

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

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

* :github:`25991` - [net][net.socket.select][imx-rt series] test fails  (k_uptime_get_32() - tstamp <= FUZZ is false)
* :github:`25990` - tests/net/socket/select failed on sam_e70_xplained board.
* :github:`25960` - tests/net/socket/socketpair failed on mimxrt1050_evk and sam_e70_xplained.
* :github:`25948` - Function i2c_transfer stops execution for I2C_SAM0
* :github:`25944` - driver: timer: stm32_lptim: Extra ticks count
* :github:`25926` - k_cycle_get_32() returns 0 in native_posix
* :github:`25925` -  tests: net: socket: socketpair: fails due to empty message header name
* :github:`25920` - Compilation error when CONFIG_BOOTLOADER_MCUBOOT=y specified
* :github:`25904` - kernel: k_queue_get return NULL before timeout
* :github:`25901` - timer: nrf_rtc_timer: Subtraction underflow causing 8 minute time skips
* :github:`25895` - driver: timer: stm32_lptim: backup domain is reset
* :github:`25893` - Application syscalls in usermode gives bus fault with stacking error
* :github:`25887` - legacy timeout API does not work as expected
* :github:`25880` - stm32wb: Unable to use BLE and USB host simultaneously.
* :github:`25870` - tests/kernel/timer/timer_api fails conversion tests with large offset
* :github:`25863` - Where is the definition of SystemInit()?
* :github:`25859` - mesh example not working with switched off dcdc?
* :github:`25847` - Problems using math functions and double.
* :github:`25824` - Unpacked bt_l2cap_le_conn_rsp struct is causing corrupt L2CAP connection request responses on some platforms
* :github:`25820` - kernel: k_timer_start(timer, K_FOREVER, K_NO_WAIT) expires immediately
* :github:`25811` - K22F USB Console/Shell
* :github:`25797` - [Coverity CID :210607] Uninitialized scalar variable in tests/net/socket/socketpair/src/test_socketpair_happy_path.c
* :github:`25796` - [Coverity CID :210579] Uninitialized scalar variable in tests/net/socket/socketpair/src/test_socketpair_happy_path.c
* :github:`25795` - [Coverity CID :210564] Uninitialized scalar variable in tests/lib/cmsis_dsp/distance/src/u32.c
* :github:`25793` - [Coverity CID :210561] Resource leak in tests/net/socket/socketpair/src/test_socketpair_unsupported_calls.c
* :github:`25791` - [Coverity CID :210614] Explicit null dereferenced in tests/lib/cmsis_dsp/distance/src/f32.c
* :github:`25789` - [Coverity CID :210586] Explicit null dereferenced in tests/lib/cmsis_dsp/distance/src/f32.c
* :github:`25788` - [Coverity CID :210581] Dereference before null check in subsys/net/lib/sockets/socketpair.c
* :github:`25787` - [Coverity CID :210571] Explicit null dereferenced in tests/subsys/openthread/radio_test.c
* :github:`25785` - [Coverity CID :210549] Explicit null dereferenced in tests/subsys/openthread/radio_test.c
* :github:`25780` - [Coverity CID :210612] Negative array index read in samples/net/sockets/socketpair/src/socketpair_example.c
* :github:`25779` - [Coverity CID :209942] Pointer to local outside scope in subsys/net/ip/tcp2.c
* :github:`25774` - [Coverity CID :210615] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25773` - [Coverity CID :210613] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25772` - [Coverity CID :210609] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25771` - [Coverity CID :210608] Incompatible cast in tests/lib/cmsis_dsp/fastmath/src/f32.c
* :github:`25770` - [Coverity CID :210605] Incompatible cast in tests/lib/cmsis_dsp/filtering/src/misc_f32.c
* :github:`25769` - [Coverity CID :210603] Incompatible cast in tests/lib/cmsis_dsp/filtering/src/misc_f32.c
* :github:`25768` - [Coverity CID :210601] Incompatible cast in tests/lib/cmsis_dsp/fastmath/src/f32.c
* :github:`25767` - [Coverity CID :210600] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25766` - [Coverity CID :210592] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25765` - [Coverity CID :210591] Incompatible cast in tests/lib/cmsis_dsp/filtering/src/misc_f32.c
* :github:`25764` - [Coverity CID :210590] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25763` - [Coverity CID :210577] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25762` - [Coverity CID :210576] Incompatible cast in tests/lib/cmsis_dsp/filtering/src/misc_f32.c
* :github:`25761` - [Coverity CID :210574] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25760` - [Coverity CID :210572] Incompatible cast in tests/lib/cmsis_dsp/distance/src/f32.c
* :github:`25759` - [Coverity CID :210569] Incompatible cast in tests/lib/cmsis_dsp/bayes/src/f32.c
* :github:`25758` - [Coverity CID :210567] Incompatible cast in tests/lib/cmsis_dsp/fastmath/src/f32.c
* :github:`25757` - [Coverity CID :210565] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25756` - [Coverity CID :210563] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25755` - [Coverity CID :210560] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25754` - [Coverity CID :210556] Incompatible cast in tests/lib/cmsis_dsp/matrix/src/unary_f64.c
* :github:`25753` - [Coverity CID :210555] Incompatible cast in tests/lib/cmsis_dsp/support/src/barycenter_f32.c
* :github:`25752` - [Coverity CID :210551] Incompatible cast in tests/lib/cmsis_dsp/matrix/src/unary_f32.c
* :github:`25751` - [Coverity CID :210545] Incompatible cast in tests/benchmarks/cmsis_dsp/basicmath/src/f32.c
* :github:`25737` - [Coverity CID :210585] Unchecked return value in samples/net/sockets/socketpair/src/socketpair_example.c
* :github:`25736` - [Coverity CID :210583] Unchecked return value from library in samples/net/sockets/socketpair/src/socketpair_example.c
* :github:`25731` - [Coverity CID :210568] Argument cannot be negative in tests/net/socket/socketpair/src/test_socketpair_happy_path.c
* :github:`25730` - [Coverity CID :210553] Unchecked return value in tests/drivers/gpio/gpio_basic_api/src/test_deprecated.c
* :github:`25727` - [Coverity CID :210611] Logically dead code in subsys/net/lib/sockets/socketpair.c
* :github:`25702` - BSD socket sendmsg() did not verify params in usermode
* :github:`25701` - MPU FAULT in nvs test on nrf52840dk_nrf52840
* :github:`25698` - IPv6 prefix could be added multiple times to prefix timer list
* :github:`25697` - Example of Thread creation in documentation does not compile
* :github:`25694` - IPv6 RA prefix option invalid length
* :github:`25673` - Unable to use SPI1 when enabled without SPI0 on cc13xx/cc26xx
* :github:`25670` - Possible Null pointer dereferences in /subsys/logging/log_msg.c
* :github:`25666` - tests: kernel: mem_protect: syscalls: test_string_nlen fails
* :github:`25656` - shields: Can't use multiple shields anymore
* :github:`25635` - ARM: TLS pointer may not be set correctly
* :github:`25621` - ESWiFi does not populate info about remote when invoking callback
* :github:`25614` - fix longstanding error in pthread_attr_t definition
* :github:`25613` - USB: CDC adds set line coding callback
* :github:`25612` - ARM: Cortex-M: CPU is not reporting Explicit MemManage Stacking Errors correctly
* :github:`25597` - west sign fails to find header size or padding
* :github:`25585` - QEMU special key handling is broken on qemu_cortex_a53
* :github:`25578` - nrf: clock control: nrf5340: using CLOCK_CONTROL_NRF_K32SRC_RC results in build failure
* :github:`25568` - nrf: clock_control: Fatal error during initialization
* :github:`25561` - bluetooth: GATT lockup on split packets
* :github:`25555` - Unable to connect to Thread network (NRF52840DK)
* :github:`25527` - sample and writeup for socketpair
* :github:`25526` - Sanity Check Fails:
* :github:`25522` - settings: FCB back-end does not try to add record after the last compression attempt.
* :github:`25519` - wrong debug function cause kinds of building error
* :github:`25511` - arc em_starterkit_em11d failed in tests/kernel/timer/timer_api
* :github:`25510` - arc EMSDP failed in tests/kernel/gen_isr_table
* :github:`25509` - OpenThread SED set link mode fail
* :github:`25493` - devicetree: nRF5340 application core DTSI is missing cryptocell node
* :github:`25489` - drivers: modem_cmd_handler: uninitialized variable used
* :github:`25483` - Bluetooth: controller: split: feature exchange not conform V5.0 core spec
* :github:`25480` - Unconditional source of shield configs can mess up configuration
* :github:`25478` - settings_runtime_set() not populating bt/cf
* :github:`25477` - dts: arm: Incorrect GIC interrupt spec order for AArch64 SoCs
* :github:`25471` - disco_l475_iot1 don't write last small block
* :github:`25469` - Fix devicetree documentation for new API
* :github:`25468` - FRDM_K82F DTS missing information for ADC-0
* :github:`25452` - Some USB samples targeting stm32 are malfunctioning
* :github:`25448` - serial: uart_nrfx_uarte: poll & async TX infinite hang
* :github:`25447` - cf_set() returns 0 when no cfg is available
* :github:`25442` - Does Zephyr support USB host mode ?
* :github:`25437` - tests/lib/heap: sanitycheck timeout on STM32 boards
* :github:`25433` - Add vendor specific class custom usb device sample
* :github:`25427` - STM32 Ethernet driver build failure with CONFIG_ASSERT=1
* :github:`25408` - STM32 Ethernet Driver: Fix driver crash caused by RX IRQ trigger
* :github:`25390` - driver: timer: arm arch timer PPI configuration to be taken from dt
* :github:`25386` - boards: shields: esp_8266: There isn't CI tests enabled
* :github:`25379` - Bluetooth mesh example not working
* :github:`25378` - Installation problems
* :github:`25369` - tests/drivers/gpio/gpio_basic_api: test_gpio_deprecated step fails on STM32 boards
* :github:`25366` - tests/drivers/counter/counter_basic_api: instable test status on STM32 boards
* :github:`25363` - tests/drivers/counter/counter_basic_api: Assertion failed on STM32 boards
* :github:`25354` - Fails to compile when SYS_PM_DIRECT_FORCE_MODE is true
* :github:`25351` - test:mimxrt1050_evk:tests/subsys/usb/bos/: run failure
* :github:`25350` - Bluetooth: controller: Data transmission delayed by slave latency
* :github:`25349` - The b_l072z_lrwan1 board (STM32L0) doesn't support flashing of firmware larger than bank 0
* :github:`25348` - test:mimxrt10xx_evk:tests/kernel/mem_protect/stackprot: get unexpected Stacking error
* :github:`25346` - Timestamp in LOG jumps 00:08:32
* :github:`25337` - LED pins always configured as PWM outputs
* :github:`25334` - SPI won't build on microbit with I2C
* :github:`25332` - lib: updatehub: Don't build after conversion from DT_FLASH_AREA to FLASH_AREA macros
* :github:`25331` - test_timer_remaining() fails with assertion in timer_api test
* :github:`25319` - MMU and USERSPACE not working on upsquared
* :github:`25312` - samples:mimxrt1010_evk:samples/net/openthread/ncp: build error
* :github:`25289` - mcuboot incompatible with Nordic QSPI flash driver
* :github:`25287` - test/benchmarks/latency_measure fails on nucleo_f429zi and nucleo_f207zg
* :github:`25284` - spi: stm32: dma_client: Cannot use RX only configuration
* :github:`25276` - OpenThread not work after upgrade to latest version
* :github:`25272` - tests/drivers/gpio/gpio_basic_api failed on mec15xxevb_assy6853 board.
* :github:`25270` - fix userspace permissions in socketpair tests
* :github:`25263` - Can anyone tell me how can i use external qspi flash "mx25r64"(custom board with nrf52840 soc) for mcuboot slot1 and i'm using zephyr 2.2.0
* :github:`25260` - drivers: uart_ns16550: device config_info content mutated
* :github:`25251` - Post DT API migration review
* :github:`25247` - const qualifier lost on some device config_info casts
* :github:`25246` - SHELL_DEFAULT_TERMINAL_WIDTH should be configurable in Kconfig
* :github:`25241` - tests.drivers.spi_loopback stm32wb55x fails transferring multiple buffers with dma
* :github:`25240` - Building usb audio sample hangs the pre-processor
* :github:`25234` - kernel.timer.tickless test fails on atsamd21_xpro
* :github:`25233` - bad logic in test_busy_wait of tests/kernel/context
* :github:`25232` - driver: wifi: esp_offload.c: Missing new timeout API conversion
* :github:`25230` - Lib: UpdateHub: Missing new timeout API conversion
* :github:`25224` - benchmark.kernel.latency test fails on atsame54_xpro
* :github:`25221` - arch.arm.irq_advanced_features test fails on atsamd21_xpro
* :github:`25216` - cc13xx and cc26xx handler for IRQ invoked multiple times
* :github:`25210` - CI seems to be stuck for my pull request
* :github:`25204` - soc: apollo_lake: Disabling I2C support is not possible
* :github:`25200` - Build error in Sample App for OpenThread NCP
* :github:`25196` - tests: portability: cmsis_rtos_v2: hangs on nRF52, 53 and 91 nRF platforms
* :github:`25194` - tests: kernel: context: seems to be failing on Nordic platforms
* :github:`25191` - tests/drivers/console: drivers.console.semihost can't work
* :github:`25190` - West - init/update module SHA with --depth = 1
* :github:`25185` - Adding CONFIG_BT_SETTINGS creates errors on bt_hci_core & bt_gatt
* :github:`25184` - lldp: lldp_send includes bug
* :github:`25183` - west build error after while "getting started" on ESP32
* :github:`25180` - tests: drivers/i2s/i2s_api: Build failed on 96b_argonkey
* :github:`25179` - tests/kernel/timer/timer_api failed on iotdk board.
* :github:`25178` -  tests/kernel/sched/schedule_api failed on iotdk board.
* :github:`25177` - tests/drivers/counter/maxim_ds3231_api failed on frdm_k64f.
* :github:`25176` - tests/kernel/context failed on multiple platforms.
* :github:`25174` - qemu test failures when running sanitycheck
* :github:`25169` - soc/arm/infineon_xmc/4xxx/soc.h not found
* :github:`25161` - samples/cfb/display flickers with SSD1306
* :github:`25141` - Cannot use C++ on APPLICATION level initialization
* :github:`25140` - Unable to obtain dhcp lease
* :github:`25139` - USB HID mouse sample high input delay
* :github:`25130` - Bluetooth: controller: Incorrect version information
* :github:`25128` - Missing ``python3-dev`` dependency
* :github:`25123` - DAC is not described in soc of STM32L4xx series
* :github:`25109` - Flash tests fail on posix
* :github:`25101` - driver: gpio: mchp: GPIO initialization value doesn't get reflected when using new flags
* :github:`25091` - drivers: eSPI: Incorrect handling of OOB registers leads to report wrong OOB packet len
* :github:`25084` - LLDP: missing net_pkt_set_lldp in lldp_send
* :github:`25083` - Networking samples are not able to connect with the TCP under qemu_x86 after 9b055ec
* :github:`25067` - Insufficient ticker nodes for vendor implementations
* :github:`25057` - errors when running sanitycheck with tests/subsys/storage/stream/stream_flash
* :github:`25036` - kernel: pipe: read_avail / write_avail syscalls
* :github:`25032` - build failure on lpcxpresso55s16_ns
* :github:`25017` - [CI] m2gl025_miv in Shippable CI systematically fails some tests
* :github:`25016` - BT_LE_ADV_NCONN_NAME doesn't actually advertise name
* :github:`25015` - Bluetooth Isochronous Channels Support
* :github:`25012` - checkpatch.pl doesn't match the vendor string properly
* :github:`25010` - disco_l475_iot1 don't confirm MCUBoot slot-1 image
* :github:`24978` - RFC: use compatible name for prefix for device-specific API
* :github:`24970` - ieee802154 l2: no length check in frame validation
* :github:`24965` - RF2XX radio driver does automatic retransmission and OpenThread as well
* :github:`24963` - Slower OpenThread PSKc calculation
* :github:`24943` - Add a harness property to boards in sanitycheck's hardware_map
* :github:`24928` - Running Zephyr Bot tests on local machine
* :github:`24927` - stm32: Fix docs boards for doc generation
* :github:`24926` - Remove all uses of CONFIG_LEGACY_TIMEOUT_API  from the tree before 2.3
* :github:`24915` - accelerometer example no longer works for microbit
* :github:`24911` - arch: arm: aarch32: When CPU_HAS_FPU for Cortex-R5 is selected, prep_c.c uses undefined symbols
* :github:`24909` - ``find_package`` goes into an infinite loop on windows
* :github:`24903` - Python detection when building documentation fails
* :github:`24889` - stm32f469i discovery board and samples/display/lvgl fails
* :github:`24869` - qemu_x86: with icount enabled, crash in test_syscall_torture
* :github:`24853` - os: Precise data bus error with updatehub
* :github:`24842` - Support Building on Aarch64
* :github:`24840` - Unable to connect to OpenThread network after upgrade
* :github:`24805` - On x86, misalligned SSE accesses can occur when multithreading is enabled
* :github:`24784` - nRF: Busy wait clock is skewed vs. timer clock
* :github:`24773` - devicetree: allow generation of properties that don't have a binding
* :github:`24751` - What is purpose of the CONFIG_ADC_X
* :github:`24744` - k_thread_join() taking a very long time on qemu_cortex_m3
* :github:`24733` - Misconfigured environment
* :github:`24727` - Unable allocate buffer to send mesh message
* :github:`24722` - OnePlus 7T & peripheral_hr on NRF52 conn failure
* :github:`24720` - Build failure on intel_s1000_crb board for test case:” tests/kernel/smp”
* :github:`24718` - adc: stm32g4: Fix ADC instances naming
* :github:`24713` - ztest_test_fail() doesn't always work
* :github:`24706` - mcumgr: fail to upgrade nRF target using nRF Connect
* :github:`24702` - tests/drivers/counter/counter_basic_api failed on frdm_k64f board.
* :github:`24701` - tests/lib/cmsis_dsp/transform failed on frdm_k64f board.
* :github:`24695` - Board IP Can Not Be Set Manually
* :github:`24692` - FindPython3 has unexpected behavior on Windows
* :github:`24674` - Cannot generate code coverage report for unit tests using sanitycheck
* :github:`24665` - z_cstart memory corruption (ARM CortexM)
* :github:`24661` - sanitycheck incorrect judgement with tests/drivers/gpio/gpio_basic_api.
* :github:`24660` - tests/benchmarks/sys_kernel failed on nrf platforms
* :github:`24659` - tests/portability/cmsis_rtos_v2 failed on reel_board.
* :github:`24653` - device_pm: clarify and document usage
* :github:`24646` - Bluetooth: hci_uart broken on master
* :github:`24645` - naming consistency for kernel object initializer macros
* :github:`24642` - kernel: pipe: simple test fails for pipe write / read of 3 bytes
* :github:`24641` - inconsistent timer behavior on native platforms
* :github:`24635` - tests/counter/counter_basic_api fails on mps2_an385
* :github:`24634` - Invalid pin reported in gpio callback
* :github:`24626` - USB re-connection fails on SAM E70
* :github:`24612` - mimxrt1020_evk: total freeze
* :github:`24601` - Bluetooth: Mesh: Config Client's net_key_status pulls two key indexes, should pull one.
* :github:`24585` - How to read/write an big(>16K) file in littlefs shell sample on native posix board?
* :github:`24579` - Couldn't get test results from device serial on mimxrt1050_evk board.
* :github:`24576` - scripts/subfolder_list.py: Support long paths
* :github:`24571` - #include <new> is not available
* :github:`24564` - NRF51822 BLE ~400uA idle current consumption
* :github:`24554` - hal_infineon: Add new module for Infineon XMC HAL layer
* :github:`24553` - samples/subsys/shell/fs/ fail on native posix board
* :github:`24539` - How to complete userspace support for driver-specific API
* :github:`24534` - arch_mem_domain_max_partitions_get() returns equal number for all architectures
* :github:`24533` - devicetree: are some defines missing from the bindings?
* :github:`24509` - Ethernet Sample Echo Failed in Nucleo_f429zi - bisected
* :github:`24505` - Bluetooth: Mesh: Configuration Client: Add support for Model Subscription Get
* :github:`24500` - Failed to run the sample "Native Posix Ethernet"
* :github:`24497` - frdm_k64f fatal error while using flash and TLS features together
* :github:`24490` - SPI-NOR driver not found in spi_flash sample
* :github:`24485` - kernel: pipe: should return if >= min_xfer bytes transferred and timeout is K_FOREVER
* :github:`24484` - The file system shell example failed to build
* :github:`24479` - nrf-uarte problems with uart_irq_tx_disable() in handler
* :github:`24464` - drivers: espi: XEC: Incorrect eSPI channel status handling leading to missed interrupts and callbacks
* :github:`24462` - File not truncated to actual size after calling fs_close
* :github:`24457` - Common Trace Format - Failed to produce correct trace output
* :github:`24442` - samples/subsys/mgmt/mcumgr/smp_svr: should enable BT and FS for nrf52 boards
* :github:`24439` - LPCXpresso55S69_ns target : build failed
* :github:`24437` - smp_svr samle doesn't build for any target
* :github:`24431` - http_client assumes request payload is non-binary
* :github:`24426` - syscall for pipe(2)
* :github:`24409` - When the delay parameter of k_delayed_work_submit is K_FOREVER, the system will crash
* :github:`24399` - drivers: sam0_rtc_timer: DT_INST changes have broken this driver
* :github:`24390` - nsim_sem_normal target is broken
* :github:`24382` - disco_l475_iot1 not working with samples/net/wifi
* :github:`24376` - SPI (test) is not working for LPCXpresso54114
* :github:`24373` - NULL-pointer dereferencing in GATT when master connection fails
* :github:`24369` - tests/drivers/counter/counter_basic_api failure on nRF51-DK
* :github:`24366` - syscall for socketpair(2)
* :github:`24363` - nsim_hs_smp target doesn't work at all
* :github:`24359` - k_heap / sys_heap needs overview documentation
* :github:`24357` - NVS sample on STM32F4 fails even if the dts definition is correct
* :github:`24356` - MCUboot (and other users of DT_FLASH_DEV_NAME) broken with current zephyr master
* :github:`24355` - tests/drivers/uart/uart_basic_api configure and config_get fail because not implemented
* :github:`24353` - minnowboard hangs during boot of samples/hello_world
* :github:`24347` - Application Cortex M Systick driver broken by merge of #24012
* :github:`24340` - #24308 Broke python3 interpreter selection
* :github:`24339` - arm_gic_irq_set_priority - temporary variable overflow
* :github:`24325` - broken link in MinnowBoard documentation
* :github:`24324` - ST Nucleo F767ZI Ethernet Auto Negotiation problem
* :github:`24322` - IRQ_CONNECT and IRQ_DIRECT_CONNECT throw compile error with CONFIG_CPLUSPLUS
* :github:`24311` - LPN not receiving any message from Friend node after LPN device reset
* :github:`24306` - How to set up native posix board to allow connections to the Internet?
* :github:`24304` - Application crash #nrf52840 #ble
* :github:`24299` -  tests/subsys/storage/flash_map failed on frdm_k64f board.
* :github:`24294` - Problem using TMP116 sensor with platformio
* :github:`24291` - The button interrupt enters the spurious handler
* :github:`24283` - os:   Illegal use of the EPSR-disco_l475_iot1
* :github:`24282` - echo_client sample return: Cannot connect to TCP remote (IPv6): 110
* :github:`24278` - Function of "ull_conn_done" in "ull_conn.c"
* :github:`24277` - tests/kernel/workq/critical times out on ARC
* :github:`24276` - tests/kernel/context hangs on ARC in test_kernel_cpu_idle
* :github:`24275` - tests/kernel/mem_protect/syscalls fails on ARC in test_syscall_torture
* :github:`24252` - Python detection macro in cmake fails to detect highest installed version
* :github:`24243` - MCUBoot not working on disco_l475_iot1
* :github:`24241` - Build error when using MCHP ACPI HAL macros
* :github:`24237` - Fail to pass samples/subsys/nvs
* :github:`24227` - build hello_world sample failed for ESP32 board.
* :github:`24226` - [master]Bluetooth: samples/bluetooth/central_hr can't connect with samples/bluetooth/peripheral_hr
* :github:`24216` - Shell: Allow selecting command without subcommands
* :github:`24215` - Couldn't flash image into up_squared using misc.py script.
* :github:`24212` - lib: updatehub: Improve memory footprint
* :github:`24207` - tests/subsys/fs/fcb fails on nRF52840-DK
* :github:`24197` - Reduce snprintf and snprintk footprint
* :github:`24195` - question regarding c++
* :github:`24194` - Bluetooth: Mesh: Unknown message received by the node
* :github:`24193` - Issue with launching examples on custom board (after succesfull build)
* :github:`24187` - Remove the BLE Legacy Controller from the tree
* :github:`24183` - [v2.2] Bluetooth: controller: split: Regression slave latency during connection update
* :github:`24181` - Snprintk used at many place while dummy build if CONFIG_PRINTK is undef
* :github:`24180` - Parameter deprecation causes scanner malfunction on big-endian systems
* :github:`24178` - CI: extra_args from sanitycheck ``*.yaml`` do not propagate to cmake
* :github:`24176` - Where can I read PDR (packet delivery ratio)? Or number of TX/ACK packets?
* :github:`24162` - eSPI KConfig overrides espi_config API channel selection in eSPI driver
* :github:`24158` - gap in support for deprecated Nordic board names
* :github:`24156` - MQTT Websocket transport interprets all received data as MQTT messages
* :github:`24145` - File system shell example mount littleFS issue on nrf52840_pca10056
* :github:`24144` - deadlock potential in nrf_qspi_nor
* :github:`24136` - tests/benchmarks/latency_measure failed on mec15xxevb_assy6853 board.
* :github:`24122` - [nrf_qspi_nor] LittleFS file system fails to mount if LFS rcache buffer is not word aligned
* :github:`24108` - https GET request is failed for big file download.
* :github:`24104` - west sign usage help is missing key information
* :github:`24103` - USB Serial Number reverses bytes in hw identifier
* :github:`24101` - Bluetooth: Mesh: Transport Segment send failed lead to seg_tx un-free
* :github:`24098` - drivers: flash: flash_stm32: usage fault
* :github:`24089` - Zephyr/Openthread/MBEDTLS heap size/usage
* :github:`24086` - Bluetooth: SMP: Existing bond deleted on pairing failure
* :github:`24081` - le_adv_ext_report is not generating an HCI event
* :github:`24072` - tests/kernel/timer/timer_api failed on nucleo_stm32l152re board
* :github:`24068` - UART driver for sifive does not compile when configuring PORT_1
* :github:`24067` - cross-platform inconsistency in I2C bus speeds
* :github:`24055` - Add support for openocd on stm32g0 and stm32g4 targets
* :github:`24041` - [Coverity CID :209368] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24040` - [Coverity CID :209369] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24039` - [Coverity CID :209370] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24038` - [Coverity CID :209371] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24037` - [Coverity CID :209372] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24036` - [Coverity CID :209373] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24035` - [Coverity CID :209374] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24034` - [Coverity CID :209375] Side effect in assertion in tests/kernel/interrupt/src/prevent_irq.c
* :github:`24033` - [Coverity CID :209376] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24032` - [Coverity CID :209377] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24031` - [Coverity CID :209378] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24027` - [Coverity CID :209382] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24026` - [Coverity CID :209383] Pointless string comparison in tests/lib/devicetree/src/main.c
* :github:`24016` - Fully support DTS on nrf entropy driver
* :github:`24014` - Bluetooth: Mesh: Friend node not cache for lpn which receiveing unknown app_idx
* :github:`24009` - Bluetooth: Mesh: Friend node not cache ALL_Node Address or different app_idx
* :github:`24008` - Build failure on intel_s1000_crb board.
* :github:`24003` - Couldn't generated code coverage report using sanitycheck
* :github:`24001` - tests/kernel/timer/timer_api failed on reel_board and mec15xxevb_assy6853.
* :github:`23998` - Infinite Reboot loop in Constructor C++
* :github:`23997` - flash sector erase fails on stm32l475
* :github:`23989` - Switching among different PHY Modes
* :github:`23986` - Possible use of uninitialized variable in subsys/net/ip/utils.c
* :github:`23980` - Nordic USB driver: last fragment sometimes dropped for OUT control endpoint
* :github:`23961` - CCC does not get cleared when CONFIG_BT_KEYS_OVERWRITE_OLDEST is enabled
* :github:`23953` - Question: How is pdata.tsize initialized in zephyr/subsys/usb/usb_transfer.c?
* :github:`23947` - soc: arm: atmel: sam4e: Enable FPU
* :github:`23946` - ARM soft FP ABI support is broken
* :github:`23945` - west flash don't flash right signed file when system build both hex and bin files
* :github:`23930` - Question: Cortex-M7 revision r0p1 errata
* :github:`23928` - Flash device FLASH_CTRL not found
* :github:`23922` - cmake 3.17 dev warning from FindPythonInterp.cmake
* :github:`23919` - sanitycheck samples/drivers/entropy/sample.drivers.entropy fails
* :github:`23907` - Shell overdo argument parsing in some cases
* :github:`23897` - Typo in linker.ld for NXP i.MX RT
* :github:`23893` - server to client ble coms: two characteristics with notifications failing to notify the right characteristics at the client
* :github:`23877` - syscall use of output buffers may be unsafe in some situations
* :github:`23872` - cmake find_package(ZephyrUnittest...) doesn't work
* :github:`23866` - sample hci_usb fails with zephyr 2.2.0 (worked with zephyr 2.1.0)
* :github:`23865` - nrf52840 and pyocd cannot program at addresses above 512k
* :github:`23853` - samples/boards/nrf/battery does not build
* :github:`23850` - Template with C linkage in util.h:52
* :github:`23824` - ARM Cortex-M7 MPU setting
* :github:`23805` - Bluetooth: controller: Switching to non conn adv fails for Mesh LPN
* :github:`23803` - nrf52840 ble error
* :github:`23800` - tests/drivers/counter/counter_cmos failed on up_squared platform
* :github:`23799` -  tests/subsys/logging/log_immediate failed on reel_board
* :github:`23777` - Problem with applying overlay for custom board in blinky example
* :github:`23763` - net: sockets: Wrong binding when connecting to ll address
* :github:`23762` - stm32: Revert nucleo_l152re to work at full speed
* :github:`23750` - eSPI API needs to be updated since it's passing parameters by value
* :github:`23718` - Getting started with zephyr OS
* :github:`23712` - Error in mounting the SD card
* :github:`23703` - Openthread on Zephyr cannot get On-Mesh Prefix address
* :github:`23694` - TEMP_KINETIS is forced enabled on frdm_k64f if SENSORS is enabled. But ADC is missing
* :github:`23692` - drivers: ublox-sara-r4: Add support for pin polarity
* :github:`23678` - drivers/flash: stm32: Error in device name
* :github:`23677` - SPI slave driver doesn't work correctly on STM32F746ZG; needs spi-fifo to be enabled in DT
* :github:`23674` - Openthread stop working after "Update OpenThread revision #23632"
* :github:`23673` - spi-nor driver fails to check for support of 32 KiBy block erase
* :github:`23669` -  ipv4 rx fragments: is zephyr support?
* :github:`23662` - Building blinky sample program goes wrong
* :github:`23637` - Wrong channel computation in stm32 pwm driver
* :github:`23624` - posix: clock: clock_gettime fault on userspace with CLOCK_REALTIME
* :github:`23623` - stm32 can2 not work properly
* :github:`23622` - litex_vexriscv: k_busy_wait() never returns if called with interrupts locked
* :github:`23618` - cmake: Export compile_commands.json for all generated code
* :github:`23617` - kernel: k_cpu_idle/atomic_idle() not tested for tick-less kernel
* :github:`23611` - Add QuickLogic EOS S3 HAL west module
* :github:`23600` - Differences in cycles between k_busy_wait and k_sleep
* :github:`23595` - RF2XX driver Openthread ACK handling
* :github:`23593` - Nested interrupt test is broken for RISC-V
* :github:`23588` - [Coverity CID :208912] Dereference after null check in tests/net/icmpv4/src/main.c
* :github:`23587` - [Coverity CID :208913] Resource leak in tests/net/socket/af_packet/src/main.c
* :github:`23586` - [Coverity CID :208914] Self assignment in drivers/peci/peci_mchp_xec.c
* :github:`23585` - [Coverity CID :208915] Out-of-bounds access in tests/net/icmpv4/src/main.c
* :github:`23584` - [Coverity CID :208916] Out-of-bounds read in drivers/sensor/adxl345/adxl345.c
* :github:`23583` - [Coverity CID :208917] Dereference after null check in tests/net/icmpv4/src/main.c
* :github:`23582` - [Coverity CID :208918] Side effect in assertion in tests/arch/arm/arm_interrupt/src/arm_interrupt.c
* :github:`23581` - [Coverity CID :208919] Out-of-bounds read in drivers/sensor/adxl345/adxl345.c
* :github:`23580` - [Coverity CID :208920] Resource leak in tests/net/socket/af_packet/src/main.c
* :github:`23579` - [Coverity CID :208921] Improper use of negative value in tests/net/socket/af_packet/src/main.c
* :github:`23577` - [Coverity CID :208923] Out-of-bounds read in drivers/sensor/adxl345/adxl345.c
* :github:`23576` - [Coverity CID :208924] Dereference after null check in tests/net/icmpv4/src/main.c
* :github:`23575` - [Coverity CID :208925] Unsigned compared against 0 in samples/drivers/espi/src/main.c
* :github:`23573` - [Coverity CID :208927] Dereference after null check in tests/net/icmpv4/src/main.c
* :github:`23571` - drivers: timer: nrf52: Question: Does nRF52840 errata 179 affect nrf_rtc_timer driver?
* :github:`23562` - build warnings when updating to master from 2.2.0
* :github:`23555` - STM32 SDMMC disk access driver (based on stm32 cube HAL)
* :github:`23544` - tests/kernel/mem_protect/syscalls failed on iotdk board.
* :github:`23541` - xilinx_zynqmp: k_busy_wait() never returns if called with interrupts locked
* :github:`23539` -  west flash --runner jlink returns KeyError: 'jlink'
* :github:`23529` - Convert STM32 drivers to new DT macros
* :github:`23528` - k64f dts flash0/storage_partition 8KiB -> 64KiB
* :github:`23507` - samples/subsys/shell/shell_module doesn't work on qemu_x86_64
* :github:`23504` - Build system dependency issue with syscalls
* :github:`23496` - Issue building & flashing a hello world project on nRF52840
* :github:`23494` - Bluetooth: LL/PAC/SLA/BV-01-C fails if Slave-initiated Feature Exchange is disabled
* :github:`23485` - BT: host: Service Change indication sent regardless of whether it is needed or not.
* :github:`23482` - 2M PHY + DLE and timing calculations on an encrypted link are wrong
* :github:`23476` - tests/kernel/interrupt failed on ARC
* :github:`23475` - tests/kernel/gen_isr_table failed on iotdk board.
* :github:`23473` - tests/posix/common failed on multiple ARM platforms.
* :github:`23468` - bluetooth: host: Runtime HCI_LE_Create_Connection timeout
* :github:`23467` - Import from linux to zephyr?
* :github:`23459` - tests: drivers: uart: config api has extra dependency in test 2
* :github:`23444` - drivers: hwinfo: shell command "hwinfo devid" output ignores endianness
* :github:`23441` - RFC: API change: Add I2C bus recovery API
* :github:`23438` - Cannot reset Bluetooth mesh device
* :github:`23435` - Missing documentation for macros in util.h
* :github:`23432` - Add PECI subsystem user space handlers
* :github:`23425` - Remote opencd
* :github:`23420` - PPP management don't build
* :github:`23418` - Building hello_world failed
* :github:`23415` - gen_defines does not resolve symbol values for devicetree.conf
* :github:`23414` - tests/benchmarks/timing_info  failed on mec15xxevb_assy6853 board.
* :github:`23395` - UART Console input does not work on SiFive HiFive1 on echo sample app
* :github:`23387` - [Question] Why does not zephyr use a toolchain file with cmake as -DCMAKE_TOOLCHAIN_FILE=.. ?
* :github:`23386` - SAM GMAC should support PHY link status detection
* :github:`23373` - ARM: Move CMSIS out of main tree
* :github:`23372` - arm: aarch32: spurious IRQ handler calling z_arm_reserved with wrong arguments' list
* :github:`23360` - Possible NULL dereference in  zephyr/arch/arm/include/aarch32/cortex_m/exc.h
* :github:`23353` - nrf51_ble400.dts i2c pins inverted
* :github:`23346` - bl65x_dvk boards do not reset after flashing
* :github:`23339` - tests/kernel/sched/schedule_api failed on mps2_an385 with v1.14 branch.
* :github:`23337` - USB DFU device + Composite Device with ACM Serial - Windows Fails
* :github:`23324` - TinyCBOR is not linked to application files unless CONFIG_MCUMGR is selected
* :github:`23311` - Sanitycheck flash error on frdm_k64f board.
* :github:`23309` - Sanitycheck generated incorrect acrn.xml on acrn platform
* :github:`23299` - Some bugs or dead codes cased by possible NULL pointers
* :github:`23295` - [Coverity CID :208676] Overlapping buffer in memory copy in subsys/usb/class/mass_storage.c
* :github:`23294` - [Coverity CID :208677] Unchecked return value in drivers/sensor/lis3mdl/lis3mdl_trigger.c
* :github:`23284` - driver: ethernet: Add support for a second Ethernet controller in the MCUX driver
* :github:`23280` - Bluetooth: hci_usb fails to connect to two devices with slow advertising interval
* :github:`23278` - uart_basic_api test fails for SAM family devices
* :github:`23274` - power: subsystem: Application hangs when logging is enabled after entering deep sleep
* :github:`23247` - Bluetooth LE: Add feature to allow profiles to change ADV data at RPA updates
* :github:`23246` - net: tx_bufs are not freed when NET_TCP_BACKLOG_SIZE is too high
* :github:`23226` - Bluetooth: host: Peer not resolved when host resolving is used
* :github:`23225` - Bluetooth: Quality of service: Adaptive channel map
* :github:`23222` - Bluetooth: host: Unable to pair when privacy feature is disabled by application
* :github:`23207` - tests/kernel/mem_pool/mem_pool_concept failed on mec15xxevb_assy6853 board.
* :github:`23193` - Allow overriding get_mac() function in ieee802154 drivers
* :github:`23187` - nrf_rtc_timer.c  timseout setting mistake.
* :github:`23184` - mqtt_connect fails with return -2
* :github:`23156` - App determines if Bluetooth host link request is allowed
* :github:`23153` - Binding AF_PACKET socket second time will fail with multiple network interfaces
* :github:`23133` - boards: adafruit_feather_m0: don't throw compiler warnings on using custom sercom config
* :github:`23117` - Unable to flash hello_world w/XDS-110 & OpenOCD
* :github:`23107` - Convert SAM SoC drivers to DT_INST
* :github:`23106` - timer_api intermittent failures on Nordic nRF
* :github:`23070` - Bluetooth: controller: Fix ticker implementation to avoid catch up
* :github:`23026` - missing ISR locking in UART driver?
* :github:`23001` - Implement SAM E5X GMAC support
* :github:`22997` - Add GMAC device tree definition
* :github:`22964` - Define a consistent naming convention for device tree defines
* :github:`22948` - sanitycheck --build-only followed by --test-only fails
* :github:`22911` - [Coverity CID :208407] Unsigned compared against 0 in drivers/modem/modem_pin.c
* :github:`22910` - [Coverity CID :208408] Unsigned compared against 0 in drivers/modem/modem_pin.c
* :github:`22909` - [Coverity CID :208409] Unchecked return value in tests/drivers/gpio/gpio_basic_api/src/test_deprecated.c
* :github:`22908` - [Coverity CID :208410] Unsigned compared against 0 in drivers/modem/modem_pin.c
* :github:`22907` - si7006 temperature conversion offset missing
* :github:`22903` - mcuboot/samples/zephyr (make test-good-rsa) doesn't work
* :github:`22887` - Atomic operations on pointers
* :github:`22860` - Highly accurate synchronized clock distribution for BLE mesh network
* :github:`22780` - Sanitycheck hardware map integration caused some tests failure.
* :github:`22777` - Sanitycheck hardware map integration failed with some tests timeout.
* :github:`22745` - schedule_api  fails with slice testing on frdmkw41z board on v2.2.0_rc1
* :github:`22738` - crashes in tests/kernel/mem_protect/userspace case pass_noperms_object on x86_64
* :github:`22732` - IPv6 address and prefix timeout failures
* :github:`22701` - Implement I2C driver for lpcxpresso55s69
* :github:`22679` - MQTT publish causes unnecessary TCP segmentation
* :github:`22670` - Implement GIC-based ARM interrupt tests
* :github:`22643` - [Coverity CID :208206] Unsigned compared against 0 in samples/sensor/fxos8700-hid/src/main.c
* :github:`22625` - tests/subsys/canbus/isotp/conformance fails on frdm_k64f and twr_ke18f boards
* :github:`22622` - tests/drivers/gpio/gpio_basic_api failed on multiple ARM platforms
* :github:`22561` - tests/kernel/mem_protect/syscalls fails test_string_nlen on nsim_sem
* :github:`22555` - Add support to device tree generation support for DT_NODELABEL_<node-label>_<FOO> generation
* :github:`22554` - Add support to device tree generation support for DT_PATH_<path>_<FOO> generation
* :github:`22541` - hal_nordic: nrf_glue.h change mapped assert function
* :github:`22521` - intermittent crash in tests/portability/cmsis_rtos_v2 on qemu_x86
* :github:`22502` - USB transfer warnings
* :github:`22452` - not driver found in can bus samples for olimexino_stm32
* :github:`22441` - [Coverity CID :207967] Invalid type in argument to printf format specifier in samples/drivers/spi_flash/src/main.c
* :github:`22431` - [Coverity CID :207984] Sizeof not portable in drivers/counter/counter_handlers.c
* :github:`22429` - [Coverity CID :207989] Dereference after null check in drivers/sensor/sensor_shell.c
* :github:`22421` - mbed TLS: Inconsistent Kconfig option names
* :github:`22356` - An application hook for early init
* :github:`22348` - LIS2DH SPI Support
* :github:`22270` - wrong total of testcases when sanitycheck is run with a single test
* :github:`22264` - drivers: serial: nrf_uart & nrf_uarte infinite hang
* :github:`22222` - Enabling OpenThread SLAAC
* :github:`22158` - flash_img: support arbitrary flash devices
* :github:`22083` - stm32: spi: Infinite loop of RXNE bit check
* :github:`22078` - stm32: Shell module sample doesn't work on nucleo_l152re
* :github:`22034` - Add support for USB device on STM32L1 series
* :github:`21984` - i2c_4 not working on stm32f746g_disco
* :github:`21955` - usb: tests/subsys/usb/device fails on all NXP RT boards
* :github:`21932` - Current consumption on nrf52_pca10040, power_mgr sample
* :github:`21917` - cmake error with CONFIG_COUNTER and CONFIG_BT both enabled (nrf52 board)
* :github:`21899` - STM32F769I-DISCO > microSD + FatFS > failed in "samples/subsys/fs/fat_fs" > CMD0 and 0x01
* :github:`21877` - tests/drivers/uart/uart_async_api fails on qemu_cortex_m0
* :github:`21833` - SRAM not sufficient when building BT Mesh developer guide build on BBC Micro-bit
* :github:`21820` - docs: "Crypto Cipher" API isn't available in the docs
* :github:`21755` - tests/drivers/adc/adc_api  failed on  mec15xxevb_assy6853 board.
* :github:`21706` - Link to releases in README.rst give a 404 error
* :github:`21701` - [Coverity CID :206600] Logically dead code in drivers/crypto/crypto_mtls_shim.c
* :github:`21677` - [Coverity CID :206388] Unrecoverable parse warning in subsys/cpp/cpp_new.cpp
* :github:`21675` - [Coverity CID :206390] Unrecoverable parse warning in subsys/cpp/cpp_new.cpp
* :github:`21514` - Logging - strange behaviour with RTT on nRF53
* :github:`21513` - NULL parameter checks in Zephyr APIs
* :github:`21500` - RFC: k_thread_join()
* :github:`21469` - ARC SMP is mostly untested in sanitycheck
* :github:`21455` - driver: subsys: sdhc: USAGE FAULT trace and no cs control
* :github:`21441` - Add UART5 on B-port to H7 pinmux
* :github:`21426` - civetweb triggers an error on Windows with Git 2.24
* :github:`21390` - BLE Incomplete Connect results in subsquent encryption failures
* :github:`21372` - cc26x2r1_launchxl build passed, but can't flash
* :github:`21369` - devicetree: clearly define constraints on identifier/property name conflicts
* :github:`21321` - error update for project civetweb
* :github:`21305` - New Kernel Timeout API
* :github:`21253` - 2.2 Release Checklist
* :github:`21201` - ARM: Core Stack Improvements/Bug fixes for 2.2 release
* :github:`21200` - Replace IWDG_STM32_START_AT_BOOT by WDT_DISABLE_AT_BOOT
* :github:`21158` - Giving Semaphore Limit+1 can cause limit+1 takes
* :github:`21156` - Interrupts do not work on UP Squared board
* :github:`21107` - LL_ASSERT and 'Imprecise data bus error' in LL Controller
* :github:`21093` - put sys_trace_isr_enter/sys_trace_isr_exit to user care about ISR instead of every ISR
* :github:`21088` - Bluetooth: Mesh: Send Model Message shouldn't require explicit NetKey Index
* :github:`21068` - Conflicting documentation for device initialization
* :github:`20993` - spinlock APIs need documentation
* :github:`20991` - test_timer_duration_period fails with stm32 lptimer
* :github:`20945` - samples/synchronization fails on nsim_hs_smp and nsim_sem_normal
* :github:`20876` - [Coverity CID :205820] Memory - corruptions in tests/crypto/tinycrypt/src/cmac_mode.c
* :github:`20875` - [Coverity CID :205840] Memory - corruptions in tests/benchmarks/mbedtls/src/benchmark.c
* :github:`20874` - [Coverity CID :205805] Memory - corruptions in tests/benchmarks/mbedtls/src/benchmark.c
* :github:`20873` - [Coverity CID :205782] Memory - corruptions in tests/benchmarks/mbedtls/src/benchmark.c
* :github:`20835` - [Coverity CID :205797] Control flow issues in drivers/flash/spi_nor.c
* :github:`20825` - stm32: dma: enable dma with peripheral using DMAMUX
* :github:`20699` - Each board should have a list of Kconfig options supported
* :github:`20632` - call to bt_gatt_hids_init influences execution time of work queue
* :github:`20604` - log will be discarded before logging_thread scheduled once
* :github:`20585` - z_clock_announce starvation with timeslicing active
* :github:`20492` - [Coverity CID :205653]Control flow issues in /drivers/dma/dma_stm32_v1.c
* :github:`20491` - [Coverity CID :205644]Control flow issues in /drivers/dma/dma_stm32_v1.c
* :github:`20348` - Convert remaining entropy to Devicetree
* :github:`20330` - devicetree Arduino bindings do not support identification of bus controllers
* :github:`20301` - tests/drivers/watchdog/wdt_basic_api failed on mec15xxevb_assy6853 board.
* :github:`20259` - Bluetooth: Mesh: Network management
* :github:`20137` - posix: undefined reference with --no-gc-sections
* :github:`20136` - kernel: undefined reference with --no-gc-sections
* :github:`20068` - Application doesn't start when SHELL-UART is enabled and UART is not connected on STM32F0
* :github:`19869` - Implement tickless capability for xlnx_psttc_timer
* :github:`19852` - Add support for GPIO AF remap on STM32F1XX
* :github:`19837` - SS register is 0 when taking exceptions on qemu_x86_long
* :github:`19813` - tests/crypto/rand32 failed on sam_e70 board on v1.14 branch.
* :github:`19763` - tests/subsys/usb/device/ failed on mimxrt1050_evk board.
* :github:`19614` - Make zephyr_library out of hal_stm32 and hal_st
* :github:`19550` - drivers/pcie: ``pcie_get_mbar()`` should return a ``void *`` not ``u32_t``
* :github:`19487` - tests/kernel/fifo/fifo_usage GPF crash on qemu_x86_long
* :github:`19456` - arch/x86: make use of z_bss_zero() and z_data_copy()
* :github:`19353` - arch/x86: QEMU doesn't appear to support x2APIC
* :github:`19307` - _interrupt_stack is defined in the kernel, but declared in arch headers
* :github:`19285` - devicetree: fixed non-alias reference to specific nodes
* :github:`19235` - move drivers/timer/apic_timer.c to devicetree
* :github:`19219` - drivers/i2c/i2c_dw.c is not 64-bit clean
* :github:`19144` - arch/x86: CONFIG_BOOT_TIME_MEASUREMENT broken
* :github:`19075` - k_delayed_work_submit() does not handle long delays correctly
* :github:`19067` - non-overlapping MPU gap-filling needs to be optional
* :github:`19038` - [zephyr branch 1.14 and master -stm32-netusb]:errors when i view RNDIS Device‘s properties on Windows 10
* :github:`18956` - memory protection for x86 dependent on XIP
* :github:`18940` - Counter External Trigger
* :github:`18808` - Docs for gpmrb board incorrectly refer to up_squared board
* :github:`18787` - arch/x86: retire loapic_timer.c driver in favor of new apic_timer.c
* :github:`18657` - drivers/timer/hpet.c should use devicetree, not CONFIG_* for MMIO/IRQ data
* :github:`18614` - same70 hsmci interface
* :github:`18568` - Support for Particle Photon
* :github:`18435` - [Coverity CID :203481]API usage errors in /tests/crypto/tinycrypt/src/test_ecc_utils.c
* :github:`18425` - [Coverity CID :203498]Memory - corruptions in /tests/application_development/gen_inc_file/src/main.c
* :github:`18422` - [Coverity CID :203415]Memory - illegal accesses in /subsys/shell/shell_telnet.c
* :github:`18389` - [Coverity CID :203396]Null pointer dereferences in /subsys/bluetooth/mesh/access.c
* :github:`18386` - [Coverity CID :203443]Memory - corruptions in /subsys/bluetooth/host/rfcomm.c
* :github:`18263` - flash sector erase fails on stm32f412
* :github:`18207` - tests/bluetooth/hci_prop_evt fails with code coverage enabled in qemu_x86
* :github:`18124` - synchronization example fails to build for SMP platforms
* :github:`18118` - samples/subsys/console doesn't work with qemu_riscv32
* :github:`18106` - Only 1 NET_SOCKET_OFFLOAD driver can be used
* :github:`18085` - I2C log level ignored
* :github:`18050` - BT Host - Advertisement extensions support
* :github:`18047` - BT Host: Advertising Extensions - Advertiser
* :github:`18046` - BT Host: Advertising Extensions - Scanner
* :github:`18044` - BT Host: Advertising Extensions - Periodic Advertisement Synchronisation (Rx)
* :github:`18042` - Only corporate members can join the slack channel
* :github:`17892` - arch/x86: clean up segmentation.h
* :github:`17888` - arch/x86: remove IAMCU ABI support
* :github:`17775` - Microchip XEC rtos timer should be using values coming from DTS
* :github:`17755` - ARC privilege mode stacks waste memory due to alignment requirements
* :github:`17735` - abolish Z_OOPS() in system call handlers
* :github:`17543` - dtc version 1.4.5 with ubuntu 18.04 and zephyr sdk-0.10.1
* :github:`17508` - RFC: Change/deprecation in display API
* :github:`17443` - Kconfig: move arch-specific stack sizes to arch trees?
* :github:`17430` - arch/x86: drivers/interrupt_controller/system_apic.c improperly classifies IRQs
* :github:`17415` - Settings Module - settings_line_val_read() returning -EINVAL instead of 0 for deleted setting entries
* :github:`17361` - _THREAD_QUEUED overlaps with x86 _EXC_ACTIVE in k_thread.thread_state
* :github:`17324` - failing bluetooth tests with code coverage enabled in qemu_x86
* :github:`17323` - failing network tests with code coverage enabled in qemu_x86
* :github:`17240` - add arc support in Zephyr's openthread
* :github:`17234` - CONFIG_KERNEL_ENTRY appears to be superfluous
* :github:`17166` - arch/x86: eliminate support for CONFIG_REALMODE
* :github:`17135` - Cannot flash LWM2M example for ESP32
* :github:`17133` - arch/x86: x2APIC EOI should be inline
* :github:`17104` - arch/x86: fix -march flag for Apollo Lake
* :github:`17064` - drivers/serial/uart_ns16550: CMD_SET_DLF should be removed
* :github:`16988` - Packet isn't received by server during stepping
* :github:`16902` - CMSIS v2 emulation assumes ticks == milliseconds
* :github:`16886` - Bluetooth Mesh: Receive segmented message multiple times
* :github:`16721` - PCIe build warnings from devicetree
* :github:`16720` - drivers/loapic_timer.c is buggy, needs cleanup
* :github:`16649` - z_init_timeout() ignores fn parameter
* :github:`16587` - build failures with gcc 9.x
* :github:`16436` - Organize generated include files
* :github:`16385` - watch dog timer causes the reboot on SAME70 board
* :github:`16330` - LPCXpresso55S69 secure/non-secure configuration
* :github:`16196` - display_mcux_elcdif driver full support frame buffer features
* :github:`16122` - Detect first block in LWM2M firmware updates.
* :github:`16096` - Sam gmac Ethernet driver should be able to detect the carrier state
* :github:`16072` - boards/up_squared: k_sleep() too long with local APIC timer
* :github:`15903` - Documentation missing for SPI and ADC async operations
* :github:`15680` - "backport v1.14 branch" label: update description and doc
* :github:`15565` - undefined references to ``sys_rand32_get``
* :github:`15504` -  Can I use one custom random static bd_addr before provision?
* :github:`15499` - gpio_intel_apl: gpio_pin_read() pin value doesn't match documentation
* :github:`15463` - soc/x86/apollo_lake/soc_gpio.h: leading zeros on decimal constants
* :github:`15449` - tests/net/ieee802154/crypto: Assertion Failure:  ds_test(dev) is false
* :github:`15343` - tests/kernel/interrupt: Assertion Failure in test_prevent_interruption
* :github:`15304` - merge gen_kobject_list.py and gen_priv_stacks.py
* :github:`15202` - tests/benchmarks/timing_info measurements are suddenly higher than previous values on nrf52_pca10040
* :github:`15181` - ztest issues
* :github:`15177` - samples/drivers/crypto:  CBC and CTR mode not supported
* :github:`14972` - samples: Create README.rst
* :github:`14790` - google_iot_mqtt sample does not work with qemu_x86 out of the box
* :github:`14763` - PCI debug logging cannot work with PCI-enabled NS16550
* :github:`14749` - Verify all samples work as intended
* :github:`14647` - IP: Zephyr replies to broadcast ethernet packets in other subnets on the same wire
* :github:`14591` - Infineon Tricore architecture support
* :github:`14540` - kernel: message queue MACRO not compatible with C++
* :github:`14302` - USB MSC fails USB3CV tests
* :github:`14173` - Configure QEMU to run independent of the host clock
* :github:`14122` - CONFIG_FLOAT/CONFIG_FP_SHARING descriptions are confusing and contradictory
* :github:`14099` - Minnowboard doesn't build tests/kernel/xip/
* :github:`13963` - up_squared: evaluate removal of SBL-related special configurations
* :github:`13821` - tests/kernel/sched/schedule_api: Assertion failed for test_slice_scheduling
* :github:`13783` - tests/kernel/mem_protect/stackprot failure in frdm_k64f due to limited privilege stack size
* :github:`13569` - ZTEST: Add optional float/double comparison support
* :github:`13468` - tests/drivers/watchdog/wdt_basic_api/testcase.yaml: Various version of "Waiting to restart MCU"
* :github:`13353` - z_timeout_remaining should subtract z_clock_elapsed
* :github:`12872` - Update uart api tests with configure/configure_get apis
* :github:`12775` - USB audio isochronous endpoints
* :github:`12553` - List of tests that keep failing sporadically
* :github:`12478` - tests/drivers/ipm/peripheral.mailbox failing sporadically on qemu_x86_64 (timeout)
* :github:`12440` - Device discovery of direct advertising devices is not working
* :github:`12385` - Support touch button
* :github:`12264` - kernel: poll: outdated check for expired timeout
* :github:`11998` - intermittent failures in tests/kernel/common: test_timeout_order: (poll_events[ii].state not equal to K_POLL_STATE_SEM_AVAILABLE)
* :github:`11928` - nRF UART nrfx drivers (nRF UARTE 0) won't build
* :github:`11916` - ISR table (_sw_isr_table) generation is fragile and can result in corrupted binaries
* :github:`11745` - logging: never leaves panic mode on fatal thread exception
* :github:`11261` - ARM Cortex-M4 (EFR32FG1P) MCU fails to wake up from sleep within _sys_soc_suspend()
* :github:`11149` - subsys/bluetooth/host/rfcomm.c: Missing unlock
* :github:`11016` - nRF52840-PCA10056/59: Cannot bring up HCI0 when using HCI_USB sample
* :github:`9994` - irq_is_enabled not available on nios2
* :github:`9962` - Migrate sensor drivers to device tree
* :github:`9953` - wrong behavior in pthread_barrier_wait()
* :github:`9741` - tests/kernel/spinlock:kernel.multiprocessing.spinlock_bounce crashing on ESP32
* :github:`9711` - RFC: Zephyr should provide a unique id interface
* :github:`9608` - Bluetooth: different transaction collision
* :github:`9566` - Unclear definition of CONFIG_IS_BOOTLOADER
* :github:`8139` - Driver for BMA400 accelerometer
* :github:`7868` - Support non-recursive single-toolchain multi-image builds
* :github:`7564` - dtc: define list of acceptable warnings (and silent them with --warning -no<warnign-name> option)
* :github:`6648` - Trusted Execution Framework: practical use-cases (high-level overview)
* :github:`6015` - PWM on 32bit arch can get 0 pulse_cycle because of 64bit calculation
* :github:`5857` - net: TCP retransmit queue implementation is broken
* :github:`5408` - Improve docs & samples on device tree overlay
* :github:`4985` - TEE support for ARMv8-M
* :github:`4911` - Filesystem support for qemu
* :github:`4832` - disco_l475_iot1: Provide 802.15.4 Sub-GHz
* :github:`4475` - Add support for Rigado BMD-3XX-EVAL boards
* :github:`4412` - Replace STM32 USB driver with DWC
* :github:`4326` - Port Zephyr to Cypress PSoC 6 MCU's
* :github:`3909` - Add Atmel SAM QDEC Driver
* :github:`3730` - ESP32: DAC Driver support
* :github:`3729` - ESP32 ADC Driver Support
* :github:`3727` - ESP32: SPI Driver Support
* :github:`3726` - ESP32: DMA Driver Support
* :github:`3694` - i2c: Drivers are not thread safe
* :github:`3668` - timeslice reset is not tested for interrupt-induced swaps
* :github:`3564` - Requires more UART samples for STM32 Nucleo/similar boards
* :github:`3285` - Allow taking advantage of HW-based AES block cipher
* :github:`3232` - Add ksdk dma shim driver
* :github:`3076` - Add support for DAC (Digital to Analog Converter) drivers
* :github:`2585` - Support for LE legacy out-of-band pairing
* :github:`2566` - Create a tool for finding out stack sizes automatically.
* :github:`1900` - Framework for Trusted Execution Environment
* :github:`1894` - Secure Key Storage
* :github:`1333` - Provide build number in include/generated/version.h
