orphan: |
---|
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.
The following CVEs are addressed by this release:
More detailed information can be found in: https://docs.zephyrproject.org/latest/security/vulnerabilities.html
You can check all currently known issues by listing them using the GitHub interface and listing all issues with the bug label.
- 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
<sys/util.h>
header has been promoted to a documented API with :ref:`experimental stability <api_lifecycle>`. 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.
- Other
- The deprecated
MACRO_MAP
macro has been removed from the :ref:`util_api`. UseFOR_EACH
instead.
- The deprecated
- ARC:
- ARM:
- Interrupt vector relaying feature support is extended to Cortex-M Mainline architecture variants
- POSIX:
- RISC-V:
- x86:
- Added support for these SoC series:
- Added support for these ARM boards:
- Made these changes in other boards
- Added support for these following shields:
- 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
- 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().
- Devicetree
- Disk
- Random
- POSIX subsystem:
- Power management:
- LVGL
- Library has been updated to the new major release v7.0.2.
- It is important to note that v7 introduces multiple API changes and new configuration settings, so applications developed on v6 or previous versions will likely require some porting work. Refer to LVGL 7 Release notes for more information.
- LVGL Kconfig constants have been aligned with upstream suggested defaults.
If your application relies on any of the following Kconfig defaults consider
checking if the new values are good or they need to be adjusted:
- :option:`CONFIG_LVGL_HOR_RES`
- :option:`CONFIG_LVGL_VER_RES`
- :option:`CONFIG_LVGL_DPI`
- :option:`CONFIG_LVGL_SCREEN_REFRESH_PERIOD`
- :option:`CONFIG_LVGL_INPUT_REFRESH_PERIOD`
- :option:`CONFIG_LVGL_INPUT_DRAG_THROW_SLOW_DOWN`
- :option:`CONFIG_LVGL_TEXT_LINE_BREAK_LONG_LEN`
- :option:`CONFIG_LVGL_OBJ_CHART_AXIS_TICK_LABEL_MAX_LEN`
- Note that ROM usage is significantly higher on v7 for minimal configurations. This is in part due to new features such as the new drawing system. LVGL maintainers are currently investigating ways for reducing the library footprint when some options are not enabled, so you should wait for future releases if higher ROM usage is a concern for your application.
- HALs are now moved out of the main tree as external modules and reside in their own standalone repositories.
These GitHub issues were addressed since the previous 2.3.0 tagged release: