:orphan:

.. _zephyr_2.5:

Zephyr 2.5.0
#############

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

Major enhancements with this release include:

* Introduced support for the SPARC processor architecture and the LEON
  processor implementation.
* Added Thread Local Storage (TLS) support
* Added support for per thread runtime statistics
* Added support for building with LLVM on X86
* Added new synchronization mechanisms using Condition Variables
* Add support for demand paging, initial support on X86.

The following sections provide detailed lists of changes by component.

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

The following CVEs are addressed by this release:

* CVE-2021-3323: Under embargo until 2021-04-14
* CVE-2021-3321: Under embargo until 2021-04-14
* CVE-2021-3320: Under embargo until 2021-04-14

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

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

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

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

* Removed SETTINGS_USE_BASE64 support as its been deprecated for more than
  two releases.

* The :c:func:`lwm2m_rd_client_start` function now accepts an additional
  ``flags`` parameter, which allows to configure current LwM2M client session,
  for instance enable bootstrap procedure in the curent session.

* LwM2M execute now supports arguments. The execute callback
  :c:type:`lwm2m_engine_execute_cb_t` is extended with an ``args`` parameter
  which points to the CoAP payload that comprises the arguments, and an
  ``args_len`` parameter to indicate the length of the ``args`` data.

* Changed vcnl4040 dts binding default for property 'proximity-trigger'.
  Changed the default to match the HW POR state for this property.

* The :c:func:`clock_control_async_on` function will now take ``callback`` and
  ``user_data`` as arguments instead of structure which contained list node,
  callback and user data.

* The :c:func:`mqtt_keepalive_time_left` function now returns -1 if keep alive
  messages are disabled by setting ``CONFIG_MQTT_KEEPALIVE`` to 0.

* The ``CONFIG_LEGACY_TIMEOUT_API`` mode has been removed.  All kernel
  timeout usage must use the new-style k_timeout_t type and not the
  legacy/deprecated millisecond counts.

* The :c:func:`coap_pending_init` function now accepts an additional ``retries``
  parameter, allowing to specify the maximum retransmission count of the
  confirmable message.

* The ``CONFIG_BT_CTLR_CODED_PHY`` is now disabled by default for builds
  combining both Bluetooth host and controller.

* The :c:func:`coap_packet_append_payload` function will now take a pointer to a
  constant buffer as the ``payload`` argument instead of a pointer to a writable
  buffer.

* The :c:func:`coap_packet_init` function will now take a pointer to a constant
  buffer as the ``token`` argument instead of a pointer to a writable buffer.

* A new :ref:`regulator_api` API has been added to support controlling power
  sources.  Regulators can also be associated with devicetree nodes, allowing
  drivers to ensure the device they access has been powered up.  For simple
  GPIO-only regulators a devicetree property ``supply-gpios`` is defined as a
  standard way to identify the control signal in nodes that support power
  control.

* :c:type:`fs_tile_t` objects must now be initialized by calling
  :c:func:`fs_file_t_init` before their first use.

* :c:type:`fs_dir_t` objects must now be initialized by calling
  :c:func:`fs_dir_t_init` before their first use.

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

* Nordic nRF5340 PDK board deprecated and planned to be removed in 2.6.0.
* ARM Musca-A board and SoC support deprecated and planned to be removed in 2.6.0.

* DEVICE_INIT was deprecated in favor of utilizing DEVICE_DEFINE directly.

* DEVICE_AND_API_INIT was deprecated in favor of DEVICE_DT_INST_DEFINE and
  DEVICE_DEFINE.

* Bluetooth

  * Deprecated the :c:func:`bt_set_id_addr` function, use :c:func:`bt_id_create`
    before calling :c:func:`bt_enable` instead. When ``CONFIG_PRIVACY`` is
    enabled a valid IRK has to be supplied by the application for this case.

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

* Bluetooth

  * The deprecated BT_LE_SCAN_FILTER_DUPLICATE define has been removed,
    use BT_LE_SCAN_OPT_FILTER_DUPLICATE instead.
  * The deprecated BT_LE_SCAN_FILTER_WHITELIST define has been removed,
    use BT_LE_SCAN_OPT_FILTER_WHITELIST instead.
  * The deprecated bt_le_scan_param::filter_dup argument has been removed,
    use bt_le_scan_param::options instead.
  * The deprecated bt_conn_create_le() function has been removed,
    use bt_conn_le_create() instead.
  * The deprecated bt_conn_create_auto_le() function has been removed,
    use bt_conn_le_create_auto() instead.
  * The deprecated bt_conn_create_slave_le() function has been removed,
    use bt_le_adv_start() instead with bt_le_adv_param::peer set to the remote
    peers address.
  * The deprecated BT_LE_ADV_* macros have been removed,
    use the BT_GAP_ADV_* enums instead.
  * The deprecated bt_conn_security function has been removed,
    use bt_conn_set_security instead.
  * The deprecated BT_SECURITY_* defines NONE, LOW, MEDIUM, HIGH, FIPS have been
    removed, use the L0, L1, L2, L3, L4 defines instead.
  * The deprecated BT_HCI_ERR_AUTHENTICATION_FAIL define has been removed,
    use BT_HCI_ERR_AUTH_FAIL instead.

* Kernel

  * The deprecated k_mem_pool API has been removed entirely (for the
    past release it was backed by a k_heap, but maintained a
    compatible API).  Now all instantiated heaps must be
    sys_heap/k_heaps.  Note that the new-style heap is a general
    purpose allocator and does not make the same promises about block
    alignment/splitting.  Applications with such requirements should
    look at porting their logic, or perhaps at the k_mem_slab utility.

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

Kernel
******

* Added support for per thread runtime statistics
* Added new synchronization mechanisms using Condition Variables
* Thread Local Storage (TLS)

  * Introduced thread local storage support for the following architectures:

    * ARC
    * Arm Cortex-M
    * Arm Cortex-R
    * AArch64
    * RISC-V
    * Sparc
    * x86 and x86_64
    * Xtensa

  * This allows variables declared with ``__thread`` keyword to be allocated
    on a per-thread basis, and every thread has its own copy of these
    variables.
  * Enable via :kconfig:option:`CONFIG_THREAD_LOCAL_STORAGE`.
  * ``errno`` can be stored inside TLS if :kconfig:option:`CONFIG_ERRNO_IN_TLS`
    is enabled (together with :kconfig:option:`CONFIG_ERRNO`). This allow user
    threads to access the value of ``errno`` without making a system call.

* Memory Management

  * Added page frame management for physical memory to keep track of
    the status of each page frame.
  * Added :c:func:`k_mem_map` which allows applications to increase
    the data space available via anonymous memory mappings.
  * Added :c:func:`k_mem_free_get` which returns the amount of
    physical anonymous memory remaining.
  * Paging structure must now be pre-allocated so that there is no need
    to do memory allocations when mapping memory. Because of this,
    :c:func:`arch_mem_map` may no longer fail.

* Demand Paging

  * Introduced the framework for demand paging and infrastructure for
    custom eviction algorithms and implementation of backing stores.
  * Currently the whole kernel is pinned and remaining physical memory
    can be used for paging.

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

* ARC

  * Fixed execution on ARC HS with one interrupt bank and fast interrupts (FIRQ)
    enabled
  * Hardened SMP support
  * Improved mdb west runner to support simulation on SMP nSIM-based
    configurations
  * Improved mdb west runner to support nSIM-based configurations execution
    on real HW (FPGA-based)
  * Added documentation page with Zephyr support status on ARC processor
  * Added coverage support for nSIM-based configurations
  * Switched to upstream OpenOCD for ARC
  * Various minor fixes/improvements for ARC MWDT toolchain infrastructure

* ARM

  * AARCH32

    * Introduced the functionality for chain-loadable Zephyr
      firmware images to force the initialization of internal
      architecture state during early system boot (Cortex-M).
    * Changed the default Floating Point Services mode to
      Shared FP registers mode.
    * Enhanced Cortex-M Shared FP register mode by implementing
      dynamic lazy FP register stacking in threads.
    * Added preliminary support for Cortex-R7 variant.
    * Fixed inline assembly code in Cortex-M system calls.
    * Enhanced and fixed Cortex-M TCS support.
    * Enabled interrupts before switching to main in single-thread
      Cortex-M builds (CONFIG_MULTITHREADING=n).
    * Fixed vector table relocation in non-XIP Cortex-M builds.
    * Fixed exception exit routine for fatal error exceptions in
      Cortex-R.
    * Fixed interrupt nesting in ARMv7-R architecture.


  * AARCH64

    * Fixed registers printing on error and beautified crash dump output
    * Removed CONFIG_SWITCH_TO_EL1 symbol. By default the execution now drops
      to EL1 at boot
    * Deprecated booting from EL2
    * Improved assembly code and errors catching in EL3 and EL1 during the
      start routine
    * Enabled support for EL0 in the page tables
    * Fixed vector table alignment
    * Introduced support to boot Zephyr in NS mode
    * Fixed alignment fault in z_bss_zero
    * Added PSCI driver
    * Added ability to generate image header
    * Improved MMU code and driver

* RISC-V

  * Added support for PMP (Physical Memory Protection).
    Integrate PMP in Zephyr allow to support userspace (with shared
    memory) and stack guard features.

* SPARC

  * Added support for the SPARC architecture, compatible with the SPARC V8
    specification and the SPARC ABI.
  * FPU is supported in both shared and unshared FP register mode.

* x86

  * Enabled soft float support for Zephyr SDK
  * ``CONFIG_X86_MMU_PAGE_POOL_PAGES`` is removed as paging structure
    must now be pre-allocated.
  * Mapping of physical memory has changed:

    * This allows a smaller virtual address space thus requiring a smaller
      paging structure.
    * Only the kernel image is mapped when :kconfig:option:`CONFIG_ACPI` is not enabled.
    * When :kconfig:option:`CONFIG_ACPI` is enabled, the previous behavior to map
      all physical memory is retained as platforms with ACPI are usually not
      memory constrained and can accommodate bigger paging structure.

  * Page fault handler has been extended to support demand paging.

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

* Added support for these SoC series:

  * Cypress PSoC-63
  * Intel Elkhart Lake

* Made these changes in other SoC series:

* Changes for ARC boards:

  * Added icount support for ARC QEMU boards
  * Added MWDT compiler options for HSDK board
  * Added missing taps into JTAG chain for the dual-core configuration of the
    HSDK board

* Added support for these ARM boards:

  * Cypress CY8CKIT_062_BLE board

* Added support for these x86 boards:

  * Elkhart Lake CRB board
  * ACRN configuration on Elkhart Lake CRB board
  * Slim Bootloader configuration on Elkhart Lake CRB board

* Added support for these SPARC boards:

  * GR716-MINI LEON3FT microcontroller development board
  * Generic LEON3 board configuration for GRLIB FPGA reference designs
  * SPARC QEMU for emulating LEON3 processors and running kernel tests

* Added support for these NXP boards:

  * LPCXpresso55S28
  * MIMXRT1024-EVK

* Added support for these STM32 boards and SoCs :

  * Cortex-M Trace Reference Board V1.2 (SEGGER TRB STM32F407)
  * MikroE Clicker 2 for STM32
  * STM32F103RCT6 Mini
  * ST Nucleo F303K8
  * ST Nucleo F410RB
  * ST Nucleo H723ZG
  * ST Nucleo L011K4
  * ST Nucleo L031K6
  * ST Nucleo L433RC-P
  * ST STM32L562E-DK Discovery
  * STM32F105xx and STM32F103xG SoC variants
  * STM32G070xx SoC variants
  * STM32G474xB/C SoC variants
  * STM32L071xx SoC variants
  * STM32L151xC and STM32L152xC SoC variants

* Made these global changes in STM32 boards and SoC series:

  * Pin control configuration is now done through devicetree and existing
    macros to configure pins in pinmux.c files are tagged as deprecated.
    The new pin settings are provided thanks to .dtsi files distributed in
    hal_stm32 module.
  * Generic LL headers, also distributed in hal_stm32 module, are now available
    to abstract series references in drivers.
  * Hardware stack protection is now default on all boards with enabled MPU
    (SRAM > 64K ), excluding F0/G0/L0 series.
  * West flash STM32CubeProgrammer runner was added as a new option for STM32
    boards flashing (to be installed separately).

* Made these changes in other boards:

  * CY8CKIT_062_WIFI_BT_M0: was renamed to CY8CKIT_062_WIFI_BT.
  * CY8CKIT_062_WIFI_BT_M4: was moved into CY8CKIT_062_WIFI_BT.
  * CY8CKIT_062_WIFI_BT: Now M0+/M4 are at same common board.
  * nRF5340 DK: Selected TF-M as the default Secure Processing Element
    (SPE) when building Zephyr for the non-secure domain.
  * SAM4E_XPRO: Added support to SAM-BA ROM bootloader.
  * SAM4S_XPLAINED: Added support to SAM-BA ROM bootloader.
  * Extended LPCXpresso55S69 to support dual-core.
  * Enhanced MIMXRT1064-EVK to support QSPI flash storage and LittleFS.
  * Updated MIMXRT685-EVK to increase the core clock frequency.
  * Updated NXP i.MX RT, Kinetis, and LPC boards to enable hardware stack
    protection by default.
  * Fixed Segger RTT and SystemView support on NXP i.MX RT boards.
  * Demand paging is turned on by default for ``qemu_x86_tiny``.
  * Updated zefi.py to use cross-compiler while building Zephyr.
  * Enabled code coverage report for ``qemu_x86_64``.
  * Removed support for legacy APIC timer driver.
  * Added common memory linker for x86 SoCs.
  * Enabled configuration to reserve the first megabyte in x86 SoCs.

* Added support for these following shields:

  * Inventek es-WIFI shield
  * Sharp memory display generic shield

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

* ADC

  * Added support for ADC on STM32G0 Series.
  * Introduced the ``adc_sequence_options::user_data`` field.

* CAN

  * We reworked the configuration API.
    A user can now specify the timing manually (define prop segment,
    phase segment1, phase segment2, and prescaler) or use a newly introduced
    algorithm to calculate optimal timing values from a bitrate and sample point.
    The bitrate and sample point can be specified in the devicetree too.
    It is possible to change the timing values at runtime now.

  * We reworked the zcan_frame struct due to undefined behavior.
    The std_id (11-bit) and ext_id (29-bit) are merged to a single id
    field (29-bit). The union of both IDs was removed.

  * We made the CANbus API CAN-FD compatible.
    The zcan_frame data-field can have a size of >8 bytes now.
    A flag was introduced to mark a zcan_frame as CAN-FD frame.
    A flag was introduced that enables a bitrate switch in CAN-FD frames.
    The configuration API supports an additional timing parameter for the CAN-FD
    data-phase.

  * drivers are converted to use the new DEVICE_DT_* macros.

