J. Nick Koston
746b294ed7
Harden idedata against non-list compile DBs and stale caches, blanket the size summary
...
A compile DB that parses as valid JSON but is not a list now raises
EsphomeError inside IDEDATA_BEST_EFFORT_ERRORS instead of a TypeError that
fails an already-linked build. Cached idedata is validated on read against
the write path's guarantees (dict shape, no launcher as compiler, include
union present) so caches from older versions regenerate instead of serving
degraded data, and the served copy is re-stamped with the current ELF path.
Response-file shape sentinels key on the output object rather than the
source file, so two objects built from one source keep both include sets.
The size summary mirrors the standalone hardening PR: a blank partition
size cell raises by name, and a blanket guard keeps unexpected nested
shapes from raising past a build that already linked.
2026-08-23 10:12:40 -05:00
J. Nick Koston
dc64c93f39
[core] Register the OTA component in dummy_main like its siblings
2026-08-22 23:23:39 -05:00
J. Nick Koston
8230c16f12
Order the launcher strip before the empty guard, never dedupe rsp commands, harden the size summary
2026-08-22 23:21:04 -05:00
J. Nick Koston
48c6948ae8
Guard empty compile commands, refuse a compile DB with no ESPHome TU, share the launcher rejection
2026-08-22 22:39:16 -05:00
J. Nick Koston
dada0f2c2b
[core] Extract the shared idedata and size-summary helpers into build_helpers
2026-08-22 21:58:41 -05:00
J. Nick Koston
74bdf275d2
[core] Dump the main.cpp config comment with sorted keys ( #18653 )
2026-08-22 20:58:28 -05:00
J. Nick Koston
c062d0c717
[ota] Log prepare, upload, and total OTA timing in espota2 ( #18582 )
2026-08-22 20:57:13 -05:00
J. Nick Koston
dcabaedff1
[bk72xx_ble] Block BK7238 until the LibreTiny bonding partition fix lands ( #18649 )
2026-08-23 11:59:24 +12:00
ef1d77885d
[captive_portal] Show each network once in the scan list ( #17847 )
...
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: Bluetooth Devices Bot <bluetooth@koston.org >
2026-08-22 05:04:08 +00:00
Keith Burzinski
dccf55eadc
[remote_transmitter] Use hardware PWM on rtl87xx to fix watchdog crash ( #18579 )
2026-08-21 23:53:16 -05:00
Boris Krivonog and J. Nick Koston
65704e881f
[mitsubishi_cn105] Add Fahrenheit support ( #15488 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-21 23:52:18 -05:00
Brandon Harvey
a30e82459f
[deep_sleep] Reject wakeup_pin_mode at both levels on BK72xx ( #18615 )
2026-08-21 23:51:19 -05:00
Keith Burzinski and J. Nick Koston
8e9fb0f93c
[remote_transmitter] Fix repeat gap timing on LibreTiny Beken ( #18585 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-21 23:10:47 -05:00
Kevin Ahrendt
00cffa09a2
[sendspin] Convert tests to package-style includes ( #18588 )
2026-08-21 13:05:07 -05:00
Jonathan Swoboda
409d74a48d
[esp32_hosted] Fire on_update_available trigger when update is detected ( #18591 )
2026-08-21 11:53:44 -04:00
7957808f00
[emontx] Fix sensor state_class defaults not being applied correctly ( #17610 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-08-21 09:57:58 -05:00
guillempages and J. Nick Koston
46f90d0c54
[core] Add portable strcasestr implementation named str_contains_ignore_case ( #18497 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-20 17:28:17 -05:00
5177972c04
[runtime_image] keep decoder allocated ( #18488 )
...
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-08-20 17:27:44 -05:00
David van 't Wout
2ab09e1a77
[core] Add add_cmake_arg ( #18498 )
2026-08-20 12:30:33 -05:00
J. Nick Koston
a3ea77c2f1
[core] Keep templated !include filenames as strings so Windows path normalization cannot corrupt them ( #18549 )
2026-08-20 11:32:15 -05:00
J. Nick Koston
7fe4399b94
[esp32] Grow the default IDF component exclusion list ( #18536 )
2026-08-20 16:11:53 +00:00
J. Nick Koston
a8e721abeb
[esp32] Apply IDF component exclusions to native toolchain builds ( #18531 )
2026-08-20 10:03:49 -04:00
J. Nick Koston
132f494195
[nrf52] Rebuild the Python env when its interpreter symlink dangles ( #18540 )
2026-08-20 07:59:57 -04:00
J. Nick Koston
185f12266a
[tests] Keep PlatformIO libdeps per xdist worker to stop a compile race ( #18524 )
2026-08-19 17:29:10 -05:00
470226ca03
[image] Restore defaults:/files: support for platform entries ( #18032 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-19 12:30:12 -05:00
J. Nick Koston
8b637b339b
[vscode] Report the origin of an unexpected exception during validation ( #18494 )
2026-08-18 19:37:10 -05:00
J. Nick Koston
4f866c563b
[platformio] Give the ccache wrapper a cmd.exe safe path ( #18495 )
2026-08-18 19:36:57 -05:00
Bonne Eggleston and Claude Opus 4.8
285a508e09
[modbus] CRC scan all unknown function codes ( #18483 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-08-18 11:09:12 -05:00
Jonathan Swoboda
476d540065
[ci] Fall back to files API when PR diff exceeds GitHub line limit ( #18486 )
2026-08-18 10:22:28 -04:00
J. Nick Koston
ae730d6357
[ci] Fail the benchmark job when the C++ benchmark build fails ( #18480 )
2026-08-18 09:03:33 -05:00
J. Nick Koston
fffa902a1a
[gpio_expander][pcf8574][pca9554][tca9555][pca6416a][pi4ioe5v6408][mcp23016][mcp23xxx_base] Reject unsupported interrupt_pin options (inverted, allow_other_uses) ( #18472 )
2026-08-18 13:32:03 +12:00
Jesse Hills
463e3833da
[light] Replace rgb_order/is_rgbw/is_wrgb with channel_colors ( #18474 )
2026-08-18 13:19:48 +12:00
J. Nick Koston
7362c01c67
[core] Replace base64 lookup tables with arithmetic mapping ( #18454 )
2026-08-17 16:14:06 -05:00
Jesse Hills
e45b4e4938
[core] Make FINAL_VALIDATE_SCHEMA functions return None ( #18457 )
2026-08-18 08:26:24 +12:00
J. Nick Koston
27483a4101
[core] Retry gh CLI calls on transient network errors in CI scripts ( #18292 )
2026-08-17 13:15:31 -05:00
J. Nick Koston
cf764740cf
[api] Create the camera image reader lazily ( #18421 )
2026-08-16 21:56:58 -05:00
J. Nick Koston
3f01f9895f
[esp32_hosted] Require ESP-IDF 5.3 or newer ( #18417 )
2026-08-16 12:44:49 -07:00
J. Nick Koston
c664f5fc95
[bk72xx_ble] Fail early with a clear error on non BLE 5.x SoCs ( #18406 )
2026-08-16 11:06:22 -07:00
Jonathan Swoboda
646501b0ef
[sensor] Pass NaN through the delta filter again ( #18400 )
2026-08-16 12:36:51 -04:00
J. Nick Koston
de3e657d8b
[platformio] Skip ccache when the binary on PATH fails to run ( #18407 )
2026-08-16 08:42:47 -07:00
J. Nick Koston
b178f74e5d
[core] Save the validated config cache on the first upload or logs run ( #18367 )
2026-08-14 18:45:23 -07:00
Karl Beecken
617e2ec1e0
[core] fix PYTHONPATH leak ( #18360 )
2026-08-14 17:23:34 +12:00
J. Nick Koston
1afac0312d
[core] Restore cv.parse_esphome_version as a deprecated helper ( #18366 )
2026-08-14 17:22:22 +12:00
J. Nick Koston
b05465145f
[core] Add preference key stability integration test ( #18364 )
2026-08-13 21:14:30 -05:00
J. Nick Koston
dd51624fbb
[core] Partially revert "Hash entity keys from the raw name to fix collisions" ( #18361 )
2026-08-13 20:06:48 -05:00
J. Nick Koston
945c2458b3
[core] Load component aliases from a generated registry ( #18335 )
2026-08-13 13:31:19 -05:00
J. Nick Koston
7420d23867
[ota] Retry uploads that fail from network errors ( #18332 )
2026-08-13 13:31:06 -05:00
J. Nick Koston
db5173697a
[esp32_ble_tracker] Fix missed BLE advertisements with WiFi on ESP-IDF 5.5.5 ( #18356 )
2026-08-13 13:22:48 -05:00
J. Nick Koston
8e624b4117
[core] Retry framework downloads on transient network errors ( #18330 )
2026-08-13 12:14:50 +12:00
J. Nick Koston
787a909aa4
[core] Don't block logs startup on MQTT IP discovery when addresses are known ( #18313 )
2026-08-13 12:11:32 +12:00