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
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
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
guillempages and J. 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 Burzinski and Claude 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
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
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
55a7340d06
[esp8266] Make the native arduino toolchain the default ( #19886 )
2026-09-29 18:52:28 +02:00
J. Nick Koston
b22f2e6b4c
[core] Leave the precompiled header off on Windows for a GCC with bug 14940 ( #19875 )
2026-09-29 18:51:12 +02:00
J. Nick Koston
a7e0afeb46
[esp8266] Use our own Arduino core builds for the native toolchain ( #19876 )
2026-09-29 18:38:51 +02:00
J. Nick Koston
5be41dec15
[esp8266] Use our own compiler builds for the native toolchain ( #19849 )
2026-09-29 18:31:24 +02:00
J. Nick Koston
5fdb73aceb
[libretiny] Load the precompiled header on Apple Silicon Macs ( #19857 )
2026-09-29 18:26:40 +02:00
n-IA-hane and n-IA-hane
627832f7ba
[speaker_source] Account for playback callbacks during speaker writes ( #19499 )
...
Co-authored-by: n-IA-hane <n-IA-hane@users.noreply.github.com >
2026-09-29 10:36:37 -04:00
Christopher Pruijsen and Jonathan Swoboda
757a1c42f9
[dfrobot_sen0395] Fix output_latency treating milliseconds as seconds ( #19873 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-09-29 09:03:19 -04:00
54a9238425
[epaper_spi] reTerminal Sticky: Four-level grayscale for SSD1677 panels, and a full-refresh action ( #19213 )
...
Co-authored-by: Pierre <pierre@mysweethome.ch >
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
Co-authored-by: clydebarrow <2366188+clydebarrow@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-09-29 19:38:01 +10:00
J. Nick Koston
21c9604918
[network] Keep lwip off the PSRAM tier when Ethernet is configured ( #19367 )
2026-09-29 01:56:17 -05:00
Clyde Stubbs
2d6a7dae54
[mipi_rgb] Fix SWRESET delay for st7701s ( #17646 )
2026-09-29 09:40:39 +10:00
J. Nick Koston
30dc453dc1
[ethernet] Move received frames to PSRAM on SPI ethernet chips ( #19377 )
2026-09-29 10:30:51 +13:00
Clyde Stubbs
13c27429a4
[split_buffer] Allow direct access to buffer chunks ( #19819 )
2026-09-29 06:30:29 +10:00