J. Nick Koston
d1665c423d
Ack chunks after the flash write on the inflate path and harden the decoder
...
Chunk acks again mean the block is in flash on both paths: the read callback
writes and acks everything decoded so far before it waits for more input.
The decoder rejects a negative distance symbol, initialises its whole state,
and the flush feeds the watchdog once per window. The static_assert on the
backend skips the static analysis build, which sets every define at once.
2026-09-08 10:54:18 +02:00
J. Nick Koston
db55c1d43f
Trim the inflate glue and tie the deflate gate to the backend
...
Measured on ESP32: the decoder is 1472 B at -Os and cannot shrink without
dropping dynamic Huffman; the glue loses its extra log sites and strings,
the flash-write log is shared, and the single-call helpers inline on the
platforms without the decoder so the ESP8266 and RP2040 images do not grow.
supports_compression() is constexpr so the deflate build asserts that its
backend cannot store gzip.
2026-09-08 10:27:20 +02:00
J. Nick Koston
27a8768986
Use clang-tidy style names in the decoder header and name the wire constants
2026-09-08 10:16:11 +02:00
J. Nick Koston
a0398d120c
[ota] Let the RP2040 stage a gzip image and inflate it at reboot
...
The Arduino Pico OTA stub already detects a gzip firmware.bin on LittleFS,
reads the inflated length from the trailer and inflates it into the app
region at reboot, so the RP2040 takes the ESP8266 path and no longer needs
the on-the-fly decoder.
2026-09-08 10:11:21 +02:00
J. Nick Koston
deb63ea092
[esphome.ota] Compress OTA uploads with deflate on platforms without gzip support
...
ESP32, RP2040, LibreTiny and host could not receive a compressed image;
only the ESP8266 can, because its bootloader inflates a gzip file at reboot.
This inflates a raw deflate stream on the fly through a 4 KB ring window that
also serves as the output buffer, so the device never holds the whole image.
The CLI offers a new client feature bit; a device whose backend has no gzip
support and has the inflater compiled answers with a new server bit once the
session memory is in hand, then the CLI sends a 4 KB window deflate stream and
the MD5 of the inflated image. On allocation failure the device declines the
bit and the upload stays uncompressed. Old CLIs and old devices never set the
bits, so both directions stay compatible; the ESP8266 keeps its gzip path and
the CLI prefers gzip when a device offers both.
The decoder is uzlib's tinflate.c (zlib licence) trimmed to raw deflate.
2026-09-08 09:59:04 +02:00
raykholo
28588310e7
[anova] Re-assert temperature unit on every poll cycle ( #17141 )
2026-09-08 18:57:33 +12:00
10a9baff74
[rf_bridge] Fix bucket sniffing with Portisch firmware ( #17683 )
...
Co-authored-by: Bryan Li <bryanli@Bryans-MacBook-Pro.local >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-09-08 18:36:42 +12:00
Gytis
a23f7bb569
[lvgl] Add missing label dependency to qrcode, keyboard and tabview ( #18387 )
2026-09-08 18:31:30 +12:00
J. Nick Koston
53075e4139
[core] Skip PlatformIO's private-package authorization probe ( #18823 )
2026-09-08 16:42:30 +12:00
Jonathan Swoboda
5722ccba37
[tuya] Build without a network component ( #18948 )
2026-09-08 16:36:04 +12:00
Jesse Hills
94e5c3839d
[udp] Use cv.invalid for relocated packet_transport options ( #19032 )
2026-09-08 16:17:22 +12:00
Davide D M
574762f078
[debug] Check reboot source pref on ESP_RST_WDT and guard against empty source ( #17537 )
2026-09-08 13:59:05 +12:00
Pieter Viljoen and Jesse Hills
d34ffaf392
[ble_client] Report Established from nodes that never read services ( #17920 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-09-08 01:57:50 +00:00
Samuel Sieb and Samuel Sieb
e6aa575f2e
[dallas_temp] filter 85 temp from sensor reset ( #17877 )
...
Co-authored-by: Samuel Sieb <samuel@sieb.net >
2026-09-08 13:27:49 +12:00
AndreKR
639ce609bf
[logger] Fix garbled stack traces ( #17939 )
2026-09-08 13:13:51 +12:00
Ryan Ronnander
62eafc477d
[mqtt] Restore brightness flag in light discovery ( #18950 )
2026-09-08 13:09:02 +12:00
mipa87 and Claude
56c3361b9a
[audio] Do not treat MP3_STREAM_INFO_CHANGED as a fatal decoder error ( #19028 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-09-08 12:13:03 +12:00
50ca381198
[i2s_audio] Keep a start request that arrives while the speaker task stops ( #19027 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-09-08 12:10:55 +12:00
dependabot[bot]
89a56298c2
Bump prek from 0.5.1 to 0.5.2 ( #19021 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-08 00:00:28 +00:00
390742cf9b
Bump ruff from 0.16.5 to 0.16.6 ( #19022 )
...
Co-authored-by: esphome[bot] <115708604+esphome[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-07 23:47:46 +00:00
Jesse Hills and pre-commit-ci-lite[bot]
5e37872da2
[ci] Sync pre-commit revs and prek version from requirements files ( #19026 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-09-08 10:32:18 +12:00
Jesse Hills
d34d3994e1
Merge branch 'beta' into dev
2026-09-07 12:50:44 +12:00
Jesse Hills
9a877a067c
Merge pull request #19007 from esphome/bump-2026.9.0b2
...
2026.9.0b2
2026.9.0b2
2026-09-07 12:50:25 +12:00
Jesse Hills
9ba4477ada
Bump version to 2026.9.0b2
2026-09-07 10:46:22 +12:00
Jesse Hills
8434dc5474
[esp32_hosted] Add ESP-NOW-over-hosted shim for the ESP32-P4 ( #17712 )
2026-09-07 10:46:21 +12:00
J. Nick Koston
e0e85db822
[core] Show the other downloader's progress while a prefetch job waits on its lock ( #18983 )
2026-09-07 10:46:21 +12:00
J. Nick Koston
5d2ddc658c
[mdns] Guard LEAmDNS main loop calls against lwIP re-entrancy on ESP8266 ( #18990 )
2026-09-07 10:46:21 +12:00
J. Nick Koston
c1aa41f276
[noise] Bump noise-c to 0.1.24 and libsodium to 1.10021.6 ( #18989 )
2026-09-07 10:46:21 +12:00
esphome[bot]
96b1a03ea4
Bump bundled esphome-device-builder to 1.14.4 ( #19006 )
2026-09-07 10:46:21 +12:00
J. Nick Koston
95ab3fb4f2
[ota] Offer encryption with the api key so enabling it works over OTA ( #18979 )
2026-09-07 10:46:21 +12:00
Ricardo Sanz
18220e0b39
[climate][template] New template climate component ( #14455 )
2026-09-07 10:46:21 +12:00
esphome[bot]
011497d6ee
Bump bundled esphome-device-builder to 1.14.3 ( #18996 )
2026-09-07 10:46:20 +12:00
esphome[bot]
7089dae3b6
Bump bundled esphome-device-builder to 1.14.2 ( #18988 )
2026-09-07 10:46:20 +12:00
esphome[bot]
745eb30109
Bump bundled esphome-device-builder to 1.14.1 ( #18981 )
2026-09-07 10:46:20 +12:00
Keith Burzinski
e36445fa5f
[usb_uart] Keep the comm interface number valid when its claim fails ( #18968 )
2026-09-07 10:46:20 +12:00
Jesse Hills
cb0c2bdaca
[esp32_ble] Reference count BLE advertising ( #18943 )
2026-09-07 10:46:20 +12:00
J. Nick Koston and pre-commit-ci-lite[bot]
e47247486b
[esp8266] Drop Arduino framework versions before 3.0.0 ( #18917 ) to
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-09-07 10:46:20 +12:00
esphome[bot] and Jonathan Swoboda
657116a213
Bump bundled esphome-device-builder to 1.14.0 ( #18960 )
...
Co-authored-by: esphome[bot] <115708604+esphome[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-09-07 10:46:20 +12:00
Keith Burzinski
3321566cc0
[remote_transmitter] Fix BK7231N build by limiting the PWM path to BK7238 ( #18958 )
2026-09-07 10:46:20 +12:00
Jesse Hills
d58b37faa1
[esp32_hosted] Add ESP-NOW-over-hosted shim for the ESP32-P4 ( #17712 )
2026-09-07 10:29:20 +12:00
J. Nick Koston
8966567be0
[core] Show the other downloader's progress while a prefetch job waits on its lock ( #18983 )
2026-09-07 10:28:31 +12:00
J. Nick Koston
20c7dcb1dd
[mdns] Guard LEAmDNS main loop calls against lwIP re-entrancy on ESP8266 ( #18990 )
2026-09-07 10:26:44 +12:00
J. Nick Koston
688af60cbf
[noise] Bump noise-c to 0.1.24 and libsodium to 1.10021.6 ( #18989 )
2026-09-07 10:12:52 +12:00
esphome[bot]
9c00f13606
Bump bundled esphome-device-builder to 1.14.4 ( #19006 )
2026-09-06 22:05:16 +00:00
J. Nick Koston
833dd0e812
[ota] Offer encryption with the api key so enabling it works over OTA ( #18979 )
2026-09-06 23:59:40 +02:00
Ricardo Sanz
8e1044e8ea
[climate][template] New template climate component ( #14455 )
2026-09-06 14:03:07 -07:00
esphome[bot]
e5200db6fd
Bump bundled esphome-device-builder to 1.14.3 ( #18996 )
2026-09-06 09:28:02 +02:00
e3dd2f44a4
[mipi_dsi] Let IDF pick the DPHY PLL reference clock ( #18984 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
2026-09-05 21:08:21 +00:00
esphome[bot]
3ef7460fca
Bump bundled esphome-device-builder to 1.14.2 ( #18988 )
2026-09-05 15:25:58 +00:00
ae187f81f2
[wifi] Allow a forced roam check ( #17349 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com >
2026-09-05 21:44:37 +10:00