zephyr/doc/releases/release-notes-2.5.rst

325 lines
6.4 KiB
ReStructuredText

:orphan:
.. _zephyr_2.5:
Zephyr 2.5.0 (Working Draft)
############################
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.
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
******************************
The following CVEs are addressed by this release:
More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
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.
* 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.
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.
Removed APIs in this release
============================
Stable API changes in this release
==================================
Kernel
******
Architectures
*************
* ARC
* ARM
* AARCH32
* Introduced the functionality for chain-loadable Zephyr
fimrmware images to force the initialization of internal
architecture state during early system boot (Cortex-M).
* AARCH64
* POSIX
* RISC-V
* SPARC
* Added support for the SPARC architecture, compatible with the SPARC V8
specification and the SPARC ABI.
* x86
Boards & SoC Support
********************
* Added 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 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
* Made these changes in other boards:
* Added support for these following shields:
Drivers and Sensors
*******************
* ADC
* Audio
* Bluetooth
* CAN
* Clock Control
* Console
* Counter
* Crypto
* DAC
* Debug
* Display
* DMA
* EEPROM
* Entropy
* ESPI
* Ethernet
* Flash
* GPIO
* Hardware Info
* I2C
* I2S
* IEEE 802.15.4
* Interrupt Controller
* IPM
* Keyboard Scan
* LED
* LED Strip
* LoRa
* Modem
* PECI
* Pinmux
* PS/2
* PWM
* Sensor
* Serial
* SPI
* Timer
* USB
* 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.
* Video
* Watchdog
* WiFi
Networking
**********
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
Build and Infrastructure
************************
* Improved support for additional toolchains:
* Devicetree
* :c:macro:`DT_ENUM_IDX_OR`: new macro
* 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`.
Libraries / Subsystems
**********************
* Disk
* Management
* MCUmgr
* updatehub
* Settings
* Random
* POSIX subsystem
* Power management
* Logging
* LVGL
* Library has been updated to minor release v7.6.1
* Shell
* Storage
* flash_map: Added API to get the value of an erased byte in the flash_area,
see ``flash_area_erased_val()``.
* Tracing
* Debug
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.
* 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.
Documentation
*************
Tests and Samples
*****************
Issue Related Items
*******************
These GitHub issues were addressed since the previous 2.4.0 tagged
release: