Skip to content

Blog

USE_ESP_IDF Deprecated in Favor of USE_ESP32

The USE_ESP_IDF C++ define and related Python APIs are deprecated. Since Arduino-ESP32 is built on ESP-IDF, all IDF APIs are available on ESP32 regardless of framework selection.

This is a breaking change for external components in ESPHome 2026.1.0 and later.

Light State Callbacks: Listener Pattern Migration

The light component's callback system has been refactored to use a listener interface pattern with lazy allocation. This replaces the previous CallbackManager<void()> approach with explicit listener interfaces that only allocate memory when callbacks are actually registered.

This is a breaking change for external components that register light state callbacks in ESPHome 2025.12.0 and later.

Network get_use_address() Optimization

The network::get_use_address() function has been optimized to return const char* instead of const std::string& to reduce memory overhead. This eliminates unnecessary string object storage when accessing the device's network address.

This is a breaking change for external components that call network::get_use_address() in ESPHome 2025.11.0 and later.

Event Entity Class: Memory Optimizations

ESPHome 2025.11.0 introduces memory optimizations to the Event entity class that reduce heap usage and store event type strings in flash. These changes affect external components implementing custom event devices.

Light Entity Class: Memory Optimizations

ESPHome 2025.11.0 introduces memory optimizations to the Light entity class that reduce both heap and flash usage. These changes affect external components implementing custom light devices and effects.

Action Framework Performance Optimization

The core automation framework (actions, triggers, and conditions) has been optimized to use const references instead of pass-by-value for parameter passing. This reduces memory allocations by 83% in the automation execution path.

This is a breaking change for external components with custom actions or conditions in ESPHome 2025.11.0 and later.

Sunsetting support for IDF 4.x

At the beginning of this year, we made the transition from IDF 4.4 to IDF 5.1; this was a major upgrade and many changes were necessary within ESPHome to achieve this.