J. Nick Koston
29d0ae8a1f
Pin the inflate overrun bound with an overlong stream
...
Also patch the compressor through the module under test rather than
the shared zlib module.
2026-09-09 00:47:44 +02:00
J. Nick Koston
8e31d4c1ef
Fold the duplicated noise gate and inflate bookkeeping
...
One predicate for the noise offer and one place that allocates the
session; the window is already zero from value initialization, so drop
the second clearing pass. The RP2 backend reads the framework version
from the define ESPHome already emits rather than a vendor header, the
inflate counter moves into the test device helper, and the corrupt
stream sweep takes a coarser stride for the same coverage.
2026-09-09 00:30:52 +02:00
J. Nick Koston
f9861753fb
Add a host integration test for deflate OTA uploads
2026-09-08 23:58:56 +02:00
J. Nick Koston
e050d58875
Merge remote-tracking branch 'origin/dev' into ota-deflate
...
# Conflicts:
# esphome/components/esphome/ota/ota_esphome.cpp
2026-09-08 23:27:14 +02:00
J. Nick Koston
1ce0bed3f6
[core] Share compiled binaries across modbus integration tests ( #18945 )
2026-09-08 18:10:45 +02:00
J. Nick Koston
8e9e6bbdd7
Trim comments
2026-09-08 13:55:58 +02:00
J. Nick Koston
5b5b5e3cc1
Reject a negative literal symbol, stop on eof in stored blocks, compile the decoder on LibreTiny in CI
2026-09-08 11:20:05 +02:00
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
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
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
f0e2eb96bd
[snapshot][SDL] Display headless mode and snapshots ( #17917 )
...
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-09-03 09:39:32 +12:00
esphome[bot]
da16c01351
[ci] Refresh integration test durations ( #18944 )
2026-09-02 09:32:47 +00:00
J. Nick Koston and Jesse Hills
3f68930001
[ota] Add Noise encryption to the OTA platform ( #18489 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-09-02 08:11:57 +12:00
J. Nick Koston
1ba1aebfa1
[ci] Balance integration test buckets by recorded durations ( #18895 )
2026-08-31 13:20:47 -05:00
Keith Burzinski and J. Nick Koston
7b97c87390
[improv_serial] Support non-Wi-Fi network interfaces ( #17598 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-30 20:43:59 -05:00
J. Nick Koston
fbe306f00b
[homeassistant] Add integration test for binary sensor initial state triggers ( #18894 )
2026-08-30 19:30:40 -05:00
J. Nick Koston
fc977b7b5e
[ci] Cache the integration test PlatformIO dir ( #18896 )
2026-08-30 17:34:32 -05:00
Brandon Harvey and J. Nick Koston
fb65096ea3
[api] Add description and example metadata to user-defined actions ( #18881 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-08-30 13:52:51 -05:00
a1515ec662
[modbus_controller] Replace register_count/force_new_range with reuse_previous_range ( #18085 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-28 11:54:06 -05:00
Bonne Eggleston and J. Nick Koston
a8c8827a5b
[modbus_controller] Switch write_lambda return value is the wire value only ( #18788 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-27 10:33:16 -05:00
Bonne Eggleston and J. Nick Koston
18b7002604
[modbus_controller] Apply the write offset byte-accurately on switch and output ( #18787 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-27 08:43:51 -05:00
J. Nick Koston
fb132b4421
[improv_serial][esp32_improv] Use buffer based RPC response builder ( #18793 )
2026-08-27 01:01:35 -05:00
J. Nick Koston
e53870085b
[improv_serial] Add uart bus support and host integration test ( #18794 )
2026-08-26 21:13:47 -05:00
Bonne Eggleston and J. Nick Koston
5df1c7f1d3
[modbus_controller] Writer entities as their own hub device; heap-free, byte-accurate write path ( #18082 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-26 18:24:09 -05:00
Bonne Eggleston
1e7c48e2cf
[modbus_controller] Add integration tests for register offset, response size and write buffer ( #18741 )
2026-08-26 08:35:46 -05:00
Bonne Eggleston
c2a153a946
[modbus_controller] Add continuous polling option ( #18080 )
2026-08-24 13:26:26 -05:00
2b11fbe164
[preferences] modify IntervalSyncer to be a PollingComponent ( #14370 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-08-23 22:50:19 -05:00
J. Nick Koston
d877fb021c
[time] Remove C++ POSIX TZ string parser ( #18383 )
2026-08-24 13:24:00 +12:00
Bonne Eggleston
1ceaf699c2
[modbus_controller] Rename custom_command to custom_pdu; reject address 0; retire skip_updates ( #18652 )
2026-08-23 19:33:53 -05:00
J. Nick Koston
9179fe26ce
[api] Fix loop stall that triggers the task watchdog when entity list sends block ( #18577 )
2026-08-24 08:38:19 +12:00
d84293931b
[online_image] Support image format auto-detection ( #16337 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
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 >
2026-08-23 19:58:01 +00:00
J. Nick Koston
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
cf764740cf
[api] Create the camera image reader lazily ( #18421 )
2026-08-16 21:56:58 -05:00
Jonathan Swoboda
646501b0ef
[sensor] Pass NaN through the delta filter again ( #18400 )
2026-08-16 12:36:51 -04:00
J. Nick Koston
b05465145f
[core] Add preference key stability integration test ( #18364 )
2026-08-13 21:14:30 -05:00
J. Nick Koston
dd51624fbb
[core] Partially revert "Hash entity keys from the raw name to fix collisions" ( #18361 )
2026-08-13 20:06:48 -05:00
Bonne Eggleston and Jonathan Swoboda
3540012529
[tests] Build tests from the tree they run in, not the venv's editable install ( #18248 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-11 19:09:51 -04:00
Bonne Eggleston and J. Nick Koston
8ee3c8d41d
[modbus] Properly support client-mode broadcast sends ( #17467 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-11 08:31:15 -05:00
J. Nick Koston
9823ad6abc
[tests] Fix flaky modbus server/controller integration tests ( #18258 )
2026-08-10 23:56:32 -05:00
Bonne Eggleston and Claude Fable 5
2a0f2d59f0
[modbus_server] Add coil/discrete-input support ( #17464 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-10 18:13:12 -05:00
Bonne Eggleston
596827c51c
[modbus_client] Add read/write multiple registers (FC 0x17) ( #18215 )
2026-08-10 15:18:48 -05:00
f5ee72753d
[modbus_client] Add typed read/write actions ( #18078 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-07 14:18:20 -05:00
Josef Zweck and J. Nick Koston
c24e61439b
[modbus] Add server support for read/write multiple registers (0x17) ( #17357 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-07 14:17:11 -05:00
56682534f8
[modbus_client] Add component for ad-hoc modbus request/response ( #17676 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-06 14:52:23 -05:00
J. Nick Koston
abc13a7c0a
[script] Disable queued script polling while the queue is empty ( #18121 )
2026-08-06 10:00:46 -05:00
Marek Pilch and Jonathan Swoboda
b521b5e1ca
[modbus_server] Add tests for U_WORD_S and S_WORD_S ( #17832 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-05 14:47:48 -04:00
Bonne Eggleston and Claude Fable 5
b93b21eab1
[modbus_controller] Refactor to simplify message handling ( #11781 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-05 11:02:56 -05:00
Bonne Eggleston and Claude Opus 4.8
61a4722c93
[modbus_controller] Add bus-fairness integration test (xfail until #11781 ) ( #17345 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-04 09:15:31 -05:00
J. Nick Koston
a1c2983394
[core] Hash entity keys from the raw name to fix collisions ( #17949 )
2026-08-03 20:05:25 -05:00