J. Nick Koston
6d2e1f8658
Merge branch 'dev' into socket-lwip-raw-udp
2026-05-13 01:36:28 -05:00
Dmitrii Kuminov
65ea29b44a
[core] Fix !include vars not being substituted in !lambda values ( #16320 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-05-12 22:41:30 -05:00
Keith Burzinski
480c23012c
[radio_frequency] Add on_control trigger; ir_rf_proxy driver-agnostic ( #16368 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-12 22:13:29 -05:00
Jonathan Swoboda
1dfd3fe9c2
[esp32] Print PlatformIO-format RAM/Flash summary after native ESP-IDF builds ( #16394 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-12 22:52:11 -04:00
Michael Hansen
f94735dc62
[api][voice_assistant] Add second audio channel for voice_assistant ( #16265 )
...
Co-authored-by: Kevin Ahrendt <kevin.ahrendt@openhomefoundation.org >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-05-13 13:38:39 +12:00
Kevin Ahrendt
65b53692bd
[i2s_audio] Properly track DMA input/output ( #16317 )
2026-05-12 20:36:26 -05:00
Kevin Ahrendt
3df0527c1f
[audio] Document ring buffer source thread safety ( #16393 )
2026-05-13 00:10:32 +00:00
Mat931
dc95b22c76
[safe_mode] Allow recovering soft-bricked devices via reboot to recovery partition ( #16339 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-05-13 12:07:49 +12:00
Jonathan Swoboda
1c2043e054
[esp32] Relax -Werror=reorder and -Werror=maybe-uninitialized on native ESP-IDF ( #16392 )
2026-05-12 20:04:54 -04:00
Kevin Ahrendt
7f37ee3c53
[mixer] Use RingBufferAudioSource ( #16316 )
2026-05-12 23:58:32 +00:00
Kevin Ahrendt
8b6cbc9f2b
[i2s_audio] Speaker uses new RingBufferAudioSource ( #16315 )
...
Thanks!
2026-05-12 23:58:03 +00:00
George Galt
531367d7e1
[micro_wake_word] Increase INFERENCE_TASK_STACK_SIZE to 8192 for P4 chip ( #16390 )
2026-05-12 19:47:54 -04:00
Jesse Hills
cb2dbcd70d
[ci] Add validate.*.yaml for config-only component tests ( #16384 )
2026-05-13 11:37:33 +12:00
Kevin Ahrendt
45a8bd49c3
[audio] Add a RingBufferAudioSource ( #16314 )
2026-05-12 19:33:03 -04:00
Jonathan Swoboda
9195b9898e
[ms8607] Pin humidity i2c_id in test fixture ( #16386 )
2026-05-12 18:20:09 -05:00
dependabot[bot]
aec48cf231
Bump aioesphomeapi from 44.24.2 to 45.0.0 ( #16391 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 23:19:07 +00:00
Jonathan Swoboda
907ae46aba
[zigbee] Fix init-order and missing-field warnings on native ESP-IDF ( #16389 )
2026-05-12 19:13:04 -04:00
Jesse Hills
057fc4c1a8
Move AI instructions to AGENTS.md ( #16382 )
2026-05-13 09:19:27 +12:00
Cody Cutrer
76d3433425
[cli] Add config-hash command ( #15548 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-05-12 20:43:48 +00:00
Kevin Ahrendt
b512cc42a8
[sendspin] Updates sendspin-cpp to v0.5.0 ( #16380 )
2026-05-12 16:42:44 -04:00
Boris Krivonog
66e4a1dfa8
[mitsubishi_cn105] Add C++ API for setting/clearing remote room temperature ( #15558 )
...
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-12 15:39:21 -05:00
Kevin Ahrendt
ee72efa760
[sendspin] Fix client_id MAC mismatch with ethernet ( #16331 )
2026-05-12 16:27:25 -04:00
J. Nick Koston
f54480ec48
[rp2040] Bump arduino-pico framework to 5.6.0 ( #16375 )
2026-05-12 15:20:25 -05:00
J. Nick Koston
34f69e0d6e
[ci] Comment on PRs that touch the legacy dashboard ( #16378 )
2026-05-12 14:42:23 -05:00
dependabot[bot]
57893a8eb1
Bump aioesphomeapi from 44.23.0 to 44.24.2 ( #16376 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 19:37:31 +00:00
tomaszduda23
c511dddf2a
[core] allow defining run_compile in external_components ( #16179 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-12 14:59:54 -04:00
Jesse Hills
76ce45c59e
[script] Preserve source order of enum options in language schema ( #16371 )
2026-05-13 06:28:39 +12:00
J. Nick Koston
727c74da3f
[script] Fix array-type parameters in script.execute ( #16374 )
2026-05-12 12:17:23 -05:00
Jonathan Swoboda
365ed19319
[core] Fix PROGMEM_STRING_TABLE placement on ESP8266 without flash log strings ( #16373 )
2026-05-12 11:19:10 -04:00
Clyde Stubbs
4ff946ac15
[cli] Add --no-states flag to run command ( #16366 )
2026-05-12 07:52:07 -04:00
Mat931
b5e50144e3
[ota] Improve OTA error messages ( #16327 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-05-12 02:32:58 +00:00
dependabot[bot]
49df1bd30e
Bump actions/cache from 5.0.3 to 5.0.5 ( #16365 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 02:18:06 +00:00
dependabot[bot]
7dce58c58d
Bump requests from 2.33.1 to 2.34.0 ( #16364 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 02:17:42 +00:00
Clyde Stubbs
a232aedebd
[lvgl] Check for user defined LV_USE items ( #16362 )
2026-05-12 12:09:42 +10:00
Clyde Stubbs
4e31b71304
[lvgl] Add new trigger on_update and new number option ( #16312 )
2026-05-12 08:52:33 +10:00
J. Nick Koston
55ef66cc26
[helpers] Re-enable ProgressBar under --dashboard mode ( #16357 )
2026-05-11 13:12:55 -05:00
luar123
e479e8b641
[zigbee] Add power_source option to esp32 ( #16062 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-05-11 14:08:52 -04:00
luar123
ee8ca2a3bf
[zigbee] add on_join trigger for esp32 ( #16060 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-05-11 11:54:35 -04:00
J. Nick Koston
a52ca4f80a
[ota] Implement host platform OTA backend with re-exec for integration testing ( #16304 )
2026-05-11 10:51:08 -05:00
luar123
4ac7bc4606
[zigbee] Add sensor support on esp32 ( #16026 )
2026-05-11 10:51:47 -04:00
tomaszduda23
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
30e2f7e8e9
[thermostat] Fix supplemental action never firing via max run time ( #16308 )
2026-05-11 10:13:43 -04:00
@RubenKelevra
a7299cb95b
[esp32_camera] Downgrade esp32-camera to 2.1.5 ( #16293 )
2026-05-11 10:09:15 -04:00
tomaszduda23
2edb7ca5c2
[nrf52] add message that west update is running ( #16321 )
2026-05-11 10:05:41 -04:00
tomaszduda23
68534ea24d
[logger] fix crash on zephyr ( #16330 )
2026-05-11 10:04:48 -04:00
rwrozelle
105842366e
[openthread] Remove-freertos-portmacro-header-include ( #16338 )
2026-05-11 09:57:01 -04:00
J. Nick Koston
4d9d6e02e5
[core] Add stable esphome.upload_targets module for port classification ( #16346 )
2026-05-11 09:13:16 -04:00
J. Nick Koston
b967adeb9d
[wifi] Accept lowercase variant in variant_has_wifi ( #16345 )
2026-05-11 09:11:36 -04:00
Jonathan Swoboda
e4d9786f00
[core] Move platformio files to subfolder ( #16347 )
2026-05-11 21:34:47 +12:00
Samuel Sieb
267836d098
[tuya] allow status pin that doesn't match the reported one ( #16353 )
2026-05-11 01:27:07 -07:00
Jesse Hills
c82adc3892
[ci] Fix external-component-bot 403 on PR comments ( #16354 )
2026-05-11 19:52:39 +12:00
Jesse Hills
fe66f9ba41
[ci] Tighten workflow permissions to least-privilege ( #16349 )
2026-05-11 17:15:53 +12:00
Jesse Hills
5dadfe6367
[ci] codeowner-review-request: mint least-privilege App token ( #16351 )
2026-05-11 17:04:09 +12:00
Jesse Hills
c4e85fbfc1
[ci] sync-device-classes: mint least-privilege App token ( #16350 )
2026-05-11 16:57:10 +12:00
Diorcet Yann
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
66e2dcffc4
[cli] Tighten command_rename: scoped name rewrite, target-collision check ( #16296 )
2026-05-11 13:00:09 +12:00
J. Nick Koston
17080ddce6
[wifi][rp2040] Add stable wifi-capability helpers for device-builder ( #16300 )
2026-05-11 12:56:56 +12:00
J. Nick Koston
930d539969
[config_validation] Add a visibility UI-hint kwarg ( #16267 )
2026-05-11 12:07:15 +12:00
Clyde Stubbs
3c042e2e44
[lvgl] Ensure that on_value events fire on checked change ( #16119 )
2026-05-11 11:58:18 +12:00
Jesse Hills
ed10fbea3e
[docker] Silence CopyIgnoredFile warning for build context root ( #16311 )
2026-05-11 07:25:49 +12:00
Mat931
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
3abf2c99a2
[openthread] add coroutine-with-priority COMMUNICATION ( #16318 )
2026-05-08 16:35:47 -05:00
Kevin Ahrendt
70b9edfabe
[i2s_audio] Refactor SPDIF output, fixing synchronization problems ( #16319 )
2026-05-08 21:26:09 +00:00
John Boiles
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
3d8fffbea9
[htu31d][kamstrup_kmp][ms8607] Use CRC functions from helpers.h ( #16313 )
2026-05-08 09:17:14 -04:00
Jonathan Swoboda
eb52ca61fe
[climate][ektf2232] Remove deprecations scheduled for 2026.5.0 ( #16289 )
2026-05-08 07:26:14 -04:00
Jonathan Swoboda
a970f05b69
[clang-tidy] Enable readability-redundant-string-init ( #16310 )
2026-05-08 07:26:03 -04:00
Clyde Stubbs
7b6e2589f1
[modbus_server] Reduce log spam ( #16283 )
2026-05-08 14:09:22 +10:00
Jonathan Swoboda
696a654733
[clang-tidy] Concatenate nested namespaces (7/7: tests, platform-gated, enable check) ( #16307 )
2026-05-07 23:05:17 -04:00
Kevin Ahrendt
08b17c9da1
[core] Move core ring buffer to helper component ( #16298 )
2026-05-08 14:01:37 +12:00
Jesse Hills
e152c6155b
[ci] Skip needs-docs for new components without CONFIG_SCHEMA ( #16303 )
2026-05-08 14:00:50 +12:00
Jonathan Swoboda
6ffcb821ca
[clang-tidy] Concatenate nested namespaces (6/7: components t-z) ( #16305 )
2026-05-08 01:13:38 +00:00
Jonathan Swoboda
ded83812f4
[clang-tidy] Concatenate nested namespaces (5/7: components s) ( #16302 )
2026-05-08 00:16:51 +00:00
Jonathan Swoboda
ab1d2de78e
[clang-tidy] Concatenate nested namespaces (4/7: components n-r) ( #16301 )
2026-05-07 23:28:30 +00:00
Jonathan Swoboda
cbe192df49
[clang-tidy] Concatenate nested namespaces (3/7: components i-m) ( #16297 )
2026-05-07 19:00:17 -04:00
dependabot[bot]
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
4e4e4b4411
[clang-tidy] Concatenate nested namespaces (2/7: components d-h) ( #16295 )
2026-05-07 16:49:55 -04:00
Jonathan Swoboda
06bd92c388
[clang-tidy] Concatenate nested namespaces (1/7: components a-c) ( #16294 )
2026-05-07 14:21:39 -04:00
J. Nick Koston
71193e2b2c
[helpers] Document write_file's external consumer contract (esphome-device-builder) ( #16290 )
2026-05-07 13:21:35 -05:00
Clyde Stubbs
9301f76482
[sensor] Add alternate calibration format for ntc ( #15937 )
2026-05-07 06:59:22 +10:00
Clyde Stubbs
004aa49131
[lvgl] Pass touch point to touch event lambdas ( #16272 )
2026-05-07 06:57:53 +10:00
dependabot[bot]
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
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
d9835c8705
[nextion] Fix text sensor state not updated on string response ( #16280 )
2026-05-07 07:25:35 +12:00
Mat931
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
7f6aef4f33
[substitutions] Fix sibling references inside dict-valued substitutions ( #16273 )
2026-05-07 07:25:35 +12:00
J. Nick Koston
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
puddly
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
6173656bf8
[schema] Surface OnlyWith / OnlyWithout default + gate components in schema generator ( #16276 )
2026-05-06 13:49:00 -04:00
dbl-0
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
4da62067cf
[nextion] Fix text sensor state not updated on string response ( #16280 )
2026-05-06 13:32:50 -04:00
Kevin Ahrendt
9f49e3f80e
[audio] Bump microFLAC to v0.2.0 ( #16279 )
2026-05-06 17:22:18 +00:00
Kevin Ahrendt
fc25ab0246
[i2s_audio] Optimize software volume control ( #16278 )
2026-05-06 12:57:03 -04:00
Kevin Ahrendt
a4a57a540d
[core] Adds acquire and release methods to the ring buffer class ( #16277 )
2026-05-06 12:56:54 -04:00
Didier A
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
Mat931
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
Mat931
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
6e1a59da3e
[packages] Make package !include vars visible to its substitutions block ( #16274 )
2026-05-06 09:53:14 -05:00
John
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
caaa1aefc7
[substitutions] Fix sibling references inside dict-valued substitutions ( #16273 )
2026-05-06 08:41:17 -05:00
J. Nick Koston
ff0c5f575e
[bundle] Include secrets.yaml when !secret keys are quoted ( #16271 )
2026-05-06 07:32:35 -05:00
J. Nick Koston
f06ad8c436
[http_request] Add regression test for light action inside on_response ( #16270 )
2026-05-06 07:32:19 -05:00
Jonathan Swoboda
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
85f33978e7
[core] Skip external component update on esphome clean ( #16268 )
2026-05-06 07:23:35 -04:00
Clyde Stubbs
79786f1cc7
[lvgl] Allow line points as percentages ( #16209 )
2026-05-06 07:22:43 -04:00
Kevin Ahrendt
febf8815c7
[audio_file][speaker] Eliminate code duplication for files built into firmware ( #16266 )
2026-05-06 05:59:51 -04:00
Jesse Hills
6f6d991dd2
[ha-addon] Add opt-in toggle for the new ESPHome Device Builder ( #16247 )
2026-05-06 21:42:11 +12:00
tomaszduda23
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
a99c1b3e08
[nrf52] add reserve area for bootloader ( #16204 )
2026-05-05 20:37:03 -04:00
Kevin Ahrendt
2d6af1f7e5
[audio] Bump esp-audio-libs to v3.0.0 ( #16263 )
2026-05-05 20:22:53 -04:00
J. Nick Koston
700676b340
[api] Use entity_types.h X-macro for InitialStateIterator declarations ( #16075 )
2026-05-05 18:29:48 -05:00
J. Nick Koston
bf1c339dc1
[api] Use entity_types.h X-macro for ListEntitiesIterator declarations ( #16076 )
2026-05-05 18:29:32 -05:00
J. Nick Koston
f5c1b8839d
[web_server] Use entity_types.h X-macro for ListEntitiesIterator declarations ( #16077 )
2026-05-05 18:29:10 -05:00
J. Nick Koston
4404dd68ba
[cover] Fix ControlAction / CoverPublishAction trigger args with reference types ( #16227 )
2026-05-05 18:27:18 -05:00
J. Nick Koston
67491c3194
[packages] Add resolve_packages single-call seam ( #16235 )
2026-05-05 18:26:52 -05:00
J. Nick Koston
39b2b901f7
[core] Replace scheduler pool vector with unbounded intrusive freelist ( #16172 )
2026-05-05 18:26:19 -05:00
J. Nick Koston
f30ad588ea
[cli] Add --ota-platform flag to pick web_server or native API OTA ( #16207 )
2026-05-05 18:25:53 -05:00
tomaszduda23
be82e8faeb
[debug] Remove unused buffer in uicr lambda function ( #16208 )
2026-05-05 19:02:26 -04:00
Kevin Ahrendt
57397a318a
[audio] Use the microWAV library for decoding ( #16251 )
2026-05-05 11:21:02 -05:00
Kevin Ahrendt
87a705b1cc
[audio] Bump microOpus to v0.4.1 ( #16255 )
2026-05-05 12:47:07 +00:00
Keith Burzinski
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
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
6fda5f41b2
Merge pull request #16240 from esphome/bump-2026.4.4
...
2026.4.4
2026-05-05 14:21:38 +12:00
Kevin Ahrendt
ea2b2b3920
[audio_file] Use microDecoder library instead of manual task management/decoding ( #16237 )
2026-05-04 20:12:26 -05:00
Kevin Ahrendt
f33d137669
[audio][media_player][speaker] WAV decoding is no longer always built ( #16244 )
2026-05-04 23:45:11 +00:00
dependabot[bot]
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
556783b95b
[http_request] remove slow http_request warning on 8266 ( #16239 )
2026-05-04 18:19:52 -05:00
Kevin Ahrendt
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
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
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
d9c22d6b56
[lvgl] Clamp values for meter line indicators ( #16180 )
2026-05-05 08:22:05 +12:00
J. Nick Koston
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
ce466c6b60
[mcp23xxx_base] Reject unsupported interrupt_pin options (inverted, allow_other_uses) ( #16149 )
2026-05-05 08:14:03 +12:00
Brandon Harvey
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
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
690a197346
[main] Move stacktrace handling out of platformio_api and FlashImage into platform components/util ( #16186 )
2026-05-04 15:07:31 -04:00
J. Nick Koston
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
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
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
013dee44eb
[binary_sensor] Drop Component from AutorepeatFilter, use self-keyed scheduler ( #16191 )
2026-05-03 20:05:27 -05:00
J. Nick Koston
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
120d1e51fb
[tests] Fix flaky host_mode_climate_basic_state integration test ( #16192 )
2026-05-03 20:04:34 -05:00
J. Nick Koston
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
72a75f2d3f
[cover] Fold ControlAction/CoverPublishAction fields into stateless lambdas ( #16046 )
2026-05-03 20:02:07 -05:00
J. Nick Koston
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
15ab5422c7
[ci] Run downstream device-builder tests against PR Python code ( #16214 )
2026-05-03 19:45:08 -05:00
J. Nick Koston
33f88619da
[valve] Fix ControlAction trigger args with reference types ( #16223 )
2026-05-03 19:44:21 -05:00
J. Nick Koston
df1200629f
[tests] Fix flaky host_mode_climate_basic_state ( #16225 )
2026-05-03 19:44:11 -05:00
J. Nick Koston
41bd570d30
[light] Fix LightControlAction trigger args with reference types ( #16220 )
2026-05-03 19:44:01 -05:00
J. Nick Koston
cf223674e5
[climate] Fix ControlAction trigger args with reference types ( #16221 )
2026-05-03 19:43:49 -05:00
J. Nick Koston
af74b639cf
[fan] Fix TurnOnAction trigger args with reference types ( #16222 )
2026-05-03 19:43:35 -05:00
J. Nick Koston
4108b27197
[esp8266] Lower WDT_FEED_INTERVAL_MS to 100 ms ( #16197 )
2026-05-03 19:43:09 -05:00
Mat931
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
85e1e4b95e
[zephyr] feed watchdog early. Otherwise OTA may rollback. ( #16218 )
2026-05-03 20:37:32 -04:00
J. Nick Koston
0f174ee626
[api] Fall back to owning types for service array args used after a delay ( #16140 )
2026-05-04 10:55:40 +12:00
Edward Firmo
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
dependabot[bot]
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
81d147ff9e
[esp32] Drop printf wrap on IDF 6.0+ (picolibc no longer needs it) ( #16189 )
2026-05-01 14:31:56 -05:00
Mat931
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
3dd60c5713
[core] Support allocating ring buffer in internal memory ( #16187 )
2026-05-01 07:55:08 -05:00
Oliver Kleinecke
f073c1cabe
[usb_host][usb_uart] Add configurable max packet size ( #14584 )
2026-05-01 20:43:13 +10:00
J. Nick Koston
5cc447e0da
[core] Move per-platform hal_platform.h into components/platform/hal.h ( #16183 )
2026-04-30 21:27:31 -05:00
Clyde Stubbs
0980630f68
[lvgl] Clamp values for meter line indicators ( #16180 )
2026-04-30 22:23:14 -04:00
J. Nick Koston
b8dfffdf06
[core] Enable ruff FLY (flynt) lint family ( #16182 )
2026-04-30 21:20:07 -05:00
luar123
f6e39d305d
[zigbee] Add newlib compatibility for zigbee sdk in idf 6 ( #16174 )
2026-04-30 22:08:55 -04:00
Jonathan Swoboda
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
faa61696e0
[sendspin] Use sendspin-cpp to v0.4.0 to reduce stuttering ( #16178 )
2026-04-30 20:43:24 -05:00
J. Nick Koston
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
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
3d69169141
[climate] Fold ControlAction fields into a single stateless lambda ( #16044 )
2026-04-30 19:16:16 -05:00
J. Nick Koston
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
550444dc34
[binary_sensor] Drop Component from filter classes, use self-keyed scheduler ( #16131 )
2026-04-30 19:15:18 -05:00
J. Nick Koston
ba7c06785a
[mdns] Broadcast config_hash TXT record on _esphomelib._tcp ( #16145 )
2026-04-30 19:14:55 -05:00
J. Nick Koston
b708d1a826
[core] Drop unused DELAY_ACTION from InternalSchedulerID enum ( #16151 )
2026-04-30 19:14:34 -05:00
J. Nick Koston
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
45e78e4114
[core] Inline loop gate expression to avoid stale local reuse ( #16167 )
2026-04-30 19:13:54 -05:00
J. Nick Koston
3b3e003aa3
[sensor] Pack ThrottleAverageFilter have_nan_ into n_ bitfield (-4 B/instance) ( #16169 )
2026-04-30 19:13:10 -05:00
J. Nick Koston
2f3e16b482
[bk72xx] Apply CFG_SUPPORT_BLE=0 SDK option to BK7238 ( #16181 )
2026-04-30 19:12:06 -05:00
J. Nick Koston
e085cb50d9
[sensor] Drop Component from filter classes, use self-keyed scheduler ( #16132 )
2026-04-30 19:11:30 -05:00
J. Nick Koston
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
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
d48aad8c4d
[esp32] Replace 512B stack buffer in printf wraps with picolibc cookie FILE ( #16170 )
2026-04-30 13:27:54 -04:00
Kevin Ahrendt
f1d3be4bda
[core] Simplify RAMAllocator and add internal fallback to external mode ( #16171 )
2026-04-30 12:03:40 -04:00
Kevin Ahrendt
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
a8b0133ec1
[audio] Enable specific codecs and configure advanced features ( #16166 )
2026-04-30 08:49:28 -04:00
Clyde Stubbs
1398dcebb4
[st7789v] Add deprecation warnings ( #16162 )
2026-04-30 00:53:37 -05:00
dependabot[bot]
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
e127268dac
[core] Strip \\?\ prefix from sys.executable for PlatformIO subprocess ( #16158 )
2026-04-30 16:04:52 +12:00
J. Nick Koston
f0bffed3c0
[esp8266] Move HAL bodies into components/esp8266/hal.cpp + inline arch_init ( #16112 )
2026-04-30 15:42:17 +12:00
Jesse Hills
1a871e231d
[ci] Use client-id for GitHub App token generation ( #16155 )
2026-04-30 13:09:37 +12:00
Jesse Hills
47765bd2d0
[ci] Correct version comment on create-github-app-token pin ( #16156 )
2026-04-30 13:08:56 +12:00
dependabot[bot]
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
b8d24c9e49
[mcp23xxx_base] Reject unsupported interrupt_pin options (inverted, allow_other_uses) ( #16149 )
2026-04-30 11:14:07 +12:00
J. Nick Koston
9b1f5c59bb
[core] Fix null deref in WarnIfComponentBlockingGuard for self-keyed scheduler timers ( #16150 )
2026-04-29 23:05:38 +00:00
Jonathan Swoboda
e4b33fddf5
[esp32] Add ESP-IDF 6.0.1 platform entry ( #16146 )
2026-04-29 18:43:15 -04:00
Jonathan Swoboda
77da64a367
[sx126x] Add cold sleep option and drop unused RTC wakeup bit ( #16144 )
2026-04-29 17:05:51 -04:00
J. Nick Koston
cecccebc64
[core] DelayAction: drop Component inheritance, use self-keyed scheduler ( #16129 )
2026-04-29 20:35:04 +00:00
Jonathan Swoboda
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
Mat931
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
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
5a146ab6b7
[valve] Fold ControlAction fields into a single stateless lambda ( #16123 )
2026-04-29 19:20:15 +00:00
J. Nick Koston
61a41402df
[fan] Fold TurnOnAction fields into a single stateless lambda ( #16122 )
2026-04-29 19:16:05 +00:00
Mat931
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
c41f38e16d
[scheduler] Add self-keyed timer API for callers without a Component ( #16127 )
2026-04-29 13:24:37 -05:00
Clyde Stubbs
0ad8a071a7
[espnow] Cleanup method visibility and naming ( #16109 )
2026-04-29 14:18:21 -04:00
J. Nick Koston
985dba9332
[core] Defer heavy module-scope imports in __main__, loader, and config ( #15955 )
2026-04-29 13:17:59 -05:00
GelidusResearch
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
44cabc191d
[core] Catch body-read errors in download_content ( #16023 )
2026-04-29 14:06:41 -04:00
J. Nick Koston
e5b1991cf7
[fan] Add tests for fan.turn_on action field combinations ( #16125 )
2026-04-29 12:46:06 -05:00
J. Nick Koston
7fba57ce51
[valve] Add tests for valve.control action field combinations ( #16126 )
2026-04-29 12:45:30 -05:00
J. Nick Koston
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
ce61dcf387
[remote_base][core] Drop redundant typename in dependent type contexts ( #16137 )
2026-04-29 16:54:17 +00:00
Jonathan Swoboda
bae6b51652
[kamstrup_kmp][toshiba] Fix signed/unsigned comparisons against sizeof ( #16135 )
2026-04-29 11:33:57 -04:00
Jonathan Swoboda
557c3d4436
[aqi] Use std::max initializer-list for non-negative AQI clamp ( #16134 )
2026-04-29 11:33:29 -04:00
Jonathan Swoboda
bacee89bca
[mixer_speaker] NOLINT bugprone-unchecked-optional-access in audio_mixer_task ( #16130 )
2026-04-29 10:56:13 -04:00
Jonathan Swoboda
2157d11913
[haier] Fix bugprone-unchecked-optional-access; switch HardwareInfo to char[9] ( #16124 )
2026-04-29 14:26:53 +00:00
Jonathan Swoboda
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
2bd28eee9d
[tormatic] Use .value() for checked optional access in read_gate_status_ ( #16121 )
2026-04-29 09:51:31 -04:00
J. Nick Koston
0a497d3c22
[light] Fold LightControlAction fields into a single stateless lambda ( #16118 )
2026-04-29 08:35:17 -05:00
Jonathan Swoboda
79da2b9704
[time] Fix bugprone-unchecked-optional-access in CronTrigger::check_time_ ( #16107 )
2026-04-29 08:30:46 -04:00
Jonathan Swoboda
ae5b211c89
[api] Avoid JsonDocument copy-and-swap operator= in ActionResponse ctor ( #16106 )
2026-04-29 08:30:35 -04:00
J. Nick Koston
8ceada8d04
[core] Download external_files in parallel ( #16021 )
2026-04-29 14:32:30 +12:00
J. Nick Koston
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
2fce71e0d4
[wifi] Add phy_mode option for ESP8266 ( #16055 )
2026-04-29 14:31:07 +12:00
J. Nick Koston
80251c54be
[climate] Add climate.control coverage to component tests via thermostat ( #16052 )
2026-04-29 14:27:56 +12:00
J. Nick Koston
0d51a122d0
[cover] Add cover.control / cover.template.publish coverage to template tests ( #16051 )
2026-04-29 14:27:40 +12:00
J. Nick Koston
5a33c50015
[light] Use constexpr template for DimRelativeAction transition_length ( #16038 )
2026-04-29 14:26:38 +12:00
J. Nick Koston
0d150dc57e
[light] Use constexpr template for ToggleAction transition_length ( #16037 )
2026-04-29 14:25:18 +12:00
J. Nick Koston
d287876d8d
[light] Use bitmask template for LightControlAction unused fields ( #16039 )
2026-04-29 14:20:37 +12:00
J. Nick Koston
592486ae9a
[analyze_memory] Attribute main.cpp setup()/loop() to esphome core ( #16033 )
2026-04-29 14:06:54 +12:00
Jonathan Swoboda
c3bd38af77
[feedback] Fix bugprone-unchecked-optional-access in start_direction_ ( #16103 )
2026-04-28 21:54:15 -04:00
J. Nick Koston
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
d7b21a84a3
[git] Make ref fetches and submodule updates shallow ( #16014 )
2026-04-29 13:49:51 +12:00
J. Nick Koston
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
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
1363f661e6
[core] Inline ContinuationAction in If/While/RepeatAction ( #16040 )
2026-04-28 21:26:25 -04:00
J. Nick Koston
8af499b591
[api] Use custom deleter to fix incomplete-type error on macOS libc++ ( #16050 )
2026-04-28 21:26:21 -04:00
Jonathan Swoboda
1a57d9bc2f
[sprinkler][pn532] Fix bugprone-unchecked-optional-access ( #16102 )
2026-04-29 01:04:19 +00:00
J. Nick Koston
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
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
29d3a3a498
[esp8266] Replace millis() with fast accumulator, wrap Arduino callers ( #15662 )
2026-04-29 12:58:00 +12:00
Jonathan Swoboda
77b76ac48a
[inkbird_ibsth1_mini][speaker][speaker_source] Fix performance-unnecessary-copy-initialization ( #16101 )
2026-04-29 00:56:03 +00:00
Clyde Stubbs
0b5835284a
[lvgl] Additional layout features ( #16041 )
2026-04-29 12:35:24 +12:00
Jonathan Swoboda
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
be0ee73847
[i2c] NOLINT readability-identifier-naming on Zephyr struct forward-decl ( #16099 )
2026-04-28 19:22:42 -04:00
Jonathan Swoboda
a241c9e622
[online_image][sim800l] Use std::string::starts_with for prefix checks ( #16097 )
2026-04-28 19:02:39 -04:00
Jonathan Swoboda
2f433c78bd
[haier] Brace single-statement else-if in smartair2_climate ( #16098 )
2026-04-28 18:56:36 -04:00
Jonathan Swoboda
e39c474577
[binary_sensor] Bind at_index_ once in MultiClick on_state_ ( #16095 )
2026-04-28 22:13:35 +00:00
Jonathan Swoboda
a62e3fe4fc
[json] NOLINT StackAddressEscape false positive in parse_json ( #16091 )
2026-04-28 21:35:40 +00:00
Jonathan Swoboda
7d6b9bee19
[wifi] Avoid copying EAP config in three connect handlers ( #16094 )
2026-04-28 21:22:29 +00:00
Jonathan Swoboda
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
3d195d748c
[ezo] Use make_unique to construct EzoCommand ( #16092 )
2026-04-28 20:50:15 +00:00
Jonathan Swoboda
16cf4fb5e8
[nextion] Use std::string::starts_with for HTTPS URL check ( #16090 )
2026-04-28 20:47:20 +00:00
Jonathan Swoboda
70503442f4
[dfrobot_sen0395] Brace single-statement else-if in enqueue() ( #16089 )
2026-04-28 20:37:29 +00:00
Jonathan Swoboda
594b269dba
[bme680] Rename cal1/cal2 to coeff1/coeff2 ( #16087 )
2026-04-28 20:33:57 +00:00
Clyde Stubbs
8157c721a5
[mapping] Implement default value ( #15861 )
2026-04-29 06:31:37 +10:00
Clyde Stubbs
9af557de6d
[lvgl] Add utility gradient function ( #16048 )
2026-04-29 06:29:38 +10:00
Jonathan Swoboda
1f4136e76f
[pipsolar] Guard handle_qmod_ against empty message ( #16085 )
2026-04-28 16:29:09 -04:00
Jonathan Swoboda
c8dffcc9b8
[tlc5971] Remove dead bit-banging delay code ( #16086 )
2026-04-28 15:28:33 -05:00
dependabot[bot]
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
eb01d43feb
[spi][http_request][demo] Fix latent clang-tidy issues in headers ( #16080 )
2026-04-28 16:09:35 -04:00
Jonathan Swoboda
7891fd5cf1
Add dependencies.lock to .gitignore ( #16081 )
2026-04-29 07:38:31 +12:00
Jonathan Swoboda
4ee9cc432b
[ci] Install requirements_dev.txt in the cached venv ( #16082 )
2026-04-29 07:37:46 +12:00
Mat931
42ff10afe5
[watchdog] Fix WatchdogManager on single core apps ( #16074 )
2026-04-28 17:32:44 +00:00
tomaszduda23
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
tomaszduda23
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
daf3f4d2f1
[core] wakeable_delay: yield on already-woken fast path (ESP8266, RP2040) ( #16045 )
2026-04-28 10:41:17 -05:00
Bonne Eggleston
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
0a4d9b430f
[ci] Add import-time regression check for esphome.__main__ ( #15954 )
2026-04-28 14:05:12 +00:00
J. Nick Koston
0759a3c681
[core] Split wake.{h,cpp} into per-platform files ( #15978 )
2026-04-28 08:48:13 -05:00
Egor Vorontsov
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
Clyde Stubbs
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
Jesse Hills
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
41458d72e0
[esp32] Make Arduino app metadata reproducible ( #16053 )
2026-04-28 05:58:34 -05:00
Brandon Harvey
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
792f2e8363
[ota] Add wall-clock timeout to OTA data transfer loop ( #16047 )
2026-04-28 17:29:42 +12:00
J. Nick Koston
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
Jesse Hills
4e0509435a
Merge pull request #16067 from esphome/bump-2026.4.3
...
2026.4.3
2026-04-28 15:39:24 +12:00
J. Nick Koston
a03de7cea2
[core] Freshen loop_component_start_time_ before scheduler dispatch ( #16064 )
2026-04-28 13:23:08 +12:00
Jesse Hills
95b5ab7e78
Bump version to 2026.4.3
2026-04-28 12:58:29 +12:00
J. Nick Koston
3ac0939f55
[image] Fix RGB565+alpha rendering for multi-frame animations ( #16017 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-04-28 12:58:29 +12:00
Jesse Hills
191d3bc7e4
[esp32_touch] Feed wdt ( #16066 )
2026-04-28 12:58:29 +12:00
Edward Firmo
a186f6fea9
[nextion] Unify TFT upload ack timeout to 5000ms ( #15960 )
2026-04-28 12:58:29 +12:00
Mat931
aea88aef5e
[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-28 12:58:29 +12:00
J. Nick Koston
433bbdb016
[rotary_encoder][at581x] Fix templatable int field types ( #16015 )
2026-04-28 12:58:29 +12:00
J. Nick Koston
4137d93cbf
[wifi] Fix stale wifi.connected after state transition ( #15966 )
2026-04-28 12:58:29 +12:00
J. Nick Koston
6a5919ee87
[deep_sleep] Fix sleep_duration codegen type to uint32_t ( #15965 )
2026-04-28 12:58:29 +12:00
Jesse Hills
b753ee4e94
[time] Handle Windows EINVAL when validating POSIX TZ strings ( #15934 )
2026-04-28 12:58:29 +12:00
Clyde Stubbs
c26ea52620
[lvgl] Triggers on tabview tabs fix ( #15935 )
2026-04-28 12:58:29 +12:00
J. Nick Koston
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
a34836c290
[esp32_touch] Feed wdt ( #16066 )
2026-04-28 11:27:08 +12:00
Edward Firmo
01ac223913
[nextion] Unify TFT upload ack timeout to 5000ms ( #15960 )
2026-04-28 08:30:40 +12:00
Mat931
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
24c6a0d711
[audio] Bump microDecoder library to v0.2.0 ( #16054 )
2026-04-27 12:17:02 +00:00
plazarre
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
79b741b8dc
[core] Combine entity register + configure_entity_ into one call ( #16030 )
2026-04-27 03:03:39 +00:00
tomaszduda23
112646a9c4
[zigbee] add router for nrf52 ( #16034 )
2026-04-26 23:02:09 -04:00
J. Nick Koston
2e096bb036
[core] Combine set_component_source_ + register_component_ into one call ( #16029 )
2026-04-26 21:54:15 -05:00
Johan Henkens
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
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
8dbdcfc128
[bk72xx] Prepare for BK7238 support ( #16018 )
2026-04-26 07:24:07 -05:00
J. Nick Koston
8950afc3c4
[bluetooth_proxy] Drop redundant remote_bda_ write in connect handler ( #16000 )
2026-04-26 07:23:53 -05:00
J. Nick Koston
04d067196d
[rotary_encoder][at581x] Fix templatable int field types ( #16015 )
2026-04-26 07:23:41 -05:00
J. Nick Koston
502c010465
[bh1750] Downgrade per-reading Illuminance log to verbose ( #16005 )
2026-04-26 07:23:24 -05:00
J. Nick Koston
180105bb4b
[bluetooth_proxy] Partial revert of loop() → set_interval migration ( #15992 )
2026-04-26 07:23:08 -05:00
J. Nick Koston
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
df987a7ffb
[ci-custom] Suggest uint32_to_str/int8_to_str for integer formatting ( #15970 )
2026-04-26 07:22:34 -05:00
Boris Krivonog
c8d4420408
[mitsubishi_cn105] add support for half-degree temperature setpoint ( #15919 )
2026-04-26 07:19:49 -05:00
Darafei Praliaskouski
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
Darafei Praliaskouski
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
dc57969afd
[host] Use integer math in millis()/micros() ( #15994 )
2026-04-26 08:39:24 +00:00
J. Nick Koston
f092e619d8
[rtttl] Gate on_finished_playback callback storage behind define ( #16003 )
2026-04-26 00:03:59 -05:00
J. Nick Koston
58f6ad2d0c
[safe_mode] Use StaticCallbackManager for on_safe_mode ( #16002 )
2026-04-26 00:01:21 -05:00
Keith Burzinski
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
4cab262ef8
[ci] Trigger CodSpeed benchmarks on host platform changes ( #15995 )
2026-04-25 17:18:21 -04:00
dependabot[bot]
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
4f8feb86f0
[dashboard] Add --no-states support to logs WebSocket handler ( #15993 )
2026-04-25 15:43:05 -05:00
Javier Peletier
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
dependabot[bot]
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
dependabot[bot]
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
dependabot[bot]
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
dependabot[bot]
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
9caf9ee023
[sendspin] Bumps sendspin-cpp library for a bugfix ( #15976 )
2026-04-24 11:53:03 -05:00
Kevin Ahrendt
94e300389c
[sendspin] remove year and track number text sensors and refactor ( #15975 )
2026-04-24 15:35:32 +00:00
Kevin Ahrendt
55bcf33446
[sendspin] Add metadata sensor component ( #15971 )
2026-04-24 14:32:47 +00:00
Kevin Ahrendt
f132b7dc07
[media_player][speaker][speaker_source] Centralize preferred format codegen ( #14771 )
2026-04-24 14:09:03 +00:00
J. Nick Koston
baa6d5f96b
[web_server_idf] Fix cross-thread race on SSE session state ( #15967 )
2026-04-24 08:11:47 -05:00
J. Nick Koston
773b4d887b
[core] Scheduler: don't sleep while defer queue is non-empty ( #15968 )
2026-04-24 08:11:29 -05:00
Kevin Ahrendt
ac7f0f0b74
[sendspin] Add a metadata text sensor component ( #15969 )
2026-04-24 11:07:00 +00:00
Kevin Ahrendt
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
ae02ab3865
[wifi] Fix stale wifi.connected after state transition ( #15966 )
2026-04-24 03:42:36 -05:00
J. Nick Koston
eceb534895
[deep_sleep] Fix sleep_duration codegen type to uint32_t ( #15965 )
2026-04-24 07:19:59 +00:00
tomaszduda23
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
Kevin Ahrendt
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
Kevin Ahrendt
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
Kevin Ahrendt
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
90d7bfe02e
[ci] Auto-close PRs opened from a fork's default branch ( #15957 )
2026-04-23 16:36:32 -05:00
Kevin Ahrendt
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
luar123
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
9b45b046a8
[core] Allow finding all devices as target that match mac suffix ( #13135 )
2026-04-23 08:43:32 -05:00
J. Nick Koston
70ae614abd
[api] Fall back to plaintext for logger connections ( #15938 )
2026-04-23 08:23:38 -05:00
J. Nick Koston
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
3ca86fc3fc
[core] Raise WDT_FEED_INTERVAL_MS to 2000ms on BK72xx ( #15943 )
2026-04-23 08:21:46 -05:00
J. Nick Koston
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
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
50c181671c
[ci] Better explain too-big bot review message ( #15939 )
2026-04-23 06:47:16 -05:00
PolarGoose
43a371caab
[dsmr] Small refactoring: Move Aes128GcmDecryptorImpl type inside esphome::dsmr namespace. ( #15940 )
2026-04-23 04:08:49 -05:00
dependabot[bot]
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
9685d4eb0b
[core] feed_wdt wraps feed_wdt_with_time ( #15932 )
2026-04-23 01:15:44 -05:00
Keith Burzinski
4c2efd4165
[radio_frequency] Add experimental radio_frequency entity type (base component + API) ( #15556 )
2026-04-23 01:15:25 -05:00
J. Nick Koston
6f00ea1457
[core] Move host socket-select wake mechanism into wake.h/wake.cpp ( #15931 )
2026-04-23 15:53:10 +12:00
Jonathan Swoboda
a881121110
[ota] Make set_auth_password() lambda-callable via empty-password opt-in ( #15928 )
2026-04-22 23:06:31 -04:00
dependabot[bot]
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
e1d629f0d2
[time] Handle Windows EINVAL when validating POSIX TZ strings ( #15934 )
2026-04-23 14:35:13 +12:00
Clyde Stubbs
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
Jesse Hills
6ca5b31fab
Merge pull request #15933 from esphome/bump-2026.4.2
...
2026.4.2
2026-04-23 14:10:10 +12:00
dependabot[bot]
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
dependabot[bot]
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
Jesse Hills
00b71208a6
Bump version to 2026.4.2
2026-04-23 11:18:39 +12:00
Keith Burzinski
76eb8f697f
[usb_uart] Derive TX output chunk count from buffer_size config ( #15909 )
2026-04-23 11:18:39 +12:00
Jonathan Swoboda
2a3bd8bc85
[io_expanders] Self-heal interrupt-driven expanders when INT stays asserted across the read ( #15923 )
2026-04-23 11:18:39 +12:00
Keith Burzinski
629da4d878
[esp32] Add Secure Boot V1 ECDSA signing scheme for pre-rev-3.0 ESP32 ( #15882 )
2026-04-23 11:18:39 +12:00
Jonathan Swoboda
5c2ceb63e0
[ld2412] Fix null deref in set_basic_config when entities unconfigured ( #15893 )
2026-04-23 11:18:39 +12:00
Jonathan Swoboda
92cb6dd7fd
[core] Fix Pvariable placement new losing subclass identity ( #15881 )
2026-04-23 11:18:39 +12:00
Jonathan Swoboda
06e5931ad7
[image] Fix rodata bloat for multi-frame RGB565+alpha animations ( #15873 )
2026-04-23 11:18:39 +12:00
Clyde Stubbs
dc5b06285d
[lvgl] Fix update of textarea attached to keyboard ( #15866 )
2026-04-23 11:18:38 +12:00
Clyde Stubbs
3d0a2421a6
[lvgl] Fix overloads for setting images on styles ( #15864 )
2026-04-23 11:18:38 +12:00
Clyde Stubbs
22f6791dea
[lvgl] Fix format of hello world page ( #15868 )
2026-04-23 11:18:38 +12:00
Keith Burzinski
70b1d9a087
[api_protobuf] Support compound ifdef conditions in proto generator ( #15930 )
2026-04-22 17:57:15 -05:00
Keith Burzinski
36720c8495
[usb_uart] Derive TX output chunk count from buffer_size config ( #15909 )
2026-04-23 09:16:14 +12:00
Jonathan Swoboda
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
162ee2ecaf
[i2s_audio] Split speaker into base class and standard subclass ( #15404 )
2026-04-22 14:40:18 -05:00
Asela Fernando
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
Rishab Mehta
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
ea2e36e55a
[dsmr] Improve performance. Add missing sensors. Remove Crypto-no-arduino. ( #15875 )
2026-04-22 13:49:14 -04:00
Michael Turner
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
Timothy
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
Ludovic BOUÉ
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
rwrozelle
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
c399cd2fa2
[core] RAII guard for component loop phase ( #15897 )
2026-04-22 14:04:29 +02:00
J. Nick Koston
f6bf6dc8e5
[core] Dedupe yield() fast path in wakeable_delay and always-inline ( #15915 )
2026-04-22 13:52:40 +02:00
J. Nick Koston
e35b435f02
[libretiny] Inline xTaskGetTickCount() for millis() fast path ( #15918 )
2026-04-22 13:52:27 +02:00
J. Nick Koston
886cd7ab72
[core] Collapse adjacent USE_HOST ifdef blocks in Application ( #15914 )
2026-04-22 07:47:01 -04:00
dependabot[bot]
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
dependabot[bot]
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
e855ddb1f1
Merge branch 'dev' into socket-lwip-raw-udp
2026-04-22 08:22:37 +02:00
J. Nick Koston
23ad30cb4c
[esp32] Use xTaskGetTickCount() for millis() when tick rate is 1kHz ( #15661 )
2026-04-22 06:44:53 +02:00
J. Nick Koston
a3b49d1ed9
[core] Use MAC_ADDRESS_BUFFER_SIZE constant instead of duplicated literal ( #15913 )
2026-04-22 04:43:33 +00:00
J. Nick Koston
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
699cf9690a
[core] Optimize value_accuracy_to_buf to avoid snprintf ( #15596 )
2026-04-22 16:31:34 +12:00
J. Nick Koston
67576d4879
[rp2040] Tune oversized lwIP defaults for ESPHome ( #14843 )
2026-04-22 06:29:13 +02:00
J. Nick Koston
edcf96d057
[wifi] Use queue abstraction for LibreTiny WiFi events ( #15343 )
2026-04-22 06:24:09 +02:00
J. Nick Koston
e191f5fb4b
Merge branch 'dev' into socket-lwip-raw-udp
2026-04-21 15:08:29 +02:00
J. Nick Koston
e7c126d3dc
[socket] Rename UDP socket types so UDPSocket is the full send+recv type
...
Swap the UDP type naming so the unsuffixed UDPSocket is the full
send+recv socket and the send-only variant becomes UDPSendSocket. The
previous naming inverted reader expectations (UDPSocket sounded complete
but was send-only, UDPRecvSocket sounded limited but was the full one).
Public:
UDPSocket (was UDPRecvSocket)
UDPSendSocket (was UDPSocket)
socket_udp (was socket_udp_recv)
socket_ip_udp (was socket_ip_udp_recv)
socket_udp_loop_monitored (was socket_udp_recv_loop_monitored)
socket_ip_udp_loop_monitored (was socket_ip_udp_recv_loop_monitored)
socket_udp_send (was socket_udp)
socket_ip_udp_send (was socket_ip_udp)
Internal:
LWIPRawUDPImpl (was LWIPRawUDPRecvImpl)
LWIPRawUDPSendImpl (was LWIPRawUDPImpl)
No consumers exist yet, so this is a clean rename with no migration.
2026-04-10 18:40:14 -10:00
J. Nick Koston
af7b3821b8
Merge branch 'dev' into socket-lwip-raw-udp
2026-04-10 18:31:45 -10:00
J. Nick Koston
d6c48e2d64
[socket] Validate source address before copying data in recvfrom
...
Move pbuf_copy_partial after ip2sockaddr_ validation so the caller
buffer is not modified when the address conversion fails.
2026-04-09 09:21:48 -10:00
J. Nick Koston
c01699f2a4
[socket] Move socket_loop_monitored declaration before UDP factories
...
Fix forward declaration ordering: socket_udp_recv_loop_monitored
calls socket_loop_monitored, so the latter must be declared first.
2026-04-09 09:20:36 -10:00
J. Nick Koston
abc4069657
[socket] Restore LWIP thread safety documentation to common header
2026-04-09 09:09:38 -10:00
J. Nick Koston
c3827423ba
[socket] Move thin UDP and listen factory wrappers inline into socket.h
...
All the _ip_ variants and non-LWIP_TCP delegators are one-liners
that just forward to other factory functions. Move them inline to
reduce socket.cpp and keep the dispatch logic visible in one place.
2026-04-09 09:09:17 -10:00
J. Nick Koston
41a8e7f61b
[socket] Split lwip raw impl into tcp, udp, and common files
...
Extract UDP classes and shared helpers from lwip_raw_tcp_impl into
separate files for better organization:
- lwip_raw_common_impl.{h,cpp}: shared helpers (lwip_ip_to_sockaddr,
sockaddr_to_lwip, lwip_bind_err)
- lwip_raw_udp_impl.{h,cpp}: LWIPRawUDPImpl, LWIPRawUDPRecvImpl,
and UDP factory functions
- lwip_raw_tcp_impl.{h,cpp}: TCP-only code (LWIPRawCommon,
LWIPRawImpl, LWIPRawListenImpl, TCP factories)
Update __init__.py FILTER_SOURCE_FILES to exclude all three lwip
raw files when not using the lwip_tcp implementation.
2026-04-09 09:06:04 -10:00
J. Nick Koston
0a3f8c6d67
[socket] Add unified UDP recv loop-monitored factory functions
...
Add socket_udp_recv_loop_monitored() and socket_ip_udp_recv_loop_monitored()
so consumers can create UDP recv sockets with loop wake support using a single
API across all platforms, without #ifdef guards.
2026-04-09 08:56:11 -10:00
J. Nick Koston
2375faee88
fixes, update
2026-04-09 08:54:08 -10:00
J. Nick Koston
3da3a66d09
Merge branch 'dev' into socket-lwip-raw-udp
2026-04-09 07:55:07 -10:00
J. Nick Koston
cf22559af0
Merge branch 'dev' into socket-lwip-raw-udp
2026-04-02 09:56:54 -10:00
J. Nick Koston
17c2557cca
Merge branch 'dev' into socket-lwip-raw-udp
2026-04-01 18:47:13 -10:00
J. Nick Koston
012dadbf77
Merge branch 'dev' into socket-lwip-raw-udp
2026-03-22 21:27:55 -10:00
J. Nick Koston
97e4bb71c3
Merge branch 'dev' into socket-lwip-raw-udp
2026-03-18 19:31:21 -10:00
J. Nick Koston
b333bb76e4
Merge branch 'dev' into socket-lwip-raw-udp
2026-03-16 16:36:46 -10:00
J. Nick Koston
273637b6d7
tweak
2026-03-16 16:35:32 -10:00
J. Nick Koston
75efdd8662
tweaks
2026-03-16 11:01:21 -10:00
J. Nick Koston
86e4341a52
tweaks
2026-03-16 11:00:57 -10:00
J. Nick Koston
402398b389
tweaks
2026-03-16 10:55:33 -10:00
J. Nick Koston
dde81d3f63
tweaks
2026-03-16 10:51:54 -10:00
J. Nick Koston
eef806c806
Merge branch 'dev' into socket-lwip-raw-udp
2026-03-16 10:44:13 -10:00
J. Nick Koston
cdbbcfb87d
[socket] Extract lwip_bind_err() to deduplicate bind error handling
...
TCP bind and UDP bind_internal_ had identical ERR_USE/ERR_VAL/ERR_OK
to errno mapping. Extract into a shared helper.
2026-03-14 16:12:39 -10:00
J. Nick Koston
71da3dc2de
[socket] Fix RP2040 socket_delay race: don't clear wake flag before sleep
...
Restore the comment explaining why s_socket_woke must not be cleared
between the early-return check and the __wfe() loop, and restore the
s_socket_woke = false after the loop to consume the wake for the next
call. Both were lost during conflict resolution.
2026-03-14 16:09:24 -10:00
J. Nick Koston
0176305d24
[socket] Restore read_locked_, SO_RCVTIMEO, and wait_for_data_ lost in merge
...
These features from upstream/dev were dropped when resolving conflicts
with the PR's remote branch: read_locked_/wait_for_data_ (blocking read
with SO_RCVTIMEO timeout support), recv_timeout_cs_ field, SO_RCVTIMEO
and SO_SNDTIMEO setsockopt/getsockopt handling, and the setblocking()
implementation that accepts blocking mode for SO_RCVTIMEO.
2026-03-14 16:07:15 -10:00
J. Nick Koston
c81e9fd154
[socket] Deduplicate sockaddr parsing between TCP and UDP bind
...
Extract sockaddr_to_lwip() from LWIPRawUDPImpl static method to a
shared file-level function. Refactor LWIPRawCommon::bind() to use it
instead of inline address parsing, removing ~35 lines of duplicated
sockaddr-to-ip_addr_t conversion code.
2026-03-14 16:03:24 -10:00
J. Nick Koston
556ef1894f
Merge branch 'socket-lwip-raw-udp' of https://github.com/esphome/esphome into socket-lwip-raw-udp
...
# Conflicts:
# esphome/components/socket/lwip_raw_tcp_impl.cpp
# esphome/components/socket/lwip_raw_tcp_impl.h
2026-03-14 16:00:31 -10:00
J. Nick Koston
519be06e73
[socket] Add LWIP_LOCK to UDP socket methods for RP2040 safety
...
On RP2040, lwip callbacks run from a low-priority IRQ context and can
preempt main-loop code. All lwip API calls from the main loop must
hold the async_context lock (LWIP_LOCK) to prevent races on shared
lwip state (PCB lists, pbuf pools, IGMP groups).
The TCP implementation was already correct; the UDP methods were
missing the lock.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 15:57:57 -10:00
J. Nick Koston
1e935c128a
Merge remote-tracking branch 'upstream/dev' into socket-lwip-raw-udp
...
# Conflicts:
# esphome/components/socket/lwip_raw_tcp_impl.cpp
2026-03-14 15:53:39 -10:00
J. Nick Koston
a0e162912c
safety
2026-03-11 00:00:52 -10:00
J. Nick Koston
1131af1690
safety
2026-03-10 23:59:25 -10:00
J. Nick Koston
6fb00baa29
Merge remote-tracking branch 'upstream/dev' into socket-lwip-raw-udp
2026-03-10 23:57:51 -10:00
J. Nick Koston
fccfab8083
[socket] Switch UDP rx queue from lock-free SPSC to count-based with LWIP_LOCK
...
With the lwip lock infrastructure in place from the TCP race fix,
the lock-free SPSC ring buffer's wasted slot is no longer needed.
Switch to a simple rx_count_ approach that uses all 4 queue slots.
Also add LWIP_LOCK() to all UDP methods that call lwip APIs
(bind, close, sendto, setsockopt, getsockopt, recvfrom, factories).
2026-03-10 01:15:57 -10:00
J. Nick Koston
f54756ae2d
[socket] Address review comments: doc comments and (void) flags
...
- Document port_host byte order convention in lwip_ip_to_sockaddr
- Note intentional method hiding in LWIPRawUDPRecvImpl
- Note recvfrom truncation differs from POSIX MSG_TRUNC
- Add (void) flags in sendto to clarify flags are ignored
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-03-10 01:12:15 -10:00
J. Nick Koston
49ba08cec9
[socket] Add lwip raw UDP socket implementation
...
Add native UDP support to the lwip raw TCP socket layer used by
ESP8266 and RP2040, eliminating the need for Arduino WiFiUDP fallback.
Two new classes:
- LWIPRawUDPImpl: send-only UDP (8 bytes overhead)
- LWIPRawUDPRecvImpl: send+recv with fixed-size ring buffer (no heap
allocation in recv callback)
Factory functions: socket_udp(), socket_udp_recv(), socket_ip_udp(),
socket_ip_udp_recv() with UDPSocket/UDPRecvSocket type aliases.
Additive only — no consumer migration in this PR.
2026-03-10 01:12:15 -10:00
J. Nick Koston
81d12fd14a
[socket] Hold lwip lock for entire write() operation
...
Same pattern as writev — write() calls internal_write_() then
internal_output_(), each acquiring the lock separately. Hold
the lock at the outer scope so inner calls just bump the
recursion counter.
2026-03-10 00:57:36 -10:00
J. Nick Koston
cc05bf3ed2
[socket] Add LWIP_LOCK to socket factory functions
...
tcp_new() is an lwip core API call that must be bracketed with
the lwip lock on RP2040 per pico-sdk docs. Add LWIP_LOCK() to
socket() and socket_listen() factory functions.
2026-03-10 00:55:34 -10:00
J. Nick Koston
c182c0c74f
[socket] Hold lwip lock for entire readv/writev scatter-gather operation
...
Avoid repeated lock acquire/release cycles per iovec element.
The recursive mutex re-entry in inner calls is nearly free (counter
bump), while the outer lock prevents the expensive IRQ disable/enable
on each iteration.
2026-03-10 00:53:01 -10:00
J. Nick Koston
a88e9b8146
[socket] Fix RP2040 TCP race condition between lwip callbacks and main loop
...
On RP2040 (Pico W), arduino-pico sets PICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1,
which means lwip callbacks (recv_fn, accept_fn, err_fn) run from a PendSV
interrupt — not the main loop. This allows them to preempt read(), write(),
close(), and accept() at any point, causing race conditions on shared state
like the rx_buf_ pbuf chain.
The most critical race: recv_fn calls pbuf_cat(rx_buf_, pb) while read() is
freeing nodes in the same chain, leading to use-after-free and lwip's
"Creating an infinite loop" assertion panic. This is the root cause of #10681 .
Fix: implement RP2040's LwIPLock (previously a no-op) to call
cyw43_arch_lwip_begin/end, which acquires the pico-sdk async_context recursive
mutex. Add LWIP_LOCK() guards to all main-loop lwip API call sites in the
socket layer.
On ESP8266, lwip callbacks run cooperatively from the main loop, so
LwIPLock remains a no-op.
Closes #10681
2026-03-10 00:34:20 -10:00
J. Nick Koston
7dea3756e9
[socket] Address review comments: doc comments and (void) flags
...
- Document port_host byte order convention in lwip_ip_to_sockaddr
- Note intentional method hiding in LWIPRawUDPRecvImpl
- Note recvfrom truncation differs from POSIX MSG_TRUNC
- Add (void) flags in sendto to clarify flags are ignored
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-03-09 23:56:37 -10:00
J. Nick Koston
fa0bff3374
[socket] Add lwip raw UDP socket implementation
...
Add native UDP support to the lwip raw TCP socket layer used by
ESP8266 and RP2040, eliminating the need for Arduino WiFiUDP fallback.
Two new classes:
- LWIPRawUDPImpl: send-only UDP (8 bytes overhead)
- LWIPRawUDPRecvImpl: send+recv with fixed-size ring buffer (no heap
allocation in recv callback)
Factory functions: socket_udp(), socket_udp_recv(), socket_ip_udp(),
socket_ip_udp_recv() with UDPSocket/UDPRecvSocket type aliases.
Additive only — no consumer migration in this PR.
2026-03-09 23:48:07 -10:00