* Clock Control

  * Added NXP LPC driver.

* DAC

  * STM32: Enabled support for G0 and H7 series.
  * Added TI DACx3608 driver.

* DMA

  * kmalloc was removed from STM32 DMAMUX driver initialization.

* EEPROM

  * Marked the EEPROM API as stable.
  * Added support for AT24Cxx devices.

* Ethernet

  * Added support for Distributed Switch Architecture (DSA) devices.
    Currently only ip_k66f board supports DSA.
  * Added support for w5500 Ethernet controller.
  * Reworked the NXP MCUX driver to use DT_INST_FOREACH.

* Flash

  * CONFIG_NORDIC_QSPI_NOR_QE_BIT has been removed.  The
    quad-enable-requirements devicetree property should be used instead.
  * MPU_ALLOW_FLASH_WRITE is now default on STM32 boards when MPU is enabled.
  * Add driver for STM32H7 and STM32L1 SoC series.
  * Add QSPI NOR Flash controller support for STM32 family.
  * Added NXP LPC legacy flash driver.
  * Added NXP FlexSPI flash driver for i.MX RT SoCs.
  * Added support for nRF53 Series SoCs in the nRF QSPI NOR flash driver
    (nrf_qspi_nor).

* GPIO

  * Added Cypress PSoC-6 driver.
  * Added Atmel SAM4L driver.

* Hardware Info

  * Added Cypress PSoC-6 driver.

* I2C

  * Added driver support for lmx6x, it8xxx2, and npcx7 plaforms.
  * Added Atmel SAM4L TWIM driver.
  * Added I2C slave support in the microchip i2c driver.
  * Reversed 2.4 decision to downgrade I2C eeprom slave driver to a
    test.  It's a driver again.

* I2S

* IEEE 802.15.4

  * nRF:

    * Added IEEE 802.15.4 support for nRF5340.
    * Added support for failed rx notification.

  * cc13xx/cc26xx:

    * Added multi-protocol radio support.
    * Added sub-ghz support.
    * Added raw mode support.

* Interrupt Controller

  * Added Cypress PSoC-6 Cortex-M0+ interrupt multiplexer driver.

* memc

  * Added FMC/SDRAM memory controller for STM32 family

* Modem

  * Improved RX with HW flow control in modem interface API.
  * Improved reading from interface in command handler.
  * Fixed race condition when waiting on cmd reply.
  * Added support for Quectel bg95 modem.
  * Constified modem command structures to reduce RAM usage.

  * hl7800:

    * Fixed buffer handling issues.
    * Fixed setting DNS address.
    * Fixed file open in fw update.
    * Fixed cases where socket would not close.

  * sara-r4:

    * Added sanity timeout for @ prompt.
    * Fixed redundant wait after sendto.
    * Improved offload_sendmsg() support.
    * Added Kconfig to configure RSSI work.
    * Added direct CMD to catch @ when sending data.
    * Sanitize send_socket_data() semaphore handling.

  * bg96:

    * Fixed UDP packet management.

  * GSM:

    * Added start/stop API support so that application can turn off
      the GSM/PPP modem if needed to save power.
    * Avoid wrapping each byte in muxing headers in PPP.
    * Added support to remove PPP IPv4 ipcp address on network down.

* PECI

* Pinmux

  * STM32 pinmux driver has been reworked to allow pin configuration using
    devicetree definitions. The previous C macros are now deprecated.

* PWM

  * Added support for generating PWM signal based on RTC in the pwm_nrf5_sw
    driver.
  * Added optional API for capturing the PWM pulse width and period.
  * Added PWM capture driver for the NXP Kinetis Pulse Width Timer (PWT).
  * Removed the DesignWare and PCA9685 controller drivers.

* Sensor

  * Fixed current conversion to milliamps in the MAX17055 driver.
  * Added multi-instance support to the FXOS8700, IIS2DLPC, and IIS2ICLX
    drivers.
  * Added Invensense ICM42605 driver.
  * Added NXP MCUX ACMP driver.
  * Fixed gyro units in the FXAS21002 driver.
  * Fixed pressure and temperature registers in the DPS310 driver.
  * Added I2C support to the BMI160 driver.
  * Added IIS2ICLX driver.
  * Aligned ST sensor drivers to stmemsc HAL i/f v1.03.
  * Fixed temperature units in the IIS2MDC driver.
  * Added emulator for Bosch BMI160 accelerometer.
  * Added device power management support to the LIS2MDL driver.

* Serial

  * Added ASYNC API support on STM32 family.

* SPI

  * Enhanced NXP MCUX Flexcomm driver to support DMA.

* Timer

* USB

  * Reworked nrfx driver to use mem_slab for event elements and
    and static memory for OUT endpoints.
  * Fixed ZLP handling for nrfx driver.
  * Added support for USB Device mode on STM32F105xx parts.

* Video

* Watchdog

  * Added NXP i.MX RT driver.

* WiFi

  * eswifi:

    * Added uart bus interface. This enables all Inventek modules with
      IWIN AT Commands firmware.

  * esp:

    * Fixed thread-safety access on esp_socket operations.
    * Fixed scheduling each RX packet on separate work thread.
    * Fixed initializing socket work structures only once.
    * Reworked +IPD and +CIPRECVDATA handling.
    * Stopped locking scheduler when sending data.
    * Added DHCP/Static IP Support.
    * Added support using DNS servers.
    * Enhanced CWMODE support.
    * Added support for configuring hostname.
    * Added support for power-gpios to enable ESP module.
    * Added support 32-bit length in +IPD.
    * Added support for reconfiguring UART baudrate after initial communication.
    * Improved packet allocation failure handling by closing stream sockets.

Networking
**********

* CoAP:

  * Fixed discovery response formatting according to RFC6690.
  * Randomized initial ACK timeout.
  * Reworked pending retransmission logic.
  * Fixed long options encoding.

* DHCPv4:

  * Added start/bound/stop network management events for DHCPv4.
  * Fixed timeout scheduling with multiple network interfaces.
  * Fixed timeout on entry to bound state.
  * Fixed invalid timeout on send failure.
  * Fixed bounds checking in timeout.
  * Fixed endian issue.
  * Added randomization to message interval.
  * Limited message interval to a maximum of 64 seconds.

* DNS:

  * Added resolving literal IP addresses even when DNS is disabled.
  * Added support for DNS Service Discovery (dns-sd).
  * Fixed getaddrinfo() to respect socket type hints.

* HTTP:

  * Added chunked encoding body support to HTTP client API.

* IPv6:

  * Tweaked IPv6 DAD and RS timeout handling.
  * Fixed multiple endian issues.
  * Fixed unaligned access to IPv6 address.

* LwM2M:

  * Added dimension discovery support.
  * Implemented bootstrap discovery.
  * Fixed message find based on pending/reply.
  * Reworked bootstrap DELETE operation.
  * Added path generation macro.
  * Added a way to notify the application on network error.
  * Added a callback to notify socket errors to applications.
  * Send Registration Update on lifetime changes.
  * Fixed PULL FW update in case of URI parse errors.
  * Fixed separate response handling.
  * Start notify sequence numbers on 0.
  * Enhanced packing of TLV integers more efficiently.
  * Improved token generation.
  * Fixed the bootstrap to be optional.

* Misc:

  * Allow user to select pre-emptive or co-operative RX/TX threads.
  * Refactored RX and TX thread priorities.
  * Only start the network logging backend if the autostarting is enabled.
  * Added support for simultaneous UDP/TCP and raw sockets in applications.
  * Enabled solicit node multicast group registration for Bluetooth IPSP
    connections.
  * Added net_buf_remove API to manipulate data at the end of network buffers.
  * Added checks to syslog-net that ensure immediate logging mode is not set as
    the network logging is not compatible with it.
  * Implemented SO_RCVTIMEO socket receive timeout option.
  * Added support to update unique hostname on link address changes.
  * Added locking to IPv6, CAN and packet socket bind calls.
  * Added network management events monitor support.

* MQTT:

  * Reset client state before notifying application with MQTT_EVT_DISCONNECT event.

* OpenThread:

  * Added support for RCP (Radio Co-Processor) mode.
  * Made radio workqueue stack size configurable.
  * Added joining thread multicast addresses which are added to Zephyr.
  * Added SRP Kconfig options.
  * Enabled CSL and TREL config options.
  * Added option to enable software CSMA backoff.
  * Added support to configure platform info.
  * Added Kconfigs to change values in Zephyr.
  * Removed unused defines from platform configuration.

* Samples:

  * Added TagoIO IoT Cloud HTTP post sample.
  * Fixed the return code in MQTT Docker tests.
  * Added support to allow DHCPv4 or manually set addresses in zperf sample.
  * Use IPv4 instead of IPv6 in coap-server to support Docker based testing.
  * Added connection manager support to dumb_http_server_mt sample.
  * Added support for large file in dumb_http_server_mt sample.
  * Added support for running the gptp sample X seconds to support Docker based testing.
  * Added Docker based testing to http_client sample.
  * Refractored code structure and reduced RAM usage of civetweb sample.
  * Added suspend/resume shell commands to gsm_modem sample.
  * Added Docker based testing support to network logging sample.

* TCP:

  * The new TCP stack is enabled by default. Legacy TCP stack is deprecated but
    still available and scheduled for removal in next 2.6 release.
  * Added support to queue received out-of-order TCP data.
  * Added connection termination if the TCP handshake is not finalized.
  * Enhanced received TCP RST packet handling.
  * Fixed TCP connection from Windows 10.

* TLS:

  * Use Maximum Fragment Length (MFL) extension by default.
  * Added ALPN extension option to TLS.
  * Fixed TLS context leak on socket allocation failure.

Bluetooth
*********

* Host

  * When privacy has been enabled in order to advertise towards a
    privacy-enabled peer the BT_LE_ADV_OPT_DIR_ADDR_RPA option must now
    be set, same as when privacy has been disabled.

* Mesh

  * The ``bt_mesh_cfg_srv`` structure has been deprecated in favor of a
    standalone Heartbeat API and Kconfig entries for default state values.


* BLE split software Controller

* HCI Driver

USB
***

* USB synchronous transfer

  * Fixed possible deadlock in usb_transfer_sync().
  * Check added to prevent starting new transfer if an other transfer is
    already ongoing on same endpoint.

* USB DFU class

  * Made USB DFU class compatible with the target configuration that does not
    have a secondary image slot.
  * Support to use USB DFU within MCUBoot with single application slot mode.
  * Separate PID for DFU mode added to avoid problems caused by the host OS
    caching the remaining descriptors when switching to DFU mode.
  * Added timer for appDETACH state and revised descriptor handling to
    to meet specification requirements.

* USB HID class

  * Reworked transfer handling after suspend and resume events.

* Samples

  * Reworked disk and FS configuration in MSC sample. MSC sample can be
    built with none or one of two supported file systems, LittleFS or FATFS.
    Disk subsystem can be flash or RAM based.

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

* Improved support for additional toolchains:

* Devicetree

  * Support for legacy devicetree macros via
    ``CONFIG_LEGACY_DEVICETREE_MACROS`` was removed. All devicetree-based code
    should be using the new devicetree API introduced in Zephyr 2.3 and
    documented in :ref:`dt-from-c`. Information on flash partitions has moved
    to :ref:`flash_map_api`.
  * It is now possible to resolve at build time the device pointer associated
    with a device that is defined in devicetree, via ``DEVICE_DT_GET``.  See
    :ref:`dt-get-device`.
  * Enhanced support for enumerated property values via new macros:

    - :c:macro:`DT_ENUM_IDX_OR`
    - :c:macro:`DT_ENUM_TOKEN`
    - :c:macro:`DT_ENUM_UPPER_TOKEN`

  * New hardware specific macros:

    - :c:macro:`DT_GPIO_CTLR_BY_IDX`
    - :c:macro:`DT_GPIO_CTLR`
    - :c:macro:`DT_MTD_FROM_FIXED_PARTITION`

  * Miscellaneous new node-related macros:

    - :c:macro:`DT_GPARENT`
    - :c:macro:`DT_INVALID_NODE`
    - :c:macro:`DT_NODE_PATH`
    - :c:macro:`DT_SAME_NODE`

  * Property access macro changes:

    - :c:macro:`DT_PROP_BY_PHANDLE_IDX_OR`: new macro
    - :c:macro:`DT_PROP_HAS_IDX` now expands to a literal 0 or 1, not an
      expression that evaluates to 0 or 1

  * Dependencies between nodes are now exposed via new macros:

    - :c:macro:`DT_DEP_ORD`, :c:macro:`DT_INST_DEP_ORD`
    - :c:macro:`DT_REQUIRES_DEP_ORDS`, :c:macro:`DT_INST_REQUIRES_DEP_ORDS`
    - :c:macro:`DT_SUPPORTS_DEP_ORDS`, :c:macro:`DT_INST_SUPPORTS_DEP_ORDS`

* West

  * Improve bossac runner. It supports now native ROM bootloader for Atmel
    MCUs and extended SAM-BA bootloader like Arduino and Adafruit UF2. The
    devices supported depend on bossac version inside Zephyr SDK or in users
    path. The recommended Zephyr SDK version is 0.12.0 or newer.

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

* File systems

  * API

    * Added :c:func:`fs_file_t_init` function for initialization of
      :c:type:`fs_file_t` objects.

    * Added :c:func:`fs_dir_t_init` function for initialization of
      :c:type:`fs_dir_t` objects.

  * ``CONFIG_FS_LITTLEFS_FC_MEM_POOL`` has been deprecated and
    should be replaced by :kconfig:option:`CONFIG_FS_LITTLEFS_FC_HEAP_SIZE`.

* Management

  * MCUmgr

    * Added support for flash devices that have non-0xff erase value.
    * Added optional verification, enabled via
      :kconfig:option:`CONFIG_IMG_MGMT_REJECT_DIRECT_XIP_MISMATCHED_SLOT`, of an uploaded
      Direct-XIP binary, which will reject any binary that is not able to boot
      from base address of offered upload slot.

  * updatehub

    * Added support to Network Manager and interface overlays at UpdateHub
      sample. Ethernet is the default interface configuration and overlays
      can be used to change default configuration
    * Added WIFI overlay
    * Added MODEM overlay
    * Added IEEE 802.15.4 overlay [experimental]
    * Added BLE IPSP overlay as [experimental]
    * Added OpenThread overlay as [experimental].

* Settings

* Random

* POSIX subsystem

