J. Nick Koston
aa3268a6d8
Match SCons' remaining CPPDEFINES spellings, drop dead test scaffolding
...
A bare 2-tuple is one name=value pair (not -DFOO -D1), a dict maps
names to values, and a None value is a bare define, per processDefines.
The unused caplog_at_info helper and the progress kwarg the download
stubs declared ahead of their PR are gone.
2026-08-23 21:59:22 -05:00
J. Nick Koston
879cbf6264
Cover env access warnings and the unmodelled-subscript degrade
2026-08-23 21:59:22 -05:00
J. Nick Koston
4da8868510
Quote CPPDEFINES, warn on env access, degrade unmodelled subscripts, realify InvalidLibrary
...
CPPDEFINES joins the quoted buckets (a spaced define no longer splits
across tokens) and its tuple branch validates the pair elements. The
fake env warns on attribute access rather than call, so hasattr/
truthiness branches are diagnosable, with dunder probes excluded; an
unmodelled subscript warns and returns '' instead of a KeyError
discarding the whole capture. Malformed platforms/frameworks values
raise plain InvalidLibrary, giving the non-platform warning branches a
real producer, and their tests use real manifests instead of
monkeypatched raisers. The version-less dependency drop moves to debug:
bundled names (Wire, SPI) made it per-build noise nobody can act on.
2026-08-23 21:59:22 -05:00
J. Nick Koston
0d75f597b3
Harden the shared library converter
...
Split out of #18662 : the converter/manifest hardening without the
download parallelization, which stays there.
The PIO extra-script shim moves from espidf/ to platformio/ and gains
type checks for every manifest field, capture of the Append variants and
CPPPATH, warn-once diagnostics for unmodelled env reads, and uniform
shlex quoting so captured values survive the lex_build_flags round-trip.
The dependency walk normalizes every spelling PIO accepts, splits the
routine cross-platform skip (IncompatiblePlatform) from real manifest
problems, validates manifest shape once, and the shared flag lexer
warns and drops trailing or empty glued arguments.
2026-08-23 21:59:22 -05:00
J. Nick Koston
9974ad97fa
[core] Extract the shared idedata and size-summary helpers into build_helpers ( #18661 )
2026-08-23 21:59:19 -05:00
J. Nick Koston
4510f10491
[core] Treat a malformed build_info.json as stale instead of crashing ( #18669 )
2026-08-24 11:13:57 +12:00
J. Nick Koston
0ecc7045fa
[core] Parse the common on/off spellings in boolean env vars ( #18667 )
2026-08-24 11:13:34 +12:00
J. Nick Koston
e6c49e2bd9
[core] Retry transient network errors when downloading external files ( #18538 )
2026-08-24 08:25:39 +12: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
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
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