Releases
2025.6.0
Full list of changes
New Components
Breaking Changes
update minimal python version to 3.10 esphome#8850 by @ximex (breaking-change)
Add LWIP optimization options to reduce flash usage esphome#8946 by @bdraco (breaking-change)
Replace API deferred queue with efficient message batching system esphome#9012 by @bdraco (breaking-change)
Optimize Component and Application state storage from uint32_t to uint8_t esphome#9082 by @bdraco (breaking-change)
Reduce entity memory usage by eliminating field shadowing and bit-packing esphome#9076 by @bdraco (breaking-change)
Optimize Application area_
from std::string
to const char*
esphome#9085 by @bdraco (breaking-change)
Beta Changes
Notable Changes
All changes
Show
add actions to the MAX7219Component esphome#6462 by @nielsnl68
[api] Update api proto to add legacy value esphome#8802 by @jesserockz
[script] Use local import for zephyr esphome#8822 by @clydebarrow
Bump cryptography to 45.0.1 esphome#8826 by @bdraco
unify and add missing metric suffixes esphome#8816 by @ximex
Improve stability for a test that crashes intermittently in CI esphome#8699 by @dala318
update ruff version to 0.11.10
in .pre-commit-config.yaml
esphome#8851 by @ximex
add python 3.13 to ci pipeline esphome#8855 by @ximex
[esp32] Use IDF 5.3.2 as default for IDF builds esphome#8464 by @swoboda1337
update minimal python version to 3.10 esphome#8850 by @ximex (breaking-change)
[esp32, logger] Add initial P4 support esphome#8439 by @swoboda1337
Add CUBIC CM1106 Single Beam NDIR CO2 Sensor Module esphome#8293 by @andrewjswan (new-integration)
Updates for development environment esphome#8801 by @jesserockz
[sync] Update and fix sync workflow esphome#8873 by @jesserockz
[lvgl] Try to allocate smaller buffer on failure esphome#8814 by @clydebarrow
[lvgl] Add content styling to tabview esphome#8823 by @clydebarrow
[usb_uart] Implement USB Host mode UART esphome#8334 by @clydebarrow (new-integration)
OTA: Close and clean up client when setsockopt fails esphome#8865 by @luuoaoa
Add const DEVICE_CLASS_WIND_DIRECTION esphome#8870 by @Pi57
Synchronise Device Classes from Home Assistant esphome#8874 by @esphomebot
Optimize API frame helper buffer management esphome#8805 by @bdraco
Use UINT16_MAX instead of hard coded 65535 in api esphome#8884 by @bdraco
feat: wifi.configure
now emits error after reconnecting to old AP esphome#8653 by @Rapsssito
[modbus_controller] Add assumed_state to switch esphome#8880 by @gotnone
[const] Move CONF_RESET
to const.py esphome#8889 by @jesserockz
[bme68x_bsec2_i2c] Remove arduino dependency esphome#7815 by @luar123 (notable-change)
[i2s_audio] Add basic support for esp32-p4 esphome#8887 by @jesserockz
[esp32, logger, core] Add initial c5 support esphome#8895 by @swoboda1337
Resolve regex library warnings esphome#8890 by @emmanuel-ferdman
Add integration tests for host esphome#8912 by @bdraco
Fix flakey tests esphome#8914 by @bdraco
[sx1509] add support for keys esphome#8413 by @ssieb
Add es8388 audio_dac esphome#8342 by @P4uLT (new-integration)
[online_image] Last-Modified-Date and ETag response caching esphome#8782 by @candrews
[aht10] Various optimizations/clean-up esphome#8921 by @kbx81
[rtttl] Various optimizations/clean-up esphome#8923 by @kbx81
[ledc] Various optimizations/clean-up esphome#8922 by @kbx81
Streamline setup() logging (a, b) esphome#8924 by @kbx81
Streamline setup() logging (c, d) esphome#8925 by @kbx81
Streamline setup() logging (e, f) esphome#8926 by @kbx81
Streamline setup() logging (g, h, i) esphome#8927 by @kbx81
Streamline setup() logging (k, l, m) esphome#8928 by @kbx81
Streamline setup() logging (n, o, p, q, r) esphome#8929 by @kbx81
Streamline setup() logging (s, t, u, v, w, x, y, z) esphome#8930 by @kbx81
[speaker mediaplayer] Yaml config initial volume (on first boot) esphome#8898 by @mrtoy-me
[i2s_audio] Bump esphome/ESP32-audioI2S to 2.2.0 esphome#8920 by @jesserockz
Add more demo platforms esphome#8903 by @jesserockz
Migrate wifi component to use App.get_loop_component_start_time esphome#8931 by @bdraco
Optimize socket operations by checking readiness in the main loop esphome#8918 by @bdraco
Improve logging in integration tests when port does not open esphome#8932 by @bdraco
[pmwcs3] Optimize logging esphome#8936 by @kbx81
[tmp102] Remove setup()
, optimize logging esphome#8937 by @kbx81
Optimize plaintext API header reading to reduce system calls esphome#8941 by @bdraco
[gcja5] Remove unused setup()
method esphome#8935 by @kbx81
[alarm_control_panel] BYPASS_AUTO option for Template Alarm Control Panel sensors left open when armed esphome#8795 by @heythisisnate
Fix select() logging flood in very verbose mode esphome#8942 by @bdraco
particle matter improvements esphome#8846 by @ximex
Fix colors in update all esphome#8854 by @swoboda1337
Add flip X and Y on inkplate6 component esphome#7904 by @Leicas
[modbus] [modbus_controller] Fix server role read coil 0x1 crc esphome#8859 by @gotnone
[rp2040] Allow changing watchdog timeout esphome#8868 by @kuba2k2
[esp32] Regenerate boards from recommended platform version esphome#8938 by @jesserockz
Introduce "communication failed" log macro esphome#8939 by @kbx81
[demo] FIx some of the entities esphome#8943 by @jesserockz
Redundant Log Messages Cleanup esphome#8944 by @bdraco
[dht] Clean-up, shorten some log messages esphome#8949 by @kbx81
Have ESPHome's YAML dumper comply with its own yamllint rules esphome#8957 by @jpeletier
Allow Weikai to pass data_bit validation esphome#8917 by @timdaman
[max9611] Remove redundant "max9611" from log messages esphome#8967 by @kbx81
[nextion] Allocate NextionQueue in PSRAM (if available) esphome#8979 by @edwardtfn
[esp32c6] Add test base file and platformio env esphome#8973 by @jesserockz
Add missing icons and device classes to BME680 sensors esphome#8960 by @tronikos
[preferences] Shorten log messages esphome#8982 by @kbx81
[lc709203f] Add battery monitor esphome#8037 by @ilikecake (new-integration)
[mdns] Set up only after API is set up esphome#9000 by @jesserockz
[const] Move CONF_X and CONF_Y to const.py esphome#8999 by @Hannah-GBS
[core] Update defines.h esp-idf version esphome#8974 by @jesserockz
[spi] Remove redundant "SPI" from log messages esphome#8970 by @kbx81
[sdp3x] Remove redundant "sdp3x" from log messages esphome#8969 by @kbx81
[ethernet] Remove redundant "ethernet" from log messages esphome#8966 by @kbx81
[bmp3xx] Remove redundant "bmp3xx" from log messages esphome#8965 by @kbx81
Remove unnecessary ellipsis esphome#8964 by @kbx81
[wireguard] Remove redundant "wireguard" from log messages esphome#8963 by @kbx81
[dashboard] Fix logging colors esphome#8984 by @swoboda1337
[sps30] Shorten log messages esphome#8971 by @kbx81
[bmp581] Shorten some log messages esphome#8948 by @kbx81
[api] Streamline some log strings esphome#8962 by @kbx81
[mqtt] Remove redundant "mqtt" from log messages esphome#8968 by @kbx81
[ci, nrf52] make zephyr clang mandatory esphome#8992 by @tomaszduda23
[sdl] Add config for SDL window flags esphome#8998 by @Hannah-GBS
[nextion] Add optional max_queue_size
limit to prevent queue overflows esphome#8976 by @edwardtfn
Move CONF_REQUEST_HEADERS to const.py esphome#9002 by @numo68
[api] Fix build error in IDF 5.5 esphome#9007 by @swoboda1337
[list-components.py] Only add platforms that are actually platforms. esphome#9005 by @clydebarrow
[qwiic_pir] Clean-up, shorten some log messages esphome#8951 by @kbx81
[esp32] Add config vars for compiler esphome#9023 by @kbx81
Implement proper API connection teardown before deep sleep/reboot esphome#9008 by @bdraco
[config] Clean build on ESP-IDF when component/platform combos change esphome#9028 by @clydebarrow
Disable ruff rule UP038 esphome#9029 by @bdraco
Update webserver local assets to 20250608-225410 esphome#9030 by @esphomebot
Reduce ESP_LOGCONFIG calls esphome#9026 by @bdraco
Force socket ready when high frequency looping esphome#9032 by @juanboro
[psram] Add P4 support esphome#8545 by @clydebarrow
[nextion] Use safe restart to properly handle globals and restart logging esphome#9010 by @edwardtfn
[max7219digit, servo, tsl2591] ESP_LOGCONFIG call reduction (Extend #9026) esphome#9033 by @kbx81
[tsl2561, tsl2591] Shorten log messages esphome#9034 by @kbx81
Change RP2040 PIO SK6812 timings esphome#9020 by @pseud0sphere
Add LWIP optimization options to reduce flash usage esphome#8946 by @bdraco (breaking-change)
[globals] Prevent redundant oversized string checks in loop esphome#9001 by @edwardtfn
[nextion] Optimize log messages to reduce memory usage esphome#9039 by @edwardtfn
[nextion] Add configurable limit for commands processed per loop esphome#8972 by @edwardtfn
[lvgl] Fix templated argument to lvgl.is_idle
esphome#9014 by @clydebarrow
Replace API deferred queue with efficient message batching system esphome#9012 by @bdraco (breaking-change)
Reduce Bluetooth overhead by disabling unused logging categories esphome#8945 by @bdraco
[inkplate] Remove arduino dependency esphome#9031 by @jesserockz
[core] Include esp_mac.h on Arduino too esphome#9040 by @swoboda1337
Use a define
for log message constants esphome#8952 by @kbx81
[esp_ldo] Implement support for ESP32-P4 LDO esphome#9009 by @clydebarrow (new-integration)
Fix: Seeed Studio MR60FDA2 threshold height could not be set esphome#9011 by @limengdu
[esp32] Use release zip from pioarduino/platform-espressif32 instead of git tag esphome#8975 by @jesserockz
[esp32_rmt] Add variant validation for use_dma esphome#8897 by @swoboda1337
Ensure components only powerdown after teardown esphome#9044 by @bdraco
use encode_uintXX
esphome#8847 by @ximex
Add OpenThread support on ESP-IDF esphome#7506 by @mrene (new-integration)
[shtcx] Shorten log messages esphome#9046 by @kbx81
[application] Fix build error on some IDF versions esphome#9045 by @kbx81
[spi] Restrict octal spi to S3/S2/P4 esphome#9041 by @clydebarrow
Reserve memory for component and platform vectors esphome#9042 by @bdraco
Improve shutdown reliability when tx buffer is full esphome#9043 by @bdraco
Add support for custom request headers in online_image component esphome#8985 by @numo68
Openthread code updates esphome#9047 by @jesserockz
[sgp4x] Shorten log messages, various clean-up esphome#9048 by @kbx81
Fix dashboard logging being escaped before parser esphome#9054 by @bdraco
Always perform select() when loop duration exceeds interval esphome#9058 by @bdraco
[nextion] Remove upload flags reset from success path to prevent TFT corruption esphome#9064 by @edwardtfn
Fix BYPASS_AUTO feature to work with or without an arming delay esphome#9051 by @heythisisnate
Fix misleading comment in API esphome#9069 by @bdraco
[prometheus] Remove cv.only_with_arduino
esphome#9061 by @jesserockz
[esp32] Dynamically set default framework based on variant esphome#9060 by @jesserockz
Fix captive_portal
loading entire web_server
esphome#9066 by @bdraco
Make ParseOnOffState enum uint8_t esphome#9083 by @bdraco
Optimize Component and Application state storage from uint32_t to uint8_t esphome#9082 by @bdraco (breaking-change)
Small optimizations to api buffer helper esphome#9071 by @bdraco
Reduce entity memory usage by eliminating field shadowing and bit-packing esphome#9076 by @bdraco (breaking-change)
Optimize memory usage by lazy-allocating raw callbacks in sensors esphome#9077 by @bdraco
Fix API message encoding to return actual size instead of calculated size esphome#9073 by @bdraco
Optimize Application area_
from std::string
to const char*
esphome#9085 by @bdraco (breaking-change)
Fix unbound BLE event queue growth and reduce memory usage esphome#9052 by @bdraco
[fan] fix initial FanCall to properly set speed esphome#8277 by @dhewg
Implement a lock free ring buffer for BLEScanResult to avoid drops esphome#9087 by @bdraco
Make BLE queue lock free esphome#9088 by @bdraco
Fix protobuf encoding size mismatch by passing force parameter in encode_string esphome#9074 by @bdraco
[i2s_audio] Check for a nullptr before disabling and deleting channel esphome#9062 by @kahrendt
Ensure we can send batches where the first message exceeds MAX_PACKET_SIZE esphome#9068 by @bdraco
Add common base classes for entity protobuf messages to reduce duplicate code esphome#9090 by @bdraco
Reduce Component blocking threshold memory usage by 2 bytes per component esphome#9081 by @bdraco
Remove std::
prefix as not all platforms have access yet. esphome#9095 by @jesserockz
[i2s_audio] Add dump_config
methods, shorten log messages esphome#9099 by @kbx81
[i2s_audio] Bugfix: crashes when unlocking i2s bus multiple times esphome#9100 by @kahrendt
[spi] Cater for non-word-aligned buffers on esp8266 esphome#9108 by @clydebarrow
Add intent progress event to voice assistant enum esphome#9103 by @synesthesiam
Optimize LightState memory layout esphome#9113 by @bdraco
Reduce Switch component memory usage by 8 bytes per instance esphome#9112 by @bdraco
Dependency Changes
Show
You can’t perform that action at this time.