Skip to content

2026

Listener Interface Pattern for OTA and Alarm Control Panel

The OTA component now uses a listener interface instead of std::function callbacks. The alarm control panel component has removed per-state callback methods in favor of a unified state callback.

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

Socket and ClientInfo std::string Removal

The Socket class virtual methods getpeername() and getsockname() that returned std::string have been removed. The ClientInfo struct no longer contains std::string fields.

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

Entity Getters Now Return StringRef

Several entity component getters now return StringRef instead of const char* or std::string. This improves safety by eliminating null pointer crashes and provides a modern C++ API.

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

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.