Zephyr 4.3.0 (Working Draft)

We are pleased to announce the release of Zephyr version 4.3.0.

Major enhancements with this release include:

USB Device “Next” stack is now the default

The new USB device stack, built on the modern UDC (USB Device Controller) API, replaces the legacy stack and brings support for multiple simultaneous controllers, runtime configuration, and overall better architecture. The legacy stack is now deprecated and will be removed in Zephyr 4.5.

CPU load and dynamic frequency scaling subsystems

A new experimental CPU frequency scaling subsystem enables dynamic, policy-driven, clock adjustments to balance power consumption and performance. Alongside it, a new CPU load subsystem allows to obtain CPU usage metrics based on scheduler statistics, which can be used to drive the frequency scaling policy.

Instrumentation Subsystem

A new instrumentation subsystem simplifies tracing and profiling of Zephyr applications by leveraging compiler-managed function instrumentation, allowing to record call-graph traces and statistical profiles at runtime.

OCPP 1.6 library

A new OCPP (Open Charge Point Protocol) library enables EV charging station development with Zephyr. The library implements OCPP 1.6 Charge Point functionality over WebSocket, supporting core profile operations including authorization, transaction management, and meter value reporting for communication with Central System servers.

Twister Display Harness

Twister can now validate on-target display output by capturing frames from a USB video camera and matching them against pre-recorded visual “fingerprints”.

Developer Experience Improvements

Several new tools have been introduced to help with common development and troubleshooting tasks:

Expanded Board Support

Support for 105 new boards and 39 new shields has been added in this release.

An overview of the changes required or recommended when migrating your application from Zephyr v4.2.0 to Zephyr v4.3.0 can be found in the separate migration guide.

The following sections provide detailed lists of changes by component.

API Changes

  • Crypto

    • The input buffer in hash_pkt is now constant

Removed APIs and options

  • The TinyCrypt library was removed as the upstream version is no longer maintained. PSA Crypto API is now the recommended cryptographic library for Zephyr.

  • The legacy pipe object API was removed. Use the new pipe API instead.

  • bt_le_set_auto_conn

  • CONFIG_BT_BUF_ACL_RX_COUNT

  • ok enum value has now been removed completely from base.yaml binding status property in devicetree.

  • STM32 LPTIM clock source selection through Kconfig was removed. Device Tree must now be used instead. Affected Kconfig symbols: CONFIG_STM32_LPTIM_CLOCK_LSI / CONFIG_STM32_LPTIM_CLOCK_LSI

Deprecated APIs and options

New APIs and options

New Boards

New Shields

New Drivers

New Samples

Libraries / Subsystems

Other notable changes

  • Nordic Semiconductor nRF54L09 PDK (nrf54l09pdk), which only targeted an emulator, has been removed from the tree. It will be replaced with a proper board definition as soon as it’s available.

  • Removed support for Nordic Semiconductor nRF54L20 PDK (nrf54l20pdk) since it is replaced with nRF54LM20 DK (nrf54lm20dk).