J. Nick Koston
b070d1631c
Merge remote-tracking branch 'origin/dev' into esp8266-native-idedata-helpers
2026-08-23 13:57:03 -05:00
J. Nick Koston
4efd308345
[tests] Fix flaky pty log probe test on macOS ( #18681 )
2026-08-23 11:26:55 -05:00
J. Nick Koston
e681c441d9
Close the residual idedata and size-summary silent-failure findings
...
A list-of-non-dicts compile DB now raises by name inside the best-effort
tuple. The launcher rejection moved into parse_entry itself so no caller
can record ccache as the compiler, and the shape key includes the entry's
directory since relative includes resolve against it. format_bar raises
on a non-positive total so every consumer must handle the meaningless
bar; the espidf summary validates the RAM region by name (a malformed
region can no longer suppress a computable Flash line) and the blanket
backstop logs the traceback at debug. A new test pins that the CI
trigger paths exist on disk, so a rename fails loudly.
2026-08-23 10:48:39 -05:00
J. Nick Koston
e16cfded5d
Merge remote-tracking branch 'origin/dev' into esp8266-native-idedata-helpers
2026-08-23 10:12:45 -05:00
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
cf31c08a5c
[core] Skip copying entity automation and filter sources when unused ( #18602 )
2026-08-23 09:05:04 -05:00
J. Nick Koston
33484108a9
[core] Replace a damaged existing file in write_file_if_changed ( #18665 )
2026-08-23 09:04:24 -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
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
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
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
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
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
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
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
J. Nick Koston
22153be4cd
[core] Add esphome logs over web_server HTTP SSE ( #17110 )
2026-08-12 22:00:07 +12:00
J. Nick Koston
58a42fe5c2
[core] Batch remote file downloads during config validation ( #18069 )
2026-08-12 18:44:35 +12:00
J. Nick Koston
622942482c
[rp2] Size the lwIP segment pool and heap for concurrent senders ( #18257 )
2026-08-12 17:30:17 +12:00
J. Nick Koston
37eae9b466
[api] Gate the bluetooth connection messages on their own define ( #18281 )
2026-08-11 21:31:13 -05:00
Jesse Hills
3349046c5d
[rp2] Record the RP2350 die on generated board entries ( #18305 )
2026-08-12 01:56:05 +00:00
Jonathan Swoboda and J. Nick Koston
be5e28ea9e
[core] Warn when running a different source tree than the one you are in ( #18288 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-11 21:06:57 -04:00
J. Nick Koston
94fbfa05de
[core] Show the out-of-flash tip instead of crashing the build ( #18280 )
2026-08-11 14:35:06 -05:00
J. Nick Koston
3ae651af7b
[core] Stop dropping complete lines behind an unfinished one ( #18279 )
2026-08-11 12:38:55 -05:00
J. Nick Koston
9938a2487d
[core] Show the last line when output stops without a newline ( #18265 )
2026-08-11 10:55:42 -05:00
J. Nick Koston
f3a5a9fbd5
[core] Retry transient git network failures with backoff ( #18242 )
2026-08-11 08:41:55 -05:00
J. Nick Koston
eefd2a00c7
[espidf] Flush the runner's output so dashboard builds stream ( #18264 )
2026-08-11 08:11:42 -05:00
J. Nick Koston
e8852c5950
[core] Flush stdout in safe_print so logs stream live ( #18261 )
2026-08-11 08:11:23 -05:00
Jesse Hills
f697cf2011
[api] Add DeviceCapabilities message for optional-feature flags ( #17984 )
2026-08-11 14:52:19 +12:00
J. Nick Koston
bae7f19323
[core] Extend '/' in names deprecation window to 2027.7.0 ( #18236 )
2026-08-10 11:32:02 -05:00
J. Nick Koston
f3d1fc0d64
[bluetooth_proxy] Migrate esp32 onto the neutral GATT backend ( #18198 )
2026-08-10 10:47:56 -05:00
J. Nick Koston
02fa18b74f
[core] Skip colorama init for terminal and dashboard runs ( #18224 )
2026-08-10 09:44:01 -05:00
J. Nick Koston
25cb440005
[core] Use Happy Eyeballs for remote file downloads ( #18050 )
2026-08-10 17:29:00 +12:00
J. Nick Koston
0f59ef36a9
[core] Store the validated-config cache as JSON to drop YAML off the upload fast path ( #18106 )
2026-08-10 17:26:41 +12:00
J. Nick Koston
73689f8d8b
[rp2] Limit pin validation to GPIO 0-29 on RP2350A boards ( #18102 )
2026-08-06 08:55:24 -05:00
J. Nick Koston
eb0fac9cbf
[core] Only snapshot the user config when esphome config --no-defaults asks for it ( #18113 )
2026-08-05 21:20:52 -05:00
J. Nick Koston
524b278811
[core] Defer stdlib imports out of the upload and logs fast path ( #18105 )
2026-08-05 19:09:00 -05:00