ESPHome 2025.7.0 - 16th July 2025
Read the ESPHome 2025.7.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 Components
Section titled “New Components”- Add support for Xiaomi XMWSDJ04MMC esphome#8591 by @medusalix (new-integration)
- [opt3001] New component esphome#6625 by @ccutrer (new-integration)
- [esp32_hosted] Add support for remote wifi esphome#8833 by @swoboda1337 (new-integration)
- [pi4ioe5v6408] Add new IO Expander esphome#8888 by @jesserockz (new-integration)
- Add support for LN882X Family (with LibreTiny) esphome#8954 by @lamauny (new-integration) (notable-change)
- Replace custom OTA implementation in web_server_base esphome#9274 by @bdraco (new-integration) (breaking-change)
- [ds2484] New component esphome#9147 by @mrk-its (new-integration)
- [sx127x] Add sx127x component esphome#7490 by @swoboda1337 (new-integration)
- Introduce base Camera class to support alternative camera implementations esphome#9285 by @DT-art1 (new-integration)
- [sx126x] Add sx126x component esphome#8516 by @swoboda1337 (new-integration)
- lps22: add a component esphome#7540 by @nagisa (new-integration)
- Add support for GL-R01 I2C - Time of Flight sensor esphome#8329 by @pkejval (new-integration)
Breaking Changes
Section titled “Breaking Changes”- [binary_sensor] Add action to invalidate state and pass to HA esphome#8961 by @clydebarrow (breaking-change)
- [esp32_hall] Remove esp32_hall esphome#9117 by @swoboda1337 (breaking-change)
- [web_server] Upgrade ESPAsync libraries esphome#8867 by @kuba2k2 (breaking-change)
- Bump ESP32 Arduino version to 3.1.3 esphome#8604 by @swoboda1337 (breaking-change)
- [mqtt] Don’t wait for connection unless configured to esphome#8933 by @jesserockz (breaking-change)
- [API] Sub devices and areas esphome#8544 by @dala318 (breaking-change)
- Reduce memory required for sensor entities esphome#9201 by @bdraco (breaking-change)
- Optimize TemplatableValue memory esphome#9202 by @bdraco (breaking-change)
- Optimize Application class memory layout and reduce loop_interval size esphome#9208 by @bdraco (breaking-change)
- [pins] Update
internal_gpio_pin_numberto work directly likeinternal_gpio_output_pin_numberesphome#9270 by @jesserockz (breaking-change) - [smt100] Rename
dielectric_constanttopermittivityesphome#9175 by @piechade (breaking-change) - Fix entity hash collisions by enforcing unique names across devices per platform esphome#9276 by @bdraco (breaking-change)
- [esp32] Remove IDF 4 support and clean up code esphome#9145 by @swoboda1337 (breaking-change)
- Replace custom OTA implementation in web_server_base esphome#9274 by @bdraco (new-integration) (breaking-change)
- Reduce RAM usage by optimizing Color constant storage esphome#9339 by @bdraco (breaking-change)
- Optimize logger callback API by including message length parameter esphome#9368 by @bdraco (breaking-change)
- Conditionally compile API user services to save 4.3KB flash (follow-up to #9262) esphome#9451 by @bdraco (breaking-change)
- [json] Bump ArduinoJson library to 7.4.2 esphome#8857 by @kahrendt (breaking-change)
Notable Changes
Section titled “Notable Changes”- Add support for LN882X Family (with LibreTiny) esphome#8954 by @lamauny (new-integration) (notable-change)
- Jinja expressions in configs (Take #3) esphome#8955 by @jpeletier (notable-change)
All changes
Section titled “All changes”- [core/pins] improve pins types esphome#8848 by @ximex
- [binary_sensor] Add action to invalidate state and pass to HA esphome#8961 by @clydebarrow (breaking-change)
- ina219: powerdown the sensor on shutdown esphome#9053 by @youknow0
- Build with C++17 esphome#8603 by @HeMan
- Move some consts to
const.pyesphome#9084 by @kbx81 - Reduce Component memory usage by 20 bytes per component esphome#9080 by @bdraco
- [ruff] Apply various ruff suggestions esphome#8947 by @jesserockz
- Bump LibreTiny recommended version to 1.9.1 esphome#9110 by @swoboda1337
- [esp32_hall] Remove esp32_hall esphome#9117 by @swoboda1337 (breaking-change)
- Resolve esphome::optional vs std::optional ambiguity in code generation esphome#9119 by @bdraco
- Add intent progress event to voice assistant enum esphome#9103 by @synesthesiam
- Pin libretiny to 1.9.1 esphome#9118 by @swoboda1337
- Bump ruff in pre-commit to 0.12.0 esphome#9121 by @bdraco
- [heatpumpir] Bump HeatpumpIR to 1.0.35 esphome#9123 by @swoboda1337
- [i2s_audio] Bump esphome/ESP32-audioI2S to 2.3.0 esphome#9124 by @swoboda1337
- Reduce CPU overhead by allowing components to disable their loop() esphome#9089 by @bdraco
- Add support for Xiaomi XMWSDJ04MMC esphome#8591 by @medusalix (new-integration)
- [web_server] Upgrade ESPAsync libraries esphome#8867 by @kuba2k2 (breaking-change)
- Bump ESP32 Arduino version to 3.1.3 esphome#8604 by @swoboda1337 (breaking-change)
- Remove empty generated protobuf methods esphome#9098 by @bdraco
- Reduce code duplication in auto-generated API protocol code esphome#9097 by @bdraco
- Use smaller atomic types for ESP32 BLE Tracker ring buffer indices esphome#9106 by @bdraco
- Optimize API server performance by using cached loop time esphome#9104 by @bdraco
- Optimize API component memory usage by reordering class members to reduce padding esphome#9111 by @bdraco
- Optimize bluetooth_proxy memory usage on ESP32 esphome#9114 by @bdraco
- Add enable_loop_soon_any_context() for thread and ISR-safe loop enabling esphome#9127 by @bdraco
- Optimize OTA loop to avoid unnecessary stack allocations esphome#9129 by @bdraco
- [i2c] Expose internal i2c bus port number esphome#9136 by @jesserockz
- Disable Ethernet loop polling when connected and stable esphome#9102 by @bdraco
- Clean up RAMAllocators in audio related code esphome#9140 by @jesserockz
- Clean up RAMAllocators in http_request code esphome#9143 by @jesserockz
- Clean up RAMAllocators in display related code esphome#9141 by @jesserockz
- [i2c] Make
get_port()public esphome#9146 by @jesserockz - [esp32_camera] Allow sharing i2c bus esphome#9137 by @jesserockz
- [nextion] Add command queuing to prevent command loss when spacing is active esphome#9139 by @edwardtfn
- [nextion] Cached timing optimization esphome#9150 by @edwardtfn
- [wifi, wifi_info] Tidy up/shorten more log messages esphome#9151 by @kbx81
- [bh1750] Remove redundant platform name from logging esphome#9153 by @kbx81
- Add option to enable support for USB Hubs esphome#9154 by @RoganDawes
- [spi] Enable >6 devices with ESP-IDF esphome#9128 by @clydebarrow
- Clean up RAMAllocators in light related code esphome#9142 by @jesserockz
- [nextion] Extract common
upload_end_function to shared file esphome#9155 by @edwardtfn - Improve on C++17 esphome#9170 by @HeMan
- [nextion] Revert to
millis()onrecv_ret_string_esphome#9168 by @edwardtfn - [const] Move
CONF_DEVICEStoconst.pyesphome#9179 by @jesserockz - Reduce Logger memory usage by optimizing variable sizes esphome#9161 by @bdraco
- Fix slow noise handshake by reading multiple messages per loop esphome#9130 by @bdraco
- Reduce RAM usage for scheduled tasks esphome#9180 by @bdraco
- Pre-reserve looping components vector to reduce memory allocations esphome#9177 by @bdraco
- [lvgl] Add start_value to bar; make values templatable and updateable esphome#9056 by @clydebarrow
- [lvgl] Use styles instead of object properties for themes esphome#9116 by @clydebarrow
- Feature fontmetrics esphome#8978 by @JonasB2497
- Image should not update when setting URL esphome#8885 by @gpambrozio
- [opt3001] New component esphome#6625 by @ccutrer (new-integration)
- [mqtt] Don’t wait for connection unless configured to esphome#8933 by @jesserockz (breaking-change)
- [modbus_controller] Fix modbus read_lambda precision for non-floats or large integers esphome#9159 by @jpeletier
- [helpers] Add
format_mac_address_prettyfunction, migrate components esphome#9193 by @kbx81 - [ld2450] Use
App.get_loop_component_start_time(), shorten log messages esphome#9192 by @kbx81 - [ld2420] Shorten log messages + other clean-up esphome#9200 by @kbx81
- [ld2410] Use
App.get_loop_component_start_time(), shorten log messages esphome#9194 by @kbx81 - [esp32_hall] Add dummy component esphome#9125 by @swoboda1337
- fix(MQTT): Call disconnect callback on DNS error esphome#9016 by @Rapsssito
- Rename kVARh/VARh to kvarh/varh esphome#9191 by @Drafteed
- [API] Sub devices and areas esphome#8544 by @dala318 (breaking-change)
- [binary_sensor] Add timeout filter esphome#9198 by @clydebarrow
- [lvgl] Allow linear positioning of grid cells esphome#9196 by @clydebarrow
- Reduce memory required for sensor entities esphome#9201 by @bdraco (breaking-change)
- Reduce logger CPU usage by disabling loop when buffer is empty esphome#9160 by @bdraco
- Optimize API connection loop performance esphome#9184 by @bdraco
- Optimize TemplatableValue memory esphome#9202 by @bdraco (breaking-change)
- Optimize API connection memory with tagged pointers esphome#9203 by @bdraco
- Fix missing protobuf message dump for batched messages with very verbose logging esphome#9206 by @bdraco
- Optimize Application class memory layout and reduce loop_interval size esphome#9208 by @bdraco (breaking-change)
- Use shared workflow for locking esphome#9211 by @jesserockz
- [esp32] Improve and simplify IDF component support esphome#9163 by @swoboda1337
- [ld2450] More optimizing, fix copypasta esphome#9210 by @kbx81
- [ci] Lint lock.yml esphome#9214 by @jesserockz
- [script] Add exec bit to run-in-env esphome#9212 by @jesserockz
- [ld2410] More optimizations esphome#9209 by @kbx81
- [ld2450] Move consts to cpp file, optimize memory use esphome#9215 by @kbx81
- [tests] Remove extra newline esphome#9213 by @jesserockz
- Optimize SafeModeComponent memory layout to reduce padding esphome#9228 by @bdraco
- [esp32_hosted] Add support for remote wifi esphome#8833 by @swoboda1337 (new-integration)
- use c++17
[[fallthrough]];esphome#9149 by @ximex - [esp32] Update IDF components to use the registry esphome#9223 by @swoboda1337
- [wifi] Reduce memory usage esphome#9232 by @bdraco
- [ethernet] Reduce memory usage by 8 bytes esphome#9231 by @bdraco
- [gpio] Reduce ESP32 memory usage by optimizing struct padding esphome#9230 by @bdraco
- Reduce component_iterator memory usage esphome#9205 by @bdraco
- Upgrade to use C++20 esphome#9135 by @HeMan
- [mcp23xxx_base] fix pin interrupts esphome#9244 by @ssieb
- [i2c] Disable i2c scan on certain idf versions esphome#9237 by @swoboda1337
- Reduce libretiny logconfig messages esphome#9239 by @bdraco
- Disable dynamic log level control for ESP32 ESP-IDF builds esphome#9233 by @bdraco
- Silence protobuf compatibility warnings when importing aioesphomeapi esphome#9236 by @bdraco
- [esp32] Allow 5.4.2 esphome#9243 by @swoboda1337
- Remove backports of
stdesphome#9246 by @HeMan - Fix buffer corruption in API message encoding with very verbose logging esphome#9249 by @bdraco
- Extract lock-free queue and event pool to core helpers esphome#9238 by @bdraco
- Replace ping retry timer with batch queue fallback esphome#9207 by @bdraco
- [thermostat] Memory optimizations esphome#9259 by @kbx81
- [adc] Memory optimizations esphome#9247 by @kbx81
- [light] Memory optimizations esphome#9260 by @kbx81
- Reduce web_server code duplication by extracting detail parameter parsing esphome#9257 by @bdraco
- Remove redundant get_setup_priority() overrides returning default value esphome#9253 by @bdraco
- Fix MQTT blocking main loop for multiple seconds at a time esphome#8325 by @dwmw2
- Remove single-use send_*_info wrappers in API connection esphome#9255 by @bdraco
- Reduce API memory footprint through bitfield consolidation and type sizing esphome#9252 by @bdraco
- Reduce flash usage by making add_message_object non-template esphome#9258 by @bdraco
- Remove unused return value from read_message and fix ifdef placement in generated API code esphome#9256 by @bdraco
- Reduce web_server RAM usage by 96 bytes with conditional sorting compilation esphome#9227 by @bdraco
- Add interrupt support to GPIO binary sensors esphome#9115 by @bdraco
- [pi4ioe5v6408] Add new IO Expander esphome#8888 by @jesserockz (new-integration)
- Reduce loop enable/disable log spam by using very verbose level esphome#9267 by @bdraco
- Fix thread-safe cleanup of event source connections in ESP-IDF web server esphome#9268 by @bdraco
- Reduce API component memory usage with conditional compilation esphome#9262 by @bdraco
- Optimize scheduler string storage to eliminate heap allocations esphome#9251 by @bdraco
- Optimize web_server UrlMatch to avoid heap allocations esphome#9263 by @bdraco
- Add support for LN882X Family (with LibreTiny) esphome#8954 by @lamauny (new-integration) (notable-change)
- Support DM9051 SPI ethernet device esphome#6861 by @bmork
- [light] Fix transitions with
lerpesphome#9269 by @kbx81 - [remote_base] Fix dumper base class and enable schema extension esphome#9218 by @gabest11
- [ld2420] Move consts to cpp file, optimize memory use esphome#9216 by @kbx81
- Update libsodium to 1.0.20 esphome#9240 by @bdraco
- Fixes for async MQTT esphome#9273 by @dwmw2
- Fix flaky test_api_conditional_memory by waiting for all required states esphome#9271 by @bdraco
- [pins] Update
internal_gpio_pin_numberto work directly likeinternal_gpio_output_pin_numberesphome#9270 by @jesserockz (breaking-change) - [http_request.update] Fix
size_tprinting esphome#9144 by @jesserockz - [smt100] Rename
dielectric_constanttopermittivityesphome#9175 by @piechade (breaking-change) - [ethernet] P4 changes and 5.3.0 deprecated warnings esphome#8457 by @swoboda1337
- Fix - Pass thread TLVs down to openthread if they are defined esphome#9182 by @mrene
- Fix entity hash collisions by enforcing unique names across devices per platform esphome#9276 by @bdraco (breaking-change)
- [host] Disable platformio ldf esphome#9277 by @jesserockz
- Jinja expressions in configs (Take #3) esphome#8955 by @jpeletier (notable-change)
- Use interrupt based approach for esp32_touch esphome#9059 by @bdraco
- Add OTA support to ESP-IDF webserver esphome#9264 by @bdraco
- [modbus] Modbus server role: write holding registers esphome#9156 by @jpeletier
- [esp32] Remove IDF 4 support and clean up code esphome#9145 by @swoboda1337 (breaking-change)
- Fix regression: BK7231N devices not returning entities via API esphome#9283 by @bdraco
- [esp32_rmt_led_strip] Reduce memory usage by 32x with IDF 5.3 esphome#8388 by @swoboda1337
- [api] Dump bytes fields as hex instead of unreadable string esphome#9288 by @jesserockz
- Reduce Component memory usage by 40% (8 bytes per component) esphome#9278 by @bdraco
- Replace custom OTA implementation in web_server_base esphome#9274 by @bdraco (new-integration) (breaking-change)
- pulse_meter total esphome#9282 by @prchal
- Mmc5603 fix for devices that don’t retrieve chip_id esphome#8959 by @jsb2092
- made qr_code elements optional esphome#8896 by @JonasB2497
- [nextion] memory optimization esphome#9164 by @edwardtfn
- Use encode_bytes() for protobuf bytes fields esphome#9289 by @bdraco
- [core] Deleting CMakeCache.txt for fast recompilation with ESP-IDF esphome#8750 by @zkoalexey
- [heatpumpir] Add Support for PHS32 HeatPump esphome#7378 by @mrtntome
- OpenThread - add Device Type esphome#9272 by @rwrozelle
- Don’t compile
state_to_string()unless debugging. esphome#7473 by @colmbuckley - [time] Add
USE_TIME_TIMEZONEdefine esphome#9290 by @jesserockz - [time] fix clang-tidy esphome#9292 by @tomaszduda23
- [esp32_touch] Fix threshold esphome#9291 by @clydebarrow
- [ds2484] New component esphome#9147 by @mrk-its (new-integration)
- Fix missing ifdef guards in API protobuf generator esphome#9296 by @bdraco
- Save flash and RAM by conditionally compiling unused API password code esphome#9297 by @bdraco
- [Packet transport] Ping timeout sensor esphome#8694 by @dala318
- Allow disabling API batch delay for real-time state updates esphome#9298 by @bdraco
- Packages: optional base path for remote git packages esphome#9279 by @dudanov
- [sx127x] Add sx127x component esphome#7490 by @swoboda1337 (new-integration)
- [microphone] simplify mute handling to avoid unnecessary copies esphome#9303 by @kahrendt
- Add device_id to entity state messages for sub-device support esphome#9304 by @bdraco
- Fix web_server URL parsing lifetime issue esphome#9309 by @bdraco
- Reduce web_server loop overhead on ESP32 by avoiding unnecessary semaphore operations esphome#9308 by @bdraco
- Fix compiler warning in tsl2591 component esphome#9310 by @mikelawrence
- Fix web_server busy loop with ungracefully disconnected clients esphome#9312 by @bdraco
- Add const char overload for Component::defer() esphome#9324 by @bdraco
- [rtttl] trim extraneous whitespace in “ac_dimmer” in “PWM_BAD” list esphome#9318 by @ximex
- Mark ESPTime comparison operators as const esphome#9335 by @freundTech
- [ld2450] Reduce CPU usage, eliminate redundant sensor updates esphome#9334 by @bdraco
- [nextion] Memory optimization esphome#9338 by @edwardtfn
- Reduce RAM usage by optimizing Color constant storage esphome#9339 by @bdraco (breaking-change)
- Eliminate API component guard variable to save 8 bytes RAM esphome#9341 by @bdraco
- Eliminate web_server_idf guard variable to save 8 bytes RAM esphome#9344 by @bdraco
- [scd4x] Optimize logging + minor code clean-up esphome#9347 by @kbx81
- [ld2410] Reduce RAM usage, general clean-up esphome#9346 by @kbx81
- [sx127x] Improve error handling esphome#9351 by @swoboda1337
- Fix defer() thread safety issues on multi-core platforms esphome#9317 by @bdraco
- [update, http_request_update] Implement update available trigger esphome#9174 by @jhbruhn
- Split LockFreeQueue into base and notifying variants to reduce memory usage esphome#9330 by @bdraco
- Fix bluetooth proxy busy loop when disconnecting pending BLE connections esphome#9332 by @bdraco
- Use std::span to eliminate heap allocation for single-packet API transmissions esphome#9313 by @bdraco
- [sx127x] Fix shaping print in dump_config and preallocate packet esphome#9357 by @swoboda1337
- Introduce base Camera class to support alternative camera implementations esphome#9285 by @DT-art1 (new-integration)
- [scd4x] Memory optimization esphome#9358 by @kbx81
- [nextion] Replace boolean flags with bitfields to optimize memory usage esphome#9359 by @edwardtfn
- [inkplate6] Require 240mhz cpu frequency esphome#9356 by @jesserockz
- [sx126x] Add sx126x component esphome#8516 by @swoboda1337 (new-integration)
- [nextion] Optimize settings memory usage with compile-time defines esphome#9350 by @edwardtfn
- [ld2450] Clean-up for consistency, reduce CPU usage when idle esphome#9363 by @kbx81
- [nextion] Review
touch_sleep_timeoutesphome#9345 by @edwardtfn - [core] Move platform helper implementations into their own file esphome#9361 by @jesserockz
- [nextion] Add optional device info storage configuration esphome#9366 by @edwardtfn
- Optimize Bluetooth proxy batching and increase scan buffer capacity esphome#9328 by @bdraco
- Fix scheduler race conditions and add comprehensive test suite esphome#9348 by @bdraco
- Reduce LightCall memory usage by 50 bytes per call esphome#9333 by @bdraco
- Optimize entity icon memory usage with USE_ENTITY_ICON flag esphome#9337 by @bdraco
- Reduce core RAM usage by 40 bytes with static initialization optimizations esphome#9340 by @bdraco
- Fix flaky test_api_conditional_memory by disabling API batch delay esphome#9360 by @bdraco
- Fix format specifier warnings in QuantileFilter logging esphome#9364 by @bdraco
- Optimize logger performance by eliminating redundant strlen calls esphome#9369 by @bdraco
- Replace deprecated sprintf with snprintf in API protobuf code generation esphome#9365 by @bdraco
- Refactor duplicate socket read error handling in API frame helper esphome#9370 by @bdraco
- Refactor entity lookup methods with macros in preparation for device_id support esphome#9371 by @bdraco
- Refactor API entity update dispatch to reduce code duplication esphome#9372 by @bdraco
- Don’t compile unnecessary platform files (e.g. ESP8266 files on ESP32) esphome#9354 by @bdraco
- Refactor voice assistant API methods to reduce code duplication esphome#9374 by @bdraco
- Eliminate bluetooth_proxy guard variable to save 8 bytes RAM esphome#9343 by @bdraco
- [nextion] Optimize component memory usage with bitfield state management esphome#9373 by @edwardtfn
- Fix brightness setting not working on SSD1305 128x32 OLEDs esphome#9376 by @DooMMasteR
- Optimize logger callback API by including message length parameter esphome#9368 by @bdraco (breaking-change)
- Run integration tests only on Python 3.13 to reduce CI resource usage esphome#9377 by @bdraco
- Fix flaky test_api_conditional_memory and improve integration test patterns esphome#9379 by @bdraco
- [helpers] Improve
format_hex_prettyesphome#9380 by @jesserockz - hydreon_rgxx: remove precipitation_intensity from RG9 esphome#9367 by @functionpointer
- [image] Add byte order option and unit tests esphome#9326 by @clydebarrow
- Fix integration test race condition by isolating PlatformIO directories esphome#9383 by @bdraco
- Fix format string error in waveshare_epaper.cpp esphome#9322 by @tmpeh
- Fix race condition in scheduler string lifetime integration test esphome#9382 by @bdraco
- lps22: add a component esphome#7540 by @nagisa (new-integration)
- [nfc] Update code to use
format_hex_prettyesphome#9384 by @jesserockz - [helpers] Fix
format_hex_prettyresize without separator esphome#9389 by @jesserockz - Add support for GL-R01 I2C - Time of Flight sensor esphome#8329 by @pkejval (new-integration)
- [esp32] Improve flexibility of
only_on_variantesphome#9390 by @jesserockz - ESP_EXT1_WAKEUP_ANY_LOW is for s2/s3/c6/h2; ESP_EXT1_WAKEUP_ALL_LOW otherwise esphome#9387 by @candrews
- [apds9960] Add 0x9E ID esphome#9392 by @Merikei
- Fix another race in the string lifetime scheduler test esphome#9399 by @bdraco
- [esp32_touch] Fix touch v1 esphome#9414 by @swoboda1337
- Set lib_compat_mode to strict esphome#9408 by @swoboda1337
- debug: bufferoverflow mitigation in DebugComponent::on_shutdown() esphome#9422 by @RubenKelevra
- Exclude internal entities from name uniqueness validation esphome#9410 by @bdraco
- Handle ESP32 chunked MQTT messages missing topic on non-first chunks, causing panic esphome#5786 by @aaliddell
- Replace remaining instances of USE_ESP32_CAMERA with USE_CAMERA esphome#9401 by @DT-art1
- Sync api.proto from aioesphomeapi esphome#9393 by @bdraco
- Fix scheduler crash when cancelling items with NULL names esphome#9444 by @bdraco
- [wizard] use lowercase to match esphome#9448 by @ssieb
- Optimize API flash usage by storing message size at compile time esphome#9447 by @bdraco
- Optimize API proto size calculations by removing redundant force parameter esphome#9449 by @bdraco
- [ld2410] Remove redundant
delay()calls, minor optimizations esphome#9453 by @kbx81 - [ld2420] Memory optimization, code clean-up esphome#9426 by @kbx81
- Reduce API flash usage by eliminating unnecessary template instantiations esphome#9452 by @bdraco
- Conditionally compile API user services to save 4.3KB flash (follow-up to #9262) esphome#9451 by @bdraco (breaking-change)
- [packet_transport] Don’t run update if ping_pong not enabled. esphome#9434 by @clydebarrow
- [sx127x, sx126x] Fix preamble_size default and validation esphome#9454 by @swoboda1337
- Apply existing protobuf buffer optimization to nested message encoding (~2.3x speed up) esphome#9458 by @bdraco
- Only generate protobuf encode/decode methods for the message direction they’re used esphome#9461 by @bdraco
- [usb_uart] Be flexible about descriptor layout for CDC-ACM devices esphome#9425 by @clydebarrow
- [libretiny] Set lib_compat_mode to soft for libretiny esphome#9439 by @swoboda1337
- (Maybe?) fix I2S speaker internal DAC mode esphome#9435 by @pzich
- [lvgl] Post-process size arguments in meter config esphome#9466 by @pzich
- Automatically disable interrupts for ESP8266 GPIO16 binary sensors esphome#9467 by @bdraco
- [substitutions] Fix #7189 esphome#9469 by @jpeletier
- Fix pre-commit CI failures by skipping local hooks that require virtual environment esphome#9476 by @bdraco
- [esp_ldo] Component schema; default priority esphome#9479 by @clydebarrow
- Follow logging best practices by removing redundant component prefix esphome#9481 by @bdraco
- Fix dormant bug in RAMAllocator::reallocate() manual_size calculation esphome#9482 by @bdraco
- Suppress spurious volatile and Python syntax warnings during builds esphome#9488 by @bdraco
- [online_image] Support
byte_orderesphome#9502 by @clydebarrow - [json] Bump ArduinoJson library to 7.4.2 esphome#8857 by @kahrendt (breaking-change)
- [fan] Do not save state for fan if configured as NO_RESTORE esphome#9472 by @skyegecko
- Fix LibreTiny compilation error by updating ESPAsyncWebServer and dependencies esphome#9492 by @bdraco
- [captive_portal] Add test case for libretiny esphome#9457 by @clydebarrow
- [opentherm.output] Fix
lerpesphome#9506 by @kbx81 - [servo] Fix
lerpesphome#9507 by @kbx81 - Add missing clang-tidy NOLINT comments for ArduinoJson v7 in IDF webserver esphome#9508 by @bdraco
- [core] Don’t issue -Wno-volatile for host platform esphome#9511 by @clydebarrow
- [component] Fix
is_readyflag when loop disabled esphome#9501 by @jesserockz - [ms8607] Fix humidity calc esphome#9499 by @LorbusChris
- Fix timing overflow when components disable themselves during loop esphome#9529 by @bdraco
- [as3935_spi] remove unnecessary includes esphome#9528 by @ssieb
Dependency Changes
Section titled “Dependency Changes”- Bump pytest-cov from 6.1.1 to 6.2.1 esphome#9063 by @dependabot[bot]
- Bump pytest-asyncio from 0.26.0 to 1.0.0 esphome#9067 by @dependabot[bot]
- Bump docker/setup-buildx-action from 3.10.0 to 3.11.0 in the docker-actions group esphome#9105 by @dependabot[bot]
- Bump ruff from 0.11.13 to 0.12.0 esphome#9120 by @dependabot[bot]
- Bump docker/setup-buildx-action from 3.11.0 to 3.11.1 in the docker-actions group esphome#9133 by @dependabot[bot]
- Bump aioesphomeapi from 32.2.3 to 32.2.4 esphome#9132 by @dependabot[bot]
- Bump pytest from 8.4.0 to 8.4.1 esphome#9131 by @dependabot[bot]
- Bump esptool from 4.8.1 to 4.9.0 esphome#9158 by @dependabot[bot]
- Bump aioesphomeapi from 32.2.4 to 33.1.0 esphome#9173 by @dependabot[bot]
- Bump flake8 from 7.2.0 to 7.3.0 esphome#9172 by @dependabot[bot]
- Bump aioesphomeapi from 33.1.0 to 33.1.1 esphome#9187 by @dependabot[bot]
- Bump ruff from 0.12.0 to 0.12.1 esphome#9241 by @dependabot[bot]
- Bump aioesphomeapi from 33.1.1 to 34.0.0 esphome#9265 by @dependabot[bot]
- Bump aioesphomeapi from 34.0.0 to 34.1.0 esphome#9301 by @dependabot[bot]
- Bump ruff from 0.12.1 to 0.12.2 esphome#9311 by @dependabot[bot]
- Bump puremagic from 1.29 to 1.30 esphome#9320 by @dependabot[bot]
- Bump aioesphomeapi from 34.1.0 to 34.2.0 esphome#9391 by @dependabot[bot]
- Bump aioesphomeapi from 34.2.0 to 34.2.1 esphome#9460 by @dependabot[bot]