| :orphan: |
| |
| .. _zephyr_3.2: |
| |
| Zephyr 3.2.0 (Working Draft) |
| ############################ |
| |
| The following sections provide detailed lists of changes by component. |
| |
| Security Vulnerability Related |
| ****************************** |
| |
| Known issues |
| ************ |
| |
| API Changes |
| *********** |
| |
| Changes in this release |
| ======================= |
| |
| * Zephyr now requires Python 3.8 or higher |
| |
| * Changed :c:struct:`spi_cs_control` to remove anonymous struct. |
| This causes possible breakage for static initialization of the |
| struct. Updated :c:macro:`SPI_CS_CONTROL_PTR_DT` to reflect |
| this change. |
| |
| * The :kconfig:option:`CONFIG_LEGACY_INCLUDE_PATH` option has been disabled by |
| default, all upstream code and modules have been converted to use |
| ``<zephyr/...>`` header paths. The option is still available to facilitate |
| the migration of external applications, but will be removed with the 3.4 |
| release. The :zephyr_file:`scripts/utils/migrate_includes.py` script is |
| provided to automate the migration. |
| |
| * :zephyr_file:`include/zephyr/zephyr.h` no longer defines ``__ZEPHYR__``. |
| This definition can be used by third-party code to compile code conditional |
| to Zephyr. The definition is already injected by the Zephyr build system. |
| Therefore, any third-party code integrated using the Zephyr build system will |
| require no changes. External build systems will need to inject the definition |
| by themselves, if they did not already. |
| |
| Removed APIs in this release |
| ============================ |
| |
| * The following functions, macros, and structures related to the |
| deprecated kernel work queue API have been removed: |
| |
| * ``k_work_pending()`` |
| * ``k_work_q_start()`` |
| * ``k_delayed_work`` |
| * ``k_delayed_work_init()`` |
| * ``k_delayed_work_submit_to_queue()`` |
| * ``k_delayed_work_submit()`` |
| * ``k_delayed_work_pending()`` |
| * ``k_delayed_work_cancel()`` |
| * ``k_delayed_work_remaining_get()`` |
| * ``k_delayed_work_expires_ticks()`` |
| * ``k_delayed_work_remaining_ticks()`` |
| * ``K_DELAYED_WORK_DEFINE`` |
| |
| * Removed support for enabling passthrough mode on MPU9150 to |
| AK8975 sensor. |
| |
| * Removed deprecated SPI :c:struct:`spi_cs_control` fields for GPIO management |
| that have been replaced with :c:struct:`gpio_dt_spec`. |
| |
| Deprecated in this release |
| ========================== |
| |
| * :c:macro:`DT_SPI_DEV_CS_GPIOS_LABEL` and |
| :c:macro:`DT_INST_SPI_DEV_CS_GPIOS_LABEL` are deprecated in favor of |
| utilizing :c:macro:`DT_SPI_DEV_CS_GPIOS_CTLR` and variants. |
| |
| * :c:macro:`DT_GPIO_LABEL`, :c:macro:`DT_INST_GPIO_LABEL`, |
| :c:macro:`DT_GPIO_LABEL_BY_IDX`, and :c:macro:`DT_INST_GPIO_LABEL_BY_IDX`, |
| are deprecated in favor of utilizing :c:macro:`DT_GPIO_CTLR` and variants. |
| |
| * :c:macro:`DT_LABEL`, and :c:macro:`DT_INST_LABEL`, are deprecated |
| in favor of utilizing :c:macro:`DT_PROP` and variants. |
| |
| * :c:macro:`DT_BUS_LABEL`, and :c:macro:`DT_INST_BUS_LABEL`, are deprecated |
| in favor of utilizing :c:macro:`DT_BUS` and variants. |
| |
| * STM32 LPTIM domain clock should now be configured using devicetree. |
| Related Kconfig :kconfig:option:`CONFIG_STM32_LPTIM_CLOCK` option is now |
| deprecated. |
| |
| * 'label' property from devicetree as a base property. The property is still |
| valid for specific bindings to specify like :dtcompatible:`gpio-leds` and |
| :dtcompatible:`fixed-partitions`. |
| |
| Stable API changes in this release |
| ================================== |
| |
| New APIs in this release |
| ======================== |
| |
| Kernel |
| ****** |
| |
| * Source files using multiple :c:macro:`SYS_INIT` macros with the |
| same initialisation function must now use :c:macro:`SYS_INIT_NAMED` |
| with unique names per instance. |
| |
| Architectures |
| ************* |
| |
| * ARM |
| |
| * AARCH32 |
| |
| * AARCH64 |
| |
| * Xtensa |
| |
| Bluetooth |
| ********* |
| |
| * Audio |
| |
| * Direction Finding |
| |
| * Host |
| |
| * Added a new callback :c:func:`rpa_expired` in the struct :c:struct:`bt_le_ext_adv_cb` |
| to enable synchronization of the advertising payload updates with the Resolvable Private |
| Address (RPA) rotations when the :kconfig:option:`CONFIG_BT_PRIVACY` is enabled. |
| * Added a new :c:func:`bt_le_set_rpa_timeout()` API call to dynamically change the |
| the Resolvable Private Address (RPA) timeout when the :kconfig:option:`CONFIG_BT_RPA_TIMEOUT_DYNAMIC` |
| is enabled. |
| * Added :c:func:`bt_conn_auth_cb_overlay` to overlay authentication callbacks for a Bluetooth LE connection. |
| * Removed ``CONFIG_BT_HCI_ECC_STACK_SIZE``. |
| The Bluetooth long workqueue (:kconfig:option:`CONFIG_BT_LONG_WQ`) is used for processing ECC commands instead of the dedicated thread. |
| * :c:func:`bt_conn_get_security` and `bt_conn_enc_key_size` now take a ``const struct bt_conn*`` argument. |
| |
| * 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 |
| |
| * IEEE 802.15.4 |
| |
| * All IEEE 802.15.4 drivers have been converted to Devicetree-based drivers. |
| |
| * Interrupt Controller |
| |
| * MBOX |
| |
| * MEMC |
| |
| * Pin control |
| |
| * PWM |
| |
| * Sensor |
| |
| * Serial |
| |
| * SPI |
| |
| * Timer |
| |
| * USB |
| |
| * Watchdog |
| |
| * Added support for Raspberry Pi Pico watchdog. |
| |
| Networking |
| ********** |
| |
| * ``CONFIG_NET_CONFIG_IEEE802154_DEV_NAME`` has been removed in favor of |
| using a Devicetree choice given by ``zephyr,ieee802154``. |
| |
| * Added new Wi-Fi offload APIs for retrieving status and statistics. |
| |
| USB |
| *** |
| |
| Build System |
| ************ |
| |
| Devicetree |
| ********** |
| |
| * API |
| |
| * Bindings |
| |
| Libraries / Subsystems |
| ********************** |
| |
| * Management |
| |
| * MCUMGR race condition when using the task status function whereby if a |
| thread state changed it could give a falsely short process list has been |
| fixed. |
| |
| HALs |
| **** |
| |
| MCUboot |
| ******* |
| |
| Trusted Firmware-m |
| ****************** |
| |
| Documentation |
| ************* |
| |
| Tests and Samples |
| ***************** |
| |
| Issue Related Items |
| ******************* |
| |
| These GitHub issues were addressed since the previous 3.1.0 tagged |
| release: |