Zephyr 4.5.0 (Working Draft)
We are pleased to announce the release of Zephyr version 4.5.0.
Major enhancements with this release include:
An overview of the changes required or recommended when migrating your application from Zephyr v4.4.0 to Zephyr v4.5.0 can be found in the separate migration guide.
The following sections provide detailed lists of changes by component.
API Changes
Removed APIs and options
Networking
CONFIG_NET_TC_SKIP_FOR_HIGH_PRIOCONFIG_NET_SOCKETS_POLL_MAXnet_ipv6_set_hop_limit()net_if_ipv4_get_netmask()net_if_ipv4_set_netmask()net_if_ipv4_set_netmask_by_index()openthread_state_changed_cb_register()openthread_state_changed_cb_unregister()openthread_start()openthread_api_mutex_lock()openthread_api_mutex_try_lock()openthread_api_mutex_unlock()struct openthread_state_changed_cbTLS_CREDENTIAL_SERVER_CERTIFICATE
Random
CONFIG_CTR_DRBG_CSPRNG_GENERATORCONFIG_CS_CTR_DRBG_PERSONALIZATION
West sign support for imgtool, which was deprecated in Zephyr 4.0, has been removed.
Deprecated APIs and options
Audio Codec
The
audio_codec_apistruct has been deprecated. Audio codec drivers are now expected to use theDEVICE_APImacro to declare their driver API.
DMIC
The
_dmic_opsstruct has been deprecated. DMIC drivers are now expected to use theDEVICE_APImacro to declare their driver API.
Fuel Gauge
Deprecated various fuel gauge property enums and union fields in favor of new versions with explicit unit suffixes.
LoRa
Renamed
lora_recv_duty_cycle()tolora_recv_duty_cycle_async()to be consistent with the existing sync/async naming convention.
Nordic
The internal SoC platform Kconfig symbols
NRF_PLATFORM_HALTIUMandNRF_PLATFORM_LUMOShave been deprecated. Use specific SOC_SERIES_* Kconfig options instead.The sysbuild Kconfig option
SB_CONFIG_NRF_HALTIUM_GENERATE_UICRhas been renamed toSB_CONFIG_NRF_GENERATE_UICR.The Nordic SoC headers
<haltium_power.h>and<haltium_pm_s2ram.h>have been renamed to<soc_power.h>and<soc_pm_s2ram.h>respectively.
Ring buffer
The ring buffer item API (
ring_buf_item_init(),ring_buf_item_put(),ring_buf_item_get(),ring_buf_item_space_get()) has been deprecated in favor ofsys_ringq(see sys_ringq Data Structure).
New APIs and options
Audio
Bluetooth
Devicetree
Haptics
haptics_monitorhaptics_monitor_typehaptics_source
Kernel
LoRa
Network
Add
net_eth_set_if_type_wifi()to set the ethernet interface type to Wi-Fi.
New Boards
Arduino
Arduino Nesso N1 (
arduino_nesso_n1)
Seeed
Seeed Wio Tracker L1 (
wio_tracker_l1)
New Shields
New Drivers
GPIO
Diodes/Pericom PI4IOE5V6408 8-bit I2C-bus I/O expander (
diodes,pi4ioe5v6408).
Input
VIRTIO input device (
virtio,input).
New Samples
MCTP I2C GPIO Top Node Sample (renamed from
mctp_i2c_bus_owner)MCTP I3C Top Node Sample (renamed from
mctp_i3c_bus_owner)
Libraries / Subsystems
DFU
Added
CONFIG_IMG_CUSTOM_SECTOR_SIZEto allow MCUboot to use a different sector size for reducing the swap-using-offset status area size.
LoRa / LoRaWAN
Added a native LoRaWAN backend (
CONFIG_LORA_MODULE_BACKEND_NATIVE) that implements LoRaWAN 1.0.x Class A directly on top of the LoRa radio driver, without the Semtech LoRaMac-node dependency. Currently supports the EU868 region.
Devicetree
TF-M
TF-M was updated from version 2.2.2 to version 2.3.0. Release notes can be found at: https://trustedfirmware-m.readthedocs.io/en/tf-mv2.3.0/releases/2.3.0.html
Other notable changes
Kernel
CONFIG_SCHED_CPU_MASKno longer depends onCONFIG_SCHED_SIMPLE. CPU affinity masks are now supported on all three scheduler backends:SCHED_SIMPLE(O(N) list scan),SCHED_SCALABLE(O(N) red/black tree walk), andSCHED_MULTIQ(O(P·N) per-priority bucket scan). See the updated SMP documentation for per-backend performance notes.CONFIG_SCHED_CPU_MASK_PIN_ONLYnow enforces the one-CPU-bit invariant at both the API boundary (cpu_mask_mod()) and at queue time (thread_runq()). Callingk_thread_cpu_mask_clear(),k_thread_cpu_mask_enable_all(), ork_thread_cpu_mask_disable()in PIN_ONLY mode triggers an assertion failure. Usek_thread_cpu_pin()to reassign a thread to a different CPU.
Wi-Fi
Removed the
samples/net/wifi/test_certs/rsa2kenterprise test certificates (DES-encrypted private keys). Usersa2k_no_desinstead.