J. Nick Koston
5a7b1c411e
[cli] DRY up --prebuilt-dir helpers
...
Two small simplifications surfaced by re-reading the diff with a 'is
this DRY?' lens:
- Extract _missing_prebuilt_flash_tool(): the
_ensure_platform_packages_for_prebuilt_upload helper had two
near-identical 'if platform check; if finder() is not None return 0;
tool_label = ...' blocks. Lift the platform->(tool_name) selection
into a tiny helper so the early-return is one line and the install
body is no longer interleaved with the platform dispatch.
- Collapse the two near-duplicate 'firmware not found' return points in
upload_using_picotool. Both branches just selected an error message
and returned 1; reorder so the message selection happens first and
there's a single 'return 1'.
No behavior change; pure refactor. 587 unit tests pass.
Issue: esphome/device-builder#572
2026-05-11 16:00:42 -05:00
J. Nick Koston
bcac422e9e
[cli] Address self-review on --prebuilt-dir
...
- CORE.firmware_bin priority is now platform-aware: RP2040 + libretiny
prefer firmware.uf2 over firmware.bin (picotool / ltchiptool need the
UF2 header for address/family info); ESP* prefer firmware.bin. The
prior code returned .bin first for all platforms, which would have
silently flashed the wrong artifact on RP2040 if a hand-staged dir
shipped both files. New tests guard both directions.
- _rp2040_serial_reset_to_bootsel: check picotool exists *before*
triggering the 1200bps touch. If picotool is missing, the touch
would have left the device stranded in BOOTSEL with nothing able to
flash it; with this order the device stays on the old firmware and
can be retried.
- upload_using_ltchiptool: error message now mentions both firmware.uf2
and firmware.bin since CORE.firmware_bin resolves either.
- prepare_platform_for_upload: return type tightened to int (capture_stdout
is hardcoded False; assert the run helper returns int so a future caller
that flips capture_stdout fails loudly instead of silently treating a
string as success). Caller in __main__.py is now a one-liner.
- _load_idedata: narrative comment in the prebuilt branch shortened.
_resolve_prebuilt_idedata_paths docstring now notes the
POSIX-absolute-on-Windows quirk ("/foo/bar" is rooted but not absolute
on win32; hand-staged dirs need OS-appropriate absolute paths).
- New defensive-coverage tests: _resolve_prebuilt_idedata_paths with
missing prog_path, no extra section, empty flash_images list.
Issue: esphome/device-builder#572
Issue: esphome/device-builder#570
2026-05-11 13:32:36 -05:00
J. Nick Koston
c870ad328e
[cli] Fix Windows pytest: use platform-absolute path in --prebuilt-dir test
...
The 'absolute paths pass through unchanged' test for _load_idedata
hardcoded a POSIX-style absolute path ('/somewhere/else/bootloader.bin').
On Windows, Path.is_absolute() returns False for that shape -- absolute
paths there require a drive letter -- so _resolve_prebuilt_idedata_paths
classified it as relative and prepended CORE.prebuilt_dir, breaking the
test's assertion.
Replace the hardcoded POSIX path with a tmp_path-rooted one so it's
platform-absolute on every runner. No production code change; this is a
test-only fix surfaced by the windows-latest pytest matrix on PR #16348 .
Note: the macOS 3.14 failure on the same CI run is a flaky timing test
(tests/dashboard/test_web_server.py::test_dashboard_subscriber_entries_update_interval,
50ms sleep expecting 2+ iterations at 10ms) unrelated to this PR.
Issue: esphome/device-builder#572
2026-05-11 11:09:36 -05:00
J. Nick Koston
1ba8b838da
[cli] Address Copilot review on --prebuilt-dir
...
- get_ltchiptool_path: use 'Scripts/' on Windows, 'bin/' elsewhere when
falling back to PlatformIO's libretiny penv. CPython venvs put scripts
under Scripts/ on win32 and bin/ on POSIX; the prior hardcoded 'bin'
would never have found ltchiptool on Windows.
- _load_idedata: wrap json.loads on the prebuilt idedata.json in a
try/except and re-raise as EsphomeError with a one-line diagnostic so
the failure mode is a clean error instead of an unhandled
JSONDecodeError stack trace. Update the surrounding comment to match
the new behavior.
- CORE.prebuilt_dir docstring: drop the dead 'docs/architecture/...'
pointer (no docs/ tree in this repo); point at esphome-docs#6600 and
device-builder#572 instead.
New regression test:
- test_load_idedata_prebuilt_malformed_json_raises_esphomeerror
Updated test:
- test_get_ltchiptool_path_pio_penv now uses Scripts/ on win32 to match
the new platform-aware lookup.
Issue: esphome/device-builder#572
Issue: esphome/device-builder#570
2026-05-11 10:58:17 -05:00
J. Nick Koston
956c2a9780
Merge remote-tracking branch 'upstream/dev' into core-prebuilt-dir-upload
...
# Conflicts:
# esphome/__main__.py
2026-05-11 10:55:31 -05:00
J. Nick Koston and GitHub
a52ca4f80a
[ota] Implement host platform OTA backend with re-exec for integration testing ( #16304 )
2026-05-11 10:51:08 -05:00
luar123 and GitHub
4ac7bc4606
[zigbee] Add sensor support on esp32 ( #16026 )
2026-05-11 10:51:47 -04:00
8cf0eba043
[nrf52][zephyr] prepare for native builds ( #16193 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-05-11 14:47:06 +00:00
Keith Burzinski and GitHub
30e2f7e8e9
[thermostat] Fix supplemental action never firing via max run time ( #16308 )
2026-05-11 10:13:43 -04:00
@RubenKelevra and GitHub
a7299cb95b
[esp32_camera] Downgrade esp32-camera to 2.1.5 ( #16293 )
2026-05-11 10:09:15 -04:00
tomaszduda23 and GitHub
2edb7ca5c2
[nrf52] add message that west update is running ( #16321 )
2026-05-11 10:05:41 -04:00
tomaszduda23 and GitHub
68534ea24d
[logger] fix crash on zephyr ( #16330 )
2026-05-11 10:04:48 -04:00
rwrozelle and GitHub
105842366e
[openthread] Remove-freertos-portmacro-header-include ( #16338 )
2026-05-11 09:57:01 -04:00
J. Nick Koston and GitHub
4d9d6e02e5
[core] Add stable esphome.upload_targets module for port classification ( #16346 )
2026-05-11 09:13:16 -04:00
J. Nick Koston and GitHub
b967adeb9d
[wifi] Accept lowercase variant in variant_has_wifi ( #16345 )
2026-05-11 09:11:36 -04:00
Jonathan Swoboda and GitHub
e4d9786f00
[core] Move platformio files to subfolder ( #16347 )
2026-05-11 21:34:47 +12:00
Samuel Sieb and GitHub
267836d098
[tuya] allow status pin that doesn't match the reported one ( #16353 )
2026-05-11 01:27:07 -07:00
Jesse Hills and GitHub
c82adc3892
[ci] Fix external-component-bot 403 on PR comments ( #16354 )
2026-05-11 19:52:39 +12:00
J. Nick Koston
5cc7719ae4
[cli] Use pio run -t idedata to set up libretiny penv on cold hosts
...
The prior commit invoked 'pio pkg install' for the on-demand prep step,
which installs the libretiny platform package but does NOT recreate the
~/.platformio/penv/.libretiny/ virtualenv -- that's set up by libretiny's
ConfigurePythonVenv SCons step, which only fires during 'pio run'. So a
cold host (penv missing) still failed to find ltchiptool after the install
returned 'Already up-to-date'.
Wet test against bw15-device.yaml on a host with the libretiny penv
deleted:
esphome upload bw15-device.yaml --device /dev/null --prebuilt-dir ...
INFO ltchiptool not found on this host; installing the PlatformIO
rtl87xx platform package ...
Resolving bw15-device dependencies...
Already up-to-date.
ERROR ltchiptool not found. ...
Replace pkg install with 'pio run -t idedata'. The idedata target runs
SConscript without the actual compile target, so penv creation (libretiny)
and tool-package install (RP2040) happen as side effects of the SCons
configure phase -- but the build itself is skipped. Cost is a few seconds
of SCons configure, paid once per cold host.
Rename run_pkg_install -> prepare_platform_for_upload to match the new
semantics.
Issue: esphome/device-builder#572
Issue: esphome/device-builder#570
2026-05-11 00:30:06 -05:00
Jesse Hills and GitHub
fe66f9ba41
[ci] Tighten workflow permissions to least-privilege ( #16349 )
2026-05-11 17:15:53 +12:00
Jesse Hills and GitHub
5dadfe6367
[ci] codeowner-review-request: mint least-privilege App token ( #16351 )
2026-05-11 17:04:09 +12:00
J. Nick Koston
aab7177f07
[cli] Add write_cpp-failure test for --prebuilt-dir pkg-install prep
...
Symmetric with test_upload_program_prebuilt_dir_pkg_install_failure_aborts_upload:
covers the early-return path when write_cpp fails (codegen error, disk
full, validation regression) before pkg install runs. Closes the
coverage matrix for _ensure_platform_packages_for_prebuilt_upload's
two failure points.
Issue: esphome/device-builder#572
2026-05-10 23:58:16 -05:00
Jesse Hills and GitHub
c4e85fbfc1
[ci] sync-device-classes: mint least-privilege App token ( #16350 )
2026-05-11 16:57:10 +12:00
J. Nick Koston
7674170600
[cli] Auto-install PlatformIO platform when --prebuilt-dir needs its flash tool
...
Revert ltchiptool as a hard dependency so the vast majority of ESPHome
users (ESP32 / ESP8266 / nRF52 OTA) don't pay for libretiny tooling.
Instead, on-demand install just the PlatformIO platform package when a
--prebuilt-dir upload needs a flash tool that isn't on disk yet.
Mechanism: when upload_program receives --prebuilt-dir for a libretiny
or RP2040 target and the corresponding flash tool (ltchiptool / picotool)
isn't found by get_ltchiptool_path / _find_picotool, run the same prep
that 'esphome compile' would (write_cpp + write platformio.ini), then
invoke 'pio pkg install -e <env>' instead of 'pio run'. PlatformIO
downloads the platform without compiling, the flash tool ends up on disk,
and the upload dispatch picks it up on the next lookup.
After install, the tool path lookups (PATH + PIO penv for ltchiptool,
PIO packages dir for picotool) succeed and the upload helper takes over.
ESP32 / ESP8266 / nRF52 paths are unchanged (esptool is already bundled
in requirements.txt; smpclient too for nRF52 mcumgr).
Issue: esphome/device-builder#572
Issue: esphome/device-builder#570
2026-05-10 23:48:05 -05:00
J. Nick Koston
758189fe56
[deps] Bundle ltchiptool for libretiny prebuilt-dir uploads
...
`esphome upload --prebuilt-dir` on a libretiny device routes through
ltchiptool to bypass the PlatformIO build-tree requirement. On hosts
that have never compiled a libretiny config locally (the dashboard's
transparent-install use case) the libretiny PlatformIO platform's
penv at ~/.platformio/penv/.libretiny/bin/ltchiptool doesn't exist
yet, leaving the upload to fail with an actionable but unwelcome
"install ltchiptool" hint.
Bundle ltchiptool as a direct dependency, mirroring esptool which is
already shipped even though only ESP users need it. `pip install
esphome` is now sufficient for libretiny serial uploads from a
prebuilt artifact set; get_ltchiptool_path's PATH lookup picks up
the pip-installed binary first, with the PIO penv fallback still in
place for environments that vendor esphome without the extra.
Issue: esphome/device-builder#572
Issue: esphome/device-builder#570
2026-05-10 23:40:56 -05:00
J. Nick Koston
f4607cb521
[cli] Accept basenames in prebuilt idedata.json
...
The dashboard's source-routed runner ships idedata.json with bare
basenames in prog_path and extra.flash_images[*].path (the receiver's
build-host absolute paths don't resolve on the offloader, and the
in-memory Web Serial consumer keys by basename). Without this change,
the dashboard would have to write a fresh idedata.json into the staging
tmpdir on every install just to flip basenames to absolute paths.
Resolve relative paths in the prebuilt idedata against CORE.prebuilt_dir
so both the dashboard's wire format and a hand-built directory with
absolute paths work. cc_path is left alone because it points at a
PlatformIO toolchain binary outside the prebuilt dir; the offloader's
own PIO install provides the matching binary.
Issue: esphome/device-builder#570
Issue: esphome/device-builder#572
2026-05-10 23:21:23 -05:00
J. Nick Koston
0adfd08270
[cli] Address review feedback on --prebuilt-dir
...
- upload_using_ltchiptool: rename unused config arg to _config and note
the signature parity with upload_using_platformio/upload_using_picotool
so dispatch stays symmetric.
- upload_program: explicit exit_code = 1 when _rp2040_serial_reset_to_bootsel
fails, instead of relying on the function-level default.
- upload_using_picotool: distinct error message for the prebuilt-dir case
that names both candidates (idedata ELF + prebuilt firmware) instead of
just pointing at the missing ELF.
- _load_idedata: document the prebuilt-dir idedata.json contract more
loudly (absolute paths under prebuilt_dir, no schema validation, dashboard
owns the rewrites).
- --prebuilt-dir help text: drop the placeholder docs URL; describe the
dashboard-internal intent inline so users who hit the flag in --help
understand they don't want it.
- New test: upload_using_esptool with ESP-IDF toolchain + --prebuilt-dir
uses <prebuilt-dir>/firmware.factory.bin at offset 0x0.
Issue: esphome/device-builder#572
2026-05-10 23:18:48 -05:00
J. Nick Koston
d96ad02b9f
[nrf52] Honor --prebuilt-dir for mcumgr/BLE OTA uploads
...
nRF52 has its own upload_program that runs before the default dispatch
in esphome.__main__. The mcumgr/BLE OTA path reads the MCUboot-signed
update image from CORE.relative_pioenvs_path(name, 'zephyr',
'app_update.bin'), which assumes a local Zephyr build tree.
Consult CORE.prebuilt_artifact_path('app_update.bin') first so the
dashboard's transparent BLE install on a Bluetooth proxy can flash a
prebuilt update image without compiling locally.
Serial uploads on non-MCUboot bootloaders still go through
adafruit-nrfutil via _upload_using_platformio and are out of scope here;
they need their own bypass to work with --prebuilt-dir (tracked
separately).
Issue: esphome/device-builder#572
2026-05-10 23:07:04 -05:00
J. Nick Koston
a6a0a404ae
[cli] Flash RP2040 serial prebuilt-dir uploads via 1200bps touch + picotool
...
Mirror the libretiny/ltchiptool shape for RP2040 serial when
--prebuilt-dir is set: open the user-supplied serial port at 1200 baud
(arduino-pico's USB CDC interprets the open/close as a request to reboot
into BOOTSEL), poll picotool until the BOOTSEL device shows up on the
USB bus, then dispatch to upload_using_picotool with the prebuilt .uf2.
This removes the last path that required --prebuilt-dir to contain a
platformio.ini + .pioenvs/<name>/ tree, so upload_using_platformio is
now only invoked when no prebuilt dir is set (i.e. the existing
compile+upload flow on a developer machine).
Issue: esphome/device-builder#572
2026-05-10 23:04:18 -05:00
J. Nick Koston
b8336cddf2
[cli] Flash libretiny prebuilt-dir uploads via ltchiptool
...
The libretiny upload path on `upload_program` SERIAL dispatch re-invokes
PlatformIO (`pio run -t upload -t nobuild`), which needs a full build
tree and `platformio.ini`. That makes it incompatible with a dashboard
that only has prebuilt artifacts.
Bypass PlatformIO for the libretiny+SERIAL+--prebuilt-dir case by calling
`ltchiptool flash write -d <port> <firmware.uf2>` directly. The .uf2
encodes the chip family in its header so no extra config is needed.
ltchiptool ships with the libretiny PlatformIO platform under
~/.platformio/penv/.libretiny/bin/ltchiptool; `get_ltchiptool_path()`
prefers PATH first (pip install ltchiptool) and falls back to the
PlatformIO penv. Without --prebuilt-dir the existing PlatformIO path
remains in place, so this is purely additive.
Issue: esphome/device-builder#572
2026-05-10 22:52:17 -05:00
J. Nick Koston
255d4c6b65
[cli] Add esphome upload --prebuilt-dir <path>
...
Adds a --prebuilt-dir flag to esphome upload that points the per-platform
upload helpers at a directory of prebuilt artifacts shipped from a paired
build server, instead of re-deriving paths from the local build tree.
Covers every upload-dispatch shape:
- ESP32 / ESP8266 serial (esptool) reads firmware.bin + extras via the
prebuilt idedata.json the dashboard ships next to the artifacts.
- ESP32 / ESP8266 OTA (native API + web_server) reads CORE.firmware_bin,
CORE.partition_table_bin and CORE.bootloader_bin which now consult the
prebuilt-dir first.
- RP2040 BOOTSEL (picotool) falls back from the idedata ELF (absent in
the flat layout) to the prebuilt firmware.uf2.
- RP2040 serial / libretiny serial / OTA (PlatformIO upload -t nobuild)
point platformio at the prebuilt build tree via CORE.build_path so the
-t upload -t nobuild path finds platformio.ini and .pioenvs/<name>/.
Issue: esphome/device-builder#572
2026-05-10 22:28:19 -05:00
e9cc10fedc
[core] Native idf full support ( #14678 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: Jonathan Swoboda <swoboda1337@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-05-11 02:12:07 +00:00
J. Nick Koston and GitHub
66e2dcffc4
[cli] Tighten command_rename: scoped name rewrite, target-collision check ( #16296 )
2026-05-11 13:00:09 +12:00
J. Nick Koston and GitHub
17080ddce6
[wifi][rp2040] Add stable wifi-capability helpers for device-builder ( #16300 )
2026-05-11 12:56:56 +12:00
J. Nick Koston and GitHub
930d539969
[config_validation] Add a visibility UI-hint kwarg ( #16267 )
2026-05-11 12:07:15 +12:00
Clyde Stubbs and GitHub
3c042e2e44
[lvgl] Ensure that on_value events fire on checked change ( #16119 )
2026-05-11 11:58:18 +12:00
Jesse Hills and GitHub
ed10fbea3e
[docker] Silence CopyIgnoredFile warning for build context root ( #16311 )
2026-05-11 07:25:49 +12:00
1365251365
[ota] Add bootloader update functionality to ota component ( #16238 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-05-08 21:36:06 +00:00
rwrozelle and GitHub
3abf2c99a2
[openthread] add coroutine-with-priority COMMUNICATION ( #16318 )
2026-05-08 16:35:47 -05:00
Kevin Ahrendt and GitHub
70b9edfabe
[i2s_audio] Refactor SPDIF output, fixing synchronization problems ( #16319 )
2026-05-08 21:26:09 +00:00
88c2a1c096
[speaker] Add SPDIF output support ( #8065 )
...
Co-authored-by: Keith Burzinski <kbx81x@gmail.com >
Co-authored-by: Kevin Ahrendt <kevin.ahrendt@openhomefoundation.org >
2026-05-08 14:43:55 -04:00
Mat931 and GitHub
3d8fffbea9
[htu31d][kamstrup_kmp][ms8607] Use CRC functions from helpers.h ( #16313 )
2026-05-08 09:17:14 -04:00
Jonathan Swoboda and GitHub
eb52ca61fe
[climate][ektf2232] Remove deprecations scheduled for 2026.5.0 ( #16289 )
2026-05-08 07:26:14 -04:00
Jonathan Swoboda and GitHub
a970f05b69
[clang-tidy] Enable readability-redundant-string-init ( #16310 )
2026-05-08 07:26:03 -04:00
Clyde Stubbs and GitHub
7b6e2589f1
[modbus_server] Reduce log spam ( #16283 )
2026-05-08 14:09:22 +10:00
Jonathan Swoboda and GitHub
696a654733
[clang-tidy] Concatenate nested namespaces (7/7: tests, platform-gated, enable check) ( #16307 )
2026-05-07 23:05:17 -04:00
Kevin Ahrendt and GitHub
08b17c9da1
[core] Move core ring buffer to helper component ( #16298 )
2026-05-08 14:01:37 +12:00
Jesse Hills and GitHub
e152c6155b
[ci] Skip needs-docs for new components without CONFIG_SCHEMA ( #16303 )
2026-05-08 14:00:50 +12:00
Jonathan Swoboda and GitHub
6ffcb821ca
[clang-tidy] Concatenate nested namespaces (6/7: components t-z) ( #16305 )
2026-05-08 01:13:38 +00:00
Jonathan Swoboda and GitHub
ded83812f4
[clang-tidy] Concatenate nested namespaces (5/7: components s) ( #16302 )
2026-05-08 00:16:51 +00:00
Jonathan Swoboda and GitHub
ab1d2de78e
[clang-tidy] Concatenate nested namespaces (4/7: components n-r) ( #16301 )
2026-05-07 23:28:30 +00:00
Jonathan Swoboda and GitHub
cbe192df49
[clang-tidy] Concatenate nested namespaces (3/7: components i-m) ( #16297 )
2026-05-07 19:00:17 -04:00
56ef357162
Bump github/codeql-action from 4.35.3 to 4.35.4 ( #16299 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 17:51:30 -05:00
Jonathan Swoboda and GitHub
4e4e4b4411
[clang-tidy] Concatenate nested namespaces (2/7: components d-h) ( #16295 )
2026-05-07 16:49:55 -04:00
Jonathan Swoboda and GitHub
06bd92c388
[clang-tidy] Concatenate nested namespaces (1/7: components a-c) ( #16294 )
2026-05-07 14:21:39 -04:00
J. Nick Koston and GitHub
71193e2b2c
[helpers] Document write_file's external consumer contract (esphome-device-builder) ( #16290 )
2026-05-07 13:21:35 -05:00
Clyde Stubbs and GitHub
9301f76482
[sensor] Add alternate calibration format for ntc ( #15937 )
2026-05-07 06:59:22 +10:00
Clyde Stubbs and GitHub
004aa49131
[lvgl] Pass touch point to touch event lambdas ( #16272 )
2026-05-07 06:57:53 +10:00
3b6250bcee
Bump CodSpeedHQ/action from 4.15.0 to 4.15.1 ( #16281 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-06 15:23:58 -05:00
Jesse Hills
a7b4a2006a
Merge branch 'release' into dev
2026-05-07 08:13:00 +12:00
Jesse Hills and GitHub
09dc41435c
Merge pull request #16282 from esphome/bump-2026.4.5
...
2026.4.5
2026-05-07 08:12:15 +12:00
Jesse Hills
5283cdec12
Bump version to 2026.4.5
2026-05-07 07:25:35 +12:00
Edward Firmo and Jesse Hills
d9835c8705
[nextion] Fix text sensor state not updated on string response ( #16280 )
2026-05-07 07:25:35 +12:00
b89c71c1ea
[core] Fix WiFi connection in safe mode ( #16269 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-05-07 07:25:35 +12:00
J. Nick Koston and Jesse Hills
7f6aef4f33
[substitutions] Fix sibling references inside dict-valued substitutions ( #16273 )
2026-05-07 07:25:35 +12:00
J. Nick Koston and Jesse Hills
016b509b55
[bundle] Include secrets.yaml when !secret keys are quoted ( #16271 )
2026-05-07 07:25:35 +12:00
Jesse Hills
d2bbaeccf3
[ha-addon] Add opt-in toggle for the new ESPHome Device Builder ( #16247 )
2026-05-07 07:25:35 +12:00
1e58e8729a
[uart] Use tcdrain for flushing instead oftcflush on host ( #14877 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-05-06 18:53:48 +00:00
J. Nick Koston and GitHub
6173656bf8
[schema] Surface OnlyWith / OnlyWithout default + gate components in schema generator ( #16276 )
2026-05-06 13:49:00 -04:00
0d94ffe15d
[resolver] Make RESOLVE_TIMEOUT configurable via environment variable ( #15951 )
...
Co-authored-by: Daniel Lowe <dan@auth.dxj.app >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-05-06 17:48:38 +00:00
Edward Firmo and GitHub
4da62067cf
[nextion] Fix text sensor state not updated on string response ( #16280 )
2026-05-06 13:32:50 -04:00
Kevin Ahrendt and GitHub
9f49e3f80e
[audio] Bump microFLAC to v0.2.0 ( #16279 )
2026-05-06 17:22:18 +00:00
Kevin Ahrendt and GitHub
fc25ab0246
[i2s_audio] Optimize software volume control ( #16278 )
2026-05-06 12:57:03 -04:00
Kevin Ahrendt and GitHub
a4a57a540d
[core] Adds acquire and release methods to the ring buffer class ( #16277 )
2026-05-06 12:56:54 -04:00
cfd2c9182c
[bl0942] Remove broken 24-bit overflow tracking ( #15650 )
...
Co-authored-by: DidierA <1620015+didiera@users.noreply.github.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-05-06 12:34:55 -04:00
2864922ac0
[ota] Partition table update: Fix log messages ( #16241 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-06 09:59:10 -05:00
90693fb39a
[core] Fix WiFi connection in safe mode ( #16269 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-05-06 09:56:33 -05:00
J. Nick Koston and GitHub
6e1a59da3e
[packages] Make package !include vars visible to its substitutions block ( #16274 )
2026-05-06 09:53:14 -05:00
545ee03f42
[atm90e32] Fix calibration instance not saving in flash properly ( #14152 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-05-06 10:15:04 -04:00
J. Nick Koston and GitHub
caaa1aefc7
[substitutions] Fix sibling references inside dict-valued substitutions ( #16273 )
2026-05-06 08:41:17 -05:00
J. Nick Koston and GitHub
ff0c5f575e
[bundle] Include secrets.yaml when !secret keys are quoted ( #16271 )
2026-05-06 07:32:35 -05:00
J. Nick Koston and GitHub
f06ad8c436
[http_request] Add regression test for light action inside on_response ( #16270 )
2026-05-06 07:32:19 -05:00
29db5fa4bb
[script] Make pre-commit and helpers work on Windows ( #16260 )
...
Co-authored-by: Jonathan Swoboda <swoboda1337@users.noreply.github.com >
2026-05-06 07:11:06 -05:00
J. Nick Koston and GitHub
85f33978e7
[core] Skip external component update on esphome clean ( #16268 )
2026-05-06 07:23:35 -04:00
Clyde Stubbs and GitHub
79786f1cc7
[lvgl] Allow line points as percentages ( #16209 )
2026-05-06 07:22:43 -04:00
Kevin Ahrendt and GitHub
febf8815c7
[audio_file][speaker] Eliminate code duplication for files built into firmware ( #16266 )
2026-05-06 05:59:51 -04:00
Jesse Hills and GitHub
6f6d991dd2
[ha-addon] Add opt-in toggle for the new ESPHome Device Builder ( #16247 )
2026-05-06 21:42:11 +12:00
e9f7579910
[logger] give a chance to print crash ( #16203 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-05-06 01:37:40 +00:00
tomaszduda23 and GitHub
a99c1b3e08
[nrf52] add reserve area for bootloader ( #16204 )
2026-05-05 20:37:03 -04:00
Kevin Ahrendt and GitHub
2d6af1f7e5
[audio] Bump esp-audio-libs to v3.0.0 ( #16263 )
2026-05-05 20:22:53 -04:00
J. Nick Koston and GitHub
700676b340
[api] Use entity_types.h X-macro for InitialStateIterator declarations ( #16075 )
2026-05-05 18:29:48 -05:00
J. Nick Koston and GitHub
bf1c339dc1
[api] Use entity_types.h X-macro for ListEntitiesIterator declarations ( #16076 )
2026-05-05 18:29:32 -05:00
J. Nick Koston and GitHub
f5c1b8839d
[web_server] Use entity_types.h X-macro for ListEntitiesIterator declarations ( #16077 )
2026-05-05 18:29:10 -05:00
J. Nick Koston and GitHub
4404dd68ba
[cover] Fix ControlAction / CoverPublishAction trigger args with reference types ( #16227 )
2026-05-05 18:27:18 -05:00
J. Nick Koston and GitHub
67491c3194
[packages] Add resolve_packages single-call seam ( #16235 )
2026-05-05 18:26:52 -05:00
J. Nick Koston and GitHub
39b2b901f7
[core] Replace scheduler pool vector with unbounded intrusive freelist ( #16172 )
2026-05-05 18:26:19 -05:00
J. Nick Koston and GitHub
f30ad588ea
[cli] Add --ota-platform flag to pick web_server or native API OTA ( #16207 )
2026-05-05 18:25:53 -05:00
tomaszduda23 and GitHub
be82e8faeb
[debug] Remove unused buffer in uicr lambda function ( #16208 )
2026-05-05 19:02:26 -04:00
Kevin Ahrendt and GitHub
57397a318a
[audio] Use the microWAV library for decoding ( #16251 )
2026-05-05 11:21:02 -05:00
Kevin Ahrendt and GitHub
87a705b1cc
[audio] Bump microOpus to v0.4.1 ( #16255 )
2026-05-05 12:47:07 +00:00
Keith Burzinski and GitHub
edbb9f7b28
[i2s_audio] Fix stereo playback when slot bit width exceeds data bit width ( #16248 )
2026-05-05 08:15:32 -04:00
Jesse Hills and GitHub
efff8fe8be
[platformio_api] Remove duplicated _strip_win_long_path_prefix ( #16249 )
2026-05-05 14:29:23 +12:00
Jesse Hills
f248302370
Merge branch 'release' into dev
2026-05-05 14:22:23 +12:00
Jesse Hills and GitHub
6fda5f41b2
Merge pull request #16240 from esphome/bump-2026.4.4
...
2026.4.4
2026-05-05 14:21:38 +12:00
Kevin Ahrendt and GitHub
ea2b2b3920
[audio_file] Use microDecoder library instead of manual task management/decoding ( #16237 )
2026-05-04 20:12:26 -05:00
Kevin Ahrendt and GitHub
f33d137669
[audio][media_player][speaker] WAV decoding is no longer always built ( #16244 )
2026-05-04 23:45:11 +00:00
d28498ac2c
Bump cryptography from 47.0.0 to 48.0.0 ( #16245 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-04 23:39:44 +00:00
Olivier ARCHER and GitHub
556783b95b
[http_request] remove slow http_request warning on 8266 ( #16239 )
2026-05-04 18:19:52 -05:00
Kevin Ahrendt and GitHub
857e529803
[audio] Use the microMP3 library instead of esp-audio-libs ( #16236 )
2026-05-04 18:41:50 -04:00
Jesse Hills
197d4dac8e
Bump version to 2026.4.4
2026-05-05 08:27:10 +12:00
Jesse Hills
2d7f9dc48d
[api] Use safe_print for log output and fix safe_print bytes-repr fallback ( #16160 )
2026-05-05 08:27:04 +12:00
J. Nick Koston and Jesse Hills
be84e6c9f4
[api] Fall back to owning types for service array args used after a delay ( #16140 )
2026-05-05 08:22:05 +12:00
J. Nick Koston and Jesse Hills
0418f2138a
[esp32] Drop printf wrap on IDF 6.0+ (picolibc no longer needs it) ( #16189 )
2026-05-05 08:22:05 +12:00
Clyde Stubbs and Jesse Hills
d9c22d6b56
[lvgl] Clamp values for meter line indicators ( #16180 )
2026-05-05 08:22:05 +12:00
J. Nick Koston and Jesse Hills
60a94fd109
[esp32] Replace 512B stack buffer in printf wraps with picolibc cookie FILE ( #16170 )
2026-05-05 08:22:05 +12:00
Jesse Hills
9371ec319a
[core] Strip \\?\ prefix from sys.executable for PlatformIO subprocess ( #16158 )
2026-05-05 08:21:58 +12:00
J. Nick Koston and Jesse Hills
ce466c6b60
[mcp23xxx_base] Reject unsupported interrupt_pin options (inverted, allow_other_uses) ( #16149 )
2026-05-05 08:14:03 +12:00
a460f5343c
[automation] Fix codegen type for component.resume update_interval ( #16069 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 08:14:02 +12:00
Jesse Hills and GitHub
7c2a63bf82
[api] Use safe_print for log output and fix safe_print bytes-repr fallback ( #16160 )
2026-05-05 08:12:20 +12:00
Diorcet Yann and GitHub
690a197346
[main] Move stacktrace handling out of platformio_api and FlashImage into platform components/util ( #16186 )
2026-05-04 15:07:31 -04:00
24d4da1021
[sensor] Document why TimeoutFilterBase intentionally keeps Component ( #16194 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-05-04 01:18:28 +00:00
J. Nick Koston and GitHub
53c4e6f386
[tests] Drop duplicate on_boot_restore_from in host_mode_climate_basic_state ( #16228 )
2026-05-03 20:12:51 -05:00
J. Nick Koston and GitHub
1d63158480
[zephyr] Add nRF52 component tests so CI runs on zephyr-only changes ( #16188 )
2026-05-03 20:05:56 -05:00
J. Nick Koston and GitHub
013dee44eb
[binary_sensor] Drop Component from AutorepeatFilter, use self-keyed scheduler ( #16191 )
2026-05-03 20:05:27 -05:00
J. Nick Koston and GitHub
9ddb828da3
[api] Don't tear down log connection on stack-trace decode failure ( #16196 )
2026-05-03 20:05:13 -05:00
J. Nick Koston and GitHub
120d1e51fb
[tests] Fix flaky host_mode_climate_basic_state integration test ( #16192 )
2026-05-03 20:04:34 -05:00
J. Nick Koston and GitHub
844a36f7a1
[api] Mark high-volume proxy messages as speed_optimized (Infrared/RF, Z-Wave, serial) ( #16159 )
2026-05-03 20:03:52 -05:00
J. Nick Koston and GitHub
72a75f2d3f
[cover] Fold ControlAction/CoverPublishAction fields into stateless lambdas ( #16046 )
2026-05-03 20:02:07 -05:00
b5eb444015
[dashboard] Stabilize device-builder dashboard backend's API surface ( #16206 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-03 20:01:51 -05:00
J. Nick Koston and GitHub
15ab5422c7
[ci] Run downstream device-builder tests against PR Python code ( #16214 )
2026-05-03 19:45:08 -05:00
J. Nick Koston and GitHub
33f88619da
[valve] Fix ControlAction trigger args with reference types ( #16223 )
2026-05-03 19:44:21 -05:00
J. Nick Koston and GitHub
df1200629f
[tests] Fix flaky host_mode_climate_basic_state ( #16225 )
2026-05-03 19:44:11 -05:00
J. Nick Koston and GitHub
41bd570d30
[light] Fix LightControlAction trigger args with reference types ( #16220 )
2026-05-03 19:44:01 -05:00
J. Nick Koston and GitHub
cf223674e5
[climate] Fix ControlAction trigger args with reference types ( #16221 )
2026-05-03 19:43:49 -05:00
J. Nick Koston and GitHub
af74b639cf
[fan] Fix TurnOnAction trigger args with reference types ( #16222 )
2026-05-03 19:43:35 -05:00
J. Nick Koston and GitHub
4108b27197
[esp8266] Lower WDT_FEED_INTERVAL_MS to 100 ms ( #16197 )
2026-05-03 19:43:09 -05:00
7cfab58a05
[ota] Add partition table update functionality to ota component ( #15780 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-05-03 19:42:10 -05:00
tomaszduda23 and GitHub
85e1e4b95e
[zephyr] feed watchdog early. Otherwise OTA may rollback. ( #16218 )
2026-05-03 20:37:32 -04:00
J. Nick Koston and GitHub
0f174ee626
[api] Fall back to owning types for service array args used after a delay ( #16140 )
2026-05-04 10:55:40 +12:00
8046ff7e1e
[nextion] TFT upload no longer fails when the display sends a split 0x08 ack ( #16205 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-05-03 03:40:09 -05:00
5e9db1c8c6
Bump github/codeql-action from 4.35.2 to 4.35.3 ( #16201 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-01 21:46:29 -05:00
J. Nick Koston and GitHub
81d147ff9e
[esp32] Drop printf wrap on IDF 6.0+ (picolibc no longer needs it) ( #16189 )
2026-05-01 14:31:56 -05:00
58cb7effd4
[ota] Add extended OTA protocol ( #16164 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-05-01 10:40:14 -05:00
Kevin Ahrendt and GitHub
3dd60c5713
[core] Support allocating ring buffer in internal memory ( #16187 )
2026-05-01 07:55:08 -05:00
Oliver Kleinecke and GitHub
f073c1cabe
[usb_host][usb_uart] Add configurable max packet size ( #14584 )
2026-05-01 20:43:13 +10:00
J. Nick Koston and GitHub
5cc447e0da
[core] Move per-platform hal_platform.h into components/platform/hal.h ( #16183 )
2026-04-30 21:27:31 -05:00
Clyde Stubbs and GitHub
0980630f68
[lvgl] Clamp values for meter line indicators ( #16180 )
2026-04-30 22:23:14 -04:00
J. Nick Koston and GitHub
b8dfffdf06
[core] Enable ruff FLY (flynt) lint family ( #16182 )
2026-04-30 21:20:07 -05:00
luar123 and GitHub
f6e39d305d
[zigbee] Add newlib compatibility for zigbee sdk in idf 6 ( #16174 )
2026-04-30 22:08:55 -04:00
Jonathan Swoboda and GitHub
08e5cb5576
[esp32_hosted] Bump esp_hosted to 2.12.6 and esp_wifi_remote to 1.5.1 ( #16176 )
2026-04-30 20:47:22 -05:00
Kevin Ahrendt and GitHub
faa61696e0
[sendspin] Use sendspin-cpp to v0.4.0 to reduce stuttering ( #16178 )
2026-04-30 20:43:24 -05:00
J. Nick Koston and GitHub
9999913d07
[zephyr] Move HAL bodies into components/zephyr/hal.cpp + inline trivial dispatches ( #16116 )
2026-04-30 20:10:51 -05:00
J. Nick Koston and GitHub
92aa98f680
[host] Move HAL bodies into components/host/hal.cpp + inline trivial dispatches ( #16115 )
2026-05-01 00:42:38 +00:00
J. Nick Koston and GitHub
3d69169141
[climate] Fold ControlAction fields into a single stateless lambda ( #16044 )
2026-04-30 19:16:16 -05:00
J. Nick Koston and GitHub
24fdfcf1a1
[rp2040] Move HAL bodies into components/rp2040/hal.cpp + inline trivial dispatches ( #16114 )
2026-04-30 19:15:41 -05:00
J. Nick Koston and GitHub
550444dc34
[binary_sensor] Drop Component from filter classes, use self-keyed scheduler ( #16131 )
2026-04-30 19:15:18 -05:00
J. Nick Koston and GitHub
ba7c06785a
[mdns] Broadcast config_hash TXT record on _esphomelib._tcp ( #16145 )
2026-04-30 19:14:55 -05:00
J. Nick Koston and GitHub
b708d1a826
[core] Drop unused DELAY_ACTION from InternalSchedulerID enum ( #16151 )
2026-04-30 19:14:34 -05:00
J. Nick Koston and GitHub
148d478dec
[api] Add encode/decode benchmarks for Z-Wave, IR/RF, and serial proxy messages ( #16157 )
2026-04-30 19:14:20 -05:00
J. Nick Koston and GitHub
45e78e4114
[core] Inline loop gate expression to avoid stale local reuse ( #16167 )
2026-04-30 19:13:54 -05:00
J. Nick Koston and GitHub
3b3e003aa3
[sensor] Pack ThrottleAverageFilter have_nan_ into n_ bitfield (-4 B/instance) ( #16169 )
2026-04-30 19:13:10 -05:00
J. Nick Koston and GitHub
2f3e16b482
[bk72xx] Apply CFG_SUPPORT_BLE=0 SDK option to BK7238 ( #16181 )
2026-04-30 19:12:06 -05:00
J. Nick Koston and GitHub
e085cb50d9
[sensor] Drop Component from filter classes, use self-keyed scheduler ( #16132 )
2026-04-30 19:11:30 -05:00
J. Nick Koston and GitHub
2fbfb4c385
[ci] Split integration tests into 3 buckets when count is more than 10 ( #16152 )
2026-04-30 19:10:53 -05:00
J. Nick Koston and GitHub
61261b4a59
[libretiny] Move HAL bodies into components/libretiny/hal.cpp + inline trivial dispatches ( #16113 )
2026-04-30 12:33:22 -05:00
J. Nick Koston and GitHub
d48aad8c4d
[esp32] Replace 512B stack buffer in printf wraps with picolibc cookie FILE ( #16170 )
2026-04-30 13:27:54 -04:00
Kevin Ahrendt and GitHub
f1d3be4bda
[core] Simplify RAMAllocator and add internal fallback to external mode ( #16171 )
2026-04-30 12:03:40 -04:00
Kevin Ahrendt and GitHub
2758aa5517
[audio] bump microOpus to v0.4.0 to use fixed-point by default on ESP32 ( #16168 )
2026-04-30 09:12:39 -04:00
Kevin Ahrendt and GitHub
a8b0133ec1
[audio] Enable specific codecs and configure advanced features ( #16166 )
2026-04-30 08:49:28 -04:00
Clyde Stubbs and GitHub
1398dcebb4
[st7789v] Add deprecation warnings ( #16162 )
2026-04-30 00:53:37 -05:00
096d0c4279
Bump aioesphomeapi from 44.22.0 to 44.23.0 ( #16161 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 04:45:19 +00:00
Jesse Hills and GitHub
e127268dac
[core] Strip \\?\ prefix from sys.executable for PlatformIO subprocess ( #16158 )
2026-04-30 16:04:52 +12:00
J. Nick Koston and GitHub
f0bffed3c0
[esp8266] Move HAL bodies into components/esp8266/hal.cpp + inline arch_init ( #16112 )
2026-04-30 15:42:17 +12:00
Jesse Hills and GitHub
1a871e231d
[ci] Use client-id for GitHub App token generation ( #16155 )
2026-04-30 13:09:37 +12:00
Jesse Hills and GitHub
47765bd2d0
[ci] Correct version comment on create-github-app-token pin ( #16156 )
2026-04-30 13:08:56 +12:00
8066325e0b
Bump esphome/workflows/.github/workflows/lock.yml from 2026.4.0 to 2026.4.1 ( #16143 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 12:52:25 +12:00
J. Nick Koston and GitHub
b8d24c9e49
[mcp23xxx_base] Reject unsupported interrupt_pin options (inverted, allow_other_uses) ( #16149 )
2026-04-30 11:14:07 +12:00
J. Nick Koston and GitHub
9b1f5c59bb
[core] Fix null deref in WarnIfComponentBlockingGuard for self-keyed scheduler timers ( #16150 )
2026-04-29 23:05:38 +00:00
Jonathan Swoboda and GitHub
e4b33fddf5
[esp32] Add ESP-IDF 6.0.1 platform entry ( #16146 )
2026-04-29 18:43:15 -04:00
Jonathan Swoboda and GitHub
77da64a367
[sx126x] Add cold sleep option and drop unused RTC wakeup bit ( #16144 )
2026-04-29 17:05:51 -04:00
J. Nick Koston and GitHub
cecccebc64
[core] DelayAction: drop Component inheritance, use self-keyed scheduler ( #16129 )
2026-04-29 20:35:04 +00:00
53b682e48f
[ci] Bump clang-tidy from 18.1.8 to 22.1.0.1 ( #16078 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-29 20:19:33 +00:00
14910e65d9
[ota] Use WatchdogManager for OTA on ESP32 ( #16138 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-29 20:15:21 +00:00
J. Nick Koston and GitHub
813964714c
[esp32] Move HAL bodies into components/esp32/hal.cpp + inline trivial dispatches ( #16111 )
2026-04-29 20:09:08 +00:00
J. Nick Koston and GitHub
5a146ab6b7
[valve] Fold ControlAction fields into a single stateless lambda ( #16123 )
2026-04-29 19:20:15 +00:00
J. Nick Koston and GitHub
61a41402df
[fan] Fold TurnOnAction fields into a single stateless lambda ( #16122 )
2026-04-29 19:16:05 +00:00
Mat931 and GitHub
59b4cfd07c
[watchdog] Use default CHECK_IDLE_TASK and PANIC when configuring the watchdog ( #16142 )
2026-04-29 18:41:12 +00:00
J. Nick Koston and GitHub
c41f38e16d
[scheduler] Add self-keyed timer API for callers without a Component ( #16127 )
2026-04-29 13:24:37 -05:00
Clyde Stubbs and GitHub
0ad8a071a7
[espnow] Cleanup method visibility and naming ( #16109 )
2026-04-29 14:18:21 -04:00
J. Nick Koston and GitHub
985dba9332
[core] Defer heavy module-scope imports in __main__, loader, and config ( #15955 )
2026-04-29 13:17:59 -05:00
ca3f7251d4
[ens160] Fix sensor initialization timing ( #16024 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-29 14:07:28 -04:00
J. Nick Koston and GitHub
44cabc191d
[core] Catch body-read errors in download_content ( #16023 )
2026-04-29 14:06:41 -04:00
J. Nick Koston and GitHub
e5b1991cf7
[fan] Add tests for fan.turn_on action field combinations ( #16125 )
2026-04-29 12:46:06 -05:00
J. Nick Koston and GitHub
7fba57ce51
[valve] Add tests for valve.control action field combinations ( #16126 )
2026-04-29 12:45:30 -05:00
J. Nick Koston and GitHub
69a33d8ac0
[core] Inline HAL clock wrappers and split hal.h into per-platform headers ( #15977 )
2026-04-29 12:31:55 -05:00
Jonathan Swoboda and GitHub
ce61dcf387
[remote_base][core] Drop redundant typename in dependent type contexts ( #16137 )
2026-04-29 16:54:17 +00:00
Jonathan Swoboda and GitHub
bae6b51652
[kamstrup_kmp][toshiba] Fix signed/unsigned comparisons against sizeof ( #16135 )
2026-04-29 11:33:57 -04:00
Jonathan Swoboda and GitHub
557c3d4436
[aqi] Use std::max initializer-list for non-negative AQI clamp ( #16134 )
2026-04-29 11:33:29 -04:00
Jonathan Swoboda and GitHub
bacee89bca
[mixer_speaker] NOLINT bugprone-unchecked-optional-access in audio_mixer_task ( #16130 )
2026-04-29 10:56:13 -04:00
Jonathan Swoboda and GitHub
2157d11913
[haier] Fix bugprone-unchecked-optional-access; switch HardwareInfo to char[9] ( #16124 )
2026-04-29 14:26:53 +00:00
Jonathan Swoboda and GitHub
42b8597719
[api] Extend NOLINT to cover bugprone-random-generator-seed in MAC varint test ( #16120 )
2026-04-29 13:58:19 +00:00
Jonathan Swoboda and GitHub
2bd28eee9d
[tormatic] Use .value() for checked optional access in read_gate_status_ ( #16121 )
2026-04-29 09:51:31 -04:00
J. Nick Koston and GitHub
0a497d3c22
[light] Fold LightControlAction fields into a single stateless lambda ( #16118 )
2026-04-29 08:35:17 -05:00
Jonathan Swoboda and GitHub
79da2b9704
[time] Fix bugprone-unchecked-optional-access in CronTrigger::check_time_ ( #16107 )
2026-04-29 08:30:46 -04:00
Jonathan Swoboda and GitHub
ae5b211c89
[api] Avoid JsonDocument copy-and-swap operator= in ActionResponse ctor ( #16106 )
2026-04-29 08:30:35 -04:00
J. Nick Koston and GitHub
8ceada8d04
[core] Download external_files in parallel ( #16021 )
2026-04-29 14:32:30 +12:00
J. Nick Koston and GitHub
49c7a6928e
[script] Fix cpp_unit_test crash for non-MULTI_CONF platform components ( #16104 )
2026-04-29 14:32:13 +12:00
J. Nick Koston and GitHub
2fce71e0d4
[wifi] Add phy_mode option for ESP8266 ( #16055 )
2026-04-29 14:31:07 +12:00
J. Nick Koston and GitHub
80251c54be
[climate] Add climate.control coverage to component tests via thermostat ( #16052 )
2026-04-29 14:27:56 +12:00
J. Nick Koston and GitHub
0d51a122d0
[cover] Add cover.control / cover.template.publish coverage to template tests ( #16051 )
2026-04-29 14:27:40 +12:00
J. Nick Koston and GitHub
5a33c50015
[light] Use constexpr template for DimRelativeAction transition_length ( #16038 )
2026-04-29 14:26:38 +12:00
J. Nick Koston and GitHub
0d150dc57e
[light] Use constexpr template for ToggleAction transition_length ( #16037 )
2026-04-29 14:25:18 +12:00
J. Nick Koston and GitHub
d287876d8d
[light] Use bitmask template for LightControlAction unused fields ( #16039 )
2026-04-29 14:20:37 +12:00
J. Nick Koston and GitHub
592486ae9a
[analyze_memory] Attribute main.cpp setup()/loop() to esphome core ( #16033 )
2026-04-29 14:06:54 +12:00
Jonathan Swoboda and GitHub
c3bd38af77
[feedback] Fix bugprone-unchecked-optional-access in start_direction_ ( #16103 )
2026-04-28 21:54:15 -04:00
J. Nick Koston and GitHub
eec770d622
[core] Use ETag in external_files cache to fix re-downloads from raw.githubusercontent.com ( #16020 )
2026-04-29 13:52:09 +12:00
J. Nick Koston and GitHub
d7b21a84a3
[git] Make ref fetches and submodule updates shallow ( #16014 )
2026-04-29 13:49:51 +12:00
J. Nick Koston and GitHub
f05243bd9d
[api] Add 48-bit MAC address varint fast path for BLE advertisements ( #15988 )
2026-04-29 13:48:35 +12:00
J. Nick Koston and GitHub
35cb28edfe
[output] Gate FloatOutput power scaling fields behind USE_OUTPUT_FLOAT_POWER_SCALING ( #15998 )
2026-04-29 13:27:22 +12:00
J. Nick Koston and GitHub
1363f661e6
[core] Inline ContinuationAction in If/While/RepeatAction ( #16040 )
2026-04-28 21:26:25 -04:00
J. Nick Koston and GitHub
8af499b591
[api] Use custom deleter to fix incomplete-type error on macOS libc++ ( #16050 )
2026-04-28 21:26:21 -04:00
Jonathan Swoboda and GitHub
1a57d9bc2f
[sprinkler][pn532] Fix bugprone-unchecked-optional-access ( #16102 )
2026-04-29 01:04:19 +00:00
J. Nick Koston and GitHub
9768380856
[api] Hoist memw out of socket ready check to once per main-loop iter ( #15996 )
2026-04-29 13:04:10 +12:00
J. Nick Koston and GitHub
676f26919e
[mdns] Drive MDNS.update() polling from IP state events on ESP8266/RP2040 ( #15961 )
2026-04-29 13:02:21 +12:00
J. Nick Koston and GitHub
29d3a3a498
[esp8266] Replace millis() with fast accumulator, wrap Arduino callers ( #15662 )
2026-04-29 12:58:00 +12:00
Jonathan Swoboda and GitHub
77b76ac48a
[inkbird_ibsth1_mini][speaker][speaker_source] Fix performance-unnecessary-copy-initialization ( #16101 )
2026-04-29 00:56:03 +00:00
Clyde Stubbs and GitHub
0b5835284a
[lvgl] Additional layout features ( #16041 )
2026-04-29 12:35:24 +12:00
15df477472
[core] Reduce copies in Callback/CallbackManager call paths ( #16093 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 19:41:28 -04:00
Jonathan Swoboda and GitHub
be0ee73847
[i2c] NOLINT readability-identifier-naming on Zephyr struct forward-decl ( #16099 )
2026-04-28 19:22:42 -04:00
Jonathan Swoboda and GitHub
a241c9e622
[online_image][sim800l] Use std::string::starts_with for prefix checks ( #16097 )
2026-04-28 19:02:39 -04:00
Jonathan Swoboda and GitHub
2f433c78bd
[haier] Brace single-statement else-if in smartair2_climate ( #16098 )
2026-04-28 18:56:36 -04:00
Jonathan Swoboda and GitHub
e39c474577
[binary_sensor] Bind at_index_ once in MultiClick on_state_ ( #16095 )
2026-04-28 22:13:35 +00:00
Jonathan Swoboda and GitHub
a62e3fe4fc
[json] NOLINT StackAddressEscape false positive in parse_json ( #16091 )
2026-04-28 21:35:40 +00:00
Jonathan Swoboda and GitHub
7d6b9bee19
[wifi] Avoid copying EAP config in three connect handlers ( #16094 )
2026-04-28 21:22:29 +00:00
Jonathan Swoboda and GitHub
ab6bda50e4
[esp32_ble] Widen loop variable in as_128bit() to match uuid_.len type ( #16088 )
2026-04-28 20:58:40 +00:00
Jonathan Swoboda and GitHub
3d195d748c
[ezo] Use make_unique to construct EzoCommand ( #16092 )
2026-04-28 20:50:15 +00:00
Jonathan Swoboda and GitHub
16cf4fb5e8
[nextion] Use std::string::starts_with for HTTPS URL check ( #16090 )
2026-04-28 20:47:20 +00:00
Jonathan Swoboda and GitHub
70503442f4
[dfrobot_sen0395] Brace single-statement else-if in enqueue() ( #16089 )
2026-04-28 20:37:29 +00:00
Jonathan Swoboda and GitHub
594b269dba
[bme680] Rename cal1/cal2 to coeff1/coeff2 ( #16087 )
2026-04-28 20:33:57 +00:00
Clyde Stubbs and GitHub
8157c721a5
[mapping] Implement default value ( #15861 )
2026-04-29 06:31:37 +10:00
Clyde Stubbs and GitHub
9af557de6d
[lvgl] Add utility gradient function ( #16048 )
2026-04-29 06:29:38 +10:00
Jonathan Swoboda and GitHub
1f4136e76f
[pipsolar] Guard handle_qmod_ against empty message ( #16085 )
2026-04-28 16:29:09 -04:00
Jonathan Swoboda and GitHub
c8dffcc9b8
[tlc5971] Remove dead bit-banging delay code ( #16086 )
2026-04-28 15:28:33 -05:00
44fbb7f5a9
Bump CodSpeedHQ/action from 4.14.0 to 4.15.0 ( #16084 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-28 15:10:21 -05:00
Jonathan Swoboda and GitHub
eb01d43feb
[spi][http_request][demo] Fix latent clang-tidy issues in headers ( #16080 )
2026-04-28 16:09:35 -04:00
Jonathan Swoboda and GitHub
7891fd5cf1
Add dependencies.lock to .gitignore ( #16081 )
2026-04-29 07:38:31 +12:00
Jonathan Swoboda and GitHub
4ee9cc432b
[ci] Install requirements_dev.txt in the cached venv ( #16082 )
2026-04-29 07:37:46 +12:00
Mat931 and GitHub
42ff10afe5
[watchdog] Fix WatchdogManager on single core apps ( #16074 )
2026-04-28 17:32:44 +00:00
6b3df66bdc
[nrf52] make reset pin optional ( #11684 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-28 12:20:38 -05:00
968878a62d
[nrf52] implement wake_loop_threadsafe/wakeable_delay ( #16032 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-28 16:35:12 +00:00
J. Nick Koston and GitHub
daf3f4d2f1
[core] wakeable_delay: yield on already-woken fast path (ESP8266, RP2040) ( #16045 )
2026-04-28 10:41:17 -05:00
52e8c50f45
[modbus] Split modbus_server from modbus_controller ( #15509 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 10:21:25 -05:00
J. Nick Koston and GitHub
0a4d9b430f
[ci] Add import-time regression check for esphome.__main__ ( #15954 )
2026-04-28 14:05:12 +00:00
J. Nick Koston and GitHub
0759a3c681
[core] Split wake.{h,cpp} into per-platform files ( #15978 )
2026-04-28 08:48:13 -05:00
8921e3bb3f
[api] add open states for lock to api.proto ( #15901 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-28 07:49:16 -05:00
52f80618d4
[lvgl] Allow a binary sensor to report checked or pressed state ( #16073 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 22:00:29 +10:00
876c8c4c2a
[ci-custom] Lint imports of esphome.components.const outside components ( #16068 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-28 05:59:02 -05:00
Darafei Praliaskouski and GitHub
41458d72e0
[esp32] Make Arduino app metadata reproducible ( #16053 )
2026-04-28 05:58:34 -05:00
49d3df2698
[automation] Fix codegen type for component.resume update_interval ( #16069 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-28 05:27:20 -05:00
J. Nick Koston and GitHub
792f2e8363
[ota] Add wall-clock timeout to OTA data transfer loop ( #16047 )
2026-04-28 17:29:42 +12:00
J. Nick Koston and GitHub
42c9fdc87e
[feedback] Use App.get_loop_component_start_time() and constexpr timeout id ( #16063 )
2026-04-28 16:39:08 +12:00
Jesse Hills
5f6bbb98ce
Merge branch 'release' into dev
2026-04-28 15:40:19 +12:00
J. Nick Koston and GitHub
a03de7cea2
[core] Freshen loop_component_start_time_ before scheduler dispatch ( #16064 )
2026-04-28 13:23:08 +12:00
39a69385fb
[image] Fix RGB565+alpha rendering for multi-frame animations ( #16017 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-04-28 12:57:42 +12:00
Jesse Hills and GitHub
a34836c290
[esp32_touch] Feed wdt ( #16066 )
2026-04-28 11:27:08 +12:00
Edward Firmo and GitHub
01ac223913
[nextion] Unify TFT upload ack timeout to 5000ms ( #15960 )
2026-04-28 08:30:40 +12:00
7198c912c7
[esp32][wifi] Fix bootloop and WiFi connection issue if nvs partition is missing or has non-default label ( #16025 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-27 12:41:28 -05:00
Kevin Ahrendt and GitHub
24c6a0d711
[audio] Bump microDecoder library to v0.2.0 ( #16054 )
2026-04-27 12:17:02 +00:00
dec5d0449b
[esp32_ble_tracker] Hold COEX_PREFER_BT for the lifetime of any active connection ( #16036 )
...
Co-authored-by: Paul Lazarre <plazarre@gmail.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-27 06:51:54 -05:00
J. Nick Koston and GitHub
79b741b8dc
[core] Combine entity register + configure_entity_ into one call ( #16030 )
2026-04-27 03:03:39 +00:00
tomaszduda23 and GitHub
112646a9c4
[zigbee] add router for nrf52 ( #16034 )
2026-04-26 23:02:09 -04:00
J. Nick Koston and GitHub
2e096bb036
[core] Combine set_component_source_ + register_component_ into one call ( #16029 )
2026-04-26 21:54:15 -05:00
e87e78c544
[api] Expose TemperatureUnit in water heater and climate api ( #15815 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-26 12:58:14 +00:00
J. Nick Koston and GitHub
0f25d91e68
[core] Unify skip_external_update and honor it in external_files for faster esphome logs ( #16016 )
2026-04-26 07:24:33 -05:00
J. Nick Koston and GitHub
8dbdcfc128
[bk72xx] Prepare for BK7238 support ( #16018 )
2026-04-26 07:24:07 -05:00
J. Nick Koston and GitHub
8950afc3c4
[bluetooth_proxy] Drop redundant remote_bda_ write in connect handler ( #16000 )
2026-04-26 07:23:53 -05:00
J. Nick Koston and GitHub
04d067196d
[rotary_encoder][at581x] Fix templatable int field types ( #16015 )
2026-04-26 07:23:41 -05:00
J. Nick Koston and GitHub
502c010465
[bh1750] Downgrade per-reading Illuminance log to verbose ( #16005 )
2026-04-26 07:23:24 -05:00
J. Nick Koston and GitHub
180105bb4b
[bluetooth_proxy] Partial revert of loop() → set_interval migration ( #15992 )
2026-04-26 07:23:08 -05:00
J. Nick Koston and GitHub
4c0dfb0e0d
[core] Raise ESP32 WDT feed interval to 1/5 of configured timeout ( #15984 )
2026-04-26 07:22:50 -05:00
J. Nick Koston and GitHub
df987a7ffb
[ci-custom] Suggest uint32_to_str/int8_to_str for integer formatting ( #15970 )
2026-04-26 07:22:34 -05:00
Boris Krivonog and GitHub
c8d4420408
[mitsubishi_cn105] add support for half-degree temperature setpoint ( #15919 )
2026-04-26 07:19:49 -05:00
b084fa4490
[esp32] Make ESP-IDF builds reproducible ( #16008 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-26 06:31:32 -05:00
68625a1b76
[core] Isolate generated build metadata ( #16007 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-26 09:11:09 +00:00
J. Nick Koston and GitHub
dc57969afd
[host] Use integer math in millis()/micros() ( #15994 )
2026-04-26 08:39:24 +00:00
J. Nick Koston and GitHub
f092e619d8
[rtttl] Gate on_finished_playback callback storage behind define ( #16003 )
2026-04-26 00:03:59 -05:00
J. Nick Koston and GitHub
58f6ad2d0c
[safe_mode] Use StaticCallbackManager for on_safe_mode ( #16002 )
2026-04-26 00:01:21 -05:00
bc33260c61
[ir_rf_proxy] Extend for RF ( #15744 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-25 22:33:02 -05:00
J. Nick Koston and GitHub
4cab262ef8
[ci] Trigger CodSpeed benchmarks on host platform changes ( #15995 )
2026-04-25 17:18:21 -04:00
9ad820c921
Bump esphome-dashboard from 20260408.1 to 20260425.0 ( #16006 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 20:59:01 +00:00
J. Nick Koston and GitHub
4f8feb86f0
[dashboard] Add --no-states support to logs WebSocket handler ( #15993 )
2026-04-25 15:43:05 -05:00
b5ccd55f4e
[packages] Fix premature substitution of vars in remote package files ( #15997 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-25 17:06:58 +00:00
a437b3086b
Bump cryptography from 46.0.7 to 47.0.0 ( #15990 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 02:30:10 +00:00
c27f9e512b
Bump aioesphomeapi from 44.21.0 to 44.22.0 ( #15989 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 02:28:04 +00:00
f62972c2c6
Bump ruff from 0.15.11 to 0.15.12 ( #15981 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-24 19:34:00 +00:00
f36efbc762
Update tzdata requirement from >=2026.1 to >=2026.2 ( #15980 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 19:27:12 +00:00
Kevin Ahrendt and GitHub
9caf9ee023
[sendspin] Bumps sendspin-cpp library for a bugfix ( #15976 )
2026-04-24 11:53:03 -05:00
Kevin Ahrendt and GitHub
94e300389c
[sendspin] remove year and track number text sensors and refactor ( #15975 )
2026-04-24 15:35:32 +00:00
Kevin Ahrendt and GitHub
55bcf33446
[sendspin] Add metadata sensor component ( #15971 )
2026-04-24 14:32:47 +00:00
Kevin Ahrendt and GitHub
f132b7dc07
[media_player][speaker][speaker_source] Centralize preferred format codegen ( #14771 )
2026-04-24 14:09:03 +00:00
J. Nick Koston and GitHub
baa6d5f96b
[web_server_idf] Fix cross-thread race on SSE session state ( #15967 )
2026-04-24 08:11:47 -05:00
J. Nick Koston and GitHub
773b4d887b
[core] Scheduler: don't sleep while defer queue is non-empty ( #15968 )
2026-04-24 08:11:29 -05:00
Kevin Ahrendt and GitHub
ac7f0f0b74
[sendspin] Add a metadata text sensor component ( #15969 )
2026-04-24 11:07:00 +00:00
bc7f35b569
[sendspin] Add a Sendspin media source component for playing audio (PR4) ( #15950 )
...
Co-authored-by: Copilot <copilot@github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-24 10:00:22 +00:00
J. Nick Koston and GitHub
ae02ab3865
[wifi] Fix stale wifi.connected after state transition ( #15966 )
2026-04-24 03:42:36 -05:00
J. Nick Koston and GitHub
eceb534895
[deep_sleep] Fix sleep_duration codegen type to uint32_t ( #15965 )
2026-04-24 07:19:59 +00:00
404620b99c
[deep_sleep][logger][zephyr][zigbee] add deep sleep support with zigbee wakeup ( #13950 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-23 22:31:46 -04:00
3ccaa771a7
[sendspin] Add a group media player controller (PR3) ( #15948 )
...
Co-authored-by: Copilot <copilot@github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-24 01:46:25 +00:00
b4a86e46b2
[sendspin] Add controller role and sendspin.switch action (PR2) ( #15929 )
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-23 20:22:47 -05:00
ddf1426f86
[sendspin] Add initial Sendspin hub component (PR1) ( #15924 )
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-23 22:09:36 +00:00
J. Nick Koston and GitHub
90d7bfe02e
[ci] Auto-close PRs opened from a fork's default branch ( #15957 )
2026-04-23 16:36:32 -05:00
d759f1a567
[audio_http] Add a media source for playing audio from HTTP URLs ( #15741 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-23 15:53:52 -05:00
f757cd1210
[zigbee][core] Add support for Zigbee binary sensors on ESP32 H2 and C6 ( #11553 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-23 12:46:56 -04:00
Paulus Schoutsen and GitHub
9b45b046a8
[core] Allow finding all devices as target that match mac suffix ( #13135 )
2026-04-23 08:43:32 -05:00
J. Nick Koston and GitHub
70ae614abd
[api] Fall back to plaintext for logger connections ( #15938 )
2026-04-23 08:23:38 -05:00
J. Nick Koston and GitHub
8f9b91eece
[wifi] Avoid BDK 3.0.78 wifi_event_sta_disconnected_t collision on BK72xx ( #15942 )
2026-04-23 08:22:17 -05:00
J. Nick Koston and GitHub
3ca86fc3fc
[core] Raise WDT_FEED_INTERVAL_MS to 2000ms on BK72xx ( #15943 )
2026-04-23 08:21:46 -05:00
J. Nick Koston and GitHub
b38db617a2
[core] Clean up stale includes and inline yield_with_select_ in application ( #15945 )
2026-04-23 08:21:05 -05:00
J. Nick Koston and GitHub
13fe881f70
[scheduler][core] Lock-free fast-path on ESPHOME_THREAD_MULTI_NO_ATOMICS via __atomic builtins ( #15947 )
2026-04-23 08:20:31 -05:00
J. Nick Koston and GitHub
50c181671c
[ci] Better explain too-big bot review message ( #15939 )
2026-04-23 06:47:16 -05:00
PolarGoose and GitHub
43a371caab
[dsmr] Small refactoring: Move Aes128GcmDecryptorImpl type inside esphome::dsmr namespace. ( #15940 )
2026-04-23 04:08:49 -05:00
64290d32a1
Bump aioesphomeapi from 44.20.0 to 44.21.0 ( #15941 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-23 03:32:12 -05:00
J. Nick Koston and GitHub
9685d4eb0b
[core] feed_wdt wraps feed_wdt_with_time ( #15932 )
2026-04-23 01:15:44 -05:00
Keith Burzinski and GitHub
4c2efd4165
[radio_frequency] Add experimental radio_frequency entity type (base component + API) ( #15556 )
2026-04-23 01:15:25 -05:00
J. Nick Koston and GitHub
6f00ea1457
[core] Move host socket-select wake mechanism into wake.h/wake.cpp ( #15931 )
2026-04-23 15:53:10 +12:00
Jonathan Swoboda and GitHub
a881121110
[ota] Make set_auth_password() lambda-callable via empty-password opt-in ( #15928 )
2026-04-22 23:06:31 -04:00
f8167c9a70
Bump aioesphomeapi from 44.19.0 to 44.20.0 ( #15936 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-23 02:40:19 +00:00
Jesse Hills and GitHub
e1d629f0d2
[time] Handle Windows EINVAL when validating POSIX TZ strings ( #15934 )
2026-04-23 14:35:13 +12:00
Clyde Stubbs and GitHub
224cc7b419
[lvgl] Triggers on tabview tabs fix ( #15935 )
2026-04-23 14:35:00 +12:00
Jesse Hills
4d4347d33a
Merge branch 'release' into dev
2026-04-23 14:10:54 +12:00
17f9269841
Update wheel requirement from <0.47,>=0.43 to >=0.43,<0.48 ( #15926 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 19:12:15 -05:00
6253947311
Bump click from 8.3.2 to 8.3.3 ( #15927 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 19:12:02 -05:00
Keith Burzinski and GitHub
70b1d9a087
[api_protobuf] Support compound ifdef conditions in proto generator ( #15930 )
2026-04-22 17:57:15 -05:00
Keith Burzinski and GitHub
36720c8495
[usb_uart] Derive TX output chunk count from buffer_size config ( #15909 )
2026-04-23 09:16:14 +12:00
Jonathan Swoboda and GitHub
c48ab2ef92
[io_expanders] Self-heal interrupt-driven expanders when INT stays asserted across the read ( #15923 )
2026-04-23 09:05:15 +12:00
Keith Burzinski and GitHub
162ee2ecaf
[i2s_audio] Split speaker into base class and standard subclass ( #15404 )
2026-04-22 14:40:18 -05:00
a73bac0b5f
[ac_dimmer] Zero-crossing interrupt type ( #15862 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-22 14:57:53 -04:00
4e84611ae7
[internal_temperature] Fix internal Temperature discrepancy on BK7231T ( #15771 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-22 17:50:59 +00:00
PolarGoose and GitHub
ea2e36e55a
[dsmr] Improve performance. Add missing sensors. Remove Crypto-no-arduino. ( #15875 )
2026-04-22 13:49:14 -04:00
fcbc4d64fe
[one_wire] Reset bus before SKIP ROM command ( #14669 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-22 13:20:02 -04:00
dcd103cec0
[cse7761] bidirectional active power ( #15162 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-22 13:11:18 -04:00
5e715692d6
[network] Reorder IPv6 configuration for network components ( #11694 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-22 17:01:20 +00:00
d5263cd46e
[esp32] add watchdog_timeout configuration variable ( #15908 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-22 13:01:23 +00:00
J. Nick Koston and GitHub
c399cd2fa2
[core] RAII guard for component loop phase ( #15897 )
2026-04-22 14:04:29 +02:00
J. Nick Koston and GitHub
f6bf6dc8e5
[core] Dedupe yield() fast path in wakeable_delay and always-inline ( #15915 )
2026-04-22 13:52:40 +02:00
J. Nick Koston and GitHub
e35b435f02
[libretiny] Inline xTaskGetTickCount() for millis() fast path ( #15918 )
2026-04-22 13:52:27 +02:00
J. Nick Koston and GitHub
886cd7ab72
[core] Collapse adjacent USE_HOST ifdef blocks in Application ( #15914 )
2026-04-22 07:47:01 -04:00
73714dc489
Bump aioesphomeapi from 44.18.0 to 44.19.0 ( #15920 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 12:26:25 +02:00
5218bbd791
Update argcomplete requirement from >=2.0.0 to >=3.6.3 ( #15921 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 12:19:47 +02:00
J. Nick Koston and GitHub
23ad30cb4c
[esp32] Use xTaskGetTickCount() for millis() when tick rate is 1kHz ( #15661 )
2026-04-22 06:44:53 +02:00
J. Nick Koston and GitHub
a3b49d1ed9
[core] Use MAC_ADDRESS_BUFFER_SIZE constant instead of duplicated literal ( #15913 )
2026-04-22 04:43:33 +00:00
J. Nick Koston and GitHub
9c80cbf19c
[light] Reduce validate_ clamp code size and speed up unit-range clamps ( #15728 )
2026-04-22 16:34:26 +12:00
J. Nick Koston and GitHub
699cf9690a
[core] Optimize value_accuracy_to_buf to avoid snprintf ( #15596 )
2026-04-22 16:31:34 +12:00
J. Nick Koston and GitHub
67576d4879
[rp2040] Tune oversized lwIP defaults for ESPHome ( #14843 )
2026-04-22 06:29:13 +02:00
J. Nick Koston and GitHub
edcf96d057
[wifi] Use queue abstraction for LibreTiny WiFi events ( #15343 )
2026-04-22 06:24:09 +02:00
bb81c91d0c
Update tzdata requirement from >=2021.1 to >=2026.1 ( #15911 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 03:08:58 +00:00
78f1467be4
Bump aioesphomeapi from 44.17.0 to 44.18.0 ( #15912 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 03:08:42 +00:00
da44d43981
Update pyparsing requirement from >=3.0 to >=3.3.2 ( #15910 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 05:07:48 +02:00
9cebce1b6e
[substitutions] Improve error messages with include stack trace ( #15874 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-22 03:19:01 +02:00
b20fedd806
[bl0906] Disable loop when idle and introduce BL0906Stage enum ( #15884 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-22 03:18:21 +02:00
Keith Burzinski and GitHub
ee91ad8f06
[esp32] Add Secure Boot V1 ECDSA signing scheme for pre-rev-3.0 ESP32 ( #15882 )
2026-04-22 11:25:05 +12:00
7560112144
Bump aioesphomeapi from 44.16.1 to 44.17.0 ( #15906 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-21 22:08:41 +02:00
43c6b839cd
[sensor] Filter to round to significant digits ( #11157 )
...
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-21 14:00:03 +00:00
Edward Firmo and GitHub
0c9d443a5c
[esp32_ble] Add use_psram option to offload BT memory allocation to SPIRAM ( #15644 )
2026-04-21 15:18:46 +02:00
J. Nick Koston and GitHub
14defb69b6
[template] Use placement new for template text restore saver ( #15883 )
2026-04-21 13:04:13 +00:00
3a6f3dfb94
[lock] Implemented open states support ( #15120 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-21 13:03:07 +00:00
J. Nick Koston and GitHub
7bd36e0c8d
[debug] Migrate trivial buf_append_printf sites to buf_append_str ( #15885 )
2026-04-21 12:51:45 +00:00
J. Nick Koston and GitHub
e4f413adad
[core] decouple main loop cadence from scheduler wake timing ( #15792 )
2026-04-21 14:48:21 +02:00
J. Nick Koston and GitHub
1504ac3d19
[core] Replace strnlen in buf_append_str for Zephyr compatibility ( #15892 )
2026-04-21 12:32:29 +00:00
J. Nick Koston and GitHub
947c714f89
[core] Inline api_is_connected() for hot-path callers ( #15888 )
2026-04-21 13:48:33 +02:00
J. Nick Koston and GitHub
e4d5886383
[zwave_proxy] Inline loop() hot-path fast-paths for response_handler_ and process_uart_ ( #15887 )
2026-04-21 13:48:16 +02:00
J. Nick Koston and GitHub
f504099485
[api] Replace clients_ std::vector with compile-time std::array + uint8_t count ( #15889 )
2026-04-21 13:47:37 +02:00
Jonathan Swoboda and GitHub
cb56f9a9bf
[qmc5883l] Use GPIO interrupt when DRDY pin is configured ( #15876 )
2026-04-21 07:47:16 -04:00
Jonathan Swoboda and GitHub
26a656af29
[ld2412] Fix null deref in set_basic_config when entities unconfigured ( #15893 )
2026-04-21 07:47:07 -04:00
a8bd035b62
Bump CodSpeedHQ/action from 4.13.1 to 4.14.0 ( #15880 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-21 04:44:25 +02:00
J. Nick Koston and GitHub
f05fa45747
[sensor] Specialize throttle_with_priority NaN-only case ( #15823 )
2026-04-21 04:41:13 +02:00
78875abee4
[core] Make buf_append_str PROGMEM-aware on ESP8266 ( #15738 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-21 04:40:40 +02:00
J. Nick Koston and GitHub
37608c2656
[ltr390] Reduce data polling delay and timeout ( #15507 )
2026-04-21 04:40:24 +02:00
J. Nick Koston and GitHub
a5b1f3eece
[core] Remove pre-sleep socket scan from fast select path ( #15639 )
2026-04-21 04:40:03 +02:00
J. Nick Koston and GitHub
0d3a3552da
[core] Move heap-allocating helpers to alloc_helpers.h/cpp ( #15623 )
2026-04-21 04:39:49 +02:00
J. Nick Koston and GitHub
0a0176d600
[core] raise WDT_FEED_INTERVAL_MS from 3 ms to 300 ms ( #15846 )
2026-04-21 04:38:12 +02:00
J. Nick Koston and GitHub
4cb7ea2584
[light] Force-inline LightCall::set_flag_/clear_flag_ ( #15729 )
2026-04-21 04:37:56 +02:00
Jonathan Swoboda and GitHub
a43ee15b56
[core] Fix Pvariable placement new losing subclass identity ( #15881 )
2026-04-20 22:33:48 -04:00
Jonathan Swoboda and GitHub
213ab312d2
[image] Fix rodata bloat for multi-frame RGB565+alpha animations ( #15873 )
2026-04-20 16:27:34 -04:00
Kevin Ahrendt and GitHub
94f30d5950
[micro_wake_word] Use ESPMicroSpeechFeatures from Espressif registry (v1.2.3) ( #15879 )
2026-04-20 16:26:47 -04:00
Elvin Luff and GitHub
6af341bb5b
[epaper_spi] Support SSD1683 and GDEY042T81 4.2 inch display ( #13910 )
2026-04-20 09:34:31 -04:00
Clyde Stubbs and GitHub
82656cb0cf
[mipi_dsi] Add Seeed reTerminal d1001 display ( #15867 )
2026-04-20 09:28:52 -04:00
Rui Marinho and GitHub
b72f5447c3
[modbus] Simplify payload size validation in modbus_helpers ( #15838 )
2026-04-20 09:24:07 -04:00
Clyde Stubbs and GitHub
73b8e8ac09
[lvgl] Fix update of textarea attached to keyboard ( #15866 )
2026-04-20 09:15:51 -04:00
Clyde Stubbs and GitHub
9459f0426d
[lvgl] Fix overloads for setting images on styles ( #15864 )
2026-04-20 09:14:15 -04:00
Clyde Stubbs and GitHub
0dae41aa22
[lvgl] Fix format of hello world page ( #15868 )
2026-04-20 09:13:42 -04:00
7321e6e52f
[rtttl] allow any control parameters order and default value fallback ( #14438 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-20 09:10:05 -04:00
guillempages and GitHub
f0c21520aa
[mipi_rgb] Add definitions for sunton displays ( #15858 )
2026-04-20 21:56:56 +10:00
Jesse Hills
b0c133201f
Merge branch 'release' into dev
2026-04-20 13:53:30 +12:00
Clyde Stubbs and GitHub
e5f6a734ba
[lvgl] Fix angles for arc ( #15860 )
2026-04-20 12:08:07 +12:00
J. Nick Koston and GitHub
1847666e75
[core] Default PollingComponent() to not run when codegen is bypassed ( #15832 )
2026-04-19 17:05:27 -05:00
aad1318b4a
[packages] Improve error messages with include stack and fix missing path propagation ( #15844 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-04-19 21:09:14 +00:00
J. Nick Koston and GitHub
7a23a339e9
[substitutions] Fix substitutions: !include file.yaml regression ( #15850 )
2026-04-20 09:00:31 +12:00
J. Nick Koston and GitHub
38d894dfe7
[ld2412] Fix flaky integration test race condition ( #15833 )
2026-04-18 08:17:22 -05:00
b293be23b0
[ci] Honor CONFLICTS_WITH when grouping component tests ( #15834 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-04-18 08:11:38 -05:00
J. Nick Koston and GitHub
ccb53e34ca
[core] Default PollingComponent() to 1ms when codegen is bypassed ( #15831 )
2026-04-18 09:04:51 -04:00
ec9d59f3dc
Bump aioesphomeapi from 44.16.0 to 44.16.1 ( #15836 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-18 12:32:36 +00:00
J. Nick Koston and GitHub
df72aa26c0
[core] Feed WDT unconditionally in main loop to fix empty-config panic ( #15830 )
2026-04-18 11:58:54 +00:00
Clyde Stubbs and GitHub
d3691c7ca5
[lvgl] Fix crash with snow on rotated display ( #15822 )
2026-04-18 09:17:28 +10:00
J. Nick Koston and GitHub
562ce541a0
[bme680_bsec] [bme68x_bsec2] Mark the two BSEC variants as mutually exclusive ( #15826 )
2026-04-17 17:54:24 -05:00
J. Nick Koston and GitHub
6ebe1e92eb
[ci] Scope local pylint pre-commit hook to esphome/ ( #15818 )
2026-04-17 17:54:12 -05:00
Clyde Stubbs and GitHub
1bf455cfbb
[runtime_image] Fix RGB order ( #15813 )
2026-04-18 06:42:45 +10:00
Clyde Stubbs and GitHub
290e213cd0
[mipi_spi] Add Sunton ESP32-2424S012 ( #15812 )
2026-04-18 06:41:33 +10:00
Jonathan Swoboda and GitHub
b1b0005574
[esp32] Downgrade unneeded ignore_pin_validation_error to a warning ( #15811 )
2026-04-17 16:14:54 -04:00
70ea527161
Bump ruff from 0.15.10 to 0.15.11 ( #15790 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-17 10:17:51 -05:00
J. Nick Koston and GitHub
34c35c84d5
[core] Fix DelayAction compile error with non-const reference args ( #15814 )
2026-04-17 14:31:31 +00:00
bcbfc843ae
[ethernet] Fix SPI3_HOST default breaking compile on variants without SPI3 ( #15809 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-17 14:05:30 +00:00
J. Nick Koston and GitHub
d4fe46bb24
[core] Expose App.wake_loop_isrsafe() on ESP8266 ( #15797 )
2026-04-17 02:46:12 -10:00
J. Nick Koston and GitHub
523c6f2376
[core] coerce set_interval(0) / update_interval: 0ms to 1ms ( #15799 )
2026-04-17 02:45:50 -10:00
Clyde Stubbs and GitHub
b018ac67bc
[image] Fix byte order handling ( #15800 )
2026-04-17 22:11:05 +10:00
Clyde Stubbs and GitHub
1a529a62aa
[mipi_spi] Drawing fixes for native display ( #15802 )
2026-04-17 21:17:16 +10:00
6a46437a5f
[wifi] Guard retry_phase_to_log_string with log level check to fix warning ( #15801 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-17 10:58:39 +00:00
Diorcet Yann and GitHub
cfe8c0eeee
[wireguard] Bump esp_wireguard to 0.4.5 for ESP-IDF v6 ( #15804 )
2026-04-17 06:20:55 -04:00
J. Nick Koston and GitHub
b232fc91ab
[runtime_stats] Track main loop active time and report overhead ( #15743 )
2026-04-16 14:07:26 -10:00
Yves Fischer and GitHub
ac50f33388
Fix typo in devcontainer.json ( #15791 )
2026-04-16 18:27:50 -04:00
Jonathan Swoboda and GitHub
ff52bb3029
[lvgl] Guard lv_image_set_src wrapper with LV_USE_IMAGE ( #15789 )
2026-04-16 18:16:58 -04:00
J. Nick Koston and GitHub
627e440bd6
[libretiny] Make IRAM_ATTR functional on RTL87xx and LN882H ( #15766 )
2026-04-16 19:38:49 +00:00
Jonathan Swoboda and GitHub
6bb90a1268
[esp32] Accept unquoted minimum_chip_revision values ( #15785 )
2026-04-16 19:07:04 +00:00
J. Nick Koston and GitHub
7d8add70a7
[ili9xxx] Guard against null buffer in display_() when allocation fails ( #15786 )
2026-04-16 09:01:55 -10:00
9094392870
[gpio] Keep interrupts enabled for gpio binary_sensor shared with deep_sleep wakeup pin ( #15020 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-16 09:01:32 -10:00
J. Nick Koston and GitHub
c6ad23fbc0
[bundle] Force-resolve nested IncludeFile during file discovery ( #15762 )
2026-04-16 08:45:33 -10:00
Jonathan Swoboda and GitHub
6af7a9ed8f
[qmc5883l] Move per-update log line from DEBUG to VERBOSE ( #15781 )
2026-04-16 14:36:06 -04:00
0b051289f5
[core] Add missing exception chaining (raise from) across codebase ( #15648 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-16 15:19:33 +00:00
Clyde Stubbs and GitHub
d8329dba22
[mipi_spi] Add Waveshare C6 LCD 1.47 ( #15776 )
2026-04-16 11:17:51 -04:00
ee70a4aa72
[tm1637] Add set_brightness method ( #15322 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-16 09:46:27 -04:00
04a58159d0
[zephyr_ble_server] add support for on_numeric_comparison_request ( #14400 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-16 09:43:03 -04:00
J. Nick Koston and GitHub
4c758fa1da
[time] Fix RTC is_valid() rejecting valid times after day_of_year cleanup ( #15763 )
2026-04-16 09:40:22 -04:00
J. Nick Koston and GitHub
c8e21802db
[core] Diagnose missing cg.templatable in codegen for TEMPLATABLE_VALUE fields ( #15758 )
2026-04-16 09:36:55 -04:00
Boris Krivonog and GitHub
b40ffacb8d
[mitsubishi_cn105] use HEAT_COOL mode to enable temperature slider ( #15748 )
2026-04-16 09:35:24 -04:00
Clyde Stubbs and GitHub
e0118dd8eb
[lvgl] Clean the build if lv_conf.h changes ( #15777 )
2026-04-16 09:19:42 -04:00
J. Nick Koston and GitHub
e7194dce75
[core] Deduplicate entity type boilerplate with X-macro pattern ( #15618 )
2026-04-15 17:45:01 -10:00
J. Nick Koston and GitHub
01b5bef37f
[status_led] Disable loop when idle ( #15642 )
2026-04-15 17:44:42 -10:00
403a9f7b7e
Bump github/codeql-action from 4.35.1 to 4.35.2 ( #15759 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-15 10:12:30 -10:00
10f52f2056
Bump aioesphomeapi from 44.15.0 to 44.16.0 ( #15757 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-15 09:07:49 -10:00
Jonathan Swoboda and GitHub
274c01ca74
[sx126x][sx127x] Fix frequency precision loss from float32 codegen ( #15753 )
2026-04-15 14:32:33 -04:00
Jonathan Swoboda and GitHub
3b82c6e38b
[st7789v] Fix swapped offset_width/offset_height in model presets ( #15755 )
2026-04-15 14:32:11 -04:00
Jesse Hills
f59a1011df
Merge branch 'release' into dev
2026-04-15 22:45:16 +12:00
Jesse Hills
193e7d476d
Pin GitHub Actions to commit SHAs
...
Replace mutable tag references with immutable commit SHAs
to prevent supply-chain attacks via compromised tags.
Version comments are preserved for readability.
2026-04-15 13:12:20 +12:00
Jesse Hills
1b3e7d5ec4
Merge branch 'beta' into dev
2026-04-15 13:10:45 +12:00
2db2b89eb1
[nextion] Fix command spacing pacer never throttling sends ( #15664 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-15 07:47:44 +12:00
J. Nick Koston and GitHub
e48c7165c5
[light] Avoid addressable transition stall at low gamma-corrected values ( #15726 )
2026-04-15 07:45:42 +12:00
506edaadd5
[core] Inline feed_wdt hot path with out-of-line slow path ( #15656 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-14 19:08:30 +00:00
3f82a3a519
[core] Inline Millis64Impl::compute() on single-threaded platforms ( #15684 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-04-14 08:20:31 -10:00
J. Nick Koston and GitHub
79cee864cb
[esphome][ota] Disable loop while idle, wake on listening-socket activity ( #15636 )
2026-04-14 08:20:14 -10:00
9f5ed938e5
[i2s_audio] Add PDM mics support for ESP32-P4 ( #15333 )
...
Co-authored-by: Alexey Spirkov <dev@alsp.net >
2026-04-14 14:07:16 -04:00
J. Nick Koston and GitHub
4729efbd04
[light] Deduplicate color_uncorrect channel math via shared helper ( #15727 )
2026-04-14 07:50:28 -10:00
J. Nick Koston and GitHub
da9fbb8044
[core] Fix app_state_ status bits clobbered for non-looping components ( #15658 )
2026-04-14 07:50:11 -10:00
J. Nick Koston and GitHub
cf01163c8c
[core] Add uint32_to_str helper and use in preferences ( #15597 )
2026-04-14 07:49:44 -10:00
J. Nick Koston and GitHub
5ba8c644e4
[ld24xx] Replace heap-allocated SensorWithDedup with inline SensorWithDedup ( #15676 )
2026-04-14 07:49:27 -10:00
c833ff4a84
[audio] Add/configure microDecoder library in preparation for use in future PRs ( #15679 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-14 13:49:18 -04:00
J. Nick Koston and GitHub
2a530a4bf4
[core] Optimize format_hex_internal by splitting separator loop ( #15594 )
2026-04-14 07:48:33 -10:00
J. Nick Koston and GitHub
6b4b653462
[globals] Fix TemplatableFn deprecation warning for globals.set ( #15733 )
2026-04-14 09:18:38 -04:00
edb16a27d3
[esphome] Skip missing extra flash images in upload_using_esptool ( #15723 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-04-13 16:58:48 -10:00
J. Nick Koston and GitHub
21df5d9bf6
[web_server] Reset OTA backend on new upload to avoid brick after interrupted OTA ( #15720 )
2026-04-13 13:59:45 -10:00
J. Nick Koston and GitHub
73c972a604
[adc] Place ADC oneshot control functions in IRAM for cache safety ( #15717 )
2026-04-13 13:59:32 -10:00
Jonathan Swoboda and GitHub
8cdffef82a
[heatpumpir] Bump tonia/HeatpumpIR to 1.0.41 ( #15711 )
2026-04-13 17:06:56 -04:00
4034809281
Bump actions/create-github-app-token from 3.0.0 to 3.1.1 ( #15712 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 11:00:46 -10:00
ce6bffb65c
Bump actions/cache from 5.0.4 to 5.0.5 ( #15713 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 11:00:24 -10:00
e8bc4bedb4
Bump actions/cache from 5.0.4 to 5.0.5 in /.github/actions/restore-python ( #15714 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 11:00:11 -10:00
J. Nick Koston and GitHub
b85a7ef317
[scheduler] Force-inline process_to_add() fast path ( #15685 )
2026-04-13 08:40:58 -10:00
J. Nick Koston and GitHub
9f7e310526
[scheduler] Force-inline cleanup_() fast path ( #15683 )
2026-04-13 08:40:39 -10:00
J. Nick Koston and GitHub
af7cb1d81e
[scheduler] Force-inline process_defer_queue_() fast path ( #15686 )
2026-04-13 08:40:25 -10:00
53ce2a2f7f
[api] Add speed_optimized to SubscribeLogsResponse ( #15698 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-14 06:25:05 +12:00
Jonathan Swoboda and GitHub
fb0283e0ee
[esp32] Update the recommended platform to 55.03.38-1 ( #15705 )
2026-04-13 14:18:52 -04:00
Jonathan Swoboda and GitHub
5d0cfc31fa
[core] Move FILTER_PLATFORMIO_LINES into platformio_runner ( #15707 )
2026-04-13 14:18:44 -04:00
J. Nick Koston and GitHub
f30f0a0edc
[zephyr] Remove redundant yield() from main loop ( #15694 )
2026-04-13 09:43:17 -04:00
Kevin Ahrendt and GitHub
6aa538a61d
[micro_wake_word] Bugfix: Use es-nn v1.1.2 (last known working version) ( #15703 )
2026-04-13 09:42:02 -04:00
7918a93a7f
[esp32] Fix some compiler warnings & bugs ( #15610 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-13 09:40:49 -04:00
Diorcet Yann and GitHub
fe6ecb24b4
[bme68x_bsec2] use esphome-libs wrappers for ESP32 ( #15697 )
2026-04-13 07:49:13 -04:00
6db787d5e4
Bump aioesphomeapi from 44.14.0 to 44.15.0 ( #15699 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 08:12:57 +00:00
5b4385a084
[api] Add speed_optimized proto option for hot encode paths ( #15691 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-13 07:42:31 +00:00
J. Nick Koston and GitHub
4f69c3b850
[benchmark] Add SubscribeLogsResponse encode benchmarks ( #15696 )
2026-04-13 02:03:53 -05:00
J. Nick Koston and GitHub
c62a75ee17
[benchmark] Use -Os to match firmware optimization level ( #15688 )
2026-04-13 01:40:33 -05:00
d4e9c62d92
Bump aioesphomeapi from 44.13.3 to 44.14.0 ( #15695 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 06:23:49 +00:00
Jonathan Swoboda and GitHub
ac8a2467a5
[core] Fix PlatformIO progress bar rendering in subprocess mode ( #15681 )
2026-04-12 22:51:55 -04:00
Jesse Hills
dc1dd9ebb7
Merge branch 'beta' into dev
2026-04-13 12:45:02 +12:00
41c9ed28cd
[esp32] Use static stack memory for loop task instead of heap ( #15659 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-12 23:23:01 +00:00
Jesse Hills and GitHub
5608aa10a5
[CI] Don't run label workflow on closed/merged PRs ( #15678 )
2026-04-12 12:46:49 -10:00
Javier Peletier and GitHub
daa68a2a60
[packages] fix support packages: !include mypackages.yaml ( #15677 )
2026-04-13 09:48:30 +12:00
8754bbfa89
[lvgl] Fix use of rotation on host SDL ( #15611 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-04-12 20:29:11 +00:00
J. Nick Koston and GitHub
6d92cc3d2b
[packages] Fix false deprecation warning and wrong error paths in nested packages ( #15605 )
2026-04-13 08:24:23 +12:00
Jonathan Swoboda and GitHub
2f684bf4f3
[esp32] Bump platform to 55.03.38, Arduino to 3.3.8, ESP-IDF to 5.5.4 ( #15666 )
2026-04-12 10:07:04 -10:00
Jonathan Swoboda and GitHub
45af21bf38
[canbus] Fix canbus.send can_id compile error ( #15668 )
2026-04-12 09:58:51 -10:00
Jonathan Swoboda and GitHub
e6318a2d16
[mdns] Bump espressif/mdns to 1.11.0 ( #15670 )
2026-04-12 09:54:30 -10:00
Jonathan Swoboda and GitHub
bef4c8a86c
[cc1101] Extract chip configuration into configure() method ( #15635 )
2026-04-11 17:36:27 -04:00
Farmer-shin and GitHub
6e67864510
[epaper_spi] Add Waveshare 3.97inch E-Paper Display ( #15466 )
2026-04-11 21:27:25 +10:00
c2af4874f9
Bump aioesphomeapi from 44.13.2 to 44.13.3 ( #15641 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-11 08:58:20 +00:00
2001b91280
Bump resvg-py from 0.3.0 to 0.3.1 ( #15640 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-11 08:57:39 +00:00
5460ee7edd
Bump aioesphomeapi from 44.13.1 to 44.13.2 ( #15637 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 15:55:15 -10:00
40081e5ae7
[rp2040] Fix W5500 Ethernet pbuf corruption by mirroring LWIPMutex semantics ( #15624 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-10 13:13:05 -10:00
Jonathan Swoboda and GitHub
a7c5b0ab46
[sx127x][cc1101][sx126x] Use GPIO interrupt to wake loop ( #15627 )
2026-04-10 16:26:09 -04:00
e1a813e11f
Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 ( #15630 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:21:01 -10:00
1dfeef0265
Bump actions/github-script from 8.0.0 to 9.0.0 ( #15632 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:20:43 -10:00
395610c117
Bump docker/build-push-action from 7.0.0 to 7.1.0 in /.github/actions/build-image ( #15633 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:20:17 -10:00
ae96f82b82
Bump actions/upload-artifact from 7.0.0 to 7.0.1 ( #15631 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:20:04 -10:00
2c610abcd0
Bump resvg-py from 0.2.6 to 0.3.0 ( #15629 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:19:52 -10:00
Kevin Ahrendt and GitHub
d3591c8d9e
[micro_wake_word] Pin esp-nn version ( #15628 )
2026-04-10 15:21:26 -04:00
J. Nick Koston and GitHub
ec420d5792
[api] Add (inline_encode) proto option for sub-message inlining ( #15599 )
2026-04-10 15:33:56 +12:00
J. Nick Koston and GitHub
17209df7b5
[mcp23016] Add interrupt pin support ( #15616 )
2026-04-10 15:29:52 +12:00
J. Nick Koston and GitHub
9cf9b02ba2
[pca6416a] Add interrupt pin support ( #15614 )
2026-04-10 15:29:26 +12:00
J. Nick Koston and GitHub
c90fa2378a
[tca9555] Add interrupt pin support ( #15613 )
2026-04-10 15:29:00 +12:00
Jesse Hills and GitHub
c04dfa922e
[hbridge] Move light pin switching to loop ( #15615 )
2026-04-10 14:02:49 +12:00
Jesse Hills and GitHub
668007707d
[CI] Add org fork detection warning to auto-label PR workflow ( #15588 )
2026-04-10 12:13:22 +12:00
ab71f5276f
Bump ruff from 0.15.9 to 0.15.10 ( #15609 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-09 19:36:25 +00:00
Jonathan Swoboda and GitHub
d062f62656
[sx127x][cc1101] Disable loop when packet mode is inactive ( #15606 )
2026-04-09 15:00:52 -04:00
J. Nick Koston and GitHub
03db32d045
[core] Add CodSpeed benchmarks for hot helper functions ( #15593 )
2026-04-09 07:48:32 -10:00
J. Nick Koston and GitHub
8f6d489a9a
[ci] Use --base-only for memory impact builds ( #15598 )
2026-04-09 11:48:33 -04:00
J. Nick Koston and GitHub
dd07fba943
[socket] Document ready() contract: callers must drain or track ( #15590 )
2026-04-09 11:48:18 -04:00
J. Nick Koston and GitHub
6f5d642a31
[gdk101] Increase reset retries for slow-booting sensor MCU ( #15584 )
2026-04-09 11:48:10 -04:00
2721f08bcc
Bump aioesphomeapi from 44.12.0 to 44.13.1 ( #15600 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 10:03:58 +00:00
J. Nick Koston and GitHub
eafc5df3f2
[safe_mode] Combine related OTA rollback log messages ( #15592 )
2026-04-09 05:30:39 +00:00
J. Nick Koston and GitHub
46d0c29be5
[safe_mode] Use loop component start time instead of millis() ( #15591 )
2026-04-09 05:20:32 +00:00
J. Nick Koston and GitHub
abdbbf4dd2
[api] Fix ListEntitiesRequest not read due to LWIP rcvevent tracking ( #15589 )
2026-04-09 02:14:01 +00:00
Jesse Hills
4dc0599a7d
Merge branch 'beta' into dev
2026-04-09 13:41:27 +12:00
Jesse Hills
52c35ec09c
Bump version to 2026.5.0-dev
2026-04-09 11:28:48 +12:00
J. Nick Koston and GitHub
76490e45bc
[ci] Fix status-check-labels workflow flooding CI queue ( #15585 )
2026-04-08 13:08:29 -10:00
0a8130858c
[ade7953_spi] Fix SPI mode on esp-idf ( #14824 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-08 22:57:53 +00:00