ESPHome 2025.12.0 - December 2025
Read the ESPHome 2025.12.0 release notes on the blog for the release overview, feature highlights, upgrade checklist, and breaking changes.
Full list of changes
Section titled “Full list of changes”New Features
Section titled “New Features”- [nrf52] add settings for dcdc converter esphome#11841 by @tomaszduda23 (new-feature)
- [config] !extend / !remove support for LVGL-style configs esphome#11534 by @jpeletier (new-feature)
- [stts22h] Add support for STTS22H temperature sensor esphome#11778 by @B48D81EFCC (new-component) (new-feature) (new-platform)
- [hc8] Add support for HC8 CO2 sensor esphome#11872 by @omartijn (new-component) (new-feature) (new-platform)
- [climate_ir] Add optional humidity sensor esphome#9805 by @damib (new-feature)
- [mcp3204] differential mode support esphome#7436 by @markodraca (new-feature)
- [bm8563] Add bm8563 component esphome#11616 by @abmantis (new-component) (new-feature) (new-platform)
- [mipi_dsi] add guition JC4880P443 display esphome#12068 by @23900 (new-feature)
- [wifi] ap_active condition esphome#11852 by @AzonInc (new-feature)
- [thermopro_ble] Add thermopro ble support esphome#11835 by @sittner (new-component) (new-feature) (new-platform)
- [prometheus] Add event and text base components metrics esphome#10240 by @jzucker2 (new-feature)
- [api] Connected Condition - state_subscription_only flag esphome#11906 by @AzonInc (new-feature)
- Add more lvgl arc update parameters esphome#12066 by @bdm310 (new-feature)
- [lvgl] Add missing obj scroll properties esphome#11901 by @clydebarrow (new-feature)
- [lvgl] Automatically pad rows and columns esphome#11879 by @clydebarrow (new-feature)
- [lvgl] Add option to sync updates with display esphome#11896 by @clydebarrow (new-feature)
- [lvgl] Allow setting text directly on a button esphome#11964 by @clydebarrow (new-feature)
- [epaper_spi] Add SSD1677 and Waveshare 4.26 esphome#11887 by @clydebarrow (new-feature)
- [esp32] Improve IDF component support esphome#12127 by @swoboda1337 (new-feature)
- [mipi_spi] add guition JC4827W543 C/R esphome#12034 by @jpeletier (new-feature)
- Add MEASUREMENT_ANGLE to SensorStateClass esphome#12085 by @jakubcermak (new-feature)
- [psram] Add C5 support esphome#12215 by @swoboda1337 (new-feature)
- [remote_transmitter, remote_receiver] Add RP2040 support esphome#12048 by @j-be (new-feature)
- [esp32] Place FreeRTOS functions in flash by default (prep for IDF 6.0) esphome#12182 by @bdraco (new-feature)
- [esp32] Place ring buffer functions in flash by default (prep for IDF 6.0) esphome#12184 by @bdraco (new-feature)
- [gree]
turbo,light,health,xfanswitches for supported models esphome#12160 by @nagyrobi (new-feature) (new-platform) - [cc1101] Add new cc1101 component esphome#11849 by @lygris (new-component) (new-feature)
- [wifi, wifi_info] Add a WiFi power mode text sensor esphome#11480 by @kahrendt (new-feature)
- [sps30] Add idle mode functionality esphome#12255 by @c0mputerguru (new-feature)
- [hub75] HUB75 display component esphome#11153 by @stuartparmenter (new-component) (new-feature) (new-platform)
- [mipi_spi] Add M5CORE2 model that extends the ILI9341 driver chip esphome#12301 by @lboue (new-feature)
- [api] Device defined action responses esphome#12136 by @jesserockz (new-feature)
- Add seeed_xiao_esp32c6 board definition esphome#12307 by @berikv (new-feature)
- [hlw8032] Single-phase metering IC esphome#7241 by @rici4kubicek (new-component) (new-feature) (new-platform)
- [usb_cdc_acm] New component esphome#11687 by @kbx81 (new-component) (new-feature)
- [pca9685] Allow to disable the phase balancer for PCA9685 esphome#9792 by @jonau (new-feature)
- [mipi_rgb] Add Waveshare 3.16 esphome#12309 by @clydebarrow (new-feature)
- [core] Packages refactor and conditional package inclusion (package refactor part 1) esphome#11605 by @jpeletier (new-feature)
- [cc1101] Add packet mode support esphome#12474 by @swoboda1337 (new-feature)
New Components
Section titled “New Components”- [stts22h] Add support for STTS22H temperature sensor esphome#11778 by @B48D81EFCC (new-component) (new-feature) (new-platform)
- [hc8] Add support for HC8 CO2 sensor esphome#11872 by @omartijn (new-component) (new-feature) (new-platform)
- [bm8563] Add bm8563 component esphome#11616 by @abmantis (new-component) (new-feature) (new-platform)
- [thermopro_ble] Add thermopro ble support esphome#11835 by @sittner (new-component) (new-feature) (new-platform)
- [cc1101] Add new cc1101 component esphome#11849 by @lygris (new-component) (new-feature)
- [hub75] HUB75 display component esphome#11153 by @stuartparmenter (new-component) (new-feature) (new-platform)
- [hlw8032] Single-phase metering IC esphome#7241 by @rici4kubicek (new-component) (new-feature) (new-platform)
- [usb_cdc_acm] New component esphome#11687 by @kbx81 (new-component) (new-feature)
New Platforms
Section titled “New Platforms”- [stts22h] Add support for STTS22H temperature sensor esphome#11778 by @B48D81EFCC (new-component) (new-feature) (new-platform)
- [hc8] Add support for HC8 CO2 sensor esphome#11872 by @omartijn (new-component) (new-feature) (new-platform)
- [bm8563] Add bm8563 component esphome#11616 by @abmantis (new-component) (new-feature) (new-platform)
- [thermopro_ble] Add thermopro ble support esphome#11835 by @sittner (new-component) (new-feature) (new-platform)
- [gree]
turbo,light,health,xfanswitches for supported models esphome#12160 by @nagyrobi (new-feature) (new-platform) - [hub75] HUB75 display component esphome#11153 by @stuartparmenter (new-component) (new-feature) (new-platform)
- [hlw8032] Single-phase metering IC esphome#7241 by @rici4kubicek (new-component) (new-feature) (new-platform)
Breaking Changes
Section titled “Breaking Changes”- [core] Deprecate unsafe const char
*APIs in mark_failed() and status_set_error(), add LogString*overloads esphome#12021 by @bdraco (breaking-change) - [wifi_info] Use callbacks instead of polling esphome#10748 by @kbx81 (breaking-change)
- [esp32_ble_client] Replace
std::stringwith char[18] for BLE address storage esphome#12070 by @bdraco (breaking-change) - [prometheus] Avoid generating unused light color metrics to reduce memory usage on ESP8266 esphome#9530 by @pgolawsk (breaking-change)
- [text_sensor] Avoid duplicate string storage when no filters configured esphome#12205 by @bdraco (breaking-change)
- [micronova] Set update_interval on entities instead on hub esphome#12226 by @edenhaus (breaking-change)
- [micronova] Set the write bit automatically esphome#12318 by @edenhaus (breaking-change)
- [i2c] Fix port logic with ESP-IDF esphome#12063 by @arno1801 (breaking-change)
- [micronova] Remove MicroNovaFunctions esphome#12363 by @edenhaus (breaking-change)
- [micronova] Require memory location and address for custom entities esphome#12371 by @edenhaus (breaking-change)
All changes
Section titled “All changes”- [wifi] Pass ManualIP by const reference to reduce stack usage esphome#11858 by @bdraco
- [esp32_ble] Use stack allocation for MAC formatting in dump_config esphome#11860 by @bdraco
- [wifi] Use stack allocation for BSSID formatting in logging esphome#11859 by @bdraco
- [nrf52] add settings for dcdc converter esphome#11841 by @tomaszduda23 (new-feature)
- [font] Store data in flash only esphome#11926 by @clydebarrow
- [binary_sensor] Modernize to C++17 nested namespaces and remove redundant qualifications esphome#11929 by @bdraco
- Add tests for sensor timeout filters esphome#11923 by @bdraco
- [lvgl] Migrate lv_font creation into Font class and optimize esphome#11915 by @clydebarrow
- [cover] Modernize to C++17 nested namespaces esphome#11935 by @bdraco
- [config] !extend / !remove support for LVGL-style configs esphome#11534 by @jpeletier (new-feature)
- [number] Modernize to C++17 nested namespaces esphome#11945 by @bdraco
- [wifi] Skip redundant setter calls for default values esphome#11943 by @bdraco
- [dashboard_import] Store package import URL in .rodata instead of RAM esphome#11951 by @bdraco
- [ld24xx] Use stack allocation for MAC and version formatting esphome#11961 by @bdraco
- [bme68x] Print error when no sensors are configured esphome#11976 by @swoboda1337
- [wifi, captive_portal, web_server, wifi_info] Use stack allocation for MAC address formatting esphome#11963 by @bdraco
- [light] Modernize namespace declarations to C++17 syntax esphome#11986 by @bdraco
- [ld24xx] Modernize namespace declarations to C++17 syntax esphome#11988 by @bdraco
- [api] Fix format warnings in dump esphome#11999 by @swoboda1337
- [socket] Fix IPv6 address parsing for BSD sockets esphome#11996 by @dwmw2
- [stts22h] Add support for STTS22H temperature sensor esphome#11778 by @B48D81EFCC (new-component) (new-feature) (new-platform)
- Document XFLIP handling in ST7701S esphome#12014 by @jpeletier
- [select] Modernize namespace declarations to C++17 syntax esphome#12007 by @bdraco
- [mdns] Modernize to C++17 nested namespace syntax esphome#11983 by @bdraco
- [lock] Modernize to C++17 nested namespaces esphome#11982 by @bdraco
- [core] Document threading model rationale in ThreadModel enum esphome#11979 by @bdraco
- [nrf52,i2c] fix review comment esphome#11931 by @tomaszduda23
- [core] Optimize DelayAction for no-argument case using if constexpr esphome#11913 by @bdraco
- [hc8] Add support for HC8 CO2 sensor esphome#11872 by @omartijn (new-component) (new-feature) (new-platform)
- [climate_ir] Add optional humidity sensor esphome#9805 by @damib (new-feature)
- [tests] Fix mipi_spi test board esphome#12031 by @ximex
- [mcp3204] differential mode support esphome#7436 by @markodraca (new-feature)
- [bm8563] Add bm8563 component esphome#11616 by @abmantis (new-component) (new-feature) (new-platform)
- [api] Rename
USE_API_SERVICEStoUSE_API_USER_DEFINED_ACTIONSesphome#12029 by @jesserockz - [core] Fix error on invalid id extend/remove esphome#12064 by @jpeletier
- [ci] Fix filename esphome#12065 by @swoboda1337
- [ci] Fix test grouping esphome#12067 by @swoboda1337
- [mipi_dsi] add guition JC4880P443 display esphome#12068 by @23900 (new-feature)
- [logger] Reduce UART overhead on ESP32/ESP8266 and fix buffer truncation esphome#11927 by @bdraco
- [api] Reduce heap allocations in DeviceInfoResponse esphome#11952 by @bdraco
- [web_server_base] Replace shared_ptr with unique_ptr for AsyncWebServer esphome#11984 by @bdraco
- [ethernet] Conditionally compile manual_ip to save 24 bytes RAM esphome#11832 by @bdraco
- [light] Dynamically disable loop when idle to reduce CPU overhead esphome#11881 by @bdraco
- [api] Use stack buffer for MAC address in Noise handshake esphome#12072 by @bdraco
- [wifi] ap_active condition esphome#11852 by @AzonInc (new-feature)
- [esp32] Use the IDF I2C implementation on Arduino esphome#12076 by @swoboda1337
- [thermopro_ble] Add thermopro ble support esphome#11835 by @sittner (new-component) (new-feature) (new-platform)
- [prometheus] Add event and text base components metrics esphome#10240 by @jzucker2 (new-feature)
- [api] Connected Condition - state_subscription_only flag esphome#11906 by @AzonInc (new-feature)
- [api] Optimize APINoiseContext memory usage by removing shared_ptr overhead esphome#11981 by @bdraco
- [api] Remove redundant socket pointer from APIFrameHelper esphome#11985 by @bdraco
- [wifi] Add runtime power saving mode control esphome#11478 by @kahrendt
- [logger] Eliminate strlen overhead on LibreTiny esphome#11938 by @bdraco
- [wifi] Use ESP-IDF IP formatting macros directly to eliminate heap allocations esphome#12078 by @bdraco
- [prometheus] Use current_option() instead of deprecated .state for select entities esphome#12079 by @bdraco
- [core] Deprecate unsafe const char
*APIs in mark_failed() and status_set_error(), add LogString*overloads esphome#12021 by @bdraco (breaking-change) - [bluetooth_proxy] Fix crash due to null pointer esphome#12084 by @kbx81
- [wifi_info] Use callbacks instead of polling esphome#10748 by @kbx81 (breaking-change)
- [ble_client] Write static BLE data directly from flash without allocation esphome#11826 by @bdraco
- [template.alarm_control_panel] Replace std::map with FixedVector for heap and flash savings esphome#11893 by @bdraco
- Add more lvgl arc update parameters esphome#12066 by @bdm310 (new-feature)
- [esp8266] Use C++17 nested namespaces and constexpr esphome#12096 by @bdraco
- [api] Use const char
*pointers for light effects to eliminate heap allocations esphome#12090 by @bdraco - [core] Reduce flash size by combining set_name() and set_object_id() calls esphome#11941 by @bdraco
- [web_server] Consolidate turn_on/turn_off handlers to eliminate duplicate lambdas esphome#12094 by @bdraco
- [esp32_ble] Optimize name storage to reduce RAM and eliminate heap allocations esphome#12071 by @bdraco
- [ltr390] Simplify mode tracking with bitmask instead of vector/function esphome#12093 by @bdraco
- [sht4x] Read and store a serial number of SHT4x sensors esphome#12089 by @namezys
- Add developer-breaking-change labelling esphome#12095 by @jesserockz
- [core] Replace
seq<>/gens<>with std::index_sequence for code clarity esphome#11921 by @bdraco - [core] Deduplicate identical stateless lambdas to reduce flash usage esphome#11918 by @bdraco
- [esp32_ble_client] Replace
std::stringwith char[18] for BLE address storage esphome#12070 by @bdraco (breaking-change) - [lvgl] Fix lambda return types for coord and font validators esphome#12113 by @bdraco
- [lvgl] Add missing obj scroll properties esphome#11901 by @clydebarrow (new-feature)
- [lvgl] Automatically pad rows and columns esphome#11879 by @clydebarrow (new-feature)
- Revert “[core] Deduplicate identical stateless lambdas to reduce flash usage” esphome#12117 by @bdraco
- [packages] Fix package schema validation esphome#12116 by @jpeletier
- [prometheus] Avoid generating unused light color metrics to reduce memory usage on ESP8266 esphome#9530 by @pgolawsk (breaking-change)
- make thermostat humidification_action public esphome#12132 by @jonoberheide
- [core] Fix for missing arguments to shared_lambda esphome#12115 by @clydebarrow
- [lvgl] Add option to sync updates with display esphome#11896 by @clydebarrow (new-feature)
- [lvgl] Allow setting text directly on a button esphome#11964 by @clydebarrow (new-feature)
- [epaper_spi] Add SSD1677 and Waveshare 4.26 esphome#11887 by @clydebarrow (new-feature)
- [inkplate] Ignore strapping pin warnings on default pins esphome#12110 by @jesserockz
- [esp32] Improve IDF component support esphome#12127 by @swoboda1337 (new-feature)
- [logger] Replace std::function callbacks with LogListener interface esphome#12153 by @bdraco
- [light] Replace sparse enum switch with linear search to save 156 bytes RAM esphome#12140 by @bdraco
- [wifi] Save 112 bytes BSS on ESP8266 by calling SDK directly for BSSID esphome#12137 by @bdraco
- [esp32_ble_tracker] Replace scanner state callback with listener interface esphome#12156 by @bdraco
- [wifi] Replace std::function callbacks with listener interfaces esphome#12155 by @bdraco
- [api] Eliminate rx_buf heap churn and release buffers after initial sync esphome#12133 by @bdraco
- [tests] Remote packages with substitutions esphome#12145 by @jpeletier
- [packages] Restore remote shorthand vars and !remove in early package contents validation esphome#12158 by @jpeletier
- [sensor] Replace timeout filter scheduler with loop-based implementation esphome#11922 by @bdraco
- [logger] Conditionally compile log level change listener esphome#12168 by @bdraco
- [ble_client] Convert to C++17 namespace style esphome#12176 by @bdraco
- [number] Reduce NumberCall size by 4 bytes on 32-bit platforms esphome#12178 by @bdraco
- [light] Store log_percent parameter strings in flash on ESP8266 esphome#12174 by @bdraco
- [mipi_spi] add guition JC4827W543 C/R esphome#12034 by @jpeletier (new-feature)
- Add MEASUREMENT_ANGLE to SensorStateClass esphome#12085 by @jakubcermak (new-feature)
- [ade7953_base] Add missing CODEOWNERS esphome#12181 by @dlitz
- [climate] Use C++17 nested namespace syntax esphome#12194 by @bdraco
- [esp32_can] Add P4 support esphome#12201 by @swoboda1337
- [openthread] Add C5 support esphome#12200 by @swoboda1337
- [mdns] Bump mDNS component to 1.9.1 esphome#12207 by @HeMan
- [lock] Refactor trigger classes to template and add integration tests esphome#12193 by @bdraco
- [web_server] Replace routing table with if-else chain to save 116 bytes RAM esphome#12139 by @bdraco
- [psram] Add C5 support esphome#12215 by @swoboda1337 (new-feature)
- [uart] Add
wake_loop_on_rxflag for low latency processing esphome#12172 by @kbx81 - [wifi_info] Fix compilation error when using only mac_address sensor, add tests esphome#12222 by @kbx81
- [uart] Convert to C++17 namespace style esphome#12220 by @kbx81
- [core] Fix status_momentary API misuse and optimize parameter type esphome#12216 by @bdraco
- [micronova] Convert to C++17 namespace style esphome#12229 by @edenhaus
- [remote_transmitter, remote_receiver] Add RP2040 support esphome#12048 by @j-be (new-feature)
- [uart] Automatically enable the socket wake infrastructure when RX wake requested esphome#12221 by @kbx81
- [zwave_proxy] Use new socket wake infrastructure to reduce latency, convert to C++17 namespace style esphome#12135 by @kbx81
- [helpers] Fix unit tests following #12135 esphome#12237 by @kbx81
- [datetime] Convert to C++17 nested namespace style esphome#12235 by @bdraco
- [button] Convert to C++17 nested namespace style esphome#12233 by @bdraco
- [mqtt] Enable support for the RTL87XX platform esphome#7697 by @popovec
- [esp8266] Allow IN&OUT pin config for ESP8266 esphome#12238 by @DjordjeMandic
- [esp32] Place FreeRTOS functions in flash by default (prep for IDF 6.0) esphome#12182 by @bdraco (new-feature)
- [cover] Store cover state strings in flash on ESP8266 esphome#12196 by @bdraco
- [ota] Use ESP-IDF OTA backend for all ESP32 builds esphome#12244 by @swoboda1337
- [esp32] Place ring buffer functions in flash by default (prep for IDF 6.0) esphome#12184 by @bdraco (new-feature)
- [text_sensor] Avoid duplicate string storage when no filters configured esphome#12205 by @bdraco (breaking-change)
- [core] Filter noisy platformio log messages esphome#12218 by @swoboda1337
- [lock] Store lock state strings in flash on ESP8266 esphome#12163 by @bdraco
- [esp32_camera] Replace std::function callbacks with CameraListener interface esphome#12165 by @bdraco
- [light] Use listener pattern for state callbacks with lazy allocation esphome#12166 by @bdraco
- [core] Add RAM strings and symbols analysis to analyze-memory command esphome#12161 by @bdraco
- [web_server] Store update state strings in flash on ESP8266 esphome#12204 by @bdraco
- [valve] Store valve state strings in flash on ESP8266 esphome#12202 by @bdraco
- [web_server_idf] Fix SSE multi-line message formatting esphome#12247 by @bdraco
- [text_sensor] Add deprecation warning for raw_state member access esphome#12246 by @bdraco
- [wifi] Fix ap_active condition esphome#12227 by @AzonInc
- [core] Add PROGMEM macros and move web_server JSON keys to flash esphome#12214 by @bdraco
- [tests] Allow substitution tests to run independently for debugging esphome#12224 by @jpeletier
- [gree]
turbo,light,health,xfanswitches for supported models esphome#12160 by @nagyrobi (new-feature) (new-platform) - [cc1101] Add new cc1101 component esphome#11849 by @lygris (new-component) (new-feature)
- [text_sensor] Fix spurious raw_state deprecation warnings esphome#12262 by @bdraco
- [tests] Add testing of command line substitutions esphome#12210 by @jpeletier
- [core] Improve CORE.data documentation with dataclass pattern esphome#12170 by @bdraco
- [cst816] Fix CST826 & CST836 esphome#12260 by @jsmarion
- [wifi, wifi_info] Add a WiFi power mode text sensor esphome#11480 by @kahrendt (new-feature)
- [esp32] Sort variants in situ esphome#10410 by @ximex
- [lvgl] fix hello_world passing invalid parameter to parse_yaml esphome#12274 by @jpeletier
- [tests] Bump esp32_hosted in the test code esphome#12289 by @swoboda1337
- [CI] Update renamed action repo esphome#12290 by @jesserockz
- [api] Use loop-based reboot timeout check to avoid scheduler heap churn esphome#12291 by @bdraco
- [remote_receiver] buffer usage fix and idle optimizations esphome#9999 by @Citizen07
- Update readme logo esphome#12294 by @jesserockz
- [esp32] Change imports to use esp32 only, not .const esphome#12243 by @jesserockz
- [remote_receiver] Fix Zephyr clang tidy esphome#12299 by @swoboda1337
- [api] Simplify MessageCreator to trivially copyable type esphome#12295 by @bdraco
- [esp32] Add support for ESP32-C61 variant esphome#12285 by @swoboda1337
- [light] Fix schedule_show not enabling loop for idle addressable lights esphome#12302 by @bdraco
- [sps30] Add idle mode functionality esphome#12255 by @c0mputerguru (new-feature)
- [hub75] HUB75 display component esphome#11153 by @stuartparmenter (new-component) (new-feature) (new-platform)
- [mipi_spi] Add M5CORE2 model that extends the ILI9341 driver chip esphome#12301 by @lboue (new-feature)
- [esp32] Add missing variant support esphome#12305 by @swoboda1337
- [cc1101] Use Hz and cv.frequency instead of kHz esphome#12313 by @swoboda1337
- [image] Add USE_IMAGE in defines.h esphome#12317 by @clydebarrow
- [ci-custom] Fix after switch from string to path esphome#12314 by @clydebarrow
- [api] Device defined action responses esphome#12136 by @jesserockz (new-feature)
- [text_sensor] Reduce filter memory usage using const char
*esphome#12334 by @bdraco - [nextion] Use 16-bit id for pics esphome#12330 by @edwardtfn
- [text] Add component tests with pattern coverage esphome#12345 by @bdraco
- [esp8266] Allow use of recvfrom for esphome sockets esphome#12342 by @elupus
- [template] Use C++17 nested namespace syntax esphome#12346 by @bdraco
- [text] Store pattern as const char
*to reduce memory usage esphome#12335 by @bdraco - [micronova] Set update_interval on entities instead on hub esphome#12226 by @edenhaus (breaking-change)
- [micronova] Move STOVE_STATES to text sensor file as it’s used only there esphome#12349 by @edenhaus
- [micronova] Add FINAL_VALIDATE_SCHEMA to validate uart esphome#12350 by @edenhaus
- [core] Move Color::gradient to cpp to avoid duplicate code esphome#12348 by @bdraco
- [wifi_signal] Update signal strength immediately on WiFi connect/disconnect esphome#12347 by @bdraco
- [wifi_signal] Add ifdef guards for clang-tidy compatibility esphome#12362 by @bdraco
- Add seeed_xiao_esp32c6 board definition esphome#12307 by @berikv (new-feature)
- [micronova] Set the write bit automatically esphome#12318 by @edenhaus (breaking-change)
- [hlw8032] Single-phase metering IC esphome#7241 by @rici4kubicek (new-component) (new-feature) (new-platform)
- [hub75] fix id conflict esphome#12365 by @arno1801
- [usb_cdc_acm] New component esphome#11687 by @kbx81 (new-component) (new-feature)
- [pca9685] Allow to disable the phase balancer for PCA9685 esphome#9792 by @jonau (new-feature)
- [core] Use StringRef for get_comment and get_compilation_time to avoid allocations esphome#12219 by @bdraco
- [select] Add zero-copy support for API select commands esphome#12329 by @bdraco
- [micronova] Make stove switch entity independent esphome#12355 by @edenhaus
- [i2c] Fix port logic with ESP-IDF esphome#12063 by @arno1801 (breaking-change)
- Update URLs esphome#12369 by @smarthome-10
- [micronova] Remove MicroNovaFunctions esphome#12363 by @edenhaus (breaking-change)
- [sx1509] Change setup priority from HARDWARE to IO esphome#12373 by @mirko
- [psram] Fix boot failure with 120MHz Octal flash esphome#12377 by @clydebarrow
- [pio] Rationalise library definitions in platformio.ini esphome#12374 by @clydebarrow
- [scheduler] Avoid
std::stringallocation in RetryArgs esphome#12311 by @bdraco - [mdns] Reduce RAM usage by eliminating MAC address heap allocation esphome#12073 by @bdraco
- [core] Add PR template instruction to AI instructions esphome#12375 by @swoboda1337
- [api] Store device info strings in flash on ESP8266 esphome#12173 by @bdraco
- [packages] Add more information and deprecation deadline for “single package” includes esphome#12280 by @jpeletier
- [api] Use StringRef for ActionResponse error message to avoid copy esphome#12240 by @bdraco
- [api] Store Home Assistant state subscriptions in flash instead of heap esphome#12008 by @bdraco
- [wifi] Fix LibreTiny spurious disconnect events aborting connections esphome#12357 by @bdraco
- [api] Reduce heap usage for Home Assistant service call string storage esphome#12151 by @bdraco
- [micronova] Require memory location and address for custom entities esphome#12371 by @edenhaus (breaking-change)
- [epaper_spi] Set reasonable default update interval esphome#12331 by @clydebarrow
- [mipi_rgb] Add Waveshare 3.16 esphome#12309 by @clydebarrow (new-feature)
- [ci] Allow memory impact target branch build to fail without blocking CI esphome#12381 by @bdraco
- [ci] Isolate usb_cdc_acm in component tests due to tinyusb/usb_host conflict esphome#12392 by @bdraco
- [micronova] Fix test UART package key to match directory name esphome#12391 by @bdraco
- [tests] Fix clang-tidy warnings in custom_api_device_component fixture esphome#12390 by @bdraco
- [core] Packages refactor and conditional package inclusion (package refactor part 1) esphome#11605 by @jpeletier (new-feature)
- [light] Add zero-copy support for API effect commands esphome#12384 by @bdraco
- [api] Fix potential buffer overflow in noise PSK base64 decode esphome#12395 by @bdraco
- [esp8266] Eliminate up to 16ms socket latency esphome#12397 by @bdraco
- [http_request] Skip update check when network not connected esphome#12418 by @swoboda1337
- [core] Fix CORE.raw_config not updated after package merge esphome#12456 by @bdraco
- [packet_transport] Ensure retransmission at update intervals esphome#12472 by @clydebarrow
- [core] Fix polling_component_schema and type consistency esphome#12478 by @swoboda1337
- [cc1101] Add packet mode support esphome#12474 by @swoboda1337 (new-feature)
- [dashboard] Add ESPHOME_TRUSTED_DOMAINS support to events WebSocket esphome#12479 by @bdraco
- [wifi_signal] Skip publishing disconnected RSSI value esphome#12482 by @bdraco
- [web_server_idf] Always enable LRU purge to prevent socket exhaustion esphome#12481 by @bdraco
- [ota] Match client timeout to device timeout to prevent premature failures esphome#12484 by @bdraco
- Fix progmem.h includes for host esphome#12471 by @guillempages
- [ethernet] fix used pins validation in configuration of RMII pins esphome#12486 by @mbohdal
- [wifi] Fix WiFi recovery after failed connection attempts esphome#12483 by @bdraco
- [remote_base] Fix crash when ABBWelcome action has no data field esphome#12493 by @swoboda1337
- [esp32] Support all IDF component version operators in shorthand syntax esphome#12499 by @swoboda1337
- [http_request] Fix infinite loop when server doesn’t send Content-Length header esphome#12480 by @pvizeli
- [socket] Fix getpeername() returning local address instead of remote in LWIP raw TCP esphome#12475 by @bdraco
- [uart] Fix UART on default UART0 pins for ESP-IDF esphome#12519 by @swoboda1337
Dependency Changes
Section titled “Dependency Changes”- Bump pytest from 9.0.0 to 9.0.1 esphome#11874 by @dependabot[bot]
- Bump pylint from 4.0.2 to 4.0.3 esphome#11894 by @dependabot[bot]
- Bump github/codeql-action from 4.31.2 to 4.31.3 esphome#11911 by @dependabot[bot]
- Bump ruff from 0.14.4 to 0.14.5 esphome#11910 by @dependabot[bot]
- Bump ruamel-yaml-clib from 0.2.14 to 0.2.15 esphome#11956 by @dependabot[bot]
- Bump actions/checkout from 5.0.0 to 5.0.1 esphome#11957 by @dependabot[bot]
- Bump github/codeql-action from 4.31.3 to 4.31.4 esphome#11977 by @dependabot[bot]
- Bump pyupgrade from 3.21.1 to 3.21.2 esphome#12002 by @dependabot[bot]
- Bump actions/checkout from 5.0.1 to 6.0.0 esphome#12022 by @dependabot[bot]
- Bump github/codeql-action from 4.31.4 to 4.31.5 esphome#12080 by @dependabot[bot]
- Bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 esphome#12082 by @dependabot[bot]
- Bump actions/create-github-app-token from 2.1.4 to 2.2.0 esphome#12081 by @dependabot[bot]
- Bump bleak from 1.1.1 to 2.0.0 esphome#12083 by @dependabot[bot]
- Bump aioesphomeapi from 42.7.0 to 42.8.0 esphome#12092 by @dependabot[bot]
- Bump actions/setup-python from 6.0.0 to 6.1.0 esphome#12106 by @dependabot[bot]
- Bump actions/setup-python from 6.0.0 to 6.1.0 in /.github/actions/restore-python esphome#12108 by @dependabot[bot]
- Bump aioesphomeapi from 42.8.0 to 42.9.0 esphome#12189 by @dependabot[bot]
- Bump ruff from 0.14.5 to 0.14.7 esphome#12190 by @dependabot[bot]
- Bump github/codeql-action from 4.31.5 to 4.31.6 esphome#12234 by @dependabot[bot]
- Bump aioesphomeapi from 42.9.0 to 42.10.0 esphome#12245 by @dependabot[bot]
- Bump pylint from 4.0.3 to 4.0.4 esphome#12239 by @dependabot[bot]
- Bump actions/checkout from 6.0.0 to 6.0.1 esphome#12259 by @dependabot[bot]
- Bump actions/stale from 10.1.0 to 10.1.1 esphome#12270 by @dependabot[bot]
- Bump ruff from 0.14.7 to 0.14.8 esphome#12286 by @dependabot[bot]
- Bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 esphome#12303 by @dependabot[bot]
- Bump github/codeql-action from 4.31.6 to 4.31.7 esphome#12304 by @dependabot[bot]
- Bump aioesphomeapi from 43.0.0 to 43.1.0 esphome#12333 by @dependabot[bot]
- Bump pytest from 9.0.1 to 9.0.2 esphome#12332 by @dependabot[bot]
- Bump aioesphomeapi from 43.1.0 to 43.2.1 esphome#12385 by @dependabot[bot]