:orphan: .. _zephyr_2.4: Zephyr 2.4.0 (Working Draft) ############################ We are pleased to announce the release of Zephyr RTOS version 2.4.0. Major enhancements with this release include: * Moved to using C99 integer types and deprecate Zephyr integer types. The Zephyr types can be enabled by Kconfig DEPRECATED_ZEPHYR_INT_TYPES option. 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 `_. API Changes *********** * Moved to using C99 integer types and deprecate Zephyr integer types. The Zephyr types can be enabled by Kconfig DEPRECATED_ZEPHYR_INT_TYPES option. * The ```` header has been promoted to a documented API with :ref:`experimental stability `. See :ref:`util_api` for an API reference. * The :c:func:`wdt_feed` function will now return ``-EAGAIN`` if issuing a feed would stall the caller. Application code may need to ignore this diagnostic result or initiate another feed operation later. Deprecated in this release ========================== Removed APIs in this release ============================ * Other * The deprecated ``MACRO_MAP`` macro has been removed from the :ref:`util_api`. Use ``FOR_EACH`` instead. Stable API changes in this release ================================== Kernel ****** Architectures ************* * ARC: * ARM: * Interrupt vector relaying feature support is extended to Cortex-M Mainline architecture variants * POSIX: * RISC-V: * x86: Boards & SoC Support ******************** * Added support for these SoC series: * Added support for these ARM boards: * 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 * Video * Watchdog * WiFi Networking ********** Bluetooth ********* * Host: * BLE split software Controller: * HCI Driver: * bt_hci_evt_is_prio() removed, use bt_hci_evt_get_flags() instead when CONFIG_BT_RECV_IS_RX_THREAD is defined and call bt_recv and bt_recv_prio when their flag is set, otherwise always call bt_recv(). Build and Infrastructure ************************ * Devicetree Libraries / Subsystems ********************** * Disk * Random * POSIX subsystem: * Power management: HALs **** * HALs are now moved out of the main tree as external modules and reside in their own standalone repositories. Documentation ************* Tests and Samples ***************** Issue Related Items ******************* These GitHub issues were addressed since the previous 2.3.0 tagged release: