blob: 570bbea95681c36c0a70440abb07c1a806ba16e2 [file] [log] [blame]
:orphan:
.. _zephyr_2.7:
Zephyr 2.7.0 (Working draft)
############################
We are pleased to announce the release of Zephyr RTOS version 2.7.0.
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
******************************
The following CVEs are addressed by this release:
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
***********
Deprecated in this release
* :c:macro:`DT_ENUM_TOKEN` and :c:macro:`DT_ENUM_UPPER_TOKEN`,
were deprecated in favor of utilizing
:c:macro:`DT_STRING_TOKEN` and :c:macro:`DT_STRING_UPPER_TOKEN`
Changes in this release
==========================
Removed APIs in this release
* Removed support for the deprecated ``DEVICE_INIT`` and ``DEVICE_AND_API_INIT`` macros.
* Removed support for the deprecated ``BUILD_ASSERT_MSG`` macro.
* Removed support for the deprecated ``GET_ARG1``, ``GET_ARG2`` and ``GET_ARGS_LESS_1`` macros.
* Removed support for the deprecated Kconfig ``PRINTK64`` option.
* Removed support for the deprecated ``bt_set_id_addr`` function.
* Removed support for the Kconfig ``USB`` option. Option ``USB_DEVICE_STACK``
is sufficient to enable USB device support.
* Removed ``CONFIG_OPENTHREAD_COPROCESSOR_SPINEL_ON_UART_ACM`` and
``CONFIG_OPENTHREAD_COPROCESSOR_SPINEL_ON_UART_DEV_NAME`` Kconfig options
in favor of chosen node ``zephyr,ot-uart``.
* Removed ``CONFIG_BT_UART_ON_DEV_NAME`` Kconfig option
in favor of direct use of chosen node ``zephyr,bt-uart``.
* Removed ``CONFIG_BT_MONITOR_ON_DEV_NAME`` Kconfig option
in favor of direct use of chosen node ``zephyr,bt-mon-uart``.
* Removed ``CONFIG_UART_MCUMGR_ON_DEV_NAME`` Kconfig option
in favor of direct use of chosen node ``zephyr,uart-mcumgr``.
* Removed ``CONFIG_UART_CONSOLE_ON_DEV_NAME`` Kconfig option
in favor of direct use of chosen node ``zephyr,console``.
* Removed ``CONFIG_UART_SHELL_ON_DEV_NAME`` Kconfig option
in favor of direct use of chosen node ``zephyr,shell-uart``.
============================
Stable API changes in this release
==================================
* Bluetooth
* Added :c:struct:`multiple` to the :c:struct:`bt_gatt_read_params` - this
structure contains two members: ``handles``, which was moved from
:c:struct:`bt_gatt_read_params`, and ``variable``.
Kernel
******
Architectures
*************
* ARC
* ARM
* AARCH32
* Updated CMSIS version to 5.8.0
* Added support for FPU in QEMU for Cortex-M, allowing to build and execute
tests in CI with FPU and FPU_SHARING options enabled.
* AARCH64
* x86
Bluetooth
*********
* Audio
* Host
* Mesh
* Added return value for opcode callback
* Bluetooth LE split software Controller
* HCI Driver
Boards & SoC Support
********************
* Added support for these SoC series:
* Removed support for these SoC series:
* Made these changes in other SoC series:
* Changes for ARC boards:
* Added support for these ARM boards:
* Added support for these ARM64 boards:
* Removed support for these ARM boards:
* Removed support for these X86 boards:
* Made these changes in other boards:
* Added support for these following shields:
Drivers and Sensors
*******************
* ADC
* Bluetooth
* CAN
* Clock Control
* Console
* Counter
* DAC
* Added support for Microchip MCP4725
* Disk
* Added SDMMC support on STM32L4+
* Display
* Added support for ST7735R
* Disk
* DMA
* Added support on STM32G0 and STM32H7
* EEPROM
* Added support for EEPROM emulated in flash.
* ESPI
* Added support for Microchip eSPI SAF
* Ethernet
* Flash
* GPIO
* Hardware Info
* I2C
* I2S
* IEEE 802.15.4
* Interrupt Controller
* LED
* LoRa
* lora_send now blocks until the transmission is complete. lora_send_async
can be used for the previous, non-blocking behaviour.
* Modem
* PWM
* Sensor
* Serial
* SPI
* Timer
* USB
* Watchdog
* WiFi
Networking
**********
* CoAP:
* DHCPv4:
* DNS:
* HTTP:
* IPv4:
* LwM2M:
* Misc:
* OpenThread:
* Socket:
* TCP:
* TLS:
USB
***
Build and Infrastructure
************************
* Devicetree
* Various compatibles had incorrect vendor prefixes in their :ref:`compatible
<dt-important-props>` properties; the following changes were made to fix
these.
* ``nios,i2c`` is now ``altr,nios2-i2c``
* ``colorway,lpd8803`` is now ``greeled,lpd8803``
* ``colorway,lpd8806`` is now ``greeled,lpd8806``
* ``grove,light`` is now ``seeed,grove-light``
* ``grove,temperature`` is now ``seeed,grove-temperature``
* ``max,max30101`` is now ``maxim,max30101``
* ``ublox,sara-r4`` is now ``u-blox,sara-r4``
* ``xtensa,core-intc`` is now ``cdns,xtensa-core-intc``
Out of tree users of these compatibles will need to update their
devicetrees.
You can support multiple versions of Zephyr with one devicetree by
including both the old and new values in your nodes' compatible properties,
like this example for the LPD8803::
my-led-strip@0 {
compatible = "colorway,lpd8803", "greeled,lpd8803";
...
};
* West (extensions)
Libraries / Subsystems
**********************
* Disk
* Management
* CMSIS subsystem
* Power management
* The APIs to set/clear/check if devices are busy from a power management
perspective have been moved to the PM subsystem. Their naming and signature
has also been adjusted to follow common conventions. Below you can find the
equivalence list.
* ``device_busy_set`` -> ``pm_device_busy_set``
* ``device_busy_clear`` -> ``pm_device_busy_clear``
* ``device_busy_check`` -> ``pm_device_is_busy``
* ``device_any_busy_check`` -> ``pm_device_is_any_busy``
* Logging
* Random
* xoroshiro128+ PRNG deprecated in favor of xoshiro128++
* Shell
* Storage
* Task Watchdog
* Tracing
* Debug
* OS
HALs
****
* HALs are now moved out of the main tree as external modules and reside in
their own standalone repositories.
Trusted Firmware-m
******************
* Renamed psa_level_1 sample to psa_crypto. Extended the use of the PSA Cryptography
1.0 API in the sample code to demonstrate additional crypto functionality.
* Added a new sample to showcase the PSA Protecter Storage service.
Documentation
*************
* Kconfig options need to be referenced using the ``:kconfig:`` Sphinx role.
Previous to this change, ``:option:`` was used for this purpose.
* Doxygen alias ``@config{}`` has been deprecated in favor of ``@kconfig{}``.
Tests and Samples
*****************
Issue Related Items
*******************
These GitHub issues were addressed since the previous 2.6.0 tagged
release: