J. Nick Koston
11875ec040
Dump the main.cpp config comment with sorted keys
...
voluptuous fills schema defaults in set-iteration order, so the
validated dict's key order changes with the process hash seed; the
unsorted dump churned the comment block in main.cpp and relinked the
firmware on every esphome run for any config using a defaults-heavy
action (logger.log in a button's on_press was enough). Affects the
PlatformIO path identically.
2026-08-22 14:37:42 -05:00
J. Nick Koston
fb06b4d631
Download a wave of registry libraries in parallel
...
The walk now drains its frontier, prefetches the wave's registry
archives with a small thread pool (deduped by URL, progress bars
suppressed per thread since parallel bars would interleave), and then
processes the wave sequentially; the sequential download() call stays
authoritative so failures surface with resume exactly as before. Same
approach as the espidf tool prefetch in #18513 .
2026-08-22 14:10:40 -05:00
J. Nick Koston
65609bb94b
Move the backend-agnostic library hardening down from the arduino backend PR
...
The typed IncompatiblePlatform exception, dependency_is_usable,
warn_properties_depends, the lex_build_flags helper (espidf switches to
it), the normalize_dependencies validation, the manifest shape check,
the component-level drop-warning split, and the SCons case-sensitive
.C/.C++ suffixes all harden the shared converter independently of the
arduino backend, so they belong in this PR; the provides hook and the
version-less reconciliation stay with the backend that needs them.
2026-08-22 12:46:16 -05:00
J. Nick Koston
e99e0cc8b8
Trim comment essays and hoist function-local test imports
2026-08-22 11:34:32 -05:00
J. Nick Koston
2c229debe8
Best-effort bad encodings, dedupe append warnings, tolerate structurally odd compile DBs
2026-08-20 21:09:38 -05:00
J. Nick Koston
6b6344b454
Cover the healthy post-compile idedata path
2026-08-20 20:53:30 -05:00
J. Nick Koston
73ab04330e
Treat sys.exit(0) as script success, fail on an unreadable declared script
2026-08-20 20:48:30 -05:00
J. Nick Koston
91eed262c8
Repr zero-arg script exceptions, surface a None idedata after an IDF build
2026-08-20 20:46:15 -05:00
J. Nick Koston
c95e0b90f5
Raise on a traversing extraScript, survive sys.exit in vendored scripts, fix the caveats wording
2026-08-20 19:51:26 -05:00
J. Nick Koston
5cf2135038
Cover the warn-once dedup branch
2026-08-20 19:29:27 -05:00
J. Nick Koston
5bd328e6c4
Fail on a declared-but-absent extraScript, warn once per unsupported env method, split and widen tests
2026-08-20 19:25:33 -05:00
J. Nick Koston
790c6d6353
Drop the never-hitting parse memo, guard the post-compile idedata refresh, pin the kind map
2026-08-20 18:40:29 -05:00
J. Nick Koston
bc6b997350
Restore the lazy shlex import, pin the probe convention, assert the shim diagnostics
2026-08-20 18:17:56 -05:00
J. Nick Koston
9b12934307
Reject a launcher compile DB by name before the probe, discard partial script captures, log dropped env keys
2026-08-20 17:52:54 -05:00
J. Nick Koston
d33a097152
Name every skipped size line, best-effort script compile, unusable idedata returns None
2026-08-20 17:29:47 -05:00
J. Nick Koston
466f890e1f
Clean errors for non-string flags, visible size-summary skips, partial extra-script capture
2026-08-20 17:12:19 -05:00
J. Nick Koston
4ab2a7ba98
Join flag args per entry like ParseFlags, pin the launcher strip log, record the asm merge decision
2026-08-20 16:54:28 -05:00
J. Nick Koston
a0f0ad8729
Restore the underscore in test_parse_library_json
2026-08-20 16:30:13 -05:00
J. Nick Koston
57a9c71da8
Cover the malformed build.flags rejection
2026-08-20 16:25:47 -05:00
J. Nick Koston
1483b7c10b
Detect launchers by a closed denylist instead of guessing compiler names
2026-08-20 16:24:21 -05:00
J. Nick Koston
7fe0847e5c
Update espidf test to the public parse_library_json name
2026-08-20 16:13:19 -05:00
J. Nick Koston
12c1b15578
Reject malformed build.flags by name and pin the idedata cache-hit path
2026-08-20 15:59:03 -05:00
J. Nick Koston
7a3f700206
Act on bad-compiler detection, atomic logged idedata cache, memoized entry parsing, callable board_mcu
2026-08-20 15:41:39 -05:00
J. Nick Koston
5a4337c240
Share the size line format, derive source extensions from a kind map, close_fds on the ccache probe
2026-08-20 15:21:31 -05:00
J. Nick Koston
2564ad0deb
Warn once per non-compiler path, accept versioned compiler names, and pin the trigger table
2026-08-20 13:57:30 -05:00
J. Nick Koston
e82453e80e
Complete the unit-test package chain so test modules import fully qualified
2026-08-20 13:42:15 -05:00
J. Nick Koston
3eec5085da
Give the format_bar tests a unique basename
2026-08-20 13:39:46 -05:00
J. Nick Koston
57c8648210
Drop the test package init that collides with script/build_helpers.py on the CI path
2026-08-20 13:38:54 -05:00
J. Nick Koston
9bd548ba92
Move the extraScript machinery into the platformio package and tidy the extraction
2026-08-20 13:35:07 -05:00
J. Nick Koston
ab58f1080a
Cover the tidy-project idedata assembly and hoist its helper import
2026-08-20 12:50:56 -05:00
J. Nick Koston
f326c3f04d
Move the shared helpers into a neutral build_helpers package
2026-08-20 12:43:34 -05:00
J. Nick Koston
3b51ec2ae7
Extract the shared native-build helpers from the ESP-IDF backend
2026-08-20 12:36:42 -05:00
David van 't Wout and GitHub
2ab09e1a77
[core] Add add_cmake_arg ( #18498 )
2026-08-20 12:30:33 -05:00
J. Nick Koston and GitHub
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 and GitHub
a8e721abeb
[esp32] Apply IDF component exclusions to native toolchain builds ( #18531 )
2026-08-20 10:03:49 -04:00
J. Nick Koston and GitHub
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 and GitHub
8b637b339b
[vscode] Report the origin of an unexpected exception during validation ( #18494 )
2026-08-18 19:37:10 -05:00
J. Nick Koston and GitHub
4f866c563b
[platformio] Give the ccache wrapper a cmd.exe safe path ( #18495 )
2026-08-18 19:36:57 -05:00
Jesse Hills and GitHub
463e3833da
[light] Replace rgb_order/is_rgbw/is_wrgb with channel_colors ( #18474 )
2026-08-18 13:19:48 +12:00
J. Nick Koston and GitHub
de3e657d8b
[platformio] Skip ccache when the binary on PATH fails to run ( #18407 )
2026-08-16 08:42:47 -07:00
J. Nick Koston and GitHub
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 and GitHub
617e2ec1e0
[core] fix PYTHONPATH leak ( #18360 )
2026-08-14 17:23:34 +12:00
J. Nick Koston and GitHub
1afac0312d
[core] Restore cv.parse_esphome_version as a deprecated helper ( #18366 )
2026-08-14 17:22:22 +12:00
J. Nick Koston and GitHub
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 and GitHub
945c2458b3
[core] Load component aliases from a generated registry ( #18335 )
2026-08-13 13:31:19 -05:00
J. Nick Koston and GitHub
7420d23867
[ota] Retry uploads that fail from network errors ( #18332 )
2026-08-13 13:31:06 -05:00
J. Nick Koston and GitHub
8e624b4117
[core] Retry framework downloads on transient network errors ( #18330 )
2026-08-13 12:14:50 +12:00
J. Nick Koston and GitHub
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 and GitHub
22153be4cd
[core] Add esphome logs over web_server HTTP SSE ( #17110 )
2026-08-12 22:00:07 +12:00