Commit Graph
17758 Commits
Author SHA1 Message Date
J. Nick Koston c7414e464a Try every image on a rollback and report all that stay, keep restoring the other files after a second interrupt 2026-09-30 01:57:15 +02:00
J. Nick Koston 27c6ca863f Cover a plain subdirectory in the shared secret scan 2026-09-30 01:54:32 +02:00
J. Nick Koston d32c74343d Scan the configuration once per run, place a merged key only by its value's line, drop every image on a rollback
One parse of the configuration and one walk of the directory per run,
with_sharers called once from the command, the secret name passed to
old_key_edit instead of found again, one !secret pattern, the encryption
not offered error folded into the branch it shared, the ota item filter
shared with __main__, and terser docstrings.
2026-09-30 01:47:15 +02:00
J. Nick Koston 84ae05b290 Discard the image built with the new key on a rollback, show the keys when an interrupt lands in the rollback 2026-09-30 01:33:29 +02:00
J. Nick Koston 3dc07bd565 [cli] Add rotate-key to change the OTA encryption key over the air
Builds on the line editor from #19410: the generic pieces it still needed
(insertion, apply with rollback, restore, editable file checks) go into
yaml_edit, the OTA key location and old_key handling into ota_key_edit,
and the command itself into esphome/cli/rotate_key.py.
2026-09-30 01:28:38 +02:00
J. Nick Koston 215fb68717 Say old_key can go only after run, whose image was just built from this config 2026-09-30 01:17:28 +02:00
J. Nick Koston 6faed242f2 Say the current key applies once the firmware has booted, warn when old_key was the key that worked 2026-09-30 01:17:28 +02:00
J. Nick Koston b4433bc031 Keep an invalid curve point a plain handshake error, not a key failure 2026-09-30 01:17:28 +02:00
J. Nick Koston 12cc1fd9fc Use the shared run_ota kwargs in the bare block test 2026-09-30 01:17:28 +02:00
J. Nick Koston ae8f104bf7 Never wait before an intentional reconnect, say when both keys were rejected 2026-09-30 01:17:28 +02:00
J. Nick Koston 6fe473f289 Report old_key obsolete only after an app image from this config, cover the fallback on a non key reject 2026-09-30 01:17:27 +02:00
J. Nick Koston 0d2b4b8daf Shorter docstring 2026-09-30 01:17:27 +02:00
J. Nick Koston 0a84057fed Retry with old_key only on a key failure, notice only after an app image, reject merged blocks with different old keys 2026-09-30 01:17:27 +02:00
J. Nick Koston d8079e4423 Reconnect at once with the old key, one rejection path, warn to remove old_key after the upload 2026-09-30 01:17:27 +02:00
J. Nick Koston 86d7793d13 [ota] Add old_key so an upload can retry with the previous key 2026-09-30 01:17:27 +02:00
J. Nick Koston c8f5180e4c Tell the user up front that a serial target ignores the key, and do not ask for it 2026-09-30 01:16:55 +02:00
J. Nick Koston 12028bb42f Ignore the presented key for a serial target and a host run instead of validating it 2026-09-30 01:16:55 +02:00
J. Nick Koston 45b0718d8a Skip the platform check only for a serial target; refuse the web_server platform up front otherwise 2026-09-30 01:16:55 +02:00
J. Nick Koston 5d96dc983d Leave a target picked in the chooser to upload_program, which refuses the key on the web_server path 2026-09-30 01:16:55 +02:00
J. Nick Koston 6c6825cfb0 Count the SERIAL selector as a serial target before the platform check 2026-09-30 01:16:55 +02:00
J. Nick Koston bc95925d24 Let a serial target through the platform check 2026-09-30 01:16:55 +02:00
J. Nick Koston 5bac38a9c9 Count configurations only for upload and run 2026-09-30 01:16:55 +02:00
J. Nick Koston 54b351682f Refuse one key for several configs, share the platform scan 2026-09-30 01:16:55 +02:00
J. Nick Koston 25b5c8ff43 Put the new test above the decorator it landed under 2026-09-30 01:16:54 +02:00
J. Nick Koston 52432c9516 Warn when the environment key goes to a command that never uploads, report a bad platform before the prompt 2026-09-30 01:16:54 +02:00
J. Nick Koston 556e2cac04 Cover the upload command taking the key 2026-09-30 01:16:54 +02:00
J. Nick Koston 4f1eab12c3 Scrub ESPHOME_OTA_KEY for every command, reject an empty value, keep serial configs without OTA working 2026-09-30 01:16:54 +02:00
J. Nick Koston d209a4758d Warn on every upload path that drops the key, show the prompt on a pipe, pin the prompt before compile 2026-09-30 01:16:54 +02:00
J. Nick Koston baac3db639 Accept the key from ESPHOME_OTA_KEY for calling programs 2026-09-30 01:16:54 +02:00
J. Nick Koston 8a7db59793 Refuse web_server before prompting and stub the prompt in tests 2026-09-30 01:16:54 +02:00
J. Nick Koston 0170786ec8 Test the prompted OTA key 2026-09-30 01:16:54 +02:00
J. Nick Koston 18421b6101 [cli] Add --prompt-ota-key to present a key other than the configured one 2026-09-30 01:16:53 +02:00
Keith BurzinskiandClaude Fable 5.1 ef0819f983 [nfc] Hold NDEF records in a fixed-size list (#19912)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-30 01:12:55 +02:00
J. Nick Koston 7187acec04 [core] Add a line based yaml editor and use it for rename (#19410) 2026-09-30 11:15:14 +13:00
J. Nick Koston 25ddc94d5d [web_server_idf] Build state documents in a stack arena so a state event does no heap allocation (#19383) 2026-09-30 11:10:40 +13:00
J. Nick Koston 5502f620d4 [web_server_idf] Send events straight from the caller's buffers instead of a std::string (#19376) 2026-09-30 11:10:40 +13:00
guillempagesandJ. Nick Koston 99c7f9e625 [runtime_image] Improve format logs (#19903)
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-09-29 23:28:28 +02:00
Clyde Stubbs 35d41adf86 [lvgl] Animation updates and debug borders option (#19420) 2026-09-30 07:20:13 +10:00
Keith BurzinskiandClaude Fable 5.1 662c7db222 [nfc] Pass tags to triggers by reference and keep the listener list in static storage (#19902)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-29 15:00:23 -05:00
dependabot[bot] 6b465443bc Bump filelock from 4.0.3 to 4.0.4 (#19905) 2026-09-29 21:48:38 +02:00
dependabot[bot] fc270cb90f Bump platformdirs from 4.11.14 to 4.12.0 (#19904) 2026-09-29 21:48:15 +02:00
J. Nick Koston 46be513a39 [core] Create the PlatformIO HTTP cache dir before the first registry lookup (#19906) 2026-09-29 19:34:38 +00:00
Jesse Hills cc6828f34f Merge branch 'release' into dev 2026-09-30 08:13:38 +13:00
Jesse Hills 0b2b16e664 Merge pull request #19872 from esphome/bump-2026.9.1
2026.9.1
2026.9.1
2026-09-29 20:12:00 +01:00
Bascht74andJonathan Swoboda a43d3382b5 [socket] Let Zephyr clang-tidy see the BSD socket implementation (#19901)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-09-29 13:58:12 -04:00
J. Nick Koston b8ba8aa1a8 [espidf] Run cmake and ninja directly instead of through idf.py (#19871) 2026-09-29 19:55:22 +02:00
J. Nick Koston a0f933ea60 [htu21d] Use the sub_* helpers for optional child entities (#19894) 2026-09-29 13:54:55 -04:00
J. Nick Koston b6cd92e915 [hmc5883l] Use the sub_* helpers for optional child entities (#19893) 2026-09-29 13:54:52 -04:00
J. Nick Koston 4618c73b05 [ccs811] Use the sub_* helpers for optional child entities (#19895) 2026-09-29 13:54:33 -04:00
J. Nick Koston 1b86959ee0 [inkbird_ibsth1_mini] Use the sub_* helpers for optional child entities (#19896) 2026-09-29 13:54:11 -04:00