* Power management

  * Use a consistent naming convention using **pm_** namespace.
  * Overhaul power states. New states :c:enum:`pm_state` are more
    meaningful and ACPI alike.
  * Move residency information and supported power states to devicetree
    and remove related Kconfig options.
  * New power state changes notification API :c:struct:`pm_notifier`
  * Cleanup build options.

* LVGL

  * Library has been updated to minor release v7.6.1

* Storage

  * flash_map: Added API to get the value of an erased byte in the flash_area,
    see ``flash_area_erased_val()``.

* DFU

 * boot: Reworked using MCUBoot's bootutil_public library which allow to use
   API implementation already provided by MCUboot codebase and remove
   zephyr's own implementations.

* Crypto

  * mbedTLS updated to 2.16.9

HALs
****

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

MCUBoot
*******

* bootloader

  * Added hardening against hardware level fault injection and timing attacks,
    see ``CONFIG_BOOT_FIH_PROFILE_HIGH`` and similar kconfig options.
  * Introduced Abstract crypto primitives to simplify porting.
  * Added ram-load upgrade mode (not enabled for zephy-rtos yet).
  * Renamed single-image mode to single-slot mode,
    see ``CONFIG_SINGLE_APPLICATION_SLOT``.
  * Added patch for turning off cache for Cortex M7 before chain-loading.
  * Fixed boostrapping in swap-move mode.
  * Fixed issue causing that interrupted swap-move operation might brick device
    if the primary image was padded.
  * Fixed issue causing that HW stack protection catches the chain-loaded
    application during its early initialization.
  * Added reset of Cortex SPLIM registers before boot.
  * Fixesd build issue that occurs if CONF_FILE contains multiple file paths
    instead of single file path.
  * Added watchdog feed on nRF devices. See ``CONFIG_BOOT_WATCHDOG_FEED`` option.
  * Removed the flash_area_read_is_empty() port implementation function.
  * Initialize the ARM core configuration only when selected by the user,
    see ``CONFIG_MCUBOOT_CLEANUP_ARM_CORE``.
  * Allow the final data chunk in the image to be unaligned in
    the serial-recovery protocol.
  * Kconfig: allow xip-revert only for xip-mode.
  * ext: tinycrypt: update ctr mode to stream.
  * Use minimal CBPRINTF implementation.
  * Configure logging to LOG_MINIMAL by default.
  * boot: cleanup NXP MPU configuration before boot.
  * Fix nokogiri<=1.11.0.rc4 vulnerability.
  * bootutil_public library was extracted as code which is common API for
    MCUboot and the DFU application, see ``CONFIG_MCUBOOT_BOOTUTIL_LIB``

* imgtool

  * Print image digest during verify.
  * Add possibility to set confirm flag for hex files as well.
  * Usage of --confirm implies --pad.
  * Fixed 'custom_tlvs' argument handling.
  * Add support for setting fixed ROM address into image header.
  * Fixed verification with protected TLVs.


Trusted-Firmware-M
******************

* Synchronized Trusted-Firmware-M module to the upstream v1.2.0 release.

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

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

  * A sample was added to demonstrate how to use the ADC driver API.
  * Sanitycheck script was renamed to twister

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

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

