blob: 3428995bc6440a9dd867d8416a2ada28d5c27083 [file] [log] [blame]
:orphan:
.. _zephyr_3.1:
Zephyr 3.1.0 (Working Draft)
############################
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
******************************
Known issues
************
API Changes
***********
Changes in this release
=======================
* LoRaWAN: The message type parameter in :c:func:`lorawan_send` was changed
from ``uint8_t`` to ``enum lorawan_message_type``. If ``0`` was passed for
unconfirmed message, this has to be changed to ``LORAWAN_MSG_UNCONFIRMED``.
* Disk Subsystem: SPI mode SD cards now use the SD subsystem to communicate
with SD cards. See :ref:`the disk access api <disk_access_api>` for an
example of the new devicetree binding format required.
Removed APIs in this release
============================
* STM32F1 Serial wire JTAG configuration (SWJ CFG) configuration choice
was moved from Kconfig to :ref:`devicetree <dt-guide>`.
See the :dtcompatible:`st,stm32f1-pinctrl` devicetree binding for more information.
As a consequence, the following Kconfig symbols were removed:
* ``CONFIG_GPIO_STM32_SWJ_ENABLE``
* ``CONFIG_GPIO_STM32_SWJ_NONJTRST``
* ``CONFIG_GPIO_STM32_SWJ_NOJTAG``
* ``CONFIG_GPIO_STM32_SWJ_DISABLE``
Deprecated in this release
==========================
* :c:func:`nvs_init` is deprecated in favor of utilizing :c:func:`nvs_mount`.
* The TinyCBOR module has been deprecated in favor of the new zcbor CBOR
library, included with Zephyr in this release.
* SPI
* Deprecated the `gpio_dev`, `gpio_pin` and `gpio_dt_flags` members from
spi_cs_control struct in favor of `gpio_dt_spec` gpio.
* PWM
* The ``pin`` prefix has been removed from all PWM API calls. So for example,
``pwm_pin_set_cycles`` is now ``pwm_set_cycles``. The old API calls are
still provided but marked as deprecated.
* The PWM period is now always set in nanoseconds, so the ``_nsec`` and
``_usec`` set functions have been deprecated. Other units can be specified
using, e.g. ``PWM_USEC()`` macros, which convert down to nanoseconds.
Stable API changes in this release
==================================
Bluetooth
*********
* Host
* The enum bt_l2cap_chan_state values BT_L2CAP_CONNECT and BT_L2CAP_DISCONNECT
has been renamed to BT_L2CAP_CONNECTING and BT_L2CAP_DISCONNECTING.
* Moved the callbacks :c:func:`pairing_complete`, :c:func:`pairing_failed` and
:c:func:`bond_delete` from the `struct bt_auth_cb` to a newly created
informational-only callback `struct bt_auth_info_cb`.
* The :c:macro:bt_conn_index function now takes a `const struct bt_conn`.
New APIs in this release
========================
* Util
* Added :c:macro:`IN_RANGE` for checking if a value is in the range of two
other values.
* SDHC API
* Added the :ref:`SDHC api <sdhc_api>`, used to interact with SD host controllers.
Kernel
******
Architectures
*************
* ARM
* AARCH32
* AARCH64
* Xtensa
Bluetooth
*********
* Audio
* Direction Finding
* Host
* Mesh
* 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:
* Added support for these RISC-V boards:
* Made these changes in other boards:
* Added support for these following shields:
Drivers and Sensors
*******************
* ADC
* CAN
* Counter
* DAC
* Disk
* DMA
* EEPROM
* Entropy
* Ethernet
* Flash
* GPIO
* I2C
* I2S
* Interrupt Controller
* MBOX
* MEMC
* Pin control
* PWM
* Added :c:struct:`pwm_dt_spec` and associated helpers, e.g.
:c:macro:`PWM_DT_SPEC_GET` or :c:func:`pwm_set_dt`. This addition makes it
easier to use the PWM API when the PWM channel, period and flags are taken
from a Devicetree PWM cell.
* Sensor
* Serial
* SPI
* Timer
* USB
* Watchdog
Networking
**********
USB
***
Build and Infrastructure
************************
Libraries / Subsystems
**********************
* Management
* Added support for MCUMGR Parameters command, which can be used to obtain
MCUMGR parameters; :kconfig:option:`CONFIG_OS_MGMT_MCUMGR_PARAMS` enables
the command.
* Added mcumgr fs handler for getting file status which returns file size;
controlled with :kconfig:option:`CONFIG_FS_MGMT_FILE_STATUS`
* Added mcumgr fs handler for getting file hash/checksum, with support for
IEEE CRC32 and SHA256, the following Kconfig options have been added to
control the addition:
* :kconfig:option:`CONFIG_FS_MGMT_CHECKSUM_HASH` to enable the command;
* :kconfig:option:`CONFIG_FS_MGMT_CHECKSUM_HASH_CHUNK_SIZE` that sets size
of buffer (stack memory) used for calculation:
* :kconfig:option:`CONFIG_FS_MGMT_CHECKSUM_IEEE_CRC32` enables support for
IEEE CRC32.
* :kconfig:option:`CONFIG_FS_MGMT_HASH_SHA256` enables SHA256 hash support.
* When hash/checksum query to mcumgr does not specify a type, then the order
of preference (most priority) is CRC32 followed by SHA256.
* Added mcumgr os hook to allow an application to accept or decline a reset
request; :kconfig:option:`CONFIG_OS_MGMT_RESET_HOOK` enables the callback.
* SD Subsystem
* Added the SD subsystem, which is used by the
:ref:`disk access api <disk_access_api>` to interact with connected SD cards.
This subsystem uses the :ref:`SDHC api <sdhc_api>` to interact with the SD
host controller the SD device is connected to.
HALs
****
MCUboot
*******
Trusted Firmware-m
******************
Documentation
*************
Tests and Samples
*****************
Issue Related Items
*******************
These GitHub issues were addressed since the previous 3.0.0 tagged
release: