J. Nick Koston
897ae28a19
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 23:41:58 -05:00
J. Nick Koston
d2022c2ed9
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 23:41:57 -05:00
J. Nick Koston
230b6926ab
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 23:41:57 -05:00
J. Nick Koston
4f315ae8ba
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 23:41:57 -05:00
J. Nick Koston
4e88823faf
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 23:41:57 -05:00
J. Nick Koston
ec6123e0ef
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 23:41:57 -05:00
J. Nick Koston
da3c6dec7f
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 23:41:56 -05:00
J. Nick Koston
cfac36c647
Merge branch 'esp8266-native-idedata-helpers' into esp8266-native-library-converter
2026-08-22 23:41:56 -05:00
J. Nick Koston
d179f43e7c
Correct the zero-partition comment: the skip fails CI extraction loudly, it does not feed it
2026-08-22 23:41:55 -05:00
J. Nick Koston
8ec4393e3f
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 23:23:41 -05:00
J. Nick Koston
e842af8acb
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 23:23:41 -05:00
J. Nick Koston
ad2a3e120a
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 23:23:41 -05:00
J. Nick Koston
e5fcaf3892
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 23:23:40 -05:00
J. Nick Koston
af16c444d4
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 23:23:40 -05:00
J. Nick Koston
327630523c
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 23:23:40 -05:00
J. Nick Koston
0e4f4237fd
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 23:23:40 -05:00
J. Nick Koston
96a74cd217
Merge branch 'esp8266-native-idedata-helpers' into esp8266-native-library-converter
2026-08-22 23:23: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
7bebe94e1c
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 23:21:07 -05:00
J. Nick Koston
a3beb8fb3d
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 23:21:07 -05:00
J. Nick Koston
d5e3d44fd4
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 23:21:07 -05:00
J. Nick Koston
32097fcb00
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 23:21:07 -05:00
J. Nick Koston
4bb0fa8761
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 23:21:07 -05:00
J. Nick Koston
1b109518f7
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 23:21:06 -05:00
J. Nick Koston
5793a5f08a
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 23:21:06 -05:00
J. Nick Koston
9d0d1b42d5
Merge branch 'esp8266-native-idedata-helpers' into esp8266-native-library-converter
2026-08-22 23:21:06 -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
dcc927f047
Mirror the damaged-file recovery tests into the chain
2026-08-22 23:10:58 -05:00
J. Nick Koston
bf547cd171
Recover only on decode errors; an OSError may hide an intact file
2026-08-22 23:02:20 -05:00
J. Nick Koston
c6bd323b56
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 23:00:18 -05:00
J. Nick Koston
26941ef953
Capture INFO for the depends= visibility note
2026-08-22 23:00:03 -05:00
J. Nick Koston
fd077062c9
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 22:58:48 -05:00
J. Nick Koston
a1d0713a54
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 22:58:48 -05:00
J. Nick Koston
e881502a25
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 22:58:48 -05:00
J. Nick Koston
ef007e00d1
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 22:58:48 -05:00
J. Nick Koston
9e96d53868
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 22:58:47 -05:00
J. Nick Koston
905c806009
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 22:58:47 -05:00
J. Nick Koston
42f59f94c9
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 22:58:47 -05:00
J. Nick Koston
35bb8388a2
Defer superseded wave downloads, dedupe tool dests, validate captured buckets, right-size the log levels
2026-08-22 22:58:44 -05:00
J. Nick Koston
4b317deea3
Reconcile the provides() promise after resolving; name the double-warning invariant's pinning test
2026-08-22 22:54:56 -05:00
J. Nick Koston
45617376ef
Catch only EsphomeError; read_file wraps the decode error too
2026-08-22 22:40:48 -05:00
J. Nick Koston
a41dc7dfff
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 22:39:49 -05:00
J. Nick Koston
99ec278c67
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 22:39:48 -05:00
J. Nick Koston
6b7a56be67
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 22:39:48 -05:00
J. Nick Koston
6a0e7dc595
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 22:39:48 -05:00
J. Nick Koston
6fda5b9a07
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 22:39:48 -05:00
J. Nick Koston
9adba2ac06
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 22:39:48 -05:00
J. Nick Koston
5ac6e2b3c6
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 22:39:47 -05:00
J. Nick Koston
b08026e413
Trigger the IDF infra job on the extraScript shim now that it exists
2026-08-22 22:39:34 -05:00
J. Nick Koston
f6c6708f24
Merge branch 'esp8266-native-idedata-helpers' into esp8266-native-library-converter
2026-08-22 22:39:33 -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
e10339a35e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 22:32:38 -05:00
J. Nick Koston
7445b47648
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 22:32:38 -05:00
J. Nick Koston
f65aa87450
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 22:32:37 -05:00
J. Nick Koston
2dfa23f5e5
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 22:32:37 -05:00
J. Nick Koston
e4911b4cc2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 22:32:37 -05:00
J. Nick Koston
e714ef4dfc
Reconcile BOARDS with the generated table: d1_wroom_02 joins with its shipped flash layout
2026-08-22 22:32:26 -05:00
J. Nick Koston
5a256abd65
Give the lwIP variants named fields
2026-08-22 22:17:02 -05:00
J. Nick Koston
be5317ae46
Scope the hex-only MMU rule to the segment sizes the surgery parser reads
2026-08-22 22:11:42 -05:00
J. Nick Koston
2521f29782
Apply the 18559 simplify pass: surgery wrapper, shared clean hint, resilient write helper, unified knob lookups, test scaffolding
2026-08-22 22:09:36 -05:00
J. Nick Koston
4146f23ba3
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 22:05:04 -05:00
J. Nick Koston
f0203528f5
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 22:05:04 -05:00
J. Nick Koston
cd291fb35b
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 22:05:04 -05:00
J. Nick Koston
d2ed17b688
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 22:05:04 -05:00
J. Nick Koston
e9466ff738
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 22:05:03 -05:00
J. Nick Koston
b9317de2e8
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 22:05:03 -05:00
J. Nick Koston
4d6300b400
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 22:05:03 -05:00
J. Nick Koston
030e79fa5a
Keep the empty-argument flag check next to the lexer that leaves the bare token
2026-08-22 22:04:47 -05:00
J. Nick Koston
da9c0bdd14
Merge branch 'esp8266-native-library-converter' into esp8266-native-shared-helpers
2026-08-22 21:59:57 -05:00
J. Nick Koston
a1e6370e8b
[core] Harden the shared library converter and download registry archives in parallel
2026-08-22 21:59:19 -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
9624c918e7
Hoist the invariant framework and arch define groups
2026-08-22 21:55:42 -05:00
J. Nick Koston
4803ced57d
Reunite the SDK-table comment with its table
2026-08-22 21:50:08 -05:00
J. Nick Koston
2c44df9efa
Hoist the common linker-script names
2026-08-22 21:49:45 -05:00
J. Nick Koston
bb7ba38fd0
Hoist the knob tables to dicts and the shape checks to compiled module regexes
2026-08-22 21:48:41 -05:00
J. Nick Koston
9e3c84ff1b
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 21:42:13 -05:00
J. Nick Koston
c7d7a7ba75
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 21:41:58 -05:00
J. Nick Koston
a5e87d3c8f
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 21:41:57 -05:00
J. Nick Koston
ba1ad765ea
Name the probe failure cause in the tool-version warning
2026-08-22 21:41:50 -05:00
J. Nick Koston
767bb61a14
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 21:41:28 -05:00
J. Nick Koston
21abf1692b
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 21:41:27 -05:00
J. Nick Koston
a22c2a9768
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 21:41:27 -05:00
J. Nick Koston
18206967a1
Validate captured CPPDEFINES, warn on empty idedata includes, name the idedata consumers
2026-08-22 21:40:57 -05:00
J. Nick Koston
81afaca560
Unify the MMU guards: hex-only sizes, every valued MMU_* validated, no-knob refuses all
2026-08-22 21:29:31 -05:00
J. Nick Koston
70765dd52a
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 21:28:28 -05:00
J. Nick Koston
32a0fff6b8
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 21:28:28 -05:00
J. Nick Koston
586bc114fa
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 21:28:28 -05:00
J. Nick Koston
2f0ad8a57d
Surface unexpected prefetch failures; restore the dropped cache-path rationales
2026-08-22 21:28:18 -05:00
J. Nick Koston
75150fda52
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 21:27:39 -05:00
J. Nick Koston
791e2b8204
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 21:27:39 -05:00
J. Nick Koston
ce52b93249
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 21:27:39 -05:00
J. Nick Koston
d9e18ee982
Support subscript env reads in extra scripts; make the INFO-capture fixture real
2026-08-22 21:27:31 -05:00
J. Nick Koston
319fdf6deb
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 21:24:08 -05:00
J. Nick Koston
13d1933873
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 21:24:07 -05:00
J. Nick Koston
44d447ada0
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 21:24:07 -05:00
J. Nick Koston
f49a5879c3
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 21:24:07 -05:00
J. Nick Koston
918444ecbb
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 21:24:07 -05:00
J. Nick Koston
d26d3fdc33
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 21:24:06 -05:00
J. Nick Koston
227f5c67e2
Merge remote-tracking branch 'origin/dev' into esp8266-native-shared-helpers
...
# Conflicts:
# tests/unit_tests/test_main.py
2026-08-22 21:23:40 -05:00
J. Nick Koston
ec3f7fb411
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 21:17:54 -05:00
J. Nick Koston
c15df918f5
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/platformio/library.py
2026-08-22 21:17:37 -05:00
J. Nick Koston
3d540b1597
Require a resolved ccache, dedupe the package specs, use the shared cache spec
2026-08-22 21:16:27 -05:00
J. Nick Koston
ca79cb1a20
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
...
# Conflicts:
# esphome/writer.py
2026-08-22 21:14:48 -05:00
J. Nick Koston
e557e84468
Route the registry prefetch through the shared downloader; register tools caches in one table
2026-08-22 21:14:18 -05:00
J. Nick Koston
5c30acfe5b
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 21:12:39 -05:00
J. Nick Koston
cc27854fb2
Point the consumed-options comment at its now-real consumer
2026-08-22 21:12:37 -05:00
J. Nick Koston
044d593f09
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 21:12:36 -05:00
J. Nick Koston
68e04f5982
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 21:12:36 -05:00
J. Nick Koston
d6d80ee323
Consolidate the batch-download scaffold, share the idedata error set, dedupe compdb tokenizing
2026-08-22 21:12:20 -05:00
J. Nick Koston and GitHub
f0651e5c9b
[radio_frequency] Inline the trivial make_call helper ( #18645 )
2026-08-22 21:07:34 -05:00
J. Nick Koston and GitHub
f24b731f95
[infrared] Inline the trivial make_call helper ( #18644 )
2026-08-22 21:07:14 -05:00
J. Nick Koston and GitHub
01ad424d12
[datetime] Inline the trivial make_call helpers ( #18643 )
2026-08-22 21:07:03 -05:00
J. Nick Koston and GitHub
435d522683
[text] Inline the trivial Text publish_state forwarding overloads ( #18642 )
2026-08-22 21:06:47 -05:00
J. Nick Koston and GitHub
a63c3bc0c7
[valve] Inline the trivial Valve and ValveCall accessors ( #18641 )
2026-08-22 21:06:31 -05:00
J. Nick Koston and GitHub
b83ce91528
[display] Inline the trivial DisplayPage setters and page navigation helpers ( #18639 )
2026-08-22 21:06:03 -05:00
J. Nick Koston and GitHub
a30238aab6
[wireguard] Inline the trivial Wireguard setters ( #18638 )
2026-08-22 21:05:51 -05:00
J. Nick Koston and GitHub
47156c9a5b
[mqtt] Inline the trivial MQTT client, component and sensor accessors ( #18637 )
2026-08-22 21:05:39 -05:00
J. Nick Koston and GitHub
78240c9a46
[sprinkler] Inline the trivial Sprinkler accessors ( #18636 )
2026-08-22 21:04:57 -05:00
J. Nick Koston and GitHub
5a9f06e584
[thermostat] Inline the trivial ThermostatClimate setters and getters ( #18635 )
2026-08-22 21:04:41 -05:00
J. Nick Koston and GitHub
ecb007da70
[deep_sleep] Inline the trivial DeepSleepComponent setters ( #18634 )
2026-08-22 21:04:23 -05:00
J. Nick Koston and GitHub
ad1a4fca36
[version] Inline the trivial VersionTextSensor setters ( #18633 )
2026-08-22 21:04:08 -05:00
J. Nick Koston and GitHub
832a738588
[switch] Inline the trivial inverted accessors ( #18632 )
2026-08-22 21:03:51 -05:00
J. Nick Koston and GitHub
fedb3ac5c1
[fan] Inline the trivial Fan call helpers ( #18631 )
2026-08-22 21:03:38 -05:00
J. Nick Koston and GitHub
cb4e55e444
[cover] Inline the trivial Cover and CoverCall accessors ( #18630 )
2026-08-22 21:03:15 -05:00
J. Nick Koston and GitHub
3ef5a8e6a4
[water_heater] Inline the trivial visual override setters ( #18629 )
2026-08-22 21:03:07 -05:00
J. Nick Koston and GitHub
0e915e9b8b
[core] Inline the ESPTime::strftime std::string overload ( #18628 )
2026-08-22 21:02:58 -05:00
J. Nick Koston and GitHub
dba3b287dd
[api] Inline the trivial APIServer accessors ( #18627 )
2026-08-22 21:02:14 -05:00
J. Nick Koston and GitHub
ce019f508d
[safe_mode] Inline the trivial set_safe_mode setters ( #18626 )
2026-08-22 21:02:04 -05:00
J. Nick Koston and GitHub
5c2286cc4a
[climate] Inline the trivial visual override setters ( #18624 )
2026-08-22 21:01:55 -05:00
J. Nick Koston and GitHub
efc0a94112
[text_sensor] Inline the trivial TextSensor forwarding overloads ( #18623 )
2026-08-22 21:01:42 -05:00
J. Nick Koston and GitHub
c60062c418
[sensor] Inline the trivial ExponentialMovingAverageFilter setters ( #18622 )
2026-08-22 21:01:28 -05:00
J. Nick Koston and GitHub
763a1d9371
[select] Inline the trivial Select accessors ( #18621 )
2026-08-22 21:01:16 -05:00
J. Nick Koston and GitHub
4db1666024
[light] Inline the trivial LightState accessors ( #18620 )
2026-08-22 21:00:59 -05:00
J. Nick Koston and GitHub
0dc69aab1e
[logger] Inline the trivial Logger accessors ( #18619 )
2026-08-22 21:00:49 -05:00
J. Nick Koston and GitHub
a282cb095e
[ethernet] Inline the trivial EthernetComponent setters ( #18618 )
2026-08-22 21:00:39 -05:00
J. Nick Koston and GitHub
259e7182a3
[esp32] Exclude esp_gdbstub from the build by default ( #18604 )
2026-08-22 20:59:55 -05:00
J. Nick Koston and GitHub
74bdf275d2
[core] Dump the main.cpp config comment with sorted keys ( #18653 )
2026-08-22 20:58:28 -05:00
J. Nick Koston and GitHub
14499223fd
[esp8266] Don't report stale crash state after hardware WDT resets ( #18597 )
2026-08-22 20:58:13 -05:00
J. Nick Koston and GitHub
6aab523dd9
[esp32_ble] Log connection parameter update results ( #18607 )
2026-08-22 20:57:58 -05:00
J. Nick Koston and GitHub
1f31e51446
[esphome] Inline the trivial OTA port accessors ( #18625 )
2026-08-22 20:57:37 -05:00
J. Nick Koston and GitHub
c062d0c717
[ota] Log prepare, upload, and total OTA timing in espota2 ( #18582 )
2026-08-22 20:57:13 -05:00
J. Nick Koston
c60b8d1b8b
Validate custom MMU sizes, refuse raw NONOSDK defines, warn on a lost stderr note
2026-08-22 20:26:27 -05:00
J. Nick Koston
1b0d20e72e
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 20:13:48 -05:00
J. Nick Koston
fa5d1c57f9
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 20:13:48 -05:00
J. Nick Koston
2218743c4a
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 20:13:47 -05:00
J. Nick Koston
de709dec71
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 20:13:47 -05:00
J. Nick Koston
2e3dc3c514
Note the consumed-options export is unused until the backend lands
2026-08-22 20:13:45 -05:00
J. Nick Koston
0dfe029863
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 20:01:32 -05:00
J. Nick Koston
33987c9682
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 20:01:32 -05:00
J. Nick Koston
149ca8c954
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 20:01:31 -05:00
J. Nick Koston
45c4a9b143
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 20:01:31 -05:00
J. Nick Koston
bf0a4ea40f
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 20:01:31 -05:00
J. Nick Koston
0d33c3bf07
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 20:01:31 -05:00
J. Nick Koston
2acba9b364
Materialize the tracker mock before the prefetch threads race its creation
2026-08-22 20:01:13 -05:00
J. Nick Koston
8b8ef9bc61
Clean up the archive on any ar failure; state the link-order contract plainly
2026-08-22 20:00:22 -05:00
J. Nick Koston
f9e3caeeff
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 19:55:34 -05:00
J. Nick Koston
36b0b62a8f
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 19:55:33 -05:00
J. Nick Koston
a174c306d8
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 19:55:33 -05:00
J. Nick Koston
35f3087fcc
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 19:55:33 -05:00
J. Nick Koston
8475a4bf09
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 19:55:33 -05:00
J. Nick Koston
715a7ab58f
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 19:55:33 -05:00
J. Nick Koston
f4bc7dda35
Fault the cache read directly so the unreadable-cache test holds on Windows
2026-08-22 19:55:16 -05:00
J. Nick Koston
eff99be8fa
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 19:46:46 -05:00
J. Nick Koston
3e4ace6b84
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 19:46:46 -05:00
J. Nick Koston
d72e2f1c60
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 19:46:46 -05:00
J. Nick Koston
5ba4dc7704
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 19:46:46 -05:00
J. Nick Koston
cbbc0a8fa9
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 19:46:45 -05:00
J. Nick Koston
1f0fa0ef8b
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 19:46:45 -05:00
J. Nick Koston
7d246893be
Surface prefetch failures, harden the idedata and build-info cache reads
2026-08-22 19:46:42 -05:00
J. Nick Koston
a401567f08
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 19:32:13 -05:00
J. Nick Koston
225c3f4cdb
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 19:32:13 -05:00
J. Nick Koston
ce3f90d377
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 19:32:13 -05:00
J. Nick Koston
3697401bc7
Serialize prefetch downloads on the install lock; export the canonical ccache off spelling
2026-08-22 19:32:10 -05:00
J. Nick Koston
c7efd89a3d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 19:14:41 -05:00
J. Nick Koston
c3297c2663
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 19:14:41 -05:00
J. Nick Koston
7be255b9ba
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 19:14:41 -05:00
J. Nick Koston
c3129d598c
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 19:14:41 -05:00
J. Nick Koston
82b20313b0
Export the consumed platformio_options set so the ignored-option warning cannot drift
2026-08-22 19:14:32 -05:00
J. Nick Koston
03dba8b63e
Raise on empty-argument build flags, pin the preprocessor decode, soften bookkeeping writes
2026-08-22 19:13:41 -05:00
J. Nick Koston and GitHub
dcabaedff1
[bk72xx_ble] Block BK7238 until the LibreTiny bonding partition fix lands ( #18649 )
2026-08-23 11:59:24 +12:00
J. Nick Koston
09d349882e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 17:24:38 -05:00
J. Nick Koston
2a1af47cef
Normalize git tails in external short names; surface the name-match suppressions
2026-08-22 17:24:26 -05:00
J. Nick Koston
aa3330071a
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 17:10:24 -05:00
J. Nick Koston
27aef88077
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 17:10:23 -05:00
J. Nick Koston
a5fde9429d
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 17:10:23 -05:00
J. Nick Koston
e63d995d1f
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 17:10:23 -05:00
J. Nick Koston
ad0859c5bd
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 17:10:23 -05:00
J. Nick Koston
385e2a92d2
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 17:10:23 -05:00
J. Nick Koston
bff8bea83e
Degrade garbage Content-Length probes; never prefetch an unverifiable tool archive
2026-08-22 17:10:19 -05:00
J. Nick Koston
beb605a2d7
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:59:09 -05:00
J. Nick Koston
f3ae985f67
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 16:59:09 -05:00
J. Nick Koston
0c5586c7dc
Download the Arduino core and toolchain archives in parallel
2026-08-22 16:59:07 -05:00
J. Nick Koston
4ece0da68c
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 16:58:37 -05:00
J. Nick Koston
712ee229e5
Prefetch pending registry packages in parallel under one combined bar
2026-08-22 16:58:24 -05:00
J. Nick Koston
727197d07a
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:41:53 -05:00
J. Nick Koston
0df7736d75
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 16:41:53 -05:00
J. Nick Koston
80c9c4cef3
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 16:41:53 -05:00
J. Nick Koston
bc98ba3b46
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 16:41:52 -05:00
J. Nick Koston
3974a810bc
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 16:41:52 -05:00
J. Nick Koston
dcf921d5f6
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 16:41:52 -05:00
J. Nick Koston
49d060fdfd
Correct the _content_lengths contract docs and pin the unknown-size fallback
2026-08-22 16:41:40 -05:00
J. Nick Koston
23fc61d9b1
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:38:31 -05:00
J. Nick Koston
f4844e2d69
Accept precompiled=false, keep same-file copies intact, ungate the empty-match warning
2026-08-22 16:38:21 -05:00
J. Nick Koston
8f3e9f97c0
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:16:23 -05:00
J. Nick Koston
f1c751c3b4
Rename the link-field guard to match its raising behavior
2026-08-22 16:16:14 -05:00
J. Nick Koston
466d67788e
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 16:10:09 -05:00
J. Nick Koston
f2f5ea127e
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 16:10:09 -05:00
J. Nick Koston
a4c1c89e67
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 16:10:09 -05:00
J. Nick Koston
ebafc439ac
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 16:10:09 -05:00
J. Nick Koston
2acde317d2
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 16:10:08 -05:00
J. Nick Koston
d1d2f186ab
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 16:10:08 -05:00
J. Nick Koston
f2ff1cc986
Keep per-file bars when sizes are unknown; harden the prefetch probes
...
An unknown Content-Length (probe failure, non-2xx, or a CDN omitting it
on HEAD) now skips the parallel prefetch so the sequential downloads
keep their per-file bars, instead of a silent multi-MB batch; the HEAD
helper returns None for unknown, distinct from a genuine zero, and
catches only RequestException. The cache probe logs its failure at
debug. The espidf tool prefetch reads sizes with .get so a missing size
only drops the bar instead of aborting the resumable prefetch. The
idedata warning logs its traceback at debug for parser regressions, and
framework_helpers joins the ESP-IDF infra CI triggers it is imported
by.
2026-08-22 16:10:03 -05:00
J. Nick Koston
792685facf
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:58:11 -05:00
J. Nick Koston
77704c0909
Refuse unsupported manifest features by name; drop the dead warn branch
...
A bundled manifest relying on an extraScript, or any manifest declaring
precompiled/ldflags, now raises naming the library instead of warning
into a link failure far from the cause. The backend-side usability
re-check logs all InvalidLibrary causes at debug with an accurate
comment: the walk runs dependency_is_usable on every versioned entry
before the provides() skip, so the fault always warns there first (a
real-converter test pins the once-only warning). build_tool handles a
missing subcommand with its named error instead of an IndexError.
2026-08-22 15:57:30 -05:00
J. Nick Koston
11964b86a8
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:51:42 -05:00
J. Nick Koston
1a64f03994
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:51:42 -05:00
J. Nick Koston
f8484158ad
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 15:51:42 -05:00
J. Nick Koston
a7777e4589
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:51:41 -05:00
J. Nick Koston
4e6a8e297e
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:51:41 -05:00
J. Nick Koston
2315f54f2e
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:51:41 -05:00
J. Nick Koston
86ac8f661b
Fold the dependency-entry validation into one helper
...
The name and version checks were duplicated across the dict-shorthand
and list spellings with four identical warnings; _valid_dependency_entry
carries them once.
2026-08-22 15:51:38 -05:00
J. Nick Koston
9d38ac8d6c
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:47:12 -05:00
J. Nick Koston
7694ffb5ac
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/platformio/library.py
2026-08-22 15:47:09 -05:00
J. Nick Koston
7f6aaeb46c
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:46:47 -05:00
J. Nick Koston
7a938af0f8
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:46:47 -05:00
J. Nick Koston
689861ffc9
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:46:47 -05:00
J. Nick Koston
776b3844f9
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:46:47 -05:00
J. Nick Koston
eec01ea793
Diagnosable prefetch failures, Ctrl-C-safe pool, typed dependency versions
...
The library prefetch pool now cancels queued futures on interrupt like
the espidf pool it mirrors, prefetch and HEAD failures log their cause
at debug (a suppressed bar is traceable), and non-2xx HEAD statuses read
as unknown size. normalize_dependencies rejects a non-string version in
both spellings (a container would raise from set.add(); an int fails
opaquely in the registry), and the walk's version-less skip logs the
dependency at debug until the arduino-backend reconciliation lands.
2026-08-22 15:46:38 -05:00
J. Nick Koston
b888d41cb9
Diagnosable prefetch failures, Ctrl-C-safe pool, typed dependency versions
...
The library prefetch pool now cancels queued futures on interrupt like
the espidf pool it mirrors, prefetch and HEAD failures log their cause
at debug (a suppressed bar is traceable), and non-2xx HEAD statuses read
as unknown size. normalize_dependencies rejects a non-string version in
both spellings (a container would raise from set.add(); an int fails
opaquely in the registry), and the walk's version-less skip logs the
dependency at debug until the arduino-backend reconciliation lands.
2026-08-22 15:46:06 -05:00
J. Nick Koston
77915bd03e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:33:41 -05:00
J. Nick Koston
8b76d61e8f
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 15:33:40 -05:00
J. Nick Koston
8bcf42921a
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:33:40 -05:00
J. Nick Koston
b3f058613c
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:33:40 -05:00
J. Nick Koston
97701122be
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:33:40 -05:00
J. Nick Koston
f1d043c840
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:33:40 -05:00
J. Nick Koston
1eda5a8534
Skip already-cached archives in the download prefetch
...
The wave logged 'Downloading N libraries' before checking the
extraction markers, so a warm build announced downloads it never made.
URLSource gains an is_cached probe (best-effort in the prefetch) and a
fully warm wave stays silent.
2026-08-22 15:33:37 -05:00
J. Nick Koston
db89d64c4e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:25:48 -05:00
J. Nick Koston
040c91259d
Mirror the URL rule in the bundled probe; fail on empty converted trees; harden build_tool argv
...
A URL-pinned dependency now skips the bundled probe (the walk resolves
the fork; adding the bundled copy would double the archive). A versioned
bundled candidate's non-platform manifest fault warns here since it
skips the walk's usability filter via provides(); version-less causes
stay at debug (the walk already warned). The pending drain logs a
manifest-name suppression at debug and drops its unreachable
bundled_names re-check. A converted tree with no sources and no headers
now fails by name at emit like the bundled case (test scaffolds gained
real source files). build_tool validates each mode's operand count and
a failed copy unlinks the partial output.
2026-08-22 15:25:37 -05:00
J. Nick Koston
1652088009
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:21:04 -05:00
J. Nick Koston
ff8f9786e9
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 15:21:04 -05:00
J. Nick Koston
4cbfdd3200
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
...
# Conflicts:
# tests/unit_tests/test_framework_helpers.py
2026-08-22 15:21:01 -05:00
J. Nick Koston
520bf3f63b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:20:42 -05:00
J. Nick Koston
1f2b532394
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:20:42 -05:00
J. Nick Koston
1cf5df3d59
Merge the espidf parallel-prefetch branch and give library downloads its combined bar
...
Brings in #18513 (BatchDownloadProgress and the download_with_resume
progress callback) and extends the plumbing one level:
download_from_mirrors passes a progress callback to both target kinds,
Source/ConvertedLibrary.download thread it through, and the library
wave prefetch draws one combined bar sized by parallel HEAD requests
(no sizes, no bar). The thread-local bar suppression this replaces is
removed; a batch caller passing a tracker also owns the messaging, so
the per-file Downloading line only prints for solo downloads.
2026-08-22 15:19:58 -05:00
J. Nick Koston
49dcc89130
Validate the board and flash-ld names; reject valued VTABLES defines; scope the damaged-cache recovery
...
The board name lands unquoted in two -D bodies and the flash linker
script name joins under the SDK and build ld dirs, so both are now
shape-validated like f_cpu. A VTABLES_IN_* define carrying a body would
split the compile line from the linker script and is refused. The
damaged-cache overwrite moves into a shared _write_generated helper
scoped to the comparison read: a corrupt existing copy is logged and
replaced (the testing-mode flash ld gets the same recovery), while a
genuine write failure still raises with its cause.
2026-08-22 15:05:58 -05:00
J. Nick Koston
a2a93cc186
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 15:03:21 -05:00
J. Nick Koston
ae141a4712
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 15:03:21 -05:00
J. Nick Koston
6171561b70
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 15:03:21 -05:00
J. Nick Koston
58eea37e10
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 15:03:21 -05:00
J. Nick Koston
91836a8c69
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 15:03:20 -05:00
J. Nick Koston
35af304911
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 15:03:20 -05:00
J. Nick Koston
f4482275cb
Pin sortedness on a nested fixture in the comment-order test
2026-08-22 15:03:07 -05:00
J. Nick Koston
4aba6c4670
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:54:58 -05:00
J. Nick Koston
5f2d0b9e93
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:54:58 -05:00
J. Nick Koston
241e804879
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:54:58 -05:00
J. Nick Koston
d653a550bb
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:54:57 -05:00
J. Nick Koston
f599e37375
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:54:57 -05:00
J. Nick Koston
6f79518ee2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:54:57 -05:00
J. Nick Koston
fd7e340e81
Type-hint the to_code test stub
2026-08-22 14:54:39 -05:00
J. Nick Koston
84a8ac3772
Use a docstring instead of pass in the to_code test stub
2026-08-22 14:54:24 -05:00
J. Nick Koston
961bff4790
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:52:40 -05:00
J. Nick Koston
469fd5b2c4
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:52:40 -05:00
J. Nick Koston
9be1a67400
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:52:40 -05:00
J. Nick Koston
cb02e15184
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:52:40 -05:00
J. Nick Koston
910147139a
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:52:39 -05:00
J. Nick Koston
ab49aff931
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:52:39 -05:00
J. Nick Koston
4a459e3d0d
Lift the remaining function-local imports in test_main to top level
2026-08-22 14:52:38 -05:00
J. Nick Koston
612775908e
Never substitute a URL-pinned dependency; rename the header-suffix set; warn on real bundled suppression
...
A dependency whose version is a repository URL names one specific
source, so it is now detected before the backend-provided skip and
resolves as git instead of being replaced by the bundled copy. The
library header-suffix set becomes LIBRARY_HEADER_SUFFIXES so it cannot
shadow esphome.const's narrower HEADER_FILE_EXTENSIONS. Suppressing a
genuinely bundled name on an external short-name match warns (an
accidental collision would surface as link errors), a converted library
with no sources and no headers warns by name, and the walk's
unreachable nameless-dependency check is gone.
2026-08-22 14:52:07 -05:00
J. Nick Koston
680753dbef
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/platformio/library.py
2026-08-22 14:50:04 -05:00
J. Nick Koston
8a4ade10e6
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:49:42 -05:00
J. Nick Koston
8cffd44ffd
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:49:42 -05:00
J. Nick Koston
e16008fc58
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:49:42 -05:00
J. Nick Koston
35a1136bea
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:49:41 -05:00
J. Nick Koston
3b091676bf
Drop the unreachable nameless-dependency check in the walk
...
normalize_dependencies guarantees every entry carries a non-empty
string name, so only the version can be absent.
2026-08-22 14:49:39 -05:00
J. Nick Koston
0883b6e5aa
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:44:18 -05:00
J. Nick Koston
ef93ebb67b
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:44:17 -05:00
J. Nick Koston
622be18709
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:44:17 -05:00
J. Nick Koston
ade6dbabae
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:44:17 -05:00
J. Nick Koston
182dc7f636
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:44:17 -05:00
J. Nick Koston
d7af5f37b6
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:44:17 -05:00
J. Nick Koston
121795fa8d
Trim comment and docstring essays
2026-08-22 14:44:12 -05:00
J. Nick Koston
8fb771eec8
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:41:34 -05:00
J. Nick Koston
38be558603
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:41:34 -05:00
J. Nick Koston
4e48764bbe
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:41:34 -05:00
J. Nick Koston
deecfade13
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:41:34 -05:00
J. Nick Koston
ec237a2d06
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:41:33 -05:00
J. Nick Koston
a2267eb686
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:41:33 -05:00
J. Nick Koston
dbd6f323c0
Extract the build-info staleness check so its branches are testable
...
copy_src_tree is always mocked in the writer tests, so the new
missing/stale/unreadable debug branches were unreachable; the decision
moves into _build_info_stale with a test covering every branch.
2026-08-22 14:41:30 -05:00
J. Nick Koston
2903aa7c3e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:38:09 -05:00
J. Nick Koston
e4cb1d4f27
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:38:09 -05:00
J. Nick Koston
62a4cb3fe4
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:38:09 -05:00
J. Nick Koston
d3eaac6f47
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:38:08 -05:00
J. Nick Koston
2eec194d87
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
...
# Conflicts:
# tests/unit_tests/test_main.py
2026-08-22 14:38:04 -05:00
J. Nick Koston
3a9a6edc0e
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:37:46 -05:00
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
2e9ba5fa2d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:31:39 -05:00
J. Nick Koston
eddb5981da
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 14:31:39 -05:00
J. Nick Koston
51221688f6
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:31:39 -05:00
J. Nick Koston
f695e9dceb
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 14:31:39 -05:00
J. Nick Koston
d8f6368716
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:31:38 -05:00
J. Nick Koston
a97b836012
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:31:38 -05:00
J. Nick Koston
afeb1a5ea1
Name the changed source when the writer flags a rebuild
...
Every sources_changed site now logs which file (or which build-info
staleness) triggered it, so a config that relinks on every run can be
diagnosed from one -v compile instead of diffing the build tree.
2026-08-22 14:31:36 -05:00
J. Nick Koston
b435bb9d4f
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:21:11 -05:00
J. Nick Koston
557ba9953d
Fail by name on a missing libraries dir; single frameworks warning; fix a vacuous test
...
A framework tree without libraries/ now raises naming the path instead
of silently rerouting every bundled name to the registry, matching the
empty-bundled-dir error. check_library_data accepts framework=None to
skip the framework check (mirroring platform=None), so the backend-side
platform re-check no longer re-fires the frameworks-mismatch warning
the walk already emitted. The platform-rejection-is-debug test patched
the wrong module and asserted nothing; it now patches the backend's
import and asserts the dependency is absent from the resolved set.
2026-08-22 14:21:08 -05:00
J. Nick Koston
b247df7692
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 14:12:57 -05:00
J. Nick Koston
a890527ab3
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/platformio/library.py
2026-08-22 14:12:54 -05:00
J. Nick Koston
2d2750e031
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 14:11:40 -05:00
J. Nick Koston
0d508ccbc0
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
...
# Conflicts:
# tests/unit_tests/test_framework_helpers.py
2026-08-22 14:11:26 -05:00
J. Nick Koston
bf7a617934
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 14:11:02 -05:00
J. Nick Koston
803eef7de6
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 14:11:02 -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
2a86ae572d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 13:51:48 -05:00
J. Nick Koston
447a411d45
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 13:51:48 -05:00
J. Nick Koston
ae2893992a
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 13:51:47 -05:00
J. Nick Koston
6b46e9fd03
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 13:51:47 -05:00
J. Nick Koston
2f053371ce
Guard the honored board_build branch against the empty-list form
...
voluptuous accepts [] for [cv.string], so vals[-1] could raise an
IndexError at codegen time; an empty list now falls through to the
ignored-option warning.
2026-08-22 13:51:35 -05:00
J. Nick Koston
47e87d7eb2
Dedupe the rejection warning and make bundled-name membership case-exact
...
The backend-side bundled filter now checks compatibility silently (the
shared walk owns the warning), so one manifest fault warns once instead
of twice. Bundled-name membership uses the exact on-disk directory
names instead of a per-name is_dir() probe, so a case-insensitive
filesystem cannot match a case-mismatched dependency and build the same
bundled library twice.
2026-08-22 13:50:29 -05:00
J. Nick Koston
a4a566eac2
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 13:15:59 -05:00
J. Nick Koston
3bd4cdb760
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 13:15:59 -05:00
J. Nick Koston
9533c09b69
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 13:15:59 -05:00
J. Nick Koston
2ea5c87e99
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 13:15:59 -05:00
J. Nick Koston
2dac9112be
Pin the scalar shape for the honored board_build options; note the dispatch coupling
...
The schema permits the list form, so the routing now stores the last
value (like a later platformio.ini line) and the generator always sees a
scalar. The using_native_toolchain docstring points at write_cpp_file's
dispatch so NATIVE_TOOLCHAINS membership and the project-writing branch
flip together.
2026-08-22 13:15:47 -05:00
J. Nick Koston
a9149aef28
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 13:10:55 -05:00
J. Nick Koston
efa3018123
Close the four diagnostic gaps in the library backend
...
An owner-qualified dependency name (Owner/Pkg, both halves safe) is the
converter's to resolve and no longer draws the malformed-entry warning,
which stays for genuinely unsafe shapes. A declared srcFilter matching
only inert files now warns like one matching nothing, while matched
headers still read as a header-only library. The short-name suppression
logs the assumed external at debug so an accidental collision is
attributable. A failing ar batch unlinks the truncated archive before
returning its exit code.
2026-08-22 13:10:44 -05:00
J. Nick Koston
aa2cd99a9b
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 12:52:53 -05:00
J. Nick Koston
478584354e
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 12:52:52 -05:00
J. Nick Koston
53228c183a
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 12:52:52 -05:00
J. Nick Koston
9c7f68b813
Hoist the boolean spelling tables to helpers so cv.boolean and the env parser share one source
...
cv.boolean's inline tuples and the ccache env tables were two copies of
the same spellings; TRUTHY_BOOL_STRINGS/FALSY_BOOL_STRINGS now live in
esphome/helpers.py, cv.boolean consumes them, and parse_enable_env
derives its tables by adding the 1/0 env convention.
2026-08-22 12:52:38 -05:00
J. Nick Koston
f4f7492f37
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 12:48:21 -05:00
J. Nick Koston
ef6c609e93
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# tests/unit_tests/test_platformio_library.py
2026-08-22 12:47:48 -05:00
J. Nick Koston
b62d59ca26
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 12:47:07 -05:00
J. Nick Koston
e52703617e
Name the env boolean spelling tables like device-builder does
...
parse_enable_env's inline tuples become TRUTHY_ENV_STRINGS and
FALSY_ENV_STRINGS frozensets mirroring cv.boolean's spellings (enable
and disable included) plus the 1/0 env convention, matching
device-builder's TRUTHY_BOOL_STRINGS pattern.
2026-08-22 12:47:05 -05:00
J. Nick Koston
57cbadbe9f
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 12:46:30 -05:00
J. Nick Koston
a6ca775a48
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 12:46:29 -05:00
J. Nick Koston
315f41e884
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 12:46:29 -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
09a875f359
Refactor the library backend into focused functions
...
build_tool gains one function per mode plus a shared rspfile reader.
_library_info becomes an orchestrator over _resolve_src_dir,
_resolve_lib_archive, _classify_build_flags, _resolve_include_dirs, and
_collect_lib_sources. The version-less reconciliation moves into
_warn_unsatisfied_versionless. _is_safe_library_name switches from a
character denylist to a filename-plain allowlist, which excludes
separators, drive colons, and dot-only names by shape.
2026-08-22 12:43:04 -05:00
J. Nick Koston
01f7373d51
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 12:26:39 -05:00
J. Nick Koston
6bdec7e907
Warn only for source-like suffix drops, batch ar argv, name non-iterable dependencies
...
The unmapped-suffix warning fired for every header-only library (the
default +<*> filter matches headers), so ArduinoJson would have warned
on every ESP8266 build. It now names exactly the source-like files
(.CPP, .ino and case-variants of the map) the case-sensitive suffix map
rejects, partial drops included, and stays quiet for headers and
metadata.
The ar shim batches the expanded object list by argv length (rc then q
appends), keeping the command line under the Windows 32767-char limit
the rspfile existed to avoid. A non-iterable dependencies value in a
manifest now warns by library name instead of raising a bare
TypeError.
2026-08-22 12:26:24 -05:00
J. Nick Koston
4a1138820d
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 12:15:39 -05:00
J. Nick Koston
2ab0dc4e4f
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 12:15:39 -05:00
J. Nick Koston
bbcc9f690a
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 12:15:39 -05:00
J. Nick Koston
7c07276c71
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 12:15:38 -05:00
J. Nick Koston
60cf44de3b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 12:15:38 -05:00
J. Nick Koston
072b65c0e2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 12:15:38 -05:00
J. Nick Koston
f71867ed2d
Merge remote-tracking branch 'origin/dev' into esp8266-native-shared-helpers
2026-08-22 12:15:30 -05:00
J. Nick Koston
3037ed0a28
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 12:08:57 -05:00
J. Nick Koston
c206f83528
Make the remaining silent drops visible across backends
...
The depends=-without-dependencies warning moves into the shared walk so
espidf builds report it too; the arduino backend keeps it only for
bundled libraries the walk never sees. Version-less dependencies now
pass the platform filter before the reconciliation records them, so a
platform-excluded entry no longer draws a spurious drop warning.
A converted library whose matched files all fall through the source
suffix map warns instead of silently producing an empty archive, and
unhonored precompiled/ldflags properties fields warn by library name.
The ar rspfile parser undoes ninja's POSIX inner-quote escape and the
module docstring records the one-object-per-line contract. The
includeDir comment now states that warn-and-drop is intended.
2026-08-22 12:08:46 -05:00
J. Nick Koston
dc1bbac385
Harden the build spec: content-hashed ld cache, strict f_cpu, loud diagnostics
...
The linker-script stamp now records the sha256 of the written content, so
an externally edited or truncated cached script regenerates instead of
passing a SECTIONS substring probe, and a non-UTF-8 cached script is
overwritten by the regeneration instead of aborting it. The cached
preprocessor diagnostic re-emit no longer swallows its own read failure.
board_build.f_cpu is validated (digits with an optional L) before landing
unquoted on the compile line, _pio_option rejects empty and blank values
instead of silently reverting to the default, and user MMU define bodies
re-quote through shell_token like every other user token. The plain-form
linker denylist is a named constant the _project_flags docstring points
at, so the two cannot drift.
2026-08-22 12:01:08 -05:00
J. Nick Koston
ba521acdab
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 11:55:59 -05:00
J. Nick Koston
9676e0c0f0
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 11:55:58 -05:00
J. Nick Koston
cedecf1f83
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 11:55:58 -05:00
J. Nick Koston
e7d3c1b92b
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-22 11:55:58 -05:00
J. Nick Koston
f28be76c84
Fix comment drift: conditional cache refresh, future-tense generator consumer
2026-08-22 11:55:15 -05:00
J. Nick Koston
ec9200912d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 11:49:36 -05:00
J. Nick Koston
3242196f9c
Validate shorthand dependencies, honor lib_ignore for version-less deps, warn on non-platform component drops
...
The dict-shorthand dependency form now runs the same name validation as
the list form, so an empty key or a spec overriding name with a
non-string warns instead of raising a bare TypeError from the key
builder. A lib_ignore'd version-less dependency is deliberately excluded
and no longer draws the reconciliation warning. The walk's
component-level InvalidLibrary handler mirrors dependency_is_usable:
cross-platform skips stay at debug, any other cause warns. A malformed
libArchive/dot_a_linkage value now fails naming the library like the
sibling build fields, and the suffix map gains SCons's case-sensitive .C
and .C++ so those sources compile as C++ instead of silently dropping
out of the archive.
2026-08-22 11:49:25 -05:00
J. Nick Koston
67544598c5
Trim comment essays
2026-08-22 11:42:55 -05:00
J. Nick Koston
351eb9209f
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 11:42:02 -05:00
J. Nick Koston
c7a96f77d2
Trim comment essays and hoist function-local test imports
2026-08-22 11:41:59 -05:00
J. Nick Koston
fc8a48d70b
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/espidf/component.py
2026-08-22 11:40:11 -05:00
J. Nick Koston
cdde9dd230
Trim comment essays and hoist function-local test imports
2026-08-22 11:39:54 -05:00
J. Nick Koston
935db6a63c
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-22 11:38:49 -05:00
J. Nick Koston
90b29e231d
Trim comment essays and hoist function-local test imports
2026-08-22 11:38:46 -05:00
J. Nick Koston
315abf21f8
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-22 11:37:21 -05:00
J. Nick Koston
24e5b1800f
Trim comment essays and hoist function-local test imports
2026-08-22 11:37:16 -05:00
J. Nick Koston
11eca53a18
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-22 11:35:41 -05:00
J. Nick Koston
f08e06f574
Trim comment essays and hoist function-local test imports
2026-08-22 11:35:35 -05:00
J. Nick Koston
27f4db8458
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-22 11:34:57 -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
d1db0cb63e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 11:24:58 -05:00
J. Nick Koston
3b2fc9f59a
Close the owner-qualified drop gap and the duplicate-archive gap in the library backend
...
An owner-qualified version-less dependency was skipped by both the
arduino backend (owner set) and the reconciliation (provides() knew the
short name), so nothing logged the drop; provides() now only satisfies
owner-less names, mirroring the walk's backend-provided guard. A dict
dependency entry with no name at all now warns in the normalizer like
any other malformed entry.
Bundled dependency additions are deferred until conversion finishes and
skipped when a converted library's manifest already provides the name,
so a name that is both bundled and registry-resolved cannot build twice.
External short names come from the request spec (custom Name=url form
included) instead of the URL tail. The empty-bundled-library probe now
walks the whole library tree against a shared header-suffix constant,
and the dead versioned-dependency branch is folded into the surviving
check.
2026-08-22 11:24:49 -05:00
J. Nick Koston
5dea42d28a
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 11:04:47 -05:00
J. Nick Koston
57e738adf8
Simplify the library backend: share the dependency filter, drop the request-key drop diff, dedupe test scaffolding
...
Validate manifest shape once in the converter (every backend dereferences
data/build), share the InvalidLibrary filter as dependency_is_usable(),
and let the walk's reconciliation own version-less drop reporting so the
arduino backend's request-key diff, owner-no-version warning, and
node_key plumbing all go away. One memoized _provided() predicate now
answers bundled-name checks at all three sites. Tests gain shared
scaffold helpers and lose the assertions that pinned deleted messages.
2026-08-22 11:04:35 -05:00
d119ad6c60
[usb_uart] Extract non-final USBUartChannelBase from USBUartChannel ( #17472 )
...
Co-authored-by: p1ngb4ck <p@local>
2026-08-22 10:47:46 -05:00
J. Nick Koston
70b8573110
Move version-less drop reconciliation into the walk, harden the name guards
...
The shared walk now defers every version-less skip and reconciles after
emit against the final resolution set (request keys, resolved manifest
names, and backend.provides(name) per name), so drop visibility is
correct for every backend by construction instead of by a comment-level
contract, and the arduino backend's duplicate pending_drops pass and its
short-name suppression heuristics are deleted. The provides lambda
applies _is_safe_library_name so an unsafe manifest name is simply not
provided, and the guard also rejects drive-colon names that would
escape the tree on Windows.
2026-08-22 10:46:50 -05:00
esphome[bot] and GitHub
74fc2e367a
Bump bundled esphome-device-builder to 1.12.4 ( #18651 )
2026-08-22 15:42:53 +00:00
ea10f94376
[core] Add type annotations to component Python (10/11) ( #18347 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-22 10:31:47 -05:00
J. Nick Koston
40c28c3861
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 10:03:45 -05:00
J. Nick Koston
735d4076c1
Keep the top-level suppression total and honest
...
The check guards URL-ish names before _node_key (a malformed entry
belongs to the drop warning, not a RuntimeError) and matches against
top_level_keys so the message says exactly what it verifies; a
transitive-only node can still fail compatibility later and must not
suppress the drop report.
2026-08-22 10:03:43 -05:00
J. Nick Koston
69ab07ec41
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 09:41:49 -05:00
J. Nick Koston
a48fbd1cd1
Suppress the top-level-requested false positive, guard names once, fail empty bundled libraries
...
The walk's version-less warning stays quiet for a name the config also
requests top-level, and the provides-backend debug level carries the
ownership rationale (the arduino backend defers drops and suppresses
walk-resolved names this layer cannot know yet). _is_safe_library_name
guards both the top-level bundled check and manifest dependencies, so a
YAML libraries entry of '.' or a backslash name cannot join under the
framework tree. The drop suppression strips only the sanitized owner
prefix, keeping a library's own double underscores. An empty bundled
directory raises naming the fix instead of warning into an unlinkable
build, and the second real-converter test pins ESPHOME_DATA_DIR.
2026-08-22 09:41:35 -05:00
J. Nick Koston
a4d99a8ee9
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 09:30:02 -05:00
J. Nick Koston
e47ec9acad
Cover the routine version-less skip through the real walk
2026-08-22 09:29:49 -05:00
J. Nick Koston
965557ee11
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 09:21:10 -05:00
J. Nick Koston
8e6af6aa8c
Name the manifest in every dependency diagnostic, warn where no backend can recover
...
normalize_dependencies' parameter is manifest_name (the dict branch
already binds owner to a package owner), and the arduino call site
passes the library's name so its unrecognized-entry warning stops
saying 'of manifest'. A version-less dependency warns when the backend
declares no provides tree (espidf/zephyr/nrf52 have no post-emit
pickup), and the shared walk mirrors the typed IncompatiblePlatform
branch: routine platform skips stay at debug, any other InvalidLibrary
cause warns naming the component. The two real-converter tests pin
ESPHOME_DATA_DIR to tmp_path so an ambient data dir cannot leak in.
2026-08-22 09:20:57 -05:00
J. Nick Koston
2cedb3d82b
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 00:48:41 -05:00
J. Nick Koston
9bb899d8df
Never shred a string dependency list, defer and de-duplicate drop warnings
...
A plain-string dependencies value comma-splits into names instead of
iterating into one-character libraries; entries that normalize to
nothing warn naming the manifest, and the walk's version-less skip logs
at debug for every backend. The not-bundled warning is deferred until
after the walk and stays quiet for names resolved transitively, so a
false skipping message cannot teach users to ignore the real one. An
explicitly requested bundled library that resolves to no sources and no
headers warns that the install may be incomplete.
2026-08-22 00:48:30 -05:00
J. Nick Koston
0bd66b8e9b
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-22 00:18:46 -05:00
J. Nick Koston
35c77165ca
Surface every dependency-drop path the walk can take
...
The converted path warns for a properties-only depends= spelling (the
walk reads the JSON key). A dependency name is validated before
becoming a path component: non-strings and separator names are
malformed entries, never joined (apply_extra_script already guards the
same shape). normalize_dependencies coerces PIO's bare string-list form
to name dicts instead of dropping it before every visibility warning. A
non-* version pin discarded for a backend-provided bundled copy warns
naming the substitution. The -I global-include promotion and the
start-group link-order contract are documented.
2026-08-22 00:18:35 -05: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 and GitHub
dccf55eadc
[remote_transmitter] Use hardware PWM on rtl87xx to fix watchdog crash ( #18579 )
2026-08-21 23:53:16 -05:00
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 and GitHub
a30e82459f
[deep_sleep] Reject wakeup_pin_mode at both levels on BK72xx ( #18615 )
2026-08-21 23:51:19 -05:00
Brandon Harvey and GitHub
5a300e92f1
[wifi] Inline the trivial WiFiScanResult accessors ( #18613 )
2026-08-22 04:14:56 +00:00
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
J. Nick Koston
7732b688f5
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 21:27:59 -05:00
J. Nick Koston
44b14d8655
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 21:27:59 -05:00
J. Nick Koston
4eb31c45da
Isolate the preresolved-ccache test from ambient CCACHE_DIR, future-tense the sentinel comment
2026-08-21 21:27:49 -05:00
J. Nick Koston
2959fb6e7d
Resolve the test's gcc path through toolchain_tool so Windows stats the .exe
2026-08-21 21:11:20 -05:00
J. Nick Koston
227522364a
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 21:01:47 -05:00
J. Nick Koston
4bea2dd058
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 21:01:47 -05:00
J. Nick Koston
fab8af6c88
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 21:01:47 -05:00
J. Nick Koston
db0e52a36b
Cover shell_token's Windows branch on the coverage-uploading runner
2026-08-21 21:01:37 -05:00
J. Nick Koston
a05a392fdd
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 20:56:37 -05:00
J. Nick Koston
6a963ba794
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 20:56:37 -05:00
J. Nick Koston
a029338f3d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 20:56:37 -05:00
J. Nick Koston
cbf9e0ab14
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-21 20:56:37 -05:00
J. Nick Koston
a527b21761
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-21 20:56:36 -05:00
J. Nick Koston
4d63564cdd
Phrase the board-table regen comment imperatively
2026-08-21 20:56:27 -05:00
J. Nick Koston
42e255c1e5
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 20:55:19 -05:00
J. Nick Koston
efad21d335
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 20:55:19 -05:00
J. Nick Koston
012b571a2e
Make the ccache sentinel public; sibling modules pass it as a default
2026-08-21 20:55:07 -05:00
J. Nick Koston
a1d59049b4
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 20:51:57 -05:00
J. Nick Koston
c838d11bf4
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 20:51:57 -05:00
J. Nick Koston
4a16365f13
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-21 20:51:56 -05:00
J. Nick Koston
587873a2da
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 20:51:56 -05:00
J. Nick Koston
e5ad855337
Use the shared tool accessor for gcc, drop dead dataclass defaults, add a resolve test helper
...
toolchain_tool owns the bin path and Windows suffix now; _BuildConfig's
knob and MMU fields are required since the only constructor always
passes both; the tests' set-flags-then-resolve idiom collapses into one
_resolve helper (12 sites).
2026-08-21 20:47:17 -05:00
J. Nick Koston
aad89cd939
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 20:46:18 -05:00
J. Nick Koston
67f6812f78
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 20:46:18 -05:00
J. Nick Koston
4101ad4fb1
One owner for the toolchain tool layout, thread a pre-resolved ccache
...
toolchain_tool carries the bin/xtensa-lx106-elf-<name> pattern and the
Windows suffix that four call sites previously spelled out (only one of
which handled the suffix). ccache_env and get_build_env accept the
already-resolved ccache path so run_compile can resolve once instead of
paying the PATH scan and runnability probe three times per build.
2026-08-21 20:46:10 -05:00
J. Nick Koston
048025e9dd
Form the local-library URL with as_uri so the test passes on Windows
2026-08-21 20:44:49 -05:00
J. Nick Koston
e9d6132c61
Name the honored native-arduino pio options once
...
NATIVE_ARDUINO_PIO_OPTIONS is the single list the routing reads; the
backend's ignored-option warning consumes it too, so honoring a new key
is one edit instead of two synchronized ones.
2026-08-21 20:43:43 -05:00
J. Nick Koston
e779df14cb
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 20:38:32 -05:00
J. Nick Koston
8ad1ed98b7
Skip backend-provided dependencies in the graph walk, validate manifests before extra scripts
...
The dict-shorthand bundled preference ran after convert_libraries had
already resolved the dependency through the registry, so a real
{"Wire": "*"} manifest still fetched or failed on a registry Wire (the
mocked test hid it). LibraryBackend gains an optional provides hook the
walk consults for owner-less dependencies; the arduino backend answers
from the framework tree and the bundled copy is added after emit. A
real-converter test with a local library pins that the registry is
never touched. _emit also validates the manifest shape by name before
apply_extra_script dereferences it.
2026-08-21 20:38:23 -05:00
J. Nick Koston
accfd12199
Honor board_build.f_cpu on the native compile line
...
The routed override (published configs pin 160000000L for
timing-sensitive integrations) reaches -DF_CPU via a small _pio_option
reader; the default stays the audited 80 MHz all 45 boards ship.
2026-08-21 20:28:27 -05:00
J. Nick Koston
7298eed5b3
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-21 20:27:43 -05:00
J. Nick Koston
78a1e88915
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 20:27:43 -05:00
J. Nick Koston
b87875881e
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 20:27:43 -05:00
J. Nick Koston
e97388ce00
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 20:27:43 -05:00
J. Nick Koston
d8c02221cc
Route board_build.ldscript through to the native ESP8266 generator too
...
Published configs override it to reserve a filesystem region
(SmartIntercom's eagle.flash.4m2m.ld) or to correct a board's assumed
flash size (2 MB ESP8285 plugs pinning eagle.flash.2m.ld); dropping it
changes the flash layout under them.
2026-08-21 20:27:33 -05:00
J. Nick Koston
8cefacd7b6
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 20:25:33 -05:00
J. Nick Koston
76d8c9eb46
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-21 20:25:32 -05:00
J. Nick Koston
a703acf85f
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 20:25:32 -05:00
J. Nick Koston
7beda110d4
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 20:25:32 -05:00
J. Nick Koston
7fb18f395f
Honor board_build.f_cpu under the native ESP8266 Arduino toolchain
...
Dropping it was a real regression: many published ESP8266 configs pin
board_build.f_cpu: 160000000L for timing-sensitive integrations
(MHI-AC-Ctrl documents the 160 MHz requirement in its example), and the
warn-and-drop left those devices at 80 MHz. The option now routes into
CORE.platformio_options under toolchain: arduino for the generator to
consume; other native toolchains keep the warning.
2026-08-21 20:25:23 -05:00
J. Nick Koston
44b64e0963
Note why F_CPU is hardcoded, widen the plain linker-flag denylist
...
F_CPU gets the same drift-audit note as _MMU_DEFAULT: upstream reads it
from the board manifest, and all 45 supported boards ship 80000000L.
The plain-form refusal also covers -e, -s, -static, and -nostartfiles,
which gcc accepts inertly on a -c line.
2026-08-21 20:21:57 -05:00
J. Nick Koston
df1aa5ff61
Make the lex-once contract structural, stamp the compiler, guard bare -I/-D
...
tokens is a required parameter on _flag_defines and _project_flags now,
so the per-consumer re-lex the shared lexer was meant to end cannot
come back. The cache stamp covers the gcc binary's size and mtime via
a shared _stat_sig (an in-place toolchain re-extraction regenerates
the script like a header edit). A bare -I or -D from an empty argument
is warned and skipped instead of letting gcc eat the next flag.
_defines_flags documents that its tokens carry shell-level escaping and
must be emitted unquoted, and _MMU_DEFAULT notes why the board-manifest
values are hardcoded.
2026-08-21 19:59:26 -05:00
J. Nick Koston
7c4dfe8c08
Best-effort stderr-note re-emit, name the unreadable-header cause, state the quoting contract
...
The cached-diagnostic read follows the same regenerate-never-abort rule
as the other cache reads (a damaged note must not fail an incremental
build). The unreadable-header path warns naming the header and the
clean-all fix instead of leaving an inexplicably uncached build at
debug level. _project_flags' docstring states which return values are
pre-quoted and which the caller owns.
2026-08-21 19:24:10 -05:00
J. Nick Koston
ce5ccb4294
Name every ld-generation failure, refuse inert linker flags, reuse the shared lexer
...
Both testing-mode segment patches get the RuntimeError-to-EsphomeError
wrap the ratetable surgery already had. Plain-form -T/-Xlinker/-u flags
raise naming the -Wl, form instead of warning into an inert -c compile
line. _lexed_build_flags and _unflag_tokens go through the shared
lex_build_flags so a future lexing fix cannot miss this path. The MMU
conflict message names dropping the variant knob when MMU_CUSTOM is
already set. An unreadable (not absent) header forces a cache miss
every run instead of pinning the stamp to a constant, and preprocessor
warnings persist beside the stamp and re-emit on cache hits. The drift
docstring states what the tests actually pin.
2026-08-21 18:54:19 -05:00
J. Nick Koston
f92386b3cc
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 17:45:04 -05:00
J. Nick Koston
c1a7c87a64
Cover the non-dict bundled-manifest branch
2026-08-21 17:44:57 -05:00
J. Nick Koston
4e830241d0
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 17:38:33 -05:00
J. Nick Koston
d96ddf3612
Catch the depends= spelling, warn on bundled extraScripts, trust top-level requests
...
The bundled-dependency visibility warning also reads the
library.properties depends= key the shared parser returns raw, since
properties is the format bundled libraries actually ship. A bundled
manifest declaring an extraScript warns that it never runs (a new
Known-deviations entry). A version-less manifest dependency the config
separately requests as a top-level library is already in the build, so
the skipping warning no longer fires for it and cannot teach users to
ignore the real drop.
2026-08-21 17:38:25 -05:00
J. Nick Koston
d0a3392c46
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 17:19:09 -05:00
J. Nick Koston
e18852e084
Fail on dropped requests, guard the last manifest fields, parse dot_a_linkage strictly
...
A top-level library the converter dropped always makes the firmware
wrong, so resolve_libraries raises naming the missing requests instead
of warning toward link errors, and a resolved component without its
node_key fails as a converter bug rather than silently substituting the
mismatched canonical name. includeDir and srcFilter join srcDir and
flags in raising a named error on malformed values, and dot_a_linkage
parses through the same strict table as libArchive so a typo warns and
keeps the archive default instead of flipping link semantics.
2026-08-21 17:19:01 -05:00
J. Nick Koston
496d705dc7
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 17:04:12 -05:00
J. Nick Koston
1f868d22fb
Expose request_key as the public pair of ConvertedLibrary.node_key
...
The arduino backend consumed the private _node_key across packages to
reconstruct the request-side key; the thin public wrapper keeps both
sides of the contract on the same API surface.
2026-08-21 17:04:03 -05:00
J. Nick Koston
bf3972cbf6
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 16:52:50 -05:00
J. Nick Koston
2ecf7af416
Name malformed manifests, diff drop-warnings by node key, surface bundled deps
...
A non-dict manifest or build section raises an EsphomeError naming the
library instead of an AttributeError. ConvertedLibrary remembers the
request-side node key it resolved from, so the converter-drop warning
diffs requests against those keys; a bare name resolving to a canonical
owner__pkg is no longer falsely listed missing. A bundled library whose
manifest declares dependencies warns that the walk never runs for it (a
no-op on the ESP8266 core, not on every core this module serves).
2026-08-21 16:52:32 -05:00
J. Nick Koston
659211b8bd
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 16:07:40 -05:00
J. Nick Koston
91a4eb0f57
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 16:07:40 -05:00
J. Nick Koston
97ed253c38
Say the floor's config-validation guard is future wiring, not present
...
Nothing at this commit enforces MIN_FRAMEWORK_VERSION during
validation; the native backend's validator arrives with the wiring PR.
The comment no longer invites skipping it.
2026-08-21 16:07:30 -05:00
J. Nick Koston
e2d0ebbd6e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 15:34:01 -05:00
J. Nick Koston
be2395da66
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 15:34:00 -05:00
J. Nick Koston
cbf1241401
Resolve the ccache path on every call, matching the espidf backend
...
functools.cache froze the ESPHOME_CCACHE_ENABLE/PATH decision for the
process lifetime, which a long-lived host like device-builder never
restarts, and forced a cache_clear fixture in the tests. The docstring
and test now pin the uncached delegation.
2026-08-21 15:33:51 -05:00
J. Nick Koston
17a251d062
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 15:19:10 -05:00
J. Nick Koston
ce87ca2e11
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 15:19:10 -05:00
J. Nick Koston
33aea420ac
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 15:19:10 -05:00
J. Nick Koston
e3d29e9fff
Name a non-list registry system field instead of a TypeError
...
file["system"] normalized None and str but let an int or dict fall
through to the in test, where an int raises TypeError and a dict
becomes a key test; both now raise the same Unexpected-response error
as the other shape guards.
2026-08-21 15:18:54 -05:00
J. Nick Koston
92356804c6
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 14:50:47 -05:00
J. Nick Koston
03bf037cb8
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 14:50:47 -05:00
J. Nick Koston
4dc2d34399
State the encoder's real registry parity and why the 3.1.1 floor exists
...
The docstring claimed exact registry names for every core above 2.6.2;
2.6.3, 3.0.0 and 3.0.1 ship with non-zero trailing components the
formula cannot produce. Name them, say which callers are safe (the ~
range on the PlatformIO path, the floored check_and_install), and
credit the floor with covering 3.0.0/3.0.1 as well as the absent 3.1.0.
2026-08-21 14:50:36 -05:00
esphome[bot] and GitHub
11ea819bc7
Bump aioesphomeapi from 45.12.0 to 45.13.1 ( #18600 )
2026-08-21 14:36:47 -05:00
J. Nick Koston
a2b28a8f8d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 14:32:37 -05:00
J. Nick Koston
e9f8233f67
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 14:32:37 -05:00
J. Nick Koston
c07a5a8da4
Match the encoder's lower bound to the PlatformIO era guard, drop the unused logger
...
<= 2.6.2 instead of < 2.6.3: a 2.6.2 pre-release sorts above 2.6.2 and
belongs to the package-major-3 encoding, so the helper now describes
the same set as _format_framework_arduino_version and a 2.6.2-b1 pin
formats as it does on dev. The module never logged, so its _LOGGER and
logging import go.
2026-08-21 14:32:27 -05:00
J. Nick Koston
d07ed5b397
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 14:12:33 -05:00
J. Nick Koston
b4514e5af2
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 14:12:33 -05:00
J. Nick Koston
93a768531d
Anchor the 4.x error to the version key, bound the encoder, build PATH without empty entries
...
cv.Invalid now carries path=[CONF_VERSION] so the rejection lands on
the framework version line the comment promised, matching the esp32
convention. framework_package_version raises for cores before 2.6.3
instead of encoding them wrongly for a caller that skipped the
PlatformIO path's era guard. get_build_env joins PATH from filtered
parts so an absent PATH cannot leave a trailing separator that the
shell reads as the current directory.
2026-08-21 14:12:20 -05:00
esphome[bot] and GitHub
abc9098bd8
Bump bundled esphome-device-builder to 1.12.3 ( #18601 )
2026-08-21 14:05:00 -05:00
J. Nick Koston
7c2254d8ee
Refuse knob-plus-raw define splits, lex build flags once, harden the ld cache
...
A raw MMU_* define alongside a PIO_FRAMEWORK_ARDUINO_MMU_* knob, or a
raw TCP_MSS/LWIP_* alongside the lwIP knobs, would win the compile line
while the linker script or prebuilt library keeps the knob's values;
both now raise like the no-knob case. _MMU_VARIANTS holds tuples and the
resolved config gets a copy, so nothing aliases the module table.
_lexed_build_flags lexes once and both consumers accept the tokens, so
a malformed entry warns once per build. The linker-script stamp covers
the header's size and mtime, an unreadable or non-UTF-8 cache
regenerates instead of aborting, plain-form linker flags warn that they
are not routed to the link line, and a moved rate-table anchor surfaces
as a named build error.
2026-08-21 13:32:12 -05:00
J. Nick Koston
4898dc0800
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 13:13:15 -05:00
J. Nick Koston
e3cf2407ca
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 13:13:15 -05:00
J. Nick Koston
bfeb27cd2a
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 13:13:15 -05:00
J. Nick Koston
45cbe0aa4b
Parse IDF_CCACHE_ENABLE strictly through the shared helper, fix the ccache docstrings
...
parse_enable_env carries the 1/true/yes/on and 0/false/no/off table for
both knobs, so IDF_CCACHE_ENABLE=off disables instead of reading as
truthy and suppressing the shared opt-out. The ccache module docstring
and the ESP-IDF _ccache_env docstring now describe the precedence this
PR actually ships, and the probe test duplicated by the helper move is
dropped from the PlatformIO toolchain tests.
2026-08-21 13:12:57 -05:00
J. Nick Koston
84de74663c
Cover the testing-mode flash-ld OSError guard
2026-08-21 13:06:33 -05:00
Kevin Ahrendt and GitHub
00cffa09a2
[sendspin] Convert tests to package-style includes ( #18588 )
2026-08-21 13:05:07 -05:00
J. Nick Koston
937c69e420
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 12:57:45 -05:00
J. Nick Koston
211889cfb6
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 12:57:45 -05:00
J. Nick Koston
784cf6819f
Refuse inconsistent memory-layout configs, validate the cached linker script
...
Unknown or conflicting VTABLES_IN_* defines raise instead of warning
and picking arbitrarily (a typo previously won the sorted pick and died
in the SDK header's #error). Custom MMU sizes without the CUSTOM knob
raise too: PlatformIO warns but its defaults win the compile line,
while here the user's tokens would win and compile against a layout the
linker script does not implement. The cached linker script is re-checked
for its SECTIONS block so a truncated file regenerates, the
testing-mode flash-ld read gets the same OSError guard as the gcc
spawn, the ParseFlags docstring states its actual coverage, and the ld
test mocks are quiet so the clean path asserts no warnings.
2026-08-21 12:55:23 -05:00
J. Nick Koston
4af70c3a4d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 12:53:46 -05:00
J. Nick Koston
0cb307aea5
Type the platform rejection, prefer bundled deps, parse manifests strictly
...
check_library_data's platform filter raises IncompatiblePlatform (an
InvalidLibrary subclass) so the arduino backend branches on the type
instead of substring-matching the message. The {"Wire": "*"} dict
shorthand resolves to the bundled library like PIO's
process_dependencies instead of a registry lookup. libArchive parses
booleans and true/false strings and warns on anything else (bool(str)
made "false" archive). A declared-but-falsy srcDir raises instead of
silently probing. The converter-drop warning names the missing requests,
and the bundled-walk comment states what PIO actually does.
2026-08-21 12:53:39 -05:00
J. Nick Koston
1f1cab9c37
Anchor the 4.x rejection to the framework version line, isolate the ccache env test
...
The installer's EsphomeError becomes cv.Invalid at the config
validator, and test_ccache_env clears the ambient environment so a
developer's exported CCACHE_DIR cannot fail it.
2026-08-21 12:51:09 -05:00
J. Nick Koston
a7febfbf05
Track the per-platform shell quoting in the requote drift test
2026-08-21 12:26:23 -05:00
J. Nick Koston
6d23a2c9e5
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 12:25:14 -05:00
J. Nick Koston
e12795c285
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 12:25:14 -05:00
J. Nick Koston
85335de839
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 12:25:13 -05:00
J. Nick Koston
0f7cd3fada
Single-quote POSIX shell tokens, share the tool probe, harden registry checks
...
shell_token now picks the quoting style per platform: single quotes on
POSIX (sh expands nothing inside them, so backslash runs, $VAR, and
backticks reach the compiler exactly as lexed, matching SCons's
no-shell spawn) and the CreateProcess argv rule on Windows. A test
round-trips every case through a real /bin/sh.
The ninja and ccache runnability probes collapse into one
tool_version_runs helper in framework_helpers. The registry names a
non-dict top-level payload like the inner guards, and the expect layout
check also runs on marker hits so a marked install that later lost
files fails by name. The ESP-IDF ccache gate defers to
resolve_ccache_path so ESPHOME_CCACHE_ENABLE=0 disables ccache there
too, with IDF_CCACHE_ENABLE still taking precedence.
2026-08-21 12:25:03 -05:00
J. Nick Koston
78a41161cb
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 11:14:35 -05:00
J. Nick Koston
01600d0abd
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 11:14:35 -05:00
J. Nick Koston
653f9e8f2a
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 11:14:35 -05:00
J. Nick Koston
510f667bd1
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-21 11:14:35 -05:00
J. Nick Koston
c93cf55967
Skip the cache refresh when the CLI toolchain differs from the compile's
...
Platforms normalize toolchain-sensitive keys differently (the esp32
board name, for one), so a config validated under a mismatching
--toolchain must not overwrite the cache while the sidecar keeps the
compile's toolchain. The guard lives in _refresh_sidecar where the old
sidecar is already loaded; legacy sidecars without the field are
unaffected.
2026-08-21 11:14:26 -05:00
Jesse Hills and GitHub
aa944456e0
[core] Add type annotations to component Python (6/11) ( #18343 )
2026-08-21 11:11:52 -05:00
Jonathan Swoboda and GitHub
409d74a48d
[esp32_hosted] Fire on_update_available trigger when update is detected ( #18591 )
2026-08-21 11:53:44 -04:00
J. Nick Koston
9bd83e5d2d
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 09:58:44 -05:00
J. Nick Koston
3a2bd29c15
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 09:58:44 -05:00
J. Nick Koston
f3f6fe8a7d
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 09:58:44 -05:00
J. Nick Koston
efe1b0e744
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-21 09:58:44 -05:00
J. Nick Koston
6cb446baf8
State what the cache refresh actually writes
...
The comment claimed the refresh's sidecar records the CLI toolchain;
_refresh_sidecar returns early when a compile-written sidecar exists,
so the compile's toolchain stands. Reword the comment and the test
docstring to match.
2026-08-21 09:58:32 -05:00
J. Nick Koston
0fa081cd80
Name malformed registry elements, parse ESPHOME_CCACHE_ENABLE strictly, require a package layout check
...
Registry version and file entries that are not dicts now raise the same
Unexpected-response error as the other shape guards instead of an
AttributeError traceback. install_package rejects an empty expect so
every install is layout-validated before the marker is written.
ESPHOME_CCACHE_ENABLE values outside 1/true/yes/on and 0/false/no/off
warn and are treated as unset instead of bool(str) flipping them to
enabled. The strip_win_long_path_prefix test moved next to the function
in test_framework_helpers, and a stale comment naming its old module is
fixed.
2026-08-21 09:58:16 -05: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
J. Nick Koston
b8ce65282e
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 09:36:00 -05:00
J. Nick Koston
5587e34a8c
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 09:36:00 -05:00
J. Nick Koston
8fd8766167
Sandbox ESPHOME_ARDUINO8266_PREFIX in the writer test isolation fixture
...
The autouse fixture pinned the idf and sdk-nrf prefixes but not the new
arduino8266 one, so running the suite with that env var exported deleted
the pointed-to install. Also adds the clean_all removal test the other
two native installs already have.
2026-08-21 09:35:53 -05:00
J. Nick Koston
225c62dbf1
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-21 01:05:51 -05:00
J. Nick Koston
bb77ad01eb
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-21 01:05:51 -05:00
J. Nick Koston
2da961f560
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-21 01:05:51 -05:00
J. Nick Koston
0b0194cf41
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-21 01:05:51 -05:00
J. Nick Koston
8b9773c4bd
Gate only the cache read on an explicit CLI toolchain, keep the refresh
...
The upload/logs cache split: an explicit --toolchain still skips the
read and runs the per-platform validators, but the freshly validated
config is saved again so a later plain run keeps the fast path (the
sidecar records the resolved toolchain). check_supported_toolchain is
module-private now since it has no caller outside config_validation,
and require_platformio_toolchain's docstring describes what actually
happens when another platform's toolchain is passed.
2026-08-21 01:05:38 -05:00
J. Nick Koston
cd2ab6e78b
Join unflag tokens, filter knobs by unflags, pin every table verbatim, guard degenerate ld output and empty lib flags
2026-08-20 23:57:45 -05:00
J. Nick Koston
e5a7243b7b
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 23:55:47 -05:00
J. Nick Koston
662978c402
Name dropped requests and non-platform dependency rejections, correct the dot_a_linkage attribution
2026-08-20 23:55:38 -05:00
J. Nick Koston
e6bf3e0e8f
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 23:55:19 -05:00
J. Nick Koston
078bcba473
Backend-neutral unsupported-core message, pin the PIO source formatter
2026-08-20 23:55:15 -05:00
J. Nick Koston
85acafb646
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 23:54:17 -05:00
J. Nick Koston
18a2aa2097
Probe the PATH ninja, chain import errors, harden registry payload checks, honest ccache docstring
2026-08-20 23:53:40 -05:00
J. Nick Koston
d18b778462
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 23:47:51 -05:00
J. Nick Koston
d58291945c
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 23:47:51 -05:00
J. Nick Koston
88f1c4474f
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 23:47:51 -05:00
J. Nick Koston
6ed01b06c3
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 23:47:51 -05:00
J. Nick Koston
24eb6354f9
Run validators when a CLI toolchain is given on the cache fast path, cover every LibreTiny family
2026-08-20 23:47:47 -05:00
J. Nick Koston
e220109c20
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 22:08:44 -05:00
J. Nick Koston
d8bdf2fc5b
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 22:08:43 -05:00
J. Nick Koston
355d02ee6a
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 22:08:43 -05:00
J. Nick Koston
f5ac480dff
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 22:08:43 -05:00
J. Nick Koston
19555e8eaf
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 22:08:43 -05:00
J. Nick Koston
d47dc0d992
Pin fingerprint stability and sensitivity behaviorally, note the platform pairing
2026-08-20 22:08:41 -05:00
J. Nick Koston
40c99b9c72
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 21:09:43 -05:00
J. Nick Koston
c448174ea9
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 21:09:43 -05:00
J. Nick Koston
6a363c1746
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 21:09:43 -05:00
J. Nick Koston
b0a214830a
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 21:09:43 -05:00
J. Nick Koston
38744e4222
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 21:09:43 -05:00
J. Nick Koston
9624abcd57
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 21:09:42 -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
d4031bf207
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 20:53:32 -05:00
J. Nick Koston
170a180458
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 20:53:32 -05:00
J. Nick Koston
5857bfcf52
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 20:53:32 -05:00
J. Nick Koston
378a01a838
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 20:53:31 -05:00
J. Nick Koston
e266a449e0
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 20:53:31 -05:00
J. Nick Koston
6a0ce046fd
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 20:53:31 -05:00
J. Nick Koston
6b6344b454
Cover the healthy post-compile idedata path
2026-08-20 20:53:30 -05:00
J. Nick Koston
64835cbf88
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 20:48:33 -05:00
J. Nick Koston
51f477e2c7
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 20:48:32 -05:00
J. Nick Koston
a0e82cd000
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 20:48:32 -05:00
J. Nick Koston
a56c465d6d
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 20:48:32 -05:00
J. Nick Koston
b3d908d10e
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 20:48:32 -05:00
J. Nick Koston
09fd3fb53b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 20:48:32 -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
4f1c08d3a4
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 20:46:31 -05:00
J. Nick Koston
d883ed5f8a
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 20:46:31 -05:00
J. Nick Koston
a255f3b07c
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 20:46:31 -05:00
J. Nick Koston
57b69cae81
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 20:46:30 -05:00
J. Nick Koston
9fccf1ce33
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 20:46:30 -05:00
J. Nick Koston
b8bb4453e0
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 20:46: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
611aa76f48
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 20:44:26 -05:00
J. Nick Koston
1ce0a456c9
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 20:44:26 -05:00
J. Nick Koston
c1a0ed0d46
Reject only unknown package majors: 2.6.3+ cores share the package-major-3 encoding
2026-08-20 20:44:24 -05:00
J. Nick Koston
68db655047
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 20:41:36 -05:00
J. Nick Koston
fdbd4157ff
Carry lib_archive, warn on unresolvable deps, unquote rsp lines, fail empty archives, note deviations
2026-08-20 20:41:17 -05:00
J. Nick Koston
eb0cb06951
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 20:39:33 -05:00
J. Nick Koston
4969d9bf4a
Pin the lx106 layout, reject non-3.x cores, pin installer args, delegate ccache policy tests
2026-08-20 20:39:20 -05:00
J. Nick Koston
1c5441b69e
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 20:38:30 -05:00
J. Nick Koston
ec8437fea2
Quote empty tokens, honest docstrings, strict registry payloads, required layout checks, honest patch targets
2026-08-20 20:38:09 -05:00
J. Nick Koston
8513dfeebd
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 20:36:32 -05:00
J. Nick Koston
b42babf749
Route platformio build_unflags natively, correct the gate and fallback comments
2026-08-20 20:35:49 -05:00
J. Nick Koston
e1c4984498
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 20:34:25 -05:00
J. Nick Koston
3063b9067a
State what the fingerprint test actually pins
2026-08-20 20:34:24 -05:00
J. Nick Koston
687291d92c
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 19:51:31 -05:00
J. Nick Koston
5b56867c71
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 19:51:31 -05:00
J. Nick Koston
a73180e073
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 19:51:30 -05:00
J. Nick Koston
b7a3181d13
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 19:51:28 -05:00
J. Nick Koston
1958746ae0
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 19:51:28 -05:00
J. Nick Koston
62c27826ee
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 19:51:27 -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
f1bd58c222
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 19:29:29 -05:00
J. Nick Koston
2a09cd81d3
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 19:29:29 -05:00
J. Nick Koston
cc3f9be805
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 19:29:29 -05:00
J. Nick Koston
b05efb0811
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 19:29:29 -05:00
J. Nick Koston
321bc3b459
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 19:29:28 -05:00
J. Nick Koston
84a3c39562
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 19:29:28 -05:00
J. Nick Koston
5cf2135038
Cover the warn-once dedup branch
2026-08-20 19:29:27 -05:00
J. Nick Koston
5838111107
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 19:25:46 -05:00
J. Nick Koston
5da6a2abeb
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 19:25:46 -05:00
J. Nick Koston
b3afd951fe
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 19:25:46 -05:00
J. Nick Koston
8dd065997f
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 19:25:46 -05:00
J. Nick Koston
13e84e9bff
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 19:25:45 -05:00
J. Nick Koston
7ad97697b2
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 19:25:45 -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
bed3389faf
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 19:02:47 -05:00
J. Nick Koston
4990093540
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 19:02:47 -05:00
J. Nick Koston
878883bb67
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 19:02:47 -05:00
J. Nick Koston
8c671ae8ea
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 19:02:46 -05:00
J. Nick Koston
ac1160de25
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 19:02:46 -05:00
J. Nick Koston
5cec72020f
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 19:02:46 -05:00
J. Nick Koston
ef2f16713a
Widen the post-compile idedata guard to every failure the comment promises
2026-08-20 19:02:35 -05:00
J. Nick Koston
fec60a7ff8
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 18:40:47 -05:00
J. Nick Koston
5605d079d4
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 18:40:46 -05:00
J. Nick Koston
0268abc1e4
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 18:40:46 -05:00
J. Nick Koston
c103e4d974
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 18:40:46 -05:00
J. Nick Koston
06fc234b12
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 18:40:46 -05:00
J. Nick Koston
12f8b14418
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 18:40:46 -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
e1cbe5e586
Sort flag iteration for reproducible defines, pin the flag tables, wrap a missing compiler cleanly
2026-08-20 18:28:26 -05:00
J. Nick Koston
a397fcf373
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 18:18:29 -05:00
J. Nick Koston
b0b3017d78
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 18:18:29 -05:00
J. Nick Koston
fdd2920dbc
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 18:18:29 -05:00
J. Nick Koston
47780fec6e
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
...
# Conflicts:
# esphome/platformio/toolchain.py
2026-08-20 18:18:26 -05:00
J. Nick Koston
c3e7d37d29
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 18:18:07 -05:00
J. Nick Koston
77fa411f04
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 18:18:07 -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 and GitHub
52bfc0efb1
[espnow] Fix dump_config crash when enable_on_boot is false ( #18572 )
2026-08-20 18:06:23 -05:00
J. Nick Koston
0c0f482acf
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 17:54:08 -05:00
J. Nick Koston
1bdddcc55e
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 17:54:08 -05:00
J. Nick Koston
73cd9f75b4
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 17:54:08 -05:00
J. Nick Koston
a5a1a017d0
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
...
# Conflicts:
# esphome/platformio/toolchain.py
2026-08-20 17:53:57 -05:00
J. Nick Koston
9f3df90dba
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 17:52:58 -05:00
J. Nick Koston
e20c43520b
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 17:52:57 -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
38cab9a775
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 17:30:37 -05:00
J. Nick Koston
b6ea116b16
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# tests/unit_tests/test_platformio_library.py
2026-08-20 17:30:36 -05:00
J. Nick Koston
eb38afb569
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 17:30:00 -05:00
J. Nick Koston
60896b3533
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 17:30:00 -05:00
J. Nick Koston
46baef5231
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 17:29:59 -05:00
J. Nick Koston
f93d46e684
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 17:29:59 -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
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
J. Nick Koston
e8482a3030
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 17:12:52 -05:00
J. Nick Koston
b2452fe397
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# tests/unit_tests/test_platformio_library.py
2026-08-20 17:12:49 -05:00
J. Nick Koston
14a58b788d
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 17:12:32 -05:00
J. Nick Koston
454f299cd2
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 17:12:31 -05:00
J. Nick Koston
70a3880c9f
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 17:12:31 -05:00
J. Nick Koston
8008eda57f
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 17:12:31 -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
esphome[bot] and GitHub
ece90ee97b
Bump bundled esphome-device-builder to 1.12.2 ( #18573 )
2026-08-20 16:59:30 -05:00
J. Nick Koston
f91b1bc84e
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:56:37 -05:00
J. Nick Koston
88a5cdb53c
Bare flags in the manifest fixture join within an entry, as ParseFlags does
2026-08-20 16:56:36 -05:00
J. Nick Koston
3943f24e55
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:55:09 -05:00
J. Nick Koston
70cf20640c
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/espidf/component.py
2026-08-20 16:54:55 -05:00
J. Nick Koston
8af1b9a523
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:54:39 -05:00
J. Nick Koston
9c543c9776
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:54:39 -05:00
J. Nick Koston
fd47d5bcd2
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:54:39 -05:00
J. Nick Koston
57b7f03e42
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:54:39 -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
25e145362c
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:51:30 -05:00
J. Nick Koston
370f83769c
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:51:30 -05:00
J. Nick Koston
96aabe428a
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:51:30 -05:00
J. Nick Koston
cb2dfddf17
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:51:30 -05:00
J. Nick Koston
20f0e37f43
Cover the unresolved-toolchain ordering guard
2026-08-20 16:51:29 -05:00
J. Nick Koston
5fa5b93201
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:46:52 -05:00
J. Nick Koston
8e25bfddb2
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:46:52 -05:00
J. Nick Koston
f4eefa111d
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:46:52 -05:00
J. Nick Koston
2bbca6229a
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:46:51 -05:00
J. Nick Koston
a50c4db187
Type the toolchain factories, guard the legacy libretiny stub, tighten the gate comments
2026-08-20 16:46:48 -05:00
J. Nick Koston
d1889d09da
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:34:32 -05:00
J. Nick Koston
e918d37aa8
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:34:31 -05:00
J. Nick Koston
1ecbb57b24
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:34:31 -05:00
J. Nick Koston
2e0b330366
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:34:31 -05:00
J. Nick Koston
aea97d1022
Cover the arduino toolchain predicate
2026-08-20 16:34:21 -05:00
J. Nick Koston
41cb973eee
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:30:27 -05:00
J. Nick Koston
6392620f6c
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:30:27 -05:00
J. Nick Koston
65f5c302c5
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:30:26 -05:00
J. Nick Koston
16be3b1bbb
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:30:26 -05:00
J. Nick Koston
84940f1726
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:30:26 -05:00
J. Nick Koston
519ea38d73
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:30:26 -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
d80bfb39d2
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:25:49 -05:00
J. Nick Koston
7f033fd993
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:25:49 -05:00
J. Nick Koston
51af18cdfb
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:25:48 -05:00
J. Nick Koston
efacdd57ac
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:25:48 -05:00
J. Nick Koston
2280d3352d
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:25:48 -05:00
J. Nick Koston
0fad14be59
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:25:48 -05:00
J. Nick Koston
57a9c71da8
Cover the malformed build.flags rejection
2026-08-20 16:25:47 -05:00
J. Nick Koston
2579c11889
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:24:56 -05:00
J. Nick Koston
04422a0437
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
...
# Conflicts:
# esphome/platformio/library.py
2026-08-20 16:24:54 -05:00
J. Nick Koston
3d8a3c6527
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:24:32 -05:00
J. Nick Koston
e618c99f7d
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:24:32 -05:00
J. Nick Koston
89df2787f2
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:24:32 -05:00
J. Nick Koston
53f1cc116a
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:24:32 -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
1576a592e2
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:20:45 -05:00
J. Nick Koston
e121fd3a37
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:20:45 -05:00
J. Nick Koston
c8e816bf48
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:20:45 -05:00
J. Nick Koston
53935615f1
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:20:45 -05:00
J. Nick Koston
360c51329c
Cover the native-toolchain predicate
2026-08-20 16:20:37 -05:00
J. Nick Koston
52aafc3af6
Drop the escaping test superseded by the shared ninja module tests
2026-08-20 16:20:19 -05:00
J. Nick Koston
57561e5a4d
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:14:04 -05:00
J. Nick Koston
10b13558c3
Line-oriented rspfile expansion, adopt the public manifest parser, document the dependency policy
2026-08-20 16:13:55 -05:00
J. Nick Koston
2e183f262b
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:13:21 -05:00
J. Nick Koston
d82c2eaeb1
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:13:21 -05:00
J. Nick Koston
37de984df5
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 16:13:20 -05:00
J. Nick Koston
c96c05eea4
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-build-infra
2026-08-20 16:13:20 -05:00
J. Nick Koston
2cf4087e2f
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:13:20 -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
80815f1dc7
Make parse_library_json public alongside its properties sibling
2026-08-20 16:12:52 -05:00
J. Nick Koston
0d794ce678
Lex every build flag entry, warn on custom MMU sizes without the knob, note the scanf omission
2026-08-20 16:10:02 -05:00
J. Nick Koston
5b19c139cb
Force-quote shell metacharacters outside the safe token set
2026-08-20 16:09:09 -05:00
J. Nick Koston
0171af9f67
Adopt the shared ninja quoting helpers and typed install paths in the build spec
2026-08-20 16:07:22 -05:00
J. Nick Koston
e187522490
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
2026-08-20 16:06:32 -05:00
J. Nick Koston
6982cfeb9a
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:06:32 -05:00
J. Nick Koston
57c956dfc3
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:06:32 -05:00
J. Nick Koston
79b8bf2657
Carry the ninja escaping and quoting helpers with tests
2026-08-20 16:06:30 -05:00
J. Nick Koston
e95869c656
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 16:05:20 -05:00
J. Nick Koston
f9705772bb
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 16:05:19 -05:00
J. Nick Koston
e36b8c5446
Point the ccache probe patch at its new module
2026-08-20 16:04:43 -05:00
J. Nick Koston
9c52c349d6
Merge branch 'esp8266-native-build-infra' into esp8266-native-framework-installer
...
# Conflicts:
# esphome/components/nrf52/framework.py
# esphome/espidf/framework.py
# esphome/framework_helpers.py
# esphome/platformio/toolchain.py
2026-08-20 16:04:05 -05:00
J. Nick Koston
d4861d89b0
Add the shared registry, ninja, ccache, and tools-cache infrastructure for native toolchains
2026-08-20 16:03:38 -05:00
J. Nick Koston
3166136db0
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 16:02:03 -05:00
J. Nick Koston
8f5f349e1b
Pin the decoy anchor, guard unselected segments, fingerprint the module source
2026-08-20 16:01:06 -05:00
J. Nick Koston
83b4da1777
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 15:59:10 -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
219bf6ff71
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 15:55:02 -05:00
J. Nick Koston
7796911837
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 15:55:02 -05:00
J. Nick Koston
e6debb980d
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-framework-installer
2026-08-20 15:55:01 -05:00
J. Nick Koston
b3d5fccba5
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 15:55:01 -05:00
J. Nick Koston
6a84d67786
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 15:55:01 -05:00
J. Nick Koston
6476fcbe1c
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 15:46:48 -05:00
J. Nick Koston
d4e3603a19
Drop the dead name injection and pass board_mcu lazily
2026-08-20 15:46:39 -05:00
J. Nick Koston
e032f37e04
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 15:46:18 -05:00
J. Nick Koston
b90aeb17e3
Hoist find_ninja to build_helpers, type the installed paths, dedupe espidf ccache env
2026-08-20 15:46:07 -05:00
J. Nick Koston
3a51514fc1
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-framework-installer
2026-08-20 15:44:34 -05:00
J. Nick Koston
6ad3e0d8ad
Add toolchain validator factories and a native-toolchain predicate
2026-08-20 15:44:23 -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
4ef65315de
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 15:27:09 -05:00
J. Nick Koston
857bcaef4d
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 15:27:09 -05:00
J. Nick Koston
5a5496f7f7
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-framework-installer
...
# Conflicts:
# esphome/platformio/toolchain.py
2026-08-20 15:26:58 -05:00
J. Nick Koston
9d9953ea47
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 15:26:39 -05:00
J. Nick Koston
7d9c18a330
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 15:26:38 -05:00
J. Nick Koston
ca47309a36
Move the Arduino library backend to esphome/arduino and close_fds the ar shim
2026-08-20 15:26:17 -05:00
J. Nick Koston
113259275c
Move the PlatformIO registry installer to esphome.platformio.registry and transliterate get_systype
2026-08-20 15:25:12 -05:00
dependabot[bot] and GitHub
4cfa4893ef
Bump docker/setup-buildx-action from 4.2.0 to 4.3.0 in the docker-actions group ( #18564 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-20 15:24:28 -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
1094e3e085
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 15:13:08 -05:00
J. Nick Koston
2508899cad
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 15:13:08 -05:00
J. Nick Koston
d9cea818b4
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 15:12:49 -05:00
J. Nick Koston
38b6f222b5
Use a host table and the shared downloader for registry metadata
2026-08-20 15:12:37 -05:00
dependabot[bot] and GitHub
edd4a86d14
Bump prek from 0.4.13 to 0.4.14 ( #18563 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-20 15:02:15 -05:00
Jesse Hills and GitHub
44dcd82d78
[mipi_spi] Toggle D/C only while holding the SPI bus ( #18529 )
2026-08-21 07:58:11 +12:00
Jesse Hills and GitHub
12da2140cf
[core] Add type annotations to component Python (11/11) ( #18348 )
2026-08-21 07:57:14 +12:00
Jesse Hills and GitHub
c006e9804a
[core] Add type annotations to component Python (9/11) ( #18346 )
2026-08-21 07:56:48 +12:00
6343c11873
[core] Add type annotations to component Python (5/11) ( #18342 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-21 07:56:02 +12:00
J. Nick Koston
8bbaa09891
Expand ar response files in the shim and honor bundled library.json manifests
2026-08-20 14:46:09 -05:00
J. Nick Koston
976a5ed988
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 14:44:21 -05:00
J. Nick Koston
c72de504fd
Hard install lock, ninja-first install order, enforced floor, backoff, and by-name host failures everywhere
2026-08-20 14:43:48 -05:00
J. Nick Koston
ff167e5193
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-framework-installer
2026-08-20 14:41:55 -05:00
J. Nick Koston
2861cbb749
Harden the shared toolchain check and pin every platform family's rejection
2026-08-20 14:41:23 -05:00
J. Nick Koston
8bf699cf79
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 14:39:21 -05:00
J. Nick Koston
375cf95240
Anchor the segment regex, reject unknown segments, and pin real-script fixtures
2026-08-20 14:38:25 -05:00
J. Nick Koston
796172ce1a
Merge branch 'esp8266-native-framework-installer' into esp8266-native-build-spec
2026-08-20 14:24:42 -05:00
J. Nick Koston
f5fc145dd3
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 14:24:42 -05:00
J. Nick Koston
f44398b09e
Fix the remaining ccache probe patch target
2026-08-20 14:24:28 -05:00
J. Nick Koston
cd0c3bb069
Keep the spec half honest: fingerprint-stamped ld cache, MMU table, emission helpers deferred
2026-08-20 14:19:53 -05:00
J. Nick Koston
9d54e87c70
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 14:17:02 -05:00
J. Nick Koston
d64592d2ea
Simplify library classification, share the manifest flag lexing, and home the build tool with the generators
2026-08-20 14:16:46 -05:00
J. Nick Koston
102973524e
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 14:14:47 -05:00
J. Nick Koston
1307cc25c5
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 14:14:44 -05:00
J. Nick Koston
353ef2dee1
Merge branch 'esp8266-native-build-surgery' into esp8266-native-framework-installer
2026-08-20 14:14:44 -05:00
J. Nick Koston
18e3eac419
Export a surgery fingerprint for linker-script cache stamps
2026-08-20 14:14:32 -05:00
J. Nick Koston
b3faae60f2
Merge branch 'esp8266-native-framework-installer' into esp8266-native-build-spec
2026-08-20 14:07:48 -05:00
J. Nick Koston
18f39a0e53
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 14:07:48 -05:00
J. Nick Koston
d9cc72c650
Point the ccache tests at the shared helpers
2026-08-20 14:07:34 -05:00
J. Nick Koston
87276a8ca5
Merge branch 'esp8266-native-framework-installer' into esp8266-native-build-spec
2026-08-20 14:04:53 -05:00
J. Nick Koston
f0f9af2ad6
Merge branch 'esp8266-native-framework-installer' into esp8266-native-library-backend
2026-08-20 14:04:53 -05:00
J. Nick Koston
0fe9d87124
Share the ccache and tools-path helpers across the native backends
2026-08-20 14:04:38 -05:00
J. Nick Koston
5398ca98eb
Merge branch 'esp8266-native-toolchain-plumbing' into esp8266-native-framework-installer
2026-08-20 13:59:14 -05:00
J. Nick Koston
bbf2788684
Share one unsupported-toolchain check across platforms
2026-08-20 13:58:46 -05:00
J. Nick Koston
c7e1d044a3
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 13:57:53 -05:00
J. Nick Koston
0620ce81c3
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 13:57:51 -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
0d3333f245
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 13:49:09 -05:00
J. Nick Koston
03d5b131ca
Adopt the relocated extraScript helper and its neutral parameter
2026-08-20 13:48:56 -05:00
J. Nick Koston
0ed4c47b66
Adopt the exact-segments surgery API
2026-08-20 13:48:16 -05:00
J. Nick Koston
3ac8ff1176
Merge branch 'esp8266-native-build-surgery' into esp8266-native-library-backend
2026-08-20 13:44:30 -05:00
J. Nick Koston
8e5b9dca03
Merge branch 'esp8266-native-library-backend' into esp8266-native-build-spec
2026-08-20 13:44:30 -05:00
J. Nick Koston
fa45c4a016
Merge branch 'esp8266-native-build-surgery' into esp8266-native-framework-installer
2026-08-20 13:44:29 -05:00
J. Nick Koston
3d7c0eac57
Merge branch 'esp8266-native-build-surgery' into esp8266-native-toolchain-plumbing
2026-08-20 13:44:29 -05:00
J. Nick Koston
e3936f500f
Patch exactly the named segments and share the segment-line pattern
2026-08-20 13:44:12 -05:00
J. Nick Koston
cea86989c9
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 13:42:37 -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
c5afb0b665
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-spec
2026-08-20 13:35:43 -05:00
J. Nick Koston
8f9aca154f
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-library-backend
2026-08-20 13:35:42 -05:00
J. Nick Koston
1db7309f4a
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-framework-installer
2026-08-20 13:35:42 -05:00
J. Nick Koston
1d0a1d2b38
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-toolchain-plumbing
2026-08-20 13:35:42 -05:00
J. Nick Koston
46fa42fa33
Merge branch 'esp8266-native-shared-helpers' into esp8266-native-build-surgery
2026-08-20 13:35:42 -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
61e32230d9
Add the ESP8266 native build spec (knobs, defines, flags, linker scripts)
2026-08-20 13:02:52 -05:00
J. Nick Koston
82c3c1f50a
Add the ESP8266 native library backend
2026-08-20 12:59:10 -05:00
J. Nick Koston
3e77654719
Add the ESP8266 Arduino framework and toolchain installer
2026-08-20 12:58:06 -05:00
J. Nick Koston
04ad9524f5
Add the arduino toolchain enum and validate --toolchain on every platform
2026-08-20 12:56:34 -05:00
J. Nick Koston
72da2b1ce2
Add the ESP8266 linker-script surgery and board build metadata
2026-08-20 12:53:50 -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
47942fb166
Note the upstream spelling in the format_bar citation
2026-08-20 12:47:54 -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
7fe4399b94
[esp32] Grow the default IDF component exclusion list ( #18536 )
2026-08-20 16:11:53 +00:00
Jesse Hills and GitHub
545f762568
[core] Add type annotations to component Python (8/11) ( #18345 )
2026-08-20 12:08:26 -04:00
Jesse Hills and GitHub
e83439eaae
[core] Add type annotations to component Python (7/11) ( #18344 )
2026-08-20 12:07:10 -04:00
Jesse Hills and GitHub
b6a9761dae
[core] Add type annotations to component Python (4/11) ( #18341 )
2026-08-20 10:59:51 -04:00
Jesse Hills and GitHub
fbe4b39a16
[core] Add type annotations to component Python (3/11) ( #18340 )
2026-08-20 10:58:58 -04:00
ecca240eef
[core] Add type annotations to component Python (2/11) ( #18339 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-20 14:26:16 +00:00
J. Nick Koston and GitHub
347a6155f8
[uptime] Skip the timestamp sensor source when no time component is configured ( #18535 )
2026-08-20 10:07:17 -04: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
2d62ea78d2
[ota] Skip partition-access OTA sources when the feature is disabled ( #18532 )
2026-08-20 10:00:11 -04:00
J. Nick Koston and GitHub
8ef0f38f4e
[ethernet] Skip the custom W5500 SPI driver for other ethernet types ( #18533 )
2026-08-20 09:59:30 -04:00
Jesse Hills and GitHub
3c47ab42d6
[core] Add type annotations to component Python (1/11) ( #18338 )
2026-08-20 09:55:15 -04:00
Alar Aun and GitHub
aafeca5859
[modbus_controller] Brace single-statement log bodies to fix -Wempty-body ( #18543 )
2026-08-20 09:54:28 -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
esphome[bot] and GitHub
5e9de7c94b
Bump bundled esphome-device-builder to 1.12.1 ( #18541 )
2026-08-20 00:00:44 -05:00
Markus Häll and GitHub
b7d0b676fc
[wifi] Take the lwIP core lock around sntp_servermode_dhcp() ( #18511 )
2026-08-19 23:31:27 -05:00
Jesse Hills
55b45fc6fb
Merge branch 'release' into dev
2026-08-20 14:32:46 +12:00
Jesse Hills and GitHub
6f8dbb6fbc
Merge pull request #18527 from esphome/bump-2026.8.0
...
2026.8.0
2026-08-20 14:32:15 +12:00
J. Nick Koston and Jesse Hills
ca97c86d65
[ci] Install requirements_dev.txt when the venv cache misses ( #18502 )
2026-08-20 13:12:33 +12:00
Jesse Hills
828eac90f3
Bump version to 2026.8.0
2026-08-20 11:51:59 +12:00
J. Nick Koston and Jesse Hills
d9359a70c1
[tests] Keep PlatformIO libdeps per xdist worker to stop a compile race ( #18524 )
2026-08-20 11:51:57 +12:00
Jesse Hills
29404a782c
Merge branch 'beta' into dev
2026-08-20 10:32:46 +12:00
Jesse Hills and GitHub
e75a7a61fa
Merge pull request #18523 from esphome/bump-2026.8.0b6
...
2026.8.0b6
2026-08-20 10:32:26 +12:00
J. Nick Koston and GitHub
185f12266a
[tests] Keep PlatformIO libdeps per xdist worker to stop a compile race ( #18524 )
2026-08-19 17:29:10 -05:00
J. Nick Koston and Jesse Hills
c455991962
[ci] Key PlatformIO cache on the Python version so a runner image bump does not serve a broken LibreTiny venv ( #18512 )
2026-08-20 09:38:44 +12:00
Jesse Hills
f735dcadc0
Bump version to 2026.8.0b6
2026-08-20 09:33:05 +12:00
J. Nick Koston and Jesse Hills
78a65eabdc
[ci] Stop jobs hanging on apt by restoring the cached apt action and bounding raw apt calls ( #18518 )
2026-08-20 09:33:03 +12:00
b3fda9973e
[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-20 09:33:03 +12:00
esphome[bot] and Jesse Hills
4a85c98285
Bump bundled esphome-device-builder to 1.12.0 ( #18514 )
2026-08-20 09:33:03 +12:00
esphome[bot] and Jesse Hills
2c92a2498e
Bump bundled esphome-device-builder to 1.11.5 ( #18507 )
2026-08-20 09:33:03 +12:00
esphome[bot] and Jesse Hills
74e22b5ad7
Bump bundled esphome-device-builder to 1.11.4 ( #18506 )
2026-08-20 09:33:03 +12:00
esphome[bot] and Jesse Hills
e9e77d02a0
Bump bundled esphome-device-builder to 1.11.3 ( #18505 )
2026-08-20 09:33:03 +12:00
Jonathan Swoboda and Jesse Hills
7418fcce8d
[ci] Stop persisting the integration test ccache ( #18504 )
2026-08-20 09:33:03 +12:00
Jonathan Swoboda and Jesse Hills
b768e2a1ce
[esp32] Fix ESP32-P4 bootloop on rev3 (v3.x) chips when only variant is set ( #18500 )
2026-08-20 09:33:03 +12:00
J. Nick Koston and Jesse Hills
6084314cc9
[vscode] Report the origin of an unexpected exception during validation ( #18494 )
2026-08-20 09:33:03 +12:00
J. Nick Koston and Jesse Hills
2df953f3d7
[platformio] Give the ccache wrapper a cmd.exe safe path ( #18495 )
2026-08-20 09:33:03 +12:00
10e592fa3a
[modbus] CRC scan all unknown function codes ( #18483 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-08-20 09:33:03 +12:00
J. Nick Koston and Jesse Hills
a99a8f364e
[api] Bump noise-c to 0.1.21 ( #18484 )
2026-08-20 09:33:03 +12:00
J. Nick Koston and Jesse Hills
200a1644a5
[ci] Fail the benchmark job when the C++ benchmark build fails ( #18480 )
2026-08-20 09:33:03 +12:00
J. Nick Koston and Jesse Hills
9daae377fc
[api] Bump noise-c to 0.1.20 ( #18482 )
2026-08-20 09:33:02 +12:00