371 lines
9.7 KiB
ReStructuredText
371 lines
9.7 KiB
ReStructuredText
:orphan:
|
|
|
|
.. _zephyr_3.3:
|
|
|
|
Zephyr 3.3.0 (Working Draft)
|
|
############################
|
|
|
|
We are pleased to announce the release of Zephyr version 3.3.0.
|
|
|
|
Major enhancements with this release include:
|
|
|
|
The following sections provide detailed lists of changes by component.
|
|
|
|
Security Vulnerability Related
|
|
******************************
|
|
|
|
API Changes
|
|
***********
|
|
|
|
Changes in this release
|
|
=======================
|
|
* Bluetooth: :kconfig:option:`CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER`
|
|
and :kconfig:option:`CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER` have been
|
|
added to enable the PAST implementation rather than
|
|
:kconfig:option:`CONFIG_BT_CONN`.
|
|
* Flashdisk: :kconfig:option:`CONFIG_DISK_FLASH_VOLUME_NAME`,
|
|
:kconfig:option:`CONFIG_DISK_FLASH_DEV_NAME`,
|
|
:kconfig:option:`CONFIG_DISK_FLASH_START`,
|
|
:kconfig:option:`CONFIG_DISK_FLASH_MAX_RW_SIZE`,
|
|
:kconfig:option:`CONFIG_DISK_ERASE_BLOCK_SIZE`,
|
|
:kconfig:option:`CONFIG_DISK_FLASH_ERASE_ALIGNMENT`,
|
|
:kconfig:option:`CONFIG_DISK_VOLUME_SIZE` and
|
|
:kconfig:option:`CONFIG_DISK_FLASH_SECTOR_SIZE` Kconfig options have been
|
|
removed in favor of new :dtcompatible:`zephyr,flash-disk` devicetree binding.
|
|
|
|
- Starting from this release ``zephyr-`` prefixed tags won't be created
|
|
anymore. The project will continue using ``v`` tags, for example ``v3.3.0``.
|
|
|
|
Removed APIs in this release
|
|
============================
|
|
|
|
* Removed :kconfig:option:`CONFIG_COUNTER_RTC_STM32_LSE_DRIVE*`
|
|
This should now be configured using the ``driving_capability`` property of
|
|
LSE clock
|
|
|
|
* Removed :kconfig:option:`CONFIG_COUNTER_RTC_STM32_LSE_BYPASS`
|
|
This should now be configured using the new ``lse_bypass`` property of
|
|
LSE clock
|
|
|
|
* Removed :kconfig:option:`CONFIG_COUNTER_RTC_STM32_BACKUP_DOMAIN_RESET`
|
|
|
|
Deprecated in this release
|
|
==========================
|
|
|
|
* MCUmgr subsystem, specifically the SMP transport API, is dropping `zephyr_`
|
|
prefix, deprecating prefixed functions and callback type definitions with the
|
|
prefix and replacing them with with prefix-less variants.
|
|
The :c:struct:`zephyr_smp_transport` type, representing transport object,
|
|
is now replaced with :c:struct:`smp_transport`, and the later one is used,
|
|
instead of the former one, by all prefix-less functions.
|
|
|
|
Deprecated functions and their replacements:
|
|
|
|
.. table::
|
|
:align: center
|
|
|
|
+-------------------------------------+---------------------------------------+
|
|
| Deprecated | Drop in replacement |
|
|
+=====================================+=======================================+
|
|
| :c:func:`zephyr_smp_transport_init` | :c:func:`smp_transport_init` |
|
|
+-------------------------------------+---------------------------------------+
|
|
| :c:func:`zephyr_smp_rx_req` | :c:func:`smp_rx_req` |
|
|
+-------------------------------------+---------------------------------------+
|
|
| :c:func:`zephyr_smp_alloc_rsp` | :c:func:`smp_alloc_rsp` |
|
|
+-------------------------------------+---------------------------------------+
|
|
| :c:func:`zephyr_smp_free_buf` | :c:func:`smp_free_buf` |
|
|
+-------------------------------------+---------------------------------------+
|
|
|
|
Deprecated callback types and their replacements:
|
|
|
|
.. table::
|
|
:align: center
|
|
|
|
+---------------------------------------------+---------------------------------------+
|
|
| Deprecated | Drop in replacement |
|
|
+=============================================+=======================================+
|
|
| :c:func:`zephyr_smp_transport_out_fn` | :c:func:`smp_transport_out_fn` |
|
|
+---------------------------------------------+---------------------------------------+
|
|
| :c:func:`zephyr_smp_transport_get_mtu_fn` | :c:func:`smp_transport_get_mtu_fn` |
|
|
+---------------------------------------------+---------------------------------------+
|
|
| :c:func:`zephyr_smp_transport_ud_copy_fn` | :c:func:`smp_transport_ud_copy_fn` |
|
|
+---------------------------------------------+---------------------------------------+
|
|
| :c:func:`zephyr_smp_transport_ud_free_fn` | :c:func:`smp_transport_ud_free_fn` |
|
|
+---------------------------------------------+---------------------------------------+
|
|
|
|
NOTE: Only functions are marked as ``__deprecated``, type definitions are not.
|
|
|
|
* STM32 RTC source clock should now be configured using devicetree.
|
|
Related Kconfig :kconfig:option:`CONFIG_COUNTER_RTC_STM32_CLOCK_LSI` and
|
|
:kconfig:option:`CONFIG_COUNTER_RTC_STM32_CLOCK_LSE` options are now
|
|
deprecated.
|
|
|
|
Stable API changes in this release
|
|
==================================
|
|
|
|
* MCUmgr events have been reworked to use a single, unified callback system.
|
|
This allows better customisation of the callbacks with a lower flash size.
|
|
Applications using the existing callback system will need to be upgraded to
|
|
use the new API by following the :ref:`migration guide <mcumgr_cb_migration>`
|
|
|
|
New APIs in this release
|
|
========================
|
|
|
|
Kernel
|
|
******
|
|
|
|
Architectures
|
|
*************
|
|
|
|
* ARM
|
|
|
|
* ARM
|
|
|
|
* ARM64
|
|
|
|
* RISC-V
|
|
|
|
* Xtensa
|
|
|
|
Bluetooth
|
|
*********
|
|
|
|
* Audio
|
|
|
|
* Direction Finding
|
|
|
|
* Host
|
|
|
|
* Fixed missing calls to bt_le_per_adv_sync_cb.term when deleting a periodic
|
|
advertising sync object.
|
|
|
|
* Mesh
|
|
|
|
* Change default advertiser to be extended advertiser.
|
|
|
|
* 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:
|
|
|
|
* Added support for these Xtensa boards:
|
|
|
|
* Removed support for these Xtensa boards:
|
|
|
|
* Made these changes in other boards:
|
|
|
|
* Added support for these following shields:
|
|
|
|
Build system and infrastructure
|
|
*******************************
|
|
|
|
Drivers and Sensors
|
|
*******************
|
|
|
|
* ADC
|
|
|
|
* CAN
|
|
|
|
* Clock control
|
|
|
|
* Counter
|
|
|
|
* STM32 RTC based counter should now be configured using device tree.
|
|
|
|
* Crypto
|
|
|
|
* DAC
|
|
|
|
* DFU
|
|
|
|
* Disk
|
|
|
|
* Display
|
|
|
|
* DMA
|
|
|
|
* EEPROM
|
|
|
|
* Entropy
|
|
|
|
* ESPI
|
|
|
|
* Ethernet
|
|
|
|
* Flash
|
|
|
|
* NRF: Added CONFIG_SOC_FLASH_NRF_TIMEOUT_MULTIPLIER to allow tweaking the timeout of flash operations.
|
|
|
|
* GPIO
|
|
|
|
* I2C
|
|
|
|
* I2S
|
|
|
|
* I3C
|
|
|
|
* IEEE 802.15.4
|
|
|
|
* Interrupt Controller
|
|
|
|
* IPM
|
|
|
|
* KSCAN
|
|
|
|
* LED
|
|
|
|
* MBOX
|
|
|
|
* MEMC
|
|
|
|
* PCIE
|
|
|
|
* PECI
|
|
|
|
* Pin control
|
|
|
|
* PWM
|
|
|
|
* Power domain
|
|
|
|
* Reset
|
|
|
|
* SDHC
|
|
|
|
* Sensor
|
|
|
|
* Serial
|
|
|
|
* SPI
|
|
|
|
* Timer
|
|
|
|
* USB
|
|
|
|
* W1
|
|
|
|
* Watchdog
|
|
|
|
* WiFi
|
|
|
|
Networking
|
|
**********
|
|
|
|
IPv4 packet fragmentation support has been added, this allows large packets to
|
|
be split up before sending or reassembled during receive for packets that are
|
|
larger than the network device MTU. This is disabled by default but can be
|
|
enabled with :kconfig:option:`CONFIG_NET_IPV4_FRAGMENT`.
|
|
|
|
USB
|
|
***
|
|
|
|
Devicetree
|
|
**********
|
|
|
|
* Bindings
|
|
|
|
* New:
|
|
|
|
* :dtcompatible:`zephyr,flash-disk`
|
|
|
|
* STM32 SoCs:
|
|
|
|
* :dtcompatible: `st,stm32-lse-clock`: new ``lse-bypass`` property
|
|
|
|
Libraries / Subsystems
|
|
**********************
|
|
|
|
* Management
|
|
|
|
* MCUmgr functionality deprecated in 3.1 has been removed:
|
|
CONFIG_FS_MGMT_UL_CHUNK_SIZE, CONFIG_IMG_MGMT_UL_CHUNK_SIZE,
|
|
CONFIG_OS_MGMT_ECHO_LENGTH
|
|
* MCUmgr fs_mgmt issue with erasing a file prior to writing the first block
|
|
of data has been worked around by only truncating/deleting the file data
|
|
if the file exists. This can help work around an issue whereby logging is
|
|
enabled and the command is sent on the same UART as the logging system, in
|
|
which a filesystem error was emitted.
|
|
* A MCUmgr bug when using the smp_svr sample with Bluetooth transport that
|
|
could have caused a stack overflow has been fixed.
|
|
* A MCUmgr issue with Bluetooth transport that could cause a deadlock of the
|
|
mcumgr thread if the remote device disconnected before the output message
|
|
was sent has been fixed.
|
|
* A MCUmgr img_mgmt bug whereby the state of an image upload could persist
|
|
when it was no longer valid (e.g. after an image erase command) has been
|
|
fixed.
|
|
* MCUmgr fs_mgmt command has been added that allows querying/listing the
|
|
supported hash/checksum types.
|
|
* MCUmgr Bluetooth transport will now clear unprocessed commands sent if a
|
|
remote device disconnects instead of processing them.
|
|
* A new MCUmgr transport function pointer has been added which needs
|
|
registering in ``smp_transport_init`` for removing invalid packets for
|
|
connection-orientated transports. If this is unimplemented, the function
|
|
pointer can be set to NULL.
|
|
* MCUmgr command handler definitions have changed, the ``mgmt_ctxt`` struct
|
|
has been replaced with the ``smp_streamer`` struct, the zcbor objects need
|
|
to replace ``cnbe`` object access with ``writer`` and ``cnbd`` object
|
|
access with ``reader`` to successfully build.
|
|
* MCUmgr callback system has been reworked with a unified singular interface
|
|
which supports status passing to the handler (:ref:`mcumgr_callbacks`).
|
|
|
|
* LwM2M
|
|
|
|
* The ``lwm2m_senml_cbor_*`` files have been regenerated using zcbor 0.6.0.
|
|
|
|
HALs
|
|
****
|
|
|
|
MCUboot
|
|
*******
|
|
|
|
Trusted Firmware-M
|
|
******************
|
|
|
|
zcbor
|
|
*****
|
|
|
|
Upgraded zcbor to 0.6.0. Among other things, this brings in a few convenient
|
|
changes for Zephyr:
|
|
|
|
* In the zcbor codebase, the ``ARRAY_SIZE`` macro has been renamed to
|
|
``ZCBOR_ARRAY_SIZE`` to not collide with Zephyr's :c:macro:`ARRAY_SIZE` macro.
|
|
* The zcbor codebase now better supports being used in C++ code.
|
|
|
|
The entire release notes can be found at
|
|
https://github.com/zephyrproject-rtos/zcbor/blob/0.6.0/RELEASE_NOTES.md
|
|
|
|
Documentation
|
|
*************
|
|
|
|
Tests and Samples
|
|
*****************
|
|
|
|
Issue Related Items
|
|
*******************
|
|
|
|
Known Issues
|
|
============
|
|
|
|
Addressed issues
|
|
================
|