* :github:`32221` - Sporadic kernel panics on stm32g4 flash erase/writes
* :github:`32203` - Cannot set static address when using hci_usb or hci_uart on nRF5340 attached to Linux Host
* :github:`32181` - samples: tests: Tests from samples/boards/nrf/nrfx fail
* :github:`32179` - samples: tests: Tests from samples/subsys/usb/audio fail
* :github:`32112` - intel_adsp_cavs15: a part of testcases run failed with same error
* :github:`31819` - intel_adsp_cavs15: signing not correct thus download firmware failed
* :github:`31675` - [Coverity CID :216790] Division or modulo by zero in tests/drivers/can/timing/src/main.c
* :github:`31607` - Bluetooth: host: bt_conn_auth_cb callbacks are not called when pairing to BLE 4.1 central in BT_SECURITY_L4 mode.
* :github:`28685` - Bluetooth: Characteristic unsubscribe under indication load results in ATT timeout
* :github:`26495` - Make k_poll work with KERNEL_COHERENCE
* :github:`21033` - Read out heap space used and unallocated
* :github:`19655` - Milestones toward generalized representation of timeouts
* :github:`12028` - Enable 16550 UART driver on x86_64
* :github:`32206` - CMSIS-DSP support seems broken on link
* :github:`32194` - Source files missing specification of SPDX-License-Identifier in comments
* :github:`32167` - Bluetooth: controller: conformance testcase failures
* :github:`32153` - Use of deprecated macro's in dma_iproc_pax_v1, and dma_iproc_pax_v2
* :github:`32152` - DEVICE_AND_API_INIT and DEVICE_INIT deprecation marking is not working
* :github:`32151` - Use of deprecated macro's in icm42605
* :github:`32143` - AArch64 idle loop corrupts IRQ state with CONFIG_TRACING
* :github:`32142` - dtc: Unrecognized check name "unique_unit_address_if_enabled"
* :github:`32136` - z_unpend1_no_timeout non-atomic
* :github:`32095` - guiconfig search fails
* :github:`32078` - build error with llvm: samples/subsys/fs/littlefs
* :github:`32070` - How to manage power consumption when working with peripheral_hr sample on NRF52832
* :github:`32067` - Bluetooth: Mesh: Devkey and addr not stored correctly
* :github:`32064` - Minimal libc malloc() is unprotected
* :github:`32059` - Getting Started - Windows - Toolchain not found
* :github:`32048` - doc: power management: Remove references to previous PM states terminology
* :github:`32046` - LMP90xxx ADC driver fails to initialise more than one instance
* :github:`32045` - boards: Inaccurate values for ram/flash in nrf5340dk_nrf5340_cpuapp.yaml
* :github:`32040` - BT_AUDIO_UNICAST selection rejected in nightly tests
* :github:`32033` - Bluetooth mesh : LPN doesn't receive messages from Friend
* :github:`32030` - dma: stm32: remove dump stream info in irq
* :github:`32015` - Thread local storage is broken when adding more thread variables
* :github:`32014` - Is there a sample that uses SAADC (analog to digital converter)?
* :github:`32007` - Wrong clock value at USART1 in STM32F2 dtsi file
* :github:`32005` - stm32: async uart tests fail
* :github:`32002` - Cannot build encrypted images on Zephyr
* :github:`31996` - tests/bluetooth/init/bluetooth.init.test_ctlr_peripheral_iso fails to build on a few platforms
* :github:`31994` - drivers: flash: stm32h7: fix int/long int warnings
* :github:`31989` - nrfx_uarte serial driver does not go to low power mode after setting off state
* :github:`31976` - dma: loop_transfer issue on nucleo_wb55rg
* :github:`31973` - Stm32 uart async driver changes offset after callback
* :github:`31952` - Linking fails with latest master on ARM64 platform
* :github:`31948` - tests: drivers: spi: spi_loopback: became skipped whereas it used to be run
* :github:`31947` - Cleanup devicetree warnings generated by dtc
* :github:`31946` - arm,arm-timer dts compatible should be arm,armv8-timer
* :github:`31944` - flashing not working with openocd runner
* :github:`31938` - Invalid SPDX license identifier used in file
* :github:`31937` - sample.bluetooth.peripheral_hr_rv32m1_vega_ri5cy does not build
* :github:`31930` - uart_nrfx_uarte: ``CONFIG_UART_ASYNC_API`` with ``CONFIG_PM_DEVICE`` breaks
* :github:`31928` - usb loopback not work on nrf52840
* :github:`31924` - IVSHMEM with ACRN not working
* :github:`31921` - west flash not working with pyocd
* :github:`31920` - BME280: Use of deprecated ``CONFIG_DEVICE_POWER_MANAGEMENT``
* :github:`31911` - Bluetooth: Mesh: Network buffer overflow on too long proxy messages
* :github:`31907` - settings: Unhandled error in NVS backend
* :github:`31905` - Question : Friend & Low power node with nRF52840
* :github:`31876` - west signing seems to be broken on windows
* :github:`31867` - samples/scheduler/metairq_dispatc failed on iotdk boards
* :github:`31858` - xtensa crt1.S hard coding
* :github:`31853` - Devicetree API - Getting GPIO details from pin
* :github:`31847` - BT ISO channel. error value set, but not returned.
* :github:`31836` - Correct values of _msg_len arg in BT_MESH_MODEL_PUB_DEFINE macro
* :github:`31835` - Type conflict (uint32_t) vs. (uint32_t:7) leads to overflow (276 vs. 20)
* :github:`31822` - tests: drivers: timer: Test drivers.timer.nrf_rtc_timer.stress fails on nrf52 platforms
* :github:`31817` - mec15xxevb_assy6853: tests/boards/mec15xxevb_assy6853/i2c_api/ failed
* :github:`31807` - USB DFU Broken for STM32L4
* :github:`31800` - west build; west build --board=qemu_x86   fails with "unknown BOARD"
* :github:`31797` - need 2.5 release notes on switch to k_heap from mem_pool
* :github:`31791` - samples: hello-world: extra slash in path
* :github:`31789` - samples/scheduler/metairq_dispatch: Regression after 30916 (sched: timeout: Do not miss slice timeouts)
* :github:`31782` - adc: test and sample failed on STM32
* :github:`31778` - Calling k_sem_give causes MPU Fault on nRF52833
* :github:`31769` - Twister:  AttributeError: 'NoneType' object has no attribute 'serial_pty'
* :github:`31767` - twister: rename variable p
* :github:`31749` - fs: fs_opendir can corrupt fs_dir_t object given via zdp parameter
* :github:`31741` - tests:subsys_canbus_isotp: mimxrt1060 meet recv timeout
* :github:`31735` - intel_adsp_cavs15: use twister to run kernel testcases has no output
* :github:`31733` - Unable to build socket can with frdm_k64f
* :github:`31729` - test: build fatal related testcase failed on qemu_cortex_m0 and run failed on qemu_nios2
* :github:`31727` - system_off fails to go into soft_off (deep sleep) state on cc1352r1_launchxl
* :github:`31726` - RISC-V MIV SoC clock rate is specified 100x too slow
* :github:`31721` - tests: nrf: posix: portability.posix.common.tls.newlib fails on nrf9160dk_nrf9160
* :github:`31704` - tests/bluetooth/init/bluetooth.init.test_ctlr_tiny Fails to build on nrf52dk_nrf52832
* :github:`31696` - UP² Celeron version (not the Atom one) has no console
* :github:`31693` - Bluetooth: controller: Compilation error when Encryption support is disabled
* :github:`31684` - intel_adsp_cavs15: Cannot download firmware of kernel testcases
* :github:`31681` - [Coverity CID :216796] Uninitialized scalar variable in tests/subsys/power/power_mgmt/src/main.c
* :github:`31680` - [Coverity CID :216795] Unchecked return value in tests/kernel/msgq/msgq_api/src/test_msgq_contexts.c
* :github:`31679` - [Coverity CID :216794] Pointless string comparison in tests/lib/devicetree/api/src/main.c
* :github:`31678` - [Coverity CID :216793] Division or modulo by zero in tests/ztest/error_hook/src/main.c
* :github:`31677` - [Coverity CID :216792] Out-of-bounds access in tests/net/lib/dns_addremove/src/main.c
* :github:`31676` - [Coverity CID :216791] Side effect in assertion in tests/lib/p4workq/src/main.c
* :github:`31674` - [Coverity CID :216788] Explicit null dereferenced in tests/ztest/error_hook/src/main.c
* :github:`31673` - [Coverity CID :216787] Wrong sizeof argument in tests/kernel/mem_heap/mheap_api_concept/src/test_mheap_api.c
* :github:`31672` - [Coverity CID :216786] Side effect in assertion in tests/kernel/threads/thread_apis/src/test_threads_cancel_abort.c
* :github:`31671` - [Coverity CID :216785] Side effect in assertion in tests/lib/p4workq/src/main.c
* :github:`31670` - [Coverity CID :216783] Side effect in assertion in tests/lib/p4workq/src/main.c
* :github:`31669` - [Coverity CID :215715] Unchecked return value in tests/subsys/fs/littlefs/src/testfs_mount_flags.c
* :github:`31668` - [Coverity CID :215714] Unchecked return value in tests/subsys/fs/fs_api/src/test_fs_mount_flags.c
* :github:`31667` - [Coverity CID :215395] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31666` - [Coverity CID :215394] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31665` - [Coverity CID :215393] Argument cannot be negative in tests/net/lib/dns_sd/src/main.c
* :github:`31664` - [Coverity CID :215390] Argument cannot be negative in tests/net/lib/dns_sd/src/main.c
* :github:`31663` - [Coverity CID :215389] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31662` - [Coverity CID :215388] Argument cannot be negative in tests/net/lib/dns_sd/src/main.c
* :github:`31661` - [Coverity CID :215387] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31660` - [Coverity CID :215385] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31659` - [Coverity CID :215384] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31658` - [Coverity CID :215383] Argument cannot be negative in tests/net/lib/dns_sd/src/main.c
* :github:`31657` - [Coverity CID :215382] Operands don't affect result in tests/net/lib/dns_sd/src/main.c
* :github:`31656` - [Coverity CID :215380] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31655` - [Coverity CID :215378] Argument cannot be negative in tests/net/lib/dns_sd/src/main.c
* :github:`31654` - [Coverity CID :215377] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31653` - [Coverity CID :215375] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31652` - [Coverity CID :215374] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31651` - [Coverity CID :215371] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31650` - [Coverity CID :215370] Argument cannot be negative in tests/net/lib/dns_sd/src/main.c
* :github:`31649` - [Coverity CID :215369] Out-of-bounds access in tests/net/lib/dns_sd/src/main.c
* :github:`31648` - [Coverity CID :216800] Operands don't affect result in lib/os/heap.c
* :github:`31647` - [Coverity CID :216789] Wrong sizeof argument in include/kernel.h
* :github:`31646` - [Coverity CID :215712] Assignment of overlapping memory in lib/os/cbprintf_complete.c
* :github:`31645` - [Coverity CID :215711] Wrong sizeof argument in include/kernel.h
* :github:`31644` - [Coverity CID :216798] Unused value in subsys/net/lib/sockets/socketpair.c
* :github:`31643` - [Coverity CID :215372] Logically dead code in subsys/net/lib/sockets/sockets_tls.c
* :github:`31642` - [Coverity CID :216784] Uninitialized scalar variable in drivers/can/can_common.c
* :github:`31640` - mcuboot build is broken
* :github:`31631` - x86: ehl_crb_sbl: Booting fails with Slim Bootloader
* :github:`31630` - Incorrect configuration override option for west flash
* :github:`31629` - mcumgr-cli image upload is failing on shell channel after MCUBOOT_BOOTUTIL library was introduced
* :github:`31627` - tests/subsys/power/power_mgmt/subsys.power.device_pm  fails to build on nrf5340dk_nrf5340_cpunet &  nrf5340pdk_nrf5340_cpunet
* :github:`31616` - test: ipc: Test from samples/subsys/ipc/rpmsg_service fails on nrf5340dk_nrf5340_cpuapp
* :github:`31614` - drivers: clock_control: Kconfig.stm32xxx PLL div range for each serie
* :github:`31613` - Undefined reference errors when using External Library with k_msgq_* calls
* :github:`31609` - CoAP discovery response does not follow CoRE link format specification
* :github:`31599` - 64 bit race on timer counter in cavs_timer
* :github:`31584` - Twister: json reports generation takes too much time
* :github:`31582` - STM32F746ZG: No pwm signal output when running /tests/drivers/pwm/pwm_api
* :github:`31579` - sam_e70_xplained: running tests/subsys/logging/log_core failed
* :github:`31573` - Wrong log settings in can_stm32 driver
* :github:`31569` - lora: sx126x: interrupt pin permanently enabled
* :github:`31567` - lora: SX126x  modems consume excess power until used for first time
* :github:`31566` - up_squared: Couldn't get testcase log from console for all testcases.
* :github:`31562` - unexpected sign-extension in Kconfig linker symbols on 64-bit platforms
* :github:`31560` - Fix incorrect usage of default in dts bindings
* :github:`31555` - tests:drivers_can_api: mimxrt1060 can api test meet assert failure
* :github:`31551` - lorawan: setting datarate does not allow sending larger packets
* :github:`31549` - tests/kernel/lifo/lifo_usage/kernel.lifo.usage fails on m2gl025_miv
* :github:`31546` - DTS device dependency is shifting memory addresses between builds
* :github:`31543` - Documentation: Spelling
* :github:`31531` - STM32 can driver don't set prescaler
* :github:`31528` - introduction of demand paging support causing qemu failures on x86_64, qemu_x86_64_nokpti
* :github:`31524` - littlefs: Too small heap for file cache.
* :github:`31517` - UP² broken (git bisect findings inside)
* :github:`31511` - AArch32 exception exit routine behaves incorrectly on fatal exceptions
* :github:`31510` - Some drivers return invalid z_timer_cycle_get_32() value
* :github:`31508` - up_squared:  tests/kernel/sched/deadline/ failed.
* :github:`31505` - qemu_cortex_m0: Cmake build failure
* :github:`31504` - qemu_cortex_m0: Cmake build failure
* :github:`31502` - it8xxx2_evb should not define TICKLESS_CAPABLE
* :github:`31488` - build failure w/twister and SDK 0.12.1 related to
* :github:`31486` - make htmldocs-fast not working in development workspace
* :github:`31485` - west flash --runner=jlink  should raise error when CONFIG_BUILD_OUTPUT_BIN=n
* :github:`31472` - tests: kernel: poll: timeout with FPU enabled
* :github:`31467` - samples: bluetooth: peripheral_hids: Pairing fails on the nucleo_wb55rg board.
* :github:`31444` - Error in include/net/socket_select.h
* :github:`31439` - nrf5340dk_nrf5340_cpunet configuring incomplete
* :github:`31436` - compliance script broken
* :github:`31433` - samples/bluetooth/hci_pwr_ctrl stack overflow on nRF52DK_nRF52832
* :github:`31419` - tests/ztest/error_hook failed on ARC boards
* :github:`31414` - samples/net/mqtt_publisher link error: undefined reference to ``z_impl_sys_rand32_get``
* :github:`31400` - Extending ``zephyr,code-partition`` with ``zephyr,code-header-size``
* :github:`31386` - sam_e70b_xplained: running tests/drivers/watchdog/wdt_basic_api/ timeout for v1.14-branch
* :github:`31385` - ARC version of sys_read32 only reads uint16_t on Zephyr v2.4
* :github:`31379` - Update CAN-API Documentation
* :github:`31370` - Question about serial communication using virtual COM
* :github:`31362` - kconfiglib.py _save_old() may rename /dev/null -- replacing /dev/null with a file
* :github:`31358` -  ``west build`` might destroy your repository, as it is defaulting doing pristine.
* :github:`31344` - iotdk: running tests/ztest/error_hook/ failed
* :github:`31343` -  sam_e70_xplained: running tests/net/socket/af_packet/ failed
* :github:`31342` - sam_e70_xplained: running tests/net/ptp/clock/ failed
* :github:`31340` - sam_e70_xplained: running tests/subsys/logging/log_core/ failed
* :github:`31339` - nsim_em: running tests/ztest/error_hook/ failed
* :github:`31338` - mimxrt1050_evk: running tests/kernel/fpu_sharing/float_disable/ failed
* :github:`31333` - adding a periodic k_timer causes k_msleep to never return in tests/kernel/context
* :github:`31330` - Getting started guide outdated: Step 4 - Install a toolchain
* :github:`31327` - ci compliance failures due to intel_adsp_cavs25 sample
* :github:`31316` - Issue in UDP management for BG96
* :github:`31308` - Cannot set static address when using hci_usb or hci_uart on nRF5340 attached to Linux Host
* :github:`31301` - intel_adsp_cavs15: run kernel testcases failed.
* :github:`31289` - Problems building grub2 bootloader for Zephyr
* :github:`31285` - LOG resulting in incorrect output
* :github:`31282` - Kernel: Poll: Code Suspected Logic Problem
* :github:`31272` - CANOpen Sample compilation fails
* :github:`31262` - tests/kernel/threads/tls/kernel.threads.tls.userspace failing
* :github:`31259` - uart.h: Clarification required on uart_irq_tx_ready uart_irq_rx_ready
* :github:`31258` - watch dog (WWDT) timeout calculation for STM32 handles biggest timeout and rollover wrong
* :github:`31235` - Cortex-M: vector table relocation is incorrect with XIP=n
* :github:`31234` - twister: Add choice for tests sorting into subsets
* :github:`31226` - tests/drivers/dma/loop_transfer does not use ztest
* :github:`31219` - newlib printk float formatting not working
* :github:`31207` - Non-existent event in asynchronous UART API
* :github:`31206` - coap.c : encoding of options with lengths larger than 268 is not proper
* :github:`31203` - fatal error: setjmp.h: No such file or directory
* :github:`31194` - twister: using unsupported fixture without defined harness causes an infinite loop during on-target test execution
* :github:`31168` - Wrong linker option syntax for printf and scanf with float support
* :github:`31158` - Ethernet (ENC424J600) with dumb_http_server_mt demo does not work
* :github:`31153` - twister build of samples/audio/sof/sample.audio.sof fails on most platforms
* :github:`31145` - Litex-vexriscv address misaligned with dumb_http_server example
* :github:`31143` - samples: audio: sof: compilation issue, include file not found.
* :github:`31137` - Seems like the rule ".99 tag to signify major work started, minor+1 started " not used anymore ?
* :github:`31134` - LittleFS: Error Resizing the External QSPI NOR Flash in nRF52840dk
* :github:`31114` - Bluetooth: Which coding (S2 vs S8) is used during advertising on Coded PHY?
* :github:`31100` - Recvfrom not returning -1 if UDP and len is too small for packet.
* :github:`31091` - usb: usb_transfer_sync deadlocks on disconnect/cancel transfer
* :github:`31086` - bluetooth: Resume peripheral's advertising after disconnection when using new bt_le_ext_adv_* API
* :github:`31085` - networking / openthread: ipv6 mesh-local all-nodes multicast (ff03::1) packets are dropped by zephyr ipv6 stack
* :github:`31079` - Receiving extended scans on an Adafruit nRF 52840
* :github:`31071` - board: arm: SiliconLabs: add support to development kit efm32pg_stk3401a
* :github:`31069` - net: buf: remove data from end of buffer
* :github:`31067` - usb: cdc_acm: compilation error without UART
* :github:`31055` - nordic: west flash no longer supports changing ``CONFIG_GPIO_PINRESET`` when flashing
* :github:`31053` - LwM2M FOTA pull not working with modem (offloaded socket) driver using UART
* :github:`31044` - sample.bluetooth.peripheral_hr build fails on rv32m1_vega_ri5cy
* :github:`31110` - How can I overwrite west build in command?
* :github:`31028` - Cannot READ_BIT(RCC->CR, RCC_CR_PLL1RDY) on STM32H743 based board
* :github:`31027` - Google tests run twice
* :github:`31020` - CI build failed on intel_adsp_cavs18 when submitted a PR
* :github:`31019` - Bluetooth: Mesh: Thread competition leads to failure to open or close the scanning.
* :github:`31018` - up_squared: tests/kernel/pipe/pipe_api failed.
* :github:`31014` - Incorrect timing calculation in can_mcux_flexcan
* :github:`31008` - error: initializer element is not constant .attr = K_MEM_PARTITION_P_RX_U_RX
* :github:`30999` - updatehub with openthread build update pkg failed
* :github:`30997` - samples: net: sockets: echo_client: posix tls example
* :github:`30989` - driver : STM32 Ethernet : Pin definition for PH6
* :github:`30979` - up_squared_adsp: Twister can not capture testcases log correctly
* :github:`30972` - USB: SET_ADDRESS logic error
* :github:`30964` - Sleep calls are off on qemu_x86
* :github:`30961` - esp32 broken by devicetree device updates
* :github:`30955` - Bluetooth: userchan: k_sem_take failed with err -11
* :github:`30938` - samples/net/dhcpv4_client does not work with sam_e70_xplained
* :github:`30935` - tests: net: sockets: tcp: add a tls tests
* :github:`30921` - west flash failed with an open ocd error
* :github:`30918` - up_squared:  tests/kernel/mem_protect/mem_protect failed.
* :github:`30893` - Remove LEGACY_TIMEOUT_API
* :github:`30872` - Convert Intel GNA driver to devicetree
* :github:`30871` - "warning: compound assignment with 'volatile'-qualified left operand is deprecated" when building with C++20
* :github:`30870` - Convert Intel DMIC to devicetree
* :github:`30869` - Convert designware PWM driver to devicetree
* :github:`30862` - Nordic system timer driver incompatible with LEGACY_TIMEOUT_API
* :github:`30860` - legacy timeout ticks mishandled
* :github:`30857` - SDRAM not working on STM32H747I-DISCO
* :github:`30850` - iotdk: couldn't flash image into iotdk board using west flash.
* :github:`30846` - devicetree: unspecified phandle-array elements cause errors
* :github:`30822` - designator order for field 'zcan_filter::rtr' does not match declaration order in 'const zcan_filter'
* :github:`30819` - twister: --generate-hardware-map crashes and deletes map
* :github:`30810` - tests: kernel: kernel.threads.armv8m_mpu_stack_guard fails on nrf9160dk
* :github:`30809` - new testcase is failing after 3f134877 on mec1501modular_assy6885
* :github:`30808` - Blueooth: Controller Response COMMAND DISALLOWED
* :github:`30805` - Build error at tests/kernel/queue in mec15xxevb_assy6853(qemu) platform
* :github:`30800` - STM32 usb clock from PLLSAI1
* :github:`30792` - Cannot build network echo_server for nucleo_f767zi
* :github:`30752` - ARC: passed tests marked as failed when running sanitycheck on nsim_* platforms
* :github:`30750` - Convert i2s_cavs to devicetree
* :github:`30736` - Deadlock with usb_transfer_sync()
* :github:`30730` - tests: nrf: Tests in tests/drivers/timer/nrf_rtc_timer are flaky
* :github:`30723` - libc: malloc() returns unaligned pointer, causes CPU exception
* :github:`30713` - doc: "Variable ZEPHYR_TOOLCHAIN_VARIANT is not defined"
* :github:`30712` - "make zephyr_generated_headers" regressed again - ";" separator for Z_CFLAGS instead of spaces
* :github:`30705` - STM32 PWM driver generates signal with wrong frequency on STM32G4
* :github:`30702` - Shell module broken on LiteX/VexRiscv after release zephyr-v2.1.0
* :github:`30698` - OpenThread Kconfigs should more closely follow Zephyr Kconfig recommendations
* :github:`30688` - Using openthread based  lwm2m_client cannot ping the external network address unless reset once
* :github:`30686` - getaddrinfo() does not respect socket type
* :github:`30685` - reel_board: tests/kernel/fatal/exception/ failure
* :github:`30683` - intel_adsp_cavs15:running tests/kernel/sched/schedule_api failed
* :github:`30679` - puncover  worst-case stack analysis does not work
* :github:`30673` - cmake: zephyr_module.cmake included before ZEPHYR_EXTRA_MODULES is evaluated
* :github:`30663` - Support for TI's TMP117 Temperature Sensor.
* :github:`30657` - BT Mesh: Friendship ends if LPN publishes to a VA it is subscribed to
* :github:`30651` - sanitycheck samples/video/capture/sample.video.capture fails to build on mimxrt1064_evk
* :github:`30649` - Trouble with gpio callback on frdm k64f
* :github:`30638` - nrf pwm broken
* :github:`30636` - TCP stack locks irq's for too long
* :github:`30634` - frdm_kw41z: Current master fails compilation in drivers/pwm/pwm_mcux_tpm.c
* :github:`30624` - BLE : ATT Timeout occurred during multilink central connection
* :github:`30591` - build RAM usage printout uses prebuilt and not final binary
* :github:`30582` - Doxygen doesn't catch errors in argument names in callback functions that are @typedef'd
* :github:`30574` - up_squared: tests/kernel/semaphore/semaphore failed.
* :github:`30573` - up_squared: slowdown on test execution and timing out on multiple tests
* :github:`30566` - flashing issue with ST Nucleo board H745ZI-Q
* :github:`30557` - i2c slave driver removed
* :github:`30554` - tests/kernel/fatal/exception/sentinel test is failing for various nrf platforms
* :github:`30553` - kconfig.py exits with error when using multiple shields
* :github:`30548` - reel_board: tests/net/ieee802154/l2/ build failure
* :github:`30547` - reel_board: tests/net/ieee802154/fragment/ build failure
* :github:`30546` - LwM2M Execute arguments currently not supported
* :github:`30541` - l2m2m: writing to resources with pre_write callback fails
* :github:`30531` - When using ccache, compiler identity stored in ToolchainCapabilityDatabase is always the same
* :github:`30526` - tests: drivers: timer: Tests from drivers.timer.nrf_rtc_timer.basic fail on all nrf platforms
* :github:`30517` - Interrupt nesting is broken on ARMv7-R / LR_svc corrupted.
* :github:`30514` - reel_board: tests/benchmarks/sys_kernel/ fails
* :github:`30513` - reel_board: tests/benchmarks/latency_measure/ fails
* :github:`30509` - k_timer_remaining_get returns incorrect value on long timers
* :github:`30507` - nrf52_bsim fails on some tests after merging 29810
* :github:`30488` - Bluetooth: controller: swi.h should use CONFIG_SOC_NRF5340_CPUNET define
* :github:`30486` - updatehub demo for nrf52840dk
* :github:`30483` - Sanitycheck: When platform is nsim_hs_smp, process "west flash"  become defunct, the grandchild "cld" process can't be killed
* :github:`30480` - Bluetooth: Controller: Advertising can only be started 2^16 times
* :github:`30477` - frdm_k64f: testcase  samples/subsys/canbus/canopen/ failed to be ran
* :github:`30476` - frdm_k64f: testcase samples/net/cloud/tagoio_http_post/ failed to be ran
* :github:`30475` - frdm_k64f: testcase tests/kernel/fatal/exception/ failed to be ran
* :github:`30473` - mimxrt1050_evk: testcase tests/kernel/fatal/exception/ failed to be ran
* :github:`30472` - sam_e70_xplained: the samples/net/civetweb/http_server/. waits for interface unitl timeout
* :github:`30470` - sam_e70_xplained: tesecase tests/subsys/log_core failed to run
* :github:`30468` - mesh: cfg_svr.c app_key_del passes an incorrect parameter
* :github:`30467` - replace device define macros with devicetree-based macro
* :github:`30446` - fxas21002 gyroscope reading is in deg/s
* :github:`30435` - NRFX_CLOCK_EVT_HFCLKAUDIO_STARTED not handled in clock_control_nrf.c
* :github:`30434` - Memory map executing test case failed when code coverage enabled in x86_64 platform
* :github:`30433` - zephyr client automatic joiner failed on nRF52840dk
* :github:`30432` - No network interface was found when running socketcan sample
* :github:`30426` - Enforce all checkpatch warnings and move to 100 characters per line
* :github:`30423` - Devicetree: Child node of node on SPI bus itself needs reg property - Bug?
* :github:`30418` - Logging: Using asserts with LOG in high pri ISR context blocks output
* :github:`30408` - tests/kernel/sched/schedule_api is failing after 0875740 on m2gl025_miv
* :github:`30397` - tests:latency_measure is not counting semaphore results on the ARM boards
* :github:`30394` - TLS tests failing with sanitycheck (under load)
* :github:`30393` - kernel.threads.tls.userspace fails with SDK 0.12.0-beta on ARM Cortex-M
* :github:`30386` - Building confirmed images does not work
* :github:`30384` - Scheduler doesn't activate sleeping threads on native_posix
* :github:`30380` - Improve the use of CONFIG_KERNEL_COHERENCE
* :github:`30378` - Bluetooth: controller: tx buffer overflow error
* :github:`30364` - TCP2 does not implement queing for incoming packets
* :github:`30362` - adc_read_async callback parameters are dereferenced pointers, making use of CONTAINER_OF impossible
* :github:`30360` - reproducible qemu_x86_64 SMP failures
* :github:`30356` - DAC header file not included in stm32 soc.h
* :github:`30354` - Regression with 'local-mac-address' enet DTS property parsing (on i.MX K6x)
* :github:`30349` - Memory protection unit fault when running socket CAN program
* :github:`30344` - Bluetooth: host: Add support for multiple advertising sets for legacy advertising
* :github:`30338` - BT Mesh LPN max. poll timeout calculated incorrectly
* :github:`30330` - tests/subsys/usb/bos/usb.bos fails with native_posix and llvm/clang
* :github:`30328` - Openthread build issues with clang/llvm
* :github:`30322` - tests: benchmarks: latency_measure: timing measurement values are all 0
* :github:`30316` - updatehub with openthread
* :github:`30315` - Build failure: zephyr/include/generated/devicetree_unfixed.h:627:29: error: 'DT_N_S_leds_S_led_0_P_gpios_IDX_0_PH_P_label' undeclared
* :github:`30308` - Add optional user data field to device structure
* :github:`30307` - up_squared:  tests/kernel/device/ failed.
* :github:`30306` - up_squared: tests/kernel/mem_protect/userspace failed.
* :github:`30305` - up_squared:  tests/kernel/mem_protect/mem_protect failed.
* :github:`30304` - NRF52832 consumption too high 220uA
* :github:`30298` - regression/change in master: formatting floats and doubles
* :github:`30276` - Sanitycheck: can't find mdb.pid
* :github:`30275` - up_squared: tests/kernel/common failed (timeout error)
* :github:`30261` - File no longer at this location
* :github:`30257` - test: kernel: Test kernel.common.stack_protection_arm_fpu_sharing.fatal fails on nrf52 platforms
* :github:`30253` - tests: kernel: Test kernel.memory_protection.gap_filling fails on nrf5340dk_nrf5340_cpuapp
* :github:`30372` - WEST Support clean build
* :github:`30373` - out of tree （board soc doc subsystem ...)
* :github:`30240` - Bluetooth: Mesh: PTS Test failed in friend node
* :github:`30235` - MbedTLS X509 certificate not parsing
* :github:`30232` - CMake 3.19 doesn't work with Zephyr (tracking issue w/upstream CMake)
* :github:`30230` - printk and power management incompatibility
* :github:`30229` - BinaryHandler has no pid file
* :github:`30224` - stm32f4_disco: User button press is inverted
* :github:`30222` - boards: arm: nucleo_wb55rg: fails to build basic samples
* :github:`30219` - drivers: gpio: gpio_cc13xx_cc26xx: Add drive strength configurability
* :github:`30213` - usb: tests: Test usb.device.usb.device.usb_disable fails on nrf52840dk_nrf52840
* :github:`30211` - spi nor sfdp runtime: nph offset
* :github:`30207` - Mesh_demo with a nRF52840 not working
* :github:`30205` - Missing error check of function i2c_write_read() and dac_write_value()
* :github:`30194` - qemu_x86 crashes when printing floating point.
* :github:`30193` - reel_board: running tests/subsys/power/power_mgmt_soc failed
* :github:`30191` - Missing checks of return values of settings_runtime_set()
* :github:`30189` - Missing error check of function sensor_trigger_set()
* :github:`30187` - usb: stm32: MCU fall in deadlock when calling sleep API during USB transfer
* :github:`30183` - undefined reference to ``ring_buf_item_put``
* :github:`30179` - out of tree （board soc doc subsystem ...）
* :github:`30178` - Is there any plan to support NXP RT600 HIFI4 DSP in the zephyr project?
* :github:`30173` - OpenThread SED cannot join the network after "Update nRF5 ieee802154 driver to v1.9"
* :github:`30157` - SW based BLE Link Layer Random Advertise delay not as expected
* :github:`30153` - BSD recv() can not received huge package(may be 100kB) sustain .
* :github:`30148` - STM32G474: Write to flash Bank 2 address 0x08040000 does not work in 256K flash version
* :github:`30141` - qemu_x86 unexpected thread behavior
* :github:`30137` - TCP2: Handling of RST flag from server makes poll() call unable to return indefinitely
* :github:`30135` - LWM2M: Firmware URI writing does not work anymore
* :github:`30134` - tests: drivers: uart: Tests from tests/drivers/uart/uart_mix_fifo_poll fails on nrf platforms
* :github:`30133` - sensor: driver: lis2dh interrupt definitions
* :github:`30130` - nrf_radio_power_set() should use bool
* :github:`30129` - TCP2 send test
* :github:`30126` - xtensa-asm2-util.s hard coding
* :github:`30120` - sanitycheck fails for tests/bluetooth/init/bluetooth.init.test_ctlr_per_sync
* :github:`30117` - Cannot compile Zephyr project with standard macros INT8_C, UINT8_C, UINT16_C
* :github:`30106` - Refactor zcan_frame.
* :github:`30100` - twister test case selection numbers don't make any sense
* :github:`30099` - sanitycheck --build-only gets stuck
* :github:`30098` - > very few are even tested with CONFIG_NO_OPTIMIZATIONS. What is the general consensus about this?
* :github:`30094` - tests: kernel: fpu_sharing: Tests in tests/kernel/fpu_sharing fail on nrf platforms
* :github:`30075` - dfu: mcuboot: fail to build with CONFIG_BOOTLOADER_MCUBOOT=n and CONFIG_IMG_MANAGER=y
* :github:`30072` - tests/net/socket/socketpair appears to mis-use work queue APIs
* :github:`30066` - CI test build with RAM overflow
* :github:`30057` - LLVM built application crash
* :github:`30037` - Documentation: Fix getting started guide for macOS around homebrew install
* :github:`30031` - stm32f4 usb - bulk in endpoint does not work
* :github:`30029` - samples: net: cloud: tagoio_http_post: Undefined initialization levels used.
* :github:`30028` - sam_e70_xplained: MPU fault with CONFIG_NO_OPTIMIZATIONS=y
* :github:`30027` - sanitycheck failures on ``tests/bluetooth/init/bluetooth.init.test_ctlr_peripheral_ext``
* :github:`30022` - The mailbox message.info in the receiver thread is not updated.
* :github:`30014` - STM32F411RE PWM support
* :github:`30010` - util or toolchain: functions for reversing bits
* :github:`29999` - nrf52840 Slave mode is not supported on SPI_0
* :github:`29997` - format specifies type 'unsigned short' but the argument has type 'int' error in network stack
* :github:`29995` - Bluetooth: l2cap: L2CAP/LE/REJ/BI-02-C test failure
* :github:`29994` - High bluetooth ISR latency with CONFIG_BT_MAX_CONN=2
* :github:`29992` - dma tests fail with stm32wb55 and stm32l476  nucleo boards
* :github:`29991` - Watchdog Example not working as expected on a Nordic chip
* :github:`29977` - nrf9160: use 32Mhz HFCLK
* :github:`29969` - sanitycheck fails on tests/benchmarks/latency_measure/benchmark.kernel.latency
* :github:`29968` - sanitycheck fails a number of bluetooth tests on NRF
* :github:`29967` - sanitycheck fails to build samples/bluetooth/peripheral_hr/sample.bluetooth.peripheral_hr_rv32m1_vega_ri5cy
* :github:`29964` - net: lwm2m: Correctly Support Bootstrap-Delete Operation
* :github:`29963` - RFC: dfu/boot/mcuboot: consider usage of boootloader/mcuboot code
* :github:`29961` - Add i2c driver tests for microchip evaluation board
* :github:`29960` - Checkpatch compliance errors do not fail CI
* :github:`29958` - mcuboot hangs when CONFIG_BOOT_SERIAL_DETECT_PORT value not found
* :github:`29957` - BLE Notifications limited to 1 per connection event on Zephyr v2.4.0 Central
* :github:`29954` - intel_adsp_cavs18 fails with heap errors on current Zephyr
* :github:`29953` - Add the sofproject as a module
* :github:`29951` - ieee802154: cc13xx_cc26xx: raw mode support
* :github:`29945` - Missing error check of function sensor_sample_fetch() and sensor_channel_get()
* :github:`29943` - Missing error check of function isotp_send()
* :github:`29937` - XCC Build offsets.c ：FAILED
* :github:`29936` - XCC Build isr_tables.c fail
* :github:`29925` - pinctrl error for disco_l475_iot1 board:
* :github:`29921` - USB DFU with nrf52840dk (PCA10056)
* :github:`29916` - ARC: tests fail on nsim_hs with one register bank
* :github:`29913` - Question : Bluetooth mesh using long range
* :github:`29908` - devicetree: Allow all GPIO flags to be used by devicetree
* :github:`29896` - new documentation build warning
* :github:`29891` - mcumgr image upload (with smp_svr) does not work over serial/shell on the nrf52840dk
* :github:`29884` - x_nucleo_iks01a2 device tree overlay issue with stm32mp157c_dk2 board
* :github:`29883` - drivers: ieee802154: cc13xx_cc26xx: use multi-protocol radio patch
* :github:`29879` - samples/net/gptp compile failed on frdm_k64f board in origin/master (work well in origin/v2.4-branch)
* :github:`29877` - WS2812 SPI LED strip driver produces bad SPI data
* :github:`29869` - Missing error check of function entropy_get_entropy()
* :github:`29868` - Bluetooth: Mesh: DST not checked on send
* :github:`29858` - [v1.14, v2.4] Bluetooth: Mesh: RPL cleared on LPN disconnect
* :github:`29855` - Bluetooth: Mesh: TTL max not checked on send
* :github:`29853` - multiple PRs fail doc checks
* :github:`29842` - 'imgtool' absent in requirements.txt
* :github:`29833` - Test DT_INST_PROP_HAS_IDX() inside the macros for multi instances
* :github:`29831` - flash support for stm32h7 SoC
* :github:`29829` - On-PR CI needs to build a subset of tests for a subset of platforms regardless of the scope of the PR changes
* :github:`29826` - SNTP doesn't work on v2.4.0 on eswifi
* :github:`29822` - Redundant error check of function usb_set_config() in subsys/usb/class/usb_dfu.c
* :github:`29809` - gen_isr_tables.py does not check that the IRQ number is in bounds
* :github:`29805` - SimpleLink does not compile (simplelink_sockets.c)
* :github:`29796` - Zephyr API for writing to flash for STM32G474 doesn't work as expected
* :github:`29793` - Ninja generated error when setting PCAP option in west
* :github:`29791` - spi stm32 dma: spi
* :github:`29790` - The zephyr-app-commands macro does not honor :generator: option
* :github:`29782` - smp_svr: Flashing zephyr.signed.bin does not seem to work on nrf52840dk
* :github:`29780` - nRF SDK hci_usb sample disconnects after 40 seconds with extended connection via coded PHY
* :github:`29776` - Check vector number and pointer to ISR in "_isr_wrapper" routine for aarch64
* :github:`29775` - TCP socket stream
* :github:`29773` - sam_e70_xplained: running samples/net/sockets/civetweb/ failed
* :github:`29772` - sam_e70_xplained:running testcase tests/subsys/logging/log_core failed
* :github:`29771` - samples: net: sockets: tcp: tcp2 server not accepting with ipv6 bsd sockets
* :github:`29769` - mimxrt1050_evk: build error at tests/subsys/usb/device/
* :github:`29762` - nRF53 Network core cannot start LFClk when using empty_app_core
* :github:`29758` - edtlib not reporting proper matching_compat for led nodes (and other children nodes)
* :github:`29740` - OTA using Thread
* :github:`29737` - up_squared: tests/subsys/power/power_mgmt failed.
* :github:`29733` - SAM0 will wake up with interrupted execution after deep sleep
* :github:`29732` - issue with ST Nucleo H743ZI2
* :github:`29730` - drivers/pcie: In Kernel Mode pcie_conf_read crashes when used with newlib
* :github:`29722` - West flash is not able to flash with openocd
* :github:`29721` - drivers/sensor/lsm6dsl: assertion/UB during interrupt handling
* :github:`29720` - samples/display/lvgl/sample.gui.lvgl fails to build on several boards
* :github:`29716` - Dependency between userspace and memory protection features
* :github:`29713` - nRF5340 - duplicate unit-address
* :github:`29711` - Add BSD socket option SO_RCVTIMEO
* :github:`29710` - drivers: usb_dc_mcux_ehci: driver broken, build error at all USB test and samples
* :github:`29707` - xtensa  xt-xcc -Wno-unused-but-set-variable  not work
* :github:`29706` - xtensa xt-xcc inline warning
* :github:`29705` - reel_board: tests/kernel/sched/schedule_api/ fails on multiple boards
* :github:`29704` - [Coverity CID :215255] Dereference before null check in tests/subsys/fs/fs_api/src/test_fs.c
* :github:`29703` - [Coverity CID :215261] Explicit null dereferenced in subsys/emul/emul_bmi160.c
* :github:`29702` - [Coverity CID :215232] Dereference after null check in subsys/emul/emul_bmi160.c
* :github:`29701` - [Coverity CID :215226] Logically dead code in soc/xtensa/intel_adsp/common/bootloader/boot_loader.c
* :github:`29700` - [Coverity CID :215253] Unintentional integer overflow in drivers/timer/stm32_lptim_timer.c
* :github:`29699` - [Coverity CID :215249] Unused value in drivers/modem/ublox-sara-r4.c
* :github:`29698` - [Coverity CID :215248] Dereference after null check in drivers/modem/hl7800.c
* :github:`29697` - [Coverity CID :215243] Unintentional integer overflow in drivers/timer/stm32_lptim_timer.c
* :github:`29696` - [Coverity CID :215241] Buffer not null terminated in drivers/modem/hl7800.c
* :github:`29695` - [Coverity CID :215235] Dereference after null check in drivers/modem/hl7800.c
* :github:`29694` - [Coverity CID :215233] Logically dead code in drivers/modem/hl7800.c
* :github:`29693` - [Coverity CID :215224] Parse warning in drivers/modem/hl7800.c
* :github:`29692` - [Coverity CID :215221] Unchecked return value in drivers/regulator/regulator_fixed.c
* :github:`29690` - NUCLEO-H745ZI-Q + OpenOCD - connect under reset
* :github:`29684` - Can not make multiple BLE IPSP connection to the same host
* :github:`29683` - BLE IPSP sample doesn't work on raspberry pi 4 with nrf52840_mdk board
* :github:`29681` - Add NUCLEO-H723ZG board support
* :github:`29677` - stm32h747i_disco add ethernet support
* :github:`29675` - Remove pinmux dependency on STM32 boards
* :github:`29667` - RTT Tracing is not working using NXP mimxrt1064_evk
* :github:`29657` - enc28j60 on nRF52840 stalls during enc28j60_init_buffers in zephyr 2.4.0
* :github:`29654` - k_heap APIs have no tests
* :github:`29649` - net: context: add net_context api to check if a port is bound
* :github:`29639` - Bluetooth: host: Security procedure failure can terminate GATT client request
* :github:`29637` - 5g is microwave and 4LTE is radio or static?
* :github:`29636` - Bluetooth: Controller: Connection Parameter Update indication timeout
* :github:`29634` - Build error: (Bluetooth: Mesh: split prov.c into two separate modules #28457)
* :github:`29632` - GPIO interrupt support for IO expander
* :github:`29631` - kernel: provide aligned variant of k_heap_alloc
* :github:`29629` - Creating a k_thread as runtime instantiated kernel object using k_malloc causes general protection fault
* :github:`29616` - Lorawan subsystem stack: missing MLE_JOIN parameter set
* :github:`29611` - usb/class/dfu: void wait_for_usb_dfu() terminates before DFU operation is completed
* :github:`29608` - question: create runtime instantiated kernel objects in kernel mode
* :github:`29594` - x86_64: RBX being clobbered in the idle thread
* :github:`29590` - ARM: FPU: using Unshared FP Services mode can still result in corrupted floating point registers
* :github:`29589` - Creating a k_thread and k_sem as runtime instantiated kernel object causes general protection fault
* :github:`29574` - question: about CONFIG_NET_BUF_POOL_USAGE
* :github:`29567` - Using openthread based echo_client and lwm2m_client cannot ping the external network address
* :github:`29549` - doc: Zephyr module feature ``depends`` not documented.
* :github:`29544` - Bluetooth: Mesh: Friend node unable relay message for lpn
* :github:`29541` - CONFIG_THREAD_LOCAL_STORAGE=y build fails with ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb
* :github:`29538` - eswifi recvfrom() not properly implemented on disco_l475_iot1
* :github:`29534` - reel_board:running tests/kernel/workq/work_queue_api/ failed
* :github:`29533` - mec15xxevb_assy6853:running testcase tests/kernel/workq/work_queue_api/ failed.
* :github:`29532` - mec15xxevb_assy6853:running testcase tests/portability/cmsis_rtos_v2/ failed.
* :github:`29530` - display: nrf52840: adafruit_2_8_tft_touch_v2 shield not working with nrf-spim driver
* :github:`29519` - kernel: provide aligned variants for allocators
* :github:`29518` - sleep in qemu to short
* :github:`29499` - x86 thread stack guards persist after thread exit
* :github:`29497` - Warning in CR2
* :github:`29491` - usb: web USB sample fails Chapter9 USB3CV tests.
* :github:`29478` - fs: fs_open can corrupt fs_open_t object given via zfp parameter
* :github:`29468` - usb: ZEPHYR FATAL ERROR when running USB test for Nordic.
* :github:`29467` - nrf_qspi_nor.c Incorrect value used for checking start of RAM address space
* :github:`29446` - pwm: stm32: output signal delayed
* :github:`29444` - Network deadlock
* :github:`29442` - build failure w/sanitycheck for samples/bluetooth/hci_usb_h4/sample.bluetooth.hci_usb_h4
* :github:`29440` - Missing hw-flow-control; in hci_uart overlay files
* :github:`29435` - SDCard via SD/SDIO/MMC interfaces
* :github:`29430` - up_squared_adsp: Sanitycheck can not run test case on Up_Squared_ADSP board
* :github:`29429` - net: dns: enable dns service discovery for mdns service
* :github:`29418` - ieee802154: cc13xx_cc26xx: bug in rf driver library
* :github:`29412` - sanitycheck: skipped tests marked as failed due to the reason SKIPPED (SRAM overflow)
* :github:`29398` - ICMPv6 error sent with incorrect link layer addresses
* :github:`29386` - unexpected behavior when doing syscall with 7 or more arguments
* :github:`29382` - remove memory domain restriction on system RAM for memory partitions on MMU devices
* :github:`29376` - sanitycheck: "TypeError: 'NoneType' object is not iterable"
* :github:`29373` - Some altera DTS bindings have the wrong vendor prefix
* :github:`29368` - STM32: non F1 -pinctrl.dtsi generation files: Limit mode to variants
* :github:`29367` - usb: drivers: add USB support for UP squared
* :github:`29364` - cdc_acm_composite fails USB3CV test for Nordic platform.
* :github:`29363` - shell: inability to print 64-bit integers with newlib support
* :github:`29357` - RFC: API Change: Bluetooth: Update indication callback parameters
* :github:`29347` - Network deadlock because of mutex locking order
* :github:`29346` - west boards doesn't display the arcitecture.
* :github:`29330` - mec15xxevb_assy6853:running samples/boards/mec15xxevb_assy6853/power_management Sleep entry latency is higher than expected
* :github:`29329` - tests: kernel.workqueue.api tests fail on multiple platforms
* :github:`29328` - mec15xxevb_assy6853:running tests/kernel/workq/work_queue_api/ failed
* :github:`29327` - mec15xxevb_assy6853:region ``SRAM`` overflowed during build
* :github:`29319` - up_squared:  tests/kernel/timer/timer_api failed.
* :github:`29317` - mimxrt1015: kernel_threads_sched: application meet size issue
* :github:`29315` - twr_kv58f220m: all application build failure
* :github:`29312` - [RFC] [BOSSA] Improve offset parameter
* :github:`29310` - ble central Repeat read and write to three peripherals error USAGE FAULT
* :github:`29309` - ADC1 doesn't read correctly on STM32F7
* :github:`29308` - GPIO bit banging i2c init before gpio clock init in stm32f401 plantform,cause same gpio can't work.
* :github:`29307` - samples/bluetooth/mesh-demo unable to send vendor button message
* :github:`29300` - K_THREAD_DEFINE() uses const in a wrong way
* :github:`29298` - xlnx_psttc_timer driver has an imprecise z_clock_set_timeout() implementation
* :github:`29287` - spi: SPI_LOCK_ON does not hold the lock for multiple spi_transceive until spi_release
* :github:`29284` - compilation issues for MinnowBoard/ UpSquared on documentation examples
* :github:`29283` - quickfeather not listed in boards
* :github:`29274` - Can't get Coded PHY type(S2 or S8)
* :github:`29272` - nordic qspi: readoc / writeoc selection may not work
* :github:`29263` - tests/kernel/mem_protect/obj_validation fails build on some boards after recent changes
* :github:`29261` - boards: musca_b1: post build actions with TF-M might not be done in right order
* :github:`29259` - sanitycheck: sanitycheck defines test expected to fail as FAILED
* :github:`29258` - net: Unable to establish TCP connections from Windows hosts
* :github:`29257` - Race condition in k_queue_append and k_queue_alloc_append
* :github:`29248` - board: nrf52840_mdk: support for qspi flash missing
* :github:`29244` - k_thread_resume can cause k_sem_take with K_FOREVER to return -EAGAIN and crash
* :github:`29239` - i2c: mcux driver does not prevent simultaneous transactions
* :github:`29235` - Endless build loop after adding pinctrl dtsi
* :github:`29223` - BLE one central connect multiple peripherals
* :github:`29220` - ARC: tickless idle exit code destroy exception status
* :github:`29202` - core kernel depends on minimal libc ``z_prf()``
* :github:`29195` - west fails with custom manifest
* :github:`29194` - Sanitycheck block after passing some test
* :github:`29183` - DHCPv4 retransmission interval gets too large
* :github:`29175` - x86 fails all tests if CONFIG_X86_KPTI is disabled
* :github:`29173` - uart_nrfx_uart fails uart_async_api_test
* :github:`29166` - sanitycheck ``--test-only --device-testing --hardware-map`` shouldn't run tests on all boards from ``--build-only``
* :github:`29165` - shell_print doesn't support anymore %llx when used with newlib
* :github:`29164` - net: accept() doesn't return an immediately usable descriptor
* :github:`29162` - Data Access Violation when LOG_* is called on ISR context
* :github:`29155` - CAN BUS support on Atmel V71
* :github:`29150` - CONFIG_BT_SETTINGS_CCC_LAZY_LOADING never loads CCC
* :github:`29148` - MPU: twr_ke18f: many kernel application fails when allocate dynamic MPU region
* :github:`29146` - canisotp: mimxrt1064_evk: no DT_CHOSEN_ZEPHYR_CAN_PRIMARY_LABEL defined cause tests failure
* :github:`29145` - net: frdmk64f many net related applications meet hardfault, hal driver assert
* :github:`29139` - tests/kernel/fatal/exception failed on nsim_sem_mpu_stack_guard board
* :github:`29120` - STM32: Few issues on on pinctrl generation script
* :github:`29113` - Build failure with OSPD
* :github:`29111` - Atmel SAM V71 UART_0 fail
* :github:`29109` - HAL STM32 Missing ETH pin control configurations in DT files
* :github:`29101` - Bluetooth: assertion fail with basic repeated extended advertisement API
* :github:`29099` - net: dns: dns-sd: support for dns service discovery
* :github:`29098` - ATT timeout worker not canceled by destroy, and may operate on disposed object
* :github:`29095` - zefi.py has incorrect assertions
* :github:`29092` - tests/drivers/uart/uart_async_api fails on nrf52840dk_nrf52840 (and additional platforms)
* :github:`29089` - doc: boards: cc1352r_sensortag: fix minor rst issue
* :github:`29083` - Bluetooth: Host: Inconsistent permission value during discovery procedure
* :github:`29078` - nRF52840 doesn't start legacy advertisment after extended advertisment
* :github:`29074` - #27901 breaks mikroe_* shields overlay
* :github:`29070` - NXP LPC GPIO driver masked set does not use the mask
* :github:`29068` - chosen zephyr,code-partition has no effect on ELF linking start address
* :github:`29066` - kernel: k_sleep doesn't handle relative or absolute timeouts >INT_MAX
* :github:`29062` - samples/bluetooth/peripheral_hr/sample.bluetooth.peripheral_hr_rv32m1_vega_ri5cy fails to build on  rv32m1_vega_ri5cy
* :github:`29059` - HAL: mchp: Missing PCR ids to control PM for certain HW blocks
* :github:`29056` - tests/bluetooth/init/bluetooth.init.test_ctlr_dbg fails to build on nrf51dk_nrf51422
* :github:`29050` - Ugrade lvgl library
* :github:`29048` - Removing pwr-gpio of rt1052 from devicetree will cause build error
* :github:`29047` - Boards: nucleo_stm32g474re does not build
* :github:`29043` - dirvers: eth_stm32_hal: No interrupt is generated on the MII interface.
* :github:`29042` - CONFIG_SHELL_HELP=n fails to compile
* :github:`29034` - error in samples/subsys/usb/cdc_acm
* :github:`29025` - [Coverity CID :214882] Argument cannot be negative in tests/posix/eventfd/src/main.c
* :github:`29024` - [Coverity CID :214878] Argument cannot be negative in tests/posix/eventfd/src/main.c
* :github:`29023` - [Coverity CID :214877] Argument cannot be negative in tests/posix/eventfd/src/main.c
* :github:`29022` - [Coverity CID :214876] Argument cannot be negative in tests/posix/eventfd/src/main.c
* :github:`29021` - [Coverity CID :214874] Argument cannot be negative in tests/posix/eventfd/src/main.c
* :github:`29020` - [Coverity CID :214873] Argument cannot be negative in tests/posix/eventfd/src/main.c
* :github:`29019` - [Coverity CID :214871] Side effect in assertion in tests/kernel/sched/preempt/src/main.c
* :github:`29018` - [Coverity CID :214881] Unchecked return value in subsys/mgmt/ec_host_cmd/ec_host_cmd_handler.c
* :github:`29017` - [Coverity CID :214879] Explicit null dereferenced in subsys/emul/spi/emul_bmi160.c
* :github:`29016` - [Coverity CID :214875] Dereference after null check in subsys/emul/spi/emul_bmi160.c
* :github:`29015` - [Coverity CID :214880] Out-of-bounds access in subsys/net/ip/tcp2.c
* :github:`29014` - [Coverity CID :214872] Bad bit shift operation in drivers/ethernet/eth_w5500.c
* :github:`29008` - BLE Connection fails to establish between two nRF52840-USB Dongles with Zephyr controller
* :github:`29007` - OOT manifest+module discovery/builds fail
* :github:`29003` - memory corruption in pkt_alloc
* :github:`28999` - STM32: Transition to device tree based pinctrl configuration
* :github:`28990` - Docs: Dead links to sample source directories
* :github:`28979` - Automatic reviewer assignment for PR does not seem to work anymore
* :github:`28976` - sanitycheck failing all tests for nsim_em7d_v22
* :github:`28970` - clarify thread life-cycle documentation
* :github:`28956` - API-less devices aren't findable
* :github:`28955` - undesired kernel debug log
* :github:`28953` - winc1500 driver blocks on listen
* :github:`28948` - hci_usb: ACL transfer not restarted after USB Suspend - Resume
* :github:`28942` - ARC: nsim_hs_smp: huge zephyr.hex file generated on build
* :github:`28941` - Civetweb: create separate directory
* :github:`28938` - EFR32BGx Bluetooth Support
* :github:`28935` - support code coverage in unit tests
* :github:`28934` - pinmux: stm32: port remaining pinctrl DT serial definitions for STM32 based boards
* :github:`28933` - mcuboot: Brick when using BOOT_SWAP_USING_MOVE and reset happens during images swap
* :github:`28925` - west failed due to empty value in self.path
* :github:`28921` - MCUboot / smp_svr sample broken in 2.4.0
* :github:`28916` - net_if_down doesn't clear address
* :github:`28912` - Incorrect macro being used to init a sflist
* :github:`28908` - The same buffers are shared by the 2 Ethernet controllers in the eth_mcux driver
* :github:`28898` - lwm2m_client can't start if mcuboot is enabled
* :github:`28897` - SPI does not work for STM32 min dev board
* :github:`28893` - Double-dot in path's may cause problems with gcc under Windows
* :github:`28887` - Bluetooth encryption request overrides ongoing phy update
* :github:`28881` - tests/kernel/mem_protect/sys_sem: qemu_x86_64 intermittent failure
* :github:`28876` - -p doesn't run a pristine build
* :github:`28872` - Support ESP32 as Bluetooth controller
* :github:`28870` - Peripheral initiated connection parameter update is ignored
* :github:`28867` - ARM Cortex-M4: Semaphores could not be used in ISRs with priority 0?
* :github:`28865` - Doc: Generate documentation using dts bindings
* :github:`28854` - ``CONFIG_STACK_POINTER_RANDOM`` may be undefined
* :github:`28847` - code_relocation sample does not work on windows
* :github:`28844` - Double quote prepended when exporting CMAKE compile option using zephyr_get_compile_options_for_lang()
* :github:`28833` - STM32: SPI DMA Driver - HW CS handling not compatible with spi_nor (Winbond W25Q)
* :github:`28826` - nRF QSPI flash driver broken for GD25Q16
* :github:`28822` - Improve STM32 LL HAL usage
* :github:`28809` - Enable bt_gatt_notify() to overwrite notified value before sending rather than queue values
* :github:`28794` - RFC: API Change: k_work
* :github:`28791` - STM32: Clock recovery system (CRS) support
* :github:`28787` - lwm2m-client sample can't be build with openthread and DTLS
* :github:`28785` - shell: It should be possible to get list of commands without pressing tab
* :github:`28777` - Memory pool issue
* :github:`28775` - Update to TFM v1.2 release
* :github:`28774` - build failure: several bluetooth samples fail to build on nrf51dk_nrf51422
* :github:`28773` - Lower Link Layer code use upper link layer function have " undefined reference to"
* :github:`28758` - ASSERTION FAIL [conn->in_retransmission == 1] with civetweb sample application
* :github:`28745` - Bug in drivers/modem/hl7800.c
* :github:`28739` - Bluetooth: Mesh: onoff_level_lighting_vnd sample fails provisioning
* :github:`28735` - NULL pointer access in zsock_getsockname_ctx with TCP2
* :github:`28723` - Does not respect python virtualenv
* :github:`28722` - Bluetooth: provide ``struct bt_conn`` to ccc_changed callback
* :github:`28714` - Bluetooth: PTS upper tester: GAP/CONN/NCON/BV-02-C Fails because of usage of NRPA
* :github:`28709` - phandle-array doesn't allow array of just phandles
* :github:`28706` - west build -p auto -b nrf52840dk_nrf52840 error: HAS_SEGGER_RTT
* :github:`28701` - ASSERTION FAIL [!radio_is_ready()]
* :github:`28699` - Bluetooth: controller: Speed up disconnect process when slave latency is used
* :github:`28694` - k_wakeup follwed by k_thread_resume call causes system freeze
* :github:`28693` - FCB support for non-0xFF flash erase values
* :github:`28691` - tests: arch: arm: arm_thread_swap: fails with bus fault
* :github:`28688` - Bluetooth: provide ``struct bt_gatt_indicate_params`` to ``bt_gatt_indicate_func_t``
* :github:`28670` - drivers: flash: bluetooth: stm32wb: attempt to erase internal flash before enabling Bluetooth cause fatal error
* :github:`28664` - Decide whether to enable HW_STACK_PROTECTION by default
* :github:`28650` - GCC-10.2 link issue w/g++ on aarch64
* :github:`28629` - tests: kernel: common: and common.misra are failing on nrf52840dk
* :github:`28620` - 6LowPAN ipsp: ping host -> µc failes, ping µc -> host works. after that: ping host -> µc works
* :github:`28613` - cannot set GDB watchpoints on QEMU x86 with icount enabled
* :github:`28590` - up_squared_adsp:running tests/kernel/smp/ failed
* :github:`28589` - up_squared_adsp:running tests/kernel/workq/work_queue/ failed
* :github:`28587` - Data corruption while serving large files via HTTP with TCP2
* :github:`28556` - mec15xxevb_assy6853:running tests/kernel/sched/schedule_api/ failed
* :github:`28547` - up_squared: tests/subsys/debug/coredump failed using twister command.
* :github:`28544` - Null pointer dereference in ll_adv_aux_ad_data_set
* :github:`28533` - soc: ti_simplelink: cc13xx-cc26xx: kconfig for subghz 802.15.4
* :github:`28509` - series-push-hook.sh: Don't parse then-master-to-latest-master commits after rebase to lastest
* :github:`28504` - dfu: dfu libraries might fails to compile on redefined functions while building MCUBoot
* :github:`28502` - USB DFU class: support MCUBoot CONFIG_SINGLE_APPLICATION_SLOT
* :github:`28493` - Sanitycheck on ARC em_starterkit_em7d has many tests timeout
* :github:`28483` - Fix nanosleep(2) for sub-microsecond durations
* :github:`28473` - Mcuboot fails to compile when using single image and usb dfu
* :github:`28469` - Unable to capture adc signal at 8ksps when using nrf52840dk board.
* :github:`28462` - SHIELD not handled correct in CMake when using custom board
* :github:`28461` - ``HCI_CMD_TIMEOUT`` when setting ext adv data in the hci_usb project
* :github:`28456` - TOOLCHAIN_LD_FLAGS setting of -mabi/-march aren't propagated to linker invocation on RISC-V
* :github:`28442` - How handle IRQ_CONNECT const requirement?
* :github:`28406` - Condition variables
* :github:`28383` - bq274xx sample is not working
* :github:`28363` - ssd16xx: off-by-one with non-multiple-of-eight heights
* :github:`28355` - Document limitations of net_buf queuing functions
* :github:`28309` - Sample/subsys/fs/littlefs with board=nucleo_f429zi  don't work
* :github:`28299` - net: lwm2m: Improve token handling
* :github:`28298` - Deep sleep(system off) is not working with LVGL and display driver
* :github:`28296` - test_essential_thread_abort: lpcxpresso55s16_ns test failure
* :github:`28278` - PWM silently fails when changing output frequency on stm32
* :github:`28220` - flash: revise API to remove block restrictions on write operations
* :github:`28177` - gPTP gptp_priority_vector struct field ordering is wrong
* :github:`28176` - [Coverity CID :214217] Out-of-bounds access in tests/kernel/mem_protect/mem_map/src/main.c
* :github:`28175` - [Coverity CID :214214] Uninitialized pointer read in tests/benchmarks/data_structure_perf/rbtree_perf/src/rbtree_perf.c
* :github:`28170` - [Coverity CID :214222] Unrecoverable parse warning in include/ec_host_cmd.h
* :github:`28168` - [Coverity CID :214218] Unused value in subsys/mgmt/osdp/src/osdp.c
* :github:`28159` - [Coverity CID :214216] Logically dead code in drivers/pwm/pwm_stm32.c
* :github:`28155` - sam_e70_xplained:running samples/net/sockets/civetweb/ failed
* :github:`28124` - Linking external lib against POSIX API
* :github:`28117` - CoAP/LWM2M: Clean Packet Retransmission Concept
* :github:`28113` - Embed precise Zephyr version & platform name in sanitycheck output .xml
* :github:`28094` - samples: drivers: spi_flash_at45: Not work for boards without internal flash driver
* :github:`28092` - Make SPI speed of SDHC card configurable
* :github:`28014` - tests: kernel: mem_protect: sys_sem: failed when CONFIG_FPU is activated
* :github:`27999` - Add QSPI tests for microchip mec1521 board, drivers are in zephyr/drivers/spi, to be tested on mec15xxevb_assy6853
* :github:`27997` - Errors in copy paste lengthy script into Shell Console
* :github:`27981` - Low UART utilization for hci_uart
* :github:`27957` - flash signed binaries: key path and version
* :github:`27914` - frdm_k64f async uart api
* :github:`27892` - [v2.1.x] lib: updatehub: Improve download on slow networks and security fix
* :github:`27890` - [v2.2.x] lib: updatehub: Improve download on slow networks and security fix
* :github:`27881` - Zephyr requirements.txt fails to install on Python 3.9rc1
* :github:`27879` - Make i2c_slave callbacks public in the documentation
* :github:`27856` - Support per thread runtime statistics
* :github:`27846` - Weird ADC outliers on nrf52
* :github:`27841` - samples: disk: unable to access sd card
* :github:`27829` - sys_mutex and futex missing documentation
* :github:`27809` - Cannot enable MPU for nucleo_l552ze_q_ns
* :github:`27785` - memory domain arch implementation not correct with respect to SMP on ARC
* :github:`27716` - Bluetooth: Mesh: Devices relay their own messages (even with relay disabled!)
* :github:`27677` - RFC: Get rid of shell UART device selection in Kconfig
* :github:`27672` - [v2.2] BLE Transaction Collision
* :github:`27633` - arm64 SMP
* :github:`27628` - stm32: i2c bus failure when using USB
* :github:`27622` - Power management for modems using PPP
* :github:`27600` - JSON Api refuse to decode null value
* :github:`27596` - logging: backend inconsistency with console and shell
* :github:`27583` - sanitycheck does not fail on SRAM overflow, add option to make it fail on those cases.
* :github:`27574` - mec15xxevb_assy6853:arch.arm.arch.arm.no.multithreading failed to run
* :github:`27573` - coverage: When enable coverage, some testcases need more time
* :github:`27570` - up_squared:logging.add.logging.add.async failed
* :github:`27561` - drivers: gpio: pca9555 : Add GPIO driver enable interrupt support
* :github:`27559` - How to use stm32cubeIDE to build and debug?
* :github:`27525` - Including STM32Cube's USB PD support to Zephyr
* :github:`27510` - [v1.14] Bluetooth: controller: Fix uninit conn context after invalid channel map
* :github:`27506` - driver: peci: mchp: Ping command is failing due to improper tx wait timeout.
* :github:`27490` - arch/common/isr_tables.c compilation fails with CONFIG_NUM_IRQS=0
* :github:`27487` - storage/stream: should use only flash driver public API
* :github:`27468` - BT Host: Periodic Advertisement delayed receive
* :github:`27467` - BT Host: Periodic Advertiser List
* :github:`27466` - BT Host: Periodic Advertisement Sync Transfer (PAST)
* :github:`27457` - Add support for Nordic nrfx PDM driver for Nordic Thingy52
* :github:`27423` - RFC: API change: clock_control: Change parameters of clock_control_async_on
* :github:`27417` - CivetWeb Enable WebSocket
* :github:`27396` - samples/subsys/logging/logger timeout when sanitycheck enable coverage, it needs a filter
* :github:`27369` - spi: stm32: dma: rx transfer error when spi_write called
* :github:`27367` - Sprintf -  error while sending data to SD card
* :github:`27350` - ADC: adc shell failure when mismatch with dts device label
* :github:`27332` - [v2.3.x] lib: updatehub: Improve download on slow networks and security fix
* :github:`27299` - espi: xec: Whenever eSPI host indicates we are entering DnX mode, notification doesn't reach application
* :github:`27279` - CMSIS RTOS v1 Signals Implementation Issue
* :github:`27231` - Sending data to .csv file on SD card - ERROR CS control inhibited (no GPIO device)
* :github:`27195` - Sanitycheck: BinaryHandler can't kill children processes
* :github:`27176` - [v1.14] Restore socket descriptor permission management
* :github:`27174` - TCP Server don't get the right data from the client
* :github:`27146` - [Coverity CID :211510] Unchecked return value in lib/posix/semaphore.c
* :github:`27122` - Implement watchdog driver for mimxrt1050_evk
* :github:`27068` - ESP-IDF Bootloader bootloop
* :github:`27055` - BlueZ with ESP32 boards supported or not?
* :github:`27047` - zefi.py assumes host GCC is x86
* :github:`27031` - Zephyr OpenThread Simulation
* :github:`27020` - civetweb issues
* :github:`27006` - unsynchronized newlib uintptr_t and PRIxPTR definition on xtensa
* :github:`26987` - [Coverity CID :211475] Unintended sign extension in drivers/sensor/wsen_itds/itds.c
* :github:`26975` - Control never returns from stm32_i2c_msg_write(), when SCL is pulled low permanently (hardware fault occurs)
* :github:`26961` - occasional sanitycheck failures in samples/subsys/settings
* :github:`26949` - sanitycheck gets overwhelmed by console output
* :github:`26912` - arm: cortex_r: config_userspace: hang during early power-up
* :github:`26873` - WIFI_ESP: sockets left opened after unexpected reset of ESP
* :github:`26829` - GSM modem example on stm32f103 bluepill
* :github:`26819` - drivers: modem: SARA modem driver leaks sockets
* :github:`26807` - Bluetooth HCI USB sample is not working
* :github:`26799` - Introduce p99
* :github:`26794` - arc: smp: different sanitycheck results of ARC hsdk's 2 cores and 4 cores configuration
* :github:`26732` - Advertise only on single bluetooth channel
* :github:`26722` - uarte_nrfx_poll_out() in NRF UARTE driver does not work with hardware flow control
* :github:`26665` - Implement reset for ARC development boards
* :github:`26656` - SAM0 USB transfer slot leak
* :github:`26637` - How to identify sensor device?
* :github:`26584` - Multicast emission is only possible for ipv4 starting with 224.
* :github:`26533` - Support newlib for Aarch64 architecture
* :github:`26522` - Reported "Supported shields" list includes boards
* :github:`26515` - timers: platforms using cortex_m_systick does not enter indefinite wait on SLOPPY_IDLE
* :github:`26500` - sanitycheck reports failing tests with test_slice_scheduling()
* :github:`26488` - Bluetooth: Connection failure using frdm_kw41z shield
* :github:`26486` - possible SMP race with k_thread_join()
* :github:`26477` - GPIO sim driver
* :github:`26443` - sanitycheck shall generate results and detailed information about tests and environment in json format.
* :github:`26409` - Clearing of previously initialized data during IPv6 interface init causes infinite loop, memory corruption in timer ISR
* :github:`26383` - OpenThread NCP radio-only
* :github:`26372` - qspi driver does not work if multithreading is disabled
* :github:`26330` - tcp: low bulk receive performance due to window handling
* :github:`26315` - ieee802154: cc13xx_cc26xx: sub_ghz support
* :github:`26312` - drivers: ieee802154: cc13xx_cc26xx: adopt hal/ti rf driverlib
* :github:`26275` - USB MSC fails 'Command Set Test' from USB3CV.
* :github:`26272` - Cannot use alternative simulation runner with sanitycheck
* :github:`26227` - icount support for qemu_arc_{em,hs}
* :github:`26225` - x86_64 doesn't seem to be handling spurious interrupts properly
* :github:`26219` - sys/util: add support for mapping lists with per-element terminal symbols
* :github:`26172` - Zephyr Master/Slave not conforming with Core Spec. 5.2 connection policies
* :github:`26163` - qemu_arc_{em,hs} keeps failing in CI on tests/kernel/lifo/lifo_usage
* :github:`26142` - cmake warning: "Policy CMP0077 is not set"
* :github:`26084` - 2.4 Release Checklist
* :github:`26072` - refactor struct device to reduce RAM demands
* :github:`26051` - shell: uart: Allow a change in the shell initalisation to let routing it through USB UART
* :github:`26050` - devicetree: provide access to node ordinal
* :github:`26026` - RFC: drivers: pwm: add functions for capturing pwm pulse width and period
* :github:`25956` - Including header files from modules into app
* :github:`25927` - ARM: Core Stack Improvements/Bug fixes for 2.4 release
* :github:`25918` - qemu_nios2 crash when enabled icount
* :github:`25832` - [test][kernel][lpcxpresso55s69_ns] kernel cases meet ESF could not be retrieved successfully
* :github:`25604` - USB: enable/disable a class driver at runtime
* :github:`25600` - wifi_eswifi: Unable to start TCP/UDP client
* :github:`25592` - Remove checks on board undocumented DT strings
* :github:`25597` - west sign fails to find header size or padding
* :github:`25508` - tests: add additonal power management tests
* :github:`25507` - up_squared:tests/portability/cmsis_rtos_v2 failed.
* :github:`25482` - outdated recommendations for SYS_CLOCK_TICKS_PER_SEC
* :github:`25466` - log build errors are not helpful
* :github:`25434` - nRF5340 Bluetooth peripheral_hr sample high power consumption
* :github:`25413` - soc: ti_simplelink: kconfig: ble: placeholder for hal_ti
* :github:`25409` - Inconsistent naming of Kconfig options related to stack sizes of various Zephyr components
* :github:`25395` - Websocket Server API
* :github:`25379` - Bluetooth mesh example not working
* :github:`25314` - Bluetooth: controller: legacy: Backport conformance test related changes
* :github:`25302` - lwm2m client sample bootstrap server support
* :github:`25182` - Raspberry Pi 4B Support
* :github:`25173` - k_sem_give(struct k_sem \*sem) should report failure when the semaphore is full
* :github:`25164` - Remove ``default:`` functionality from devicetree bindings
* :github:`25015` - Bluetooth Isochronous Channels Support
* :github:`25010` - disco_l475_iot1 don't confirm MCUBoot slot-1 image
* :github:`24803` - ADC driver test hangs on atsame54_xpro
* :github:`24652` - sanitycheck doesn't keep my cores busy
* :github:`24453` - docs: Allow to use the exact current zephyr version number in place of /latest/ in documentation URLs
* :github:`24358` - deprecate and remove old k_mem_pool / sys_mem_pool APIs
* :github:`24338` - UICR & FICR missing from nRF52* devicetree files
* :github:`24211` - [v2.2.x] lib: updatehub: Not working on Zephyr 2.x
* :github:`23917` - Kconfig: problems with using backslash-escapes in "default" value of "string" option
* :github:`23874` - Test case to check registers data
* :github:`23866` - sample hci_usb fails with zephyr 2.2.0 (worked with zephyr 2.1.0)
* :github:`23729` - hifive1_revb fails to work with samples/subsys/console/getline
* :github:`23314` - Bluetooth: controller: Use defines for 625 us and 1250 us
* :github:`23302` - Poor TCP performance
* :github:`23212` - ARC: SMP: Enable use of ARConnect Inter-core Debug Unit
* :github:`23210` - mimxrt1050_evk:tests/net/iface failed with v1.14 branch.
* :github:`23063` - CMSIS v2 osThreadJoin does not work if thread exits with osThreadExit
* :github:`23062` - thread_num / thread_num_dynamic are never decremented in CMSIS v2 thread.c
* :github:`22942` - Missing TX power options for nRF52833
* :github:`22771` - z_x86_check_stack_bounds() doesn't work right for nested IRQs on x86-64
* :github:`22703` - Implement ADC driver for lpcxpresso55s69
* :github:`22411` - AArch64 / Cortex-A port improvements / TODO
* :github:`22333` - drivers: can: Check bus-timing values at compile-time
* :github:`22247` - Discussion: Supporting the Arduino ecosystem
* :github:`22198` - BMA280 Sample Code
* :github:`22185` - Add Thread Local Storage (TLS) support
* :github:`22060` - Build fails with gcc-arm-none-eabi-9-2019-q4-major
* :github:`21991` - memory domain locking may not be entirely correct
* :github:`21495` - x86_64: interrupt stack overflows are not caught
* :github:`21462` - x86_64 exceptions are not safely preemptible, and stack overflows are not caught
* :github:`21273` - devicetree: improved support for enum values
* :github:`21238` - Improve Zephyr HCI VS extension detection
* :github:`21216` - Ztest "1cpu" cases don't retarget interrupts on x86_64
* :github:`21179` - Reduce RAM consumption for civetweb HTTP sample
* :github:`20980` - ESP32 flash error with segment count error using esptool.py from esp-idf
* :github:`20925` - tests/kernel/fp_sharing/float_disable crashes on qemu_x86 with CONFIG_KPTI=n
* :github:`20821` - Do USE\_\(DT\_\)CODE\_PARTITION and FLASH_LOAD_OFFSET/SIZE need to be user-configurable?
* :github:`20792` - sys_pm: fragility in residency policy
* :github:`20775` - sys_pm_ctrl: fragility in managing state control
* :github:`20686` - tests/kernel/fp_sharing/float_disable failed when code coverage is enabled on qemu_x86.
* :github:`20518` - [Coverity CID :205647]Memory - illegal accesses in /tests/arch/x86/info/src/memmap.c
* :github:`20337` - sifive_gpio: gpio_basic_api test fails
* :github:`20262` - dt-binding for timers
* :github:`20118` - Zephyr BLE stack to work on the CC2650 Launchpad
* :github:`19850` - Bluetooth: Mesh: Modular settings handling
* :github:`19530` - Enhance sanitycheck/CI for separating build phase from testing
* :github:`19523` - Can't build fade-led example for any Nordic board
* :github:`19511` - net: TCP: echo server blocks after a packet with zero TCP options
* :github:`19497` - log subsystem APIs need to be clearly namespaced as public or private
* :github:`19467` - Error building samples with PWM
* :github:`19448` - devicetree: support disabled devices
* :github:`19435` - how to change uart tx rx pins in zephyr
* :github:`19380` - Potential bugs re. 'static inline' and static variables
* :github:`19244` - BLE throughput of DFU by Mcumgr is too slow
* :github:`19138` - zassert prints to UART even when RTT is selected
* :github:`19100` - LwM2M sample with DTLS: does not connect
* :github:`19003` - bluetooth : Mesh: adv thread can be replace by other methods.
* :github:`18927` - settings: deprecate base64 encoding
* :github:`18778` - soc: arm: nordic_nrf: Defining DT\_..._DEV_NAME
* :github:`18728` - sam_e70_xplained:tests/subsys/logging/log_core failed.
* :github:`18608` - PCA9685 PWM driver is broken
* :github:`18607` - DesignWare PWM driver is broken
* :github:`18601` - LwM2M client sample: an overlay for OpenThread support
* :github:`18551` - address-of-temporary idiom not allowed in C++
* :github:`18529` - fs/fcb: consider backport of mynewt fixes
* :github:`18276` - irq_connect_dynamic() is not tested on all arches
* :github:`17893` - dynamic threads don't work on x86 in some configurations
* :github:`17787` - openocd unable to flash hello_world to cc26x2r1_launchxl
* :github:`17743` - cross compiling for RISCV32 fails as compiler flags are not supplied by board but must be in target.cmake
* :github:`17645` - VSCode debugging Zephyr application
* :github:`17545` - Licensing and reference to public domain material
* :github:`17300` - [Zephyr v1.14.0] mcumgr: stm32: Strange Build warnings when counter is enabled
* :github:`17023` - userspace: thread indexes are not released when dynamic threads lose all references
* :github:`17014` - reentrancy protection in counter drivers?
* :github:`16766` - net: net_pkt_copy don't work as expected when data was pulled from destination
* :github:`16544` - drivers: spi: spi_mcux_lpspi: inconsistent chip select behaviour
* :github:`16438` - fs/FCB fs/NVS : requires unaligned flash read-out length capabilities,
* :github:`16237` - disco_l475_iot1: samples/bluetooth/ipsp ko since 3151d26
* :github:`16195` - k_uptime_delta(): Defective by design
* :github:`15944` - stm32: New Driver for FMC/FSMC
* :github:`15713` - MCUMGR_LOG build error
* :github:`15570` - Unbonded peripheral gets 'Tx Buffer Overflow' when erasing bond on master
* :github:`15372` - logging can't dump exceptions without losing data with CONFIG_LOG_PRINTK
* :github:`14591` - Infineon Tricore architecture support
* :github:`14571` - TCP: sending lots of data deadlocks with slow peer
* :github:`14300` - Bluetooth connection using central and peripheral samples in nrf52840
* :github:`13955` - stm32: Implement async uart api
* :github:`13591` - tests/blutooth/tester: ASSERTION FAIL due to Recursive spinlock when running bt tester on qemu-cortex-m3
* :github:`13396` - Cannot connect to Galaxy S8 via BLE
* :github:`13244` - How to encrypt advertise packet with zephyr and nrf52832 ？
* :github:`12368` - File descriptors: Compile fails with non-POSIX out-of-tree libc
* :github:`12353` - intel_s1000: SPI Flash Erase command doesn't work when booting from flash
* :github:`12239` - BLE400 / nRF51822 (nRF51) PWM clock too low (servo-motor example)
* :github:`12150` - Power management on nRF52 boards
* :github:`11912` - net: SimpleLink: Create real cross-platform port
* :github:`11770` - Multiprotocol feature for BLE/Thread
* :github:`10904` - Requirements for driver devices generation using device tree
* :github:`10857` - Migrating from CMSIS-Core to DeviceTree results in loss of type information
* :github:`10460` - Bluetooth: settings: No space to store CCC config after successful pairing
* :github:`10158` - Have support for probot with Zephyr
* :github:`10022` - Porting Modbus Library: Need some guidance
* :github:`9944` - sockets: Connect doesn't send new SYN in case the first connection attempt fails
* :github:`9883` - DTS processing generates unit_address_vs_reg warning on entries with 'reg'
* :github:`9875` - Bluetooth: Host LE Extended Advertising
* :github:`9783` - LwM2M: Cannot create object instance without specifying instance number
* :github:`9509` - Unable to upload firmware over serial with mcumgr
* :github:`9406` - Generate DTS 'compatible' based compilation flags
* :github:`9403` - is Support C++ standard library?
* :github:`9087` - driver: CAN interface should be compatible with CAN-FD interface
* :github:`8499` - Device Tree support overhaul
* :github:`8393` - ``CONFIG_MULTITHREADING=n`` builds call ``main()`` with interrupts locked
* :github:`8008` - net: Sockets (and likely net_context's) should not be closed behind application's back
* :github:`7939` - Connections to TI CC254x break after conn_update
* :github:`7404` - arch: arm: MSP initialization during early boot
* :github:`7331` - Precise time sync through BLE mesh.
* :github:`6857` - need to improve filtering and coverage in sanitycheck
* :github:`6818` - Question: Is  Lightweight OpenMP implementation supported in Zephyr? Or any plan?
* :github:`6648` - Trusted Execution Framework: practical use-cases (high-level overview)
* :github:`6199` - STM32: document dts porting rules
* :github:`6040` - Implement flash driver for LPC54114
* :github:`5626` - Building samples failed
* :github:`4420` - net: tcp: RST handling is weak
* :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:`3893` - Enhance k_stack_push() to check k_stack->top to avoid corruption
* :github:`3719` - Multiple consoles support.
* :github:`3441` - IP stack: No TCP send window handling
* :github:`3102` - Make newlib libc the default c library
* :github:`2247` - LE Controller: Change hal/ into a set of drivers
