ESPHome 2025.4.0 - 16th April 2025
Read the ESPHome 2025.4.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 MCP4461 quad i2c digipot/rheostat esphome#8180 by @p1ngb4ck (new-integration)
Breaking Changes
Section titled “Breaking Changes”- Rework max connections for BLE to avoid exceeding the hard limit esphome#8303 by @bdraco (breaking-change)
Beta Changes
Section titled “Beta Changes”- [lvgl] Fix use of image without canvas (Bugfix) esphome#8540 by @clydebarrow
- Include MAC address in noise hello esphome#8551 by @bdraco
- [axs15231] Don’t overwrite manual dimensions esphome#8553 by @clydebarrow
- [lvgl] Fix initial focus on roller esphome#8547 by @clydebarrow
- [lvgl] Add restore_value to select and number esphome#8494 by @clydebarrow
- Speaker-Media-Player: Fix potential deadlock in audio pipeline esphome#8548 by @gnumpi
- [lvgl] Ensure captured lambdas are in correct order esphome#8560 by @clydebarrow
- Bump aioesphomeapi from 29.9.0 to 29.10.0 esphome#8562 by @dependabot[bot]
- Bump zeroconf from 0.146.3 to 0.146.4 esphome#8563 by @dependabot[bot]
- Bump esphome-dashboard to 20250415.0 esphome#8565 by @swoboda1337
- Fix ‘—device MQTT’ for devices with static IP esphome#8535 by @dwmw2
- [am2315c] Use warning not fail during update esphome#8499 by @swoboda1337
- Bump zeroconf from 0.146.4 to 0.146.5 esphome#8569 by @dependabot[bot]
- Fix vscode validation not showing error squiggles esphome#8500 by @glmnet
- SML runtime optimizations esphome#8571 by @mariusgreuel
All changes
Section titled “All changes”- [esp32] Allow pioarduino versions 5.3.2 and 5.4.0 esphome#8440 by @swoboda1337
- [cli] Add
--resetand--upload_speedoptions esphome#8380 by @clydebarrow - [core] Fix 5.4.0 build issue esphome#8455 by @swoboda1337
- [core] Fix s2 build after crc header fix esphome#8459 by @swoboda1337
- [esp32_can] Configurable enqueue timeout esphome#8453 by @patagonaa
- [scheduler] Properly handle millis() overflow esphome#8197 by @clydebarrow
- [esp32] Allow pioarduino version 5.4.1 esphome#8480 by @swoboda1337
- [psram] 120MHz does not work in octal mode esphome#8477 by @clydebarrow
- Move CONF_DEFAULT to const.py esphome#8497 by @nielsnl68
- [lvgl] Add some defines esphome#8501 by @clydebarrow
- Add support for MCP4461 quad i2c digipot/rheostat esphome#8180 by @p1ngb4ck (new-integration)
- Bump platformio to 6.1.18 esphome#8430 by @shvmm
- Update emails from nabucasa to OHF esphome#8508 by @jesserockz
- [nau7802] fix bad blocking code (#6395) esphome#8070 by @cujomalainey
- [core, qspi_dbi] Clang tidy fixes for 5.3.2 esphome#8509 by @swoboda1337
- [CI] Clang tidy fixes for 5.3.2 esphome#8510 by @swoboda1337
- [ethernet_info] return actual ethernet MAC address esphome#8492 by @victorclaessen
- Rework max connections for BLE to avoid exceeding the hard limit esphome#8303 by @bdraco (breaking-change)
- [component] Show error message for failed component esphome#8478 by @clydebarrow
- [psram] Allow use of experimental 120MHz octal mode esphome#8519 by @clydebarrow
- Ensure plaintext responds with bad indicator byte before dropping the connection esphome#8521 by @bdraco
- Bump aioesphomeapi to 29.9.0 esphome#8522 by @bdraco
- [lvgl] add on_boot trigger esphome#8498 by @clydebarrow
- [lvgl] Make line points templatable esphome#8502 by @clydebarrow
- [spi] Implement octal mode esphome#8386 by @clydebarrow
- real_time_clock: Apply timezone immediately in set_timezone() esphome#8531 by @dwmw2
- [lvgl] Implement canvas widget esphome#8504 by @clydebarrow
- [lvgl] Fix use of image without canvas (Bugfix) esphome#8540 by @clydebarrow
- Include MAC address in noise hello esphome#8551 by @bdraco
- [axs15231] Don’t overwrite manual dimensions esphome#8553 by @clydebarrow
- [lvgl] Fix initial focus on roller esphome#8547 by @clydebarrow
- [lvgl] Add restore_value to select and number esphome#8494 by @clydebarrow
- Speaker-Media-Player: Fix potential deadlock in audio pipeline esphome#8548 by @gnumpi
- [lvgl] Ensure captured lambdas are in correct order esphome#8560 by @clydebarrow
- Bump esphome-dashboard to 20250415.0 esphome#8565 by @swoboda1337
- Fix ‘—device MQTT’ for devices with static IP esphome#8535 by @dwmw2
- [am2315c] Use warning not fail during update esphome#8499 by @swoboda1337
- Fix vscode validation not showing error squiggles esphome#8500 by @glmnet
- SML runtime optimizations esphome#8571 by @mariusgreuel
Dependency Changes
Section titled “Dependency Changes”- Bump setuptools from 69.2.0 to 76.0.0 esphome#8405 by @dependabot[bot]
- Bump puremagic from 1.27 to 1.28 esphome#8406 by @dependabot[bot]
- Bump esphome-glyphsets from 0.1.0 to 0.2.0 esphome#8403 by @dependabot[bot]
- Bump actions/cache from 4.2.2 to 4.2.3 in /.github/actions/restore-python esphome#8437 by @dependabot[bot]
- Bump actions/cache from 4.2.2 to 4.2.3 esphome#8433 by @dependabot[bot]
- Bump ruff from 0.9.2 to 0.11.0 esphome#8409 by @dependabot[bot]
- Bump pylint from 3.2.7 to 3.3.6 esphome#8441 by @dependabot[bot]
- Update wheel requirement from ~=0.43.0 to >=0.43,<0.46 esphome#8421 by @dependabot[bot]
- Bump tzlocal from 5.2 to 5.3.1 esphome#8423 by @dependabot[bot]
- Bump aioesphomeapi from 29.6.0 to 29.7.0 esphome#8448 by @dependabot[bot]
- Bump pytest-asyncio from 0.23.6 to 0.25.3 esphome#8447 by @dependabot[bot]
- Bump ruff from 0.11.0 to 0.11.2 esphome#8461 by @dependabot[bot]
- Bump actions/setup-python from 5.4.0 to 5.5.0 esphome#8468 by @dependabot[bot]
- Bump actions/setup-python from 5.4.0 to 5.5.0 in /.github/actions/restore-python esphome#8467 by @dependabot[bot]
- Bump pytest-cov from 5.0.0 to 6.0.0 esphome#8462 by @dependabot[bot]
- Bump pytest-asyncio from 0.25.3 to 0.26.0 esphome#8490 by @dependabot[bot]
- Bump async-timeout from 4.0.3 to 5.0.1 esphome#8491 by @dependabot[bot]
- Bump platformio from 6.1.16 to 6.1.18 esphome#8449 by @dependabot[bot]
- Bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 esphome#8362 by @dependabot[bot]
- Bump docker/login-action from 3.3.0 to 3.4.0 in the docker-actions group esphome#8408 by @dependabot[bot]
- Bump actions/download-artifact from 4.1.9 to 4.2.1 esphome#8434 by @dependabot[bot]
- Bump actions/upload-artifact from 4.6.1 to 4.6.2 esphome#8435 by @dependabot[bot]
- Bump ruamel-yaml from 0.18.6 to 0.18.10 esphome#8446 by @dependabot[bot]
- Bump yamllint from 1.35.1 to 1.37.0 esphome#8495 by @dependabot[bot]
- Bump pyupgrade from 3.15.2 to 3.19.1 esphome#8496 by @dependabot[bot]
- Bump voluptuous from 0.14.2 to 0.15.2 esphome#8506 by @dependabot[bot]
- Bump zeroconf from 0.146.1 to 0.146.3 esphome#8507 by @dependabot[bot]
- Bump setuptools from 76.0.0 to 78.1.0 esphome#8512 by @dependabot[bot]
- Bump flake8 from 7.0.0 to 7.2.0 esphome#8493 by @dependabot[bot]
- Bump pytest from 8.2.0 to 8.3.5 esphome#8528 by @dependabot[bot]
- Bump aioesphomeapi from 29.9.0 to 29.10.0 esphome#8562 by @dependabot[bot]
- Bump zeroconf from 0.146.3 to 0.146.4 esphome#8563 by @dependabot[bot]
- Bump zeroconf from 0.146.4 to 0.146.5 esphome#8569 by @dependabot[bot]