J. Nick Koston
715f0ca6f7
[core] Extract WDT_FEED_INTERVAL_MS constexpr
...
Replace the magic 3 in both the inline feed_wdt check and the slow path
with a named constexpr so the rate-limit threshold is defined once.
2026-04-11 14:54:02 -10:00
J. Nick Koston
a70ec9ec06
[scheduler] Feed watchdog after each scheduled item, drop top-of-loop feed
...
The main loop used to feed the watchdog unconditionally right after
Scheduler::call() returned, regardless of whether the scheduler had any
actual work to do. On an idle device this meant every outer loop
iteration paid the inline rate-limit check (load + sub + branch) for no
benefit.
Move the feed into Scheduler::execute_item_() so it fires only after a
scheduled callback actually runs, and covers both the main heap path
and the defer queue path (both go through execute_item_). This also
bounds the max feed gap during a burst of back-to-back scheduled items
by max(item_runtime) instead of sum(item_runtime).
The top-of-loop feed in Application::before_loop_tasks_() is now
unnecessary — when Scheduler::call does no work, the only elapsed time
is the sleep wake plus a few instructions, and when it does have work,
it fed the wdt as it went.
2026-04-11 14:51:59 -10:00
J. Nick Koston
ddbf6f2347
[core] Inline feed_wdt hot path with out-of-line slow path
...
Split Application::feed_wdt() into an ALWAYS_INLINE wrapper that checks
the 3ms rate limit against last_wdt_feed_ and a feed_wdt_slow_() callee
that performs the actual arch_feed_wdt() + status LED re-dispatch.
Callers on the hot path (loop_task before/after each component) that
already have a millis() timestamp in hand now pay only a load + sub +
branch on the no-op path instead of a full call8 / entry / retw.
Moves the rate-limit state from a function-local static to a class
member (last_wdt_feed_) so the inline can access it.
2026-04-11 14:32:49 -10:00
Jonathan Swoboda
bef4c8a86c
[cc1101] Extract chip configuration into configure() method ( #15635 )
2026-04-11 17:36:27 -04:00
Farmer-shin
6e67864510
[epaper_spi] Add Waveshare 3.97inch E-Paper Display ( #15466 )
2026-04-11 21:27:25 +10:00
dependabot[bot]
c2af4874f9
Bump aioesphomeapi from 44.13.2 to 44.13.3 ( #15641 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-11 08:58:20 +00:00
dependabot[bot]
2001b91280
Bump resvg-py from 0.3.0 to 0.3.1 ( #15640 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-11 08:57:39 +00:00
dependabot[bot]
5460ee7edd
Bump aioesphomeapi from 44.13.1 to 44.13.2 ( #15637 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 15:55:15 -10:00
J. Nick Koston and Copilot
40081e5ae7
[rp2040] Fix W5500 Ethernet pbuf corruption by mirroring LWIPMutex semantics ( #15624 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-10 13:13:05 -10:00
Jonathan Swoboda
a7c5b0ab46
[sx127x][cc1101][sx126x] Use GPIO interrupt to wake loop ( #15627 )
2026-04-10 16:26:09 -04:00
dependabot[bot]
e1a813e11f
Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 ( #15630 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:21:01 -10:00
dependabot[bot]
1dfeef0265
Bump actions/github-script from 8.0.0 to 9.0.0 ( #15632 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:20:43 -10:00
dependabot[bot]
395610c117
Bump docker/build-push-action from 7.0.0 to 7.1.0 in /.github/actions/build-image ( #15633 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:20:17 -10:00
dependabot[bot]
ae96f82b82
Bump actions/upload-artifact from 7.0.0 to 7.0.1 ( #15631 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:20:04 -10:00
dependabot[bot]
2c610abcd0
Bump resvg-py from 0.2.6 to 0.3.0 ( #15629 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 10:19:52 -10:00
Kevin Ahrendt
d3591c8d9e
[micro_wake_word] Pin esp-nn version ( #15628 )
2026-04-10 15:21:26 -04:00
J. Nick Koston
ec420d5792
[api] Add (inline_encode) proto option for sub-message inlining ( #15599 )
2026-04-10 15:33:56 +12:00
J. Nick Koston
17209df7b5
[mcp23016] Add interrupt pin support ( #15616 )
2026-04-10 15:29:52 +12:00
J. Nick Koston
9cf9b02ba2
[pca6416a] Add interrupt pin support ( #15614 )
2026-04-10 15:29:26 +12:00
J. Nick Koston
c90fa2378a
[tca9555] Add interrupt pin support ( #15613 )
2026-04-10 15:29:00 +12:00
Jesse Hills
c04dfa922e
[hbridge] Move light pin switching to loop ( #15615 )
2026-04-10 14:02:49 +12:00
Jesse Hills
668007707d
[CI] Add org fork detection warning to auto-label PR workflow ( #15588 )
2026-04-10 12:13:22 +12:00
dependabot[bot] and J. Nick Koston
ab71f5276f
Bump ruff from 0.15.9 to 0.15.10 ( #15609 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-09 19:36:25 +00:00
Jonathan Swoboda
d062f62656
[sx127x][cc1101] Disable loop when packet mode is inactive ( #15606 )
2026-04-09 15:00:52 -04:00
J. Nick Koston
03db32d045
[core] Add CodSpeed benchmarks for hot helper functions ( #15593 )
2026-04-09 07:48:32 -10:00
J. Nick Koston
8f6d489a9a
[ci] Use --base-only for memory impact builds ( #15598 )
2026-04-09 11:48:33 -04:00
J. Nick Koston
dd07fba943
[socket] Document ready() contract: callers must drain or track ( #15590 )
2026-04-09 11:48:18 -04:00
J. Nick Koston
6f5d642a31
[gdk101] Increase reset retries for slow-booting sensor MCU ( #15584 )
2026-04-09 11:48:10 -04:00
dependabot[bot]
2721f08bcc
Bump aioesphomeapi from 44.12.0 to 44.13.1 ( #15600 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 10:03:58 +00:00
J. Nick Koston
eafc5df3f2
[safe_mode] Combine related OTA rollback log messages ( #15592 )
2026-04-09 05:30:39 +00:00
J. Nick Koston
46d0c29be5
[safe_mode] Use loop component start time instead of millis() ( #15591 )
2026-04-09 05:20:32 +00:00
J. Nick Koston
abdbbf4dd2
[api] Fix ListEntitiesRequest not read due to LWIP rcvevent tracking ( #15589 )
2026-04-09 02:14:01 +00:00
Jesse Hills
4dc0599a7d
Merge branch 'beta' into dev
2026-04-09 13:41:27 +12:00
Jesse Hills
ded0936b2a
Merge pull request #15587 from esphome/bump-2026.4.0b1
...
2026.4.0b1
2026.4.0b1
2026-04-09 13:40:37 +12:00
Jesse Hills
52c35ec09c
Bump version to 2026.5.0-dev
2026-04-09 11:28:48 +12:00
J. Nick Koston
76490e45bc
[ci] Fix status-check-labels workflow flooding CI queue ( #15585 )
2026-04-08 13:08:29 -10:00
0a8130858c
[ade7953_spi] Fix SPI mode on esp-idf ( #14824 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-08 22:57:53 +00:00
Jesse Hills
ff5ba99d16
Bump version to 2026.4.0b1
2026-04-09 10:39:13 +12:00
Clyde Stubbs
14ec82084b
[rpi_dpi_rgb][qspi_dbi] Add deprecation warnings ( #15583 )
2026-04-09 10:35:09 +12:00
J. Nick Koston
8e02d0a20e
[fan] Store preset mode vector on Fan entity to eliminate heap allocation ( #15209 )
2026-04-09 10:25:37 +12:00
J. Nick Koston
faa05031a7
[climate] Store custom mode vectors on Climate entity to eliminate heap allocation ( #15206 )
2026-04-09 10:25:29 +12:00
J. Nick Koston
d4cce142c5
[api] Fix batch messages stuck in Nagle buffer ( #15581 )
2026-04-08 21:11:31 +00:00
J. Nick Koston
576d89a82a
[api] Peel first write iteration, inline socket writes, zero-gap batch encoding ( #15063 )
2026-04-08 11:05:53 -10:00
J. Nick Koston
4a18ef87d7
[codegen] Fix templatable float type to use cg.float_ ( #15568 )
2026-04-08 20:23:36 +00:00
2cd92a311b
[esp32] Capture both cores' backtraces in crash handler ( #15559 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-08 20:14:18 +00:00
J. Nick Koston
94f1e48d95
[esp32] Preserve crash data across OTA rollback reboots ( #15578 )
2026-04-08 16:09:43 -04:00
Jonathan Swoboda
19c8f0ac7a
[zephyr] Fix user overlay only emitting first property ( #15560 )
2026-04-08 09:46:36 -10:00
J. Nick Koston
312dea7ddb
[json] Fix heap buffer overflow in SerializationBuffer truncation path ( #15566 )
2026-04-08 19:46:16 +00:00
Jonathan Swoboda
fb0033947c
[qspi_dbi] Connect _validate to CONFIG_SCHEMA ( #15563 )
2026-04-08 09:45:43 -10:00
Jonathan Swoboda
4b8f99ed10
[modbus_controller] Fix output missing address validation and text_sensor division ( #15561 )
2026-04-08 09:44:19 -10:00