J. Nick Koston
904577bf91
[scheduler] Extract warm_pool helper for scheduler benchmarks
...
Replace duplicated pool warmup blocks with a shared warm_pool() helper
that registers and replaces items twice to populate the recycling pool
before the benchmark loop begins.
2026-04-02 11:31:27 -10:00
J. Nick Koston
279686b1c2
[scheduler] Add ExceedPool benchmark to measure pool overflow cliff
...
Add Scheduler_SetTimeout_ExceedPool with batch size 10 (exceeding
MAX_POOL_SIZE=5) to measure the performance impact when the recycling
pool is exhausted and items must be malloc'd/freed each cycle.
2026-04-02 11:26:28 -10:00
J. Nick Koston
615b2b339a
[scheduler] Batch 3 registrations per call() for realistic worst case
...
Instead of draining after every single registration or batching 5,
use a batch size of 3 which represents a realistic worst case where
multiple components schedule in the same loop iteration while staying
within the recycling pool (MAX_POOL_SIZE=5).
2026-04-02 11:24:53 -10:00
J. Nick Koston
347f981768
[scheduler] Fix unrealistic scheduler benchmarks missing periodic drain
...
Scheduler registration benchmarks (SetTimeout, SetInterval, Defer) were
not calling scheduler.call() periodically to drain and clean up cancelled
items. In production, call() runs every loop iteration, keeping the
scheduler containers small. Without draining, cancelled items accumulated
causing O(n²) scan cost in cancel_item_locked_ that doesn't reflect
real-world behavior.
- SetTimeout: was only calling process_to_add() (no cleanup), now calls
call() every kKeyCount iterations
- SetInterval: was calling process_to_add() (no cleanup of items_), now
calls call() for proper cleanup
- Defer: was never draining the defer queue, now calls call() to process
deferred items as production does
- All three now advance time (++now) to match production loop behavior
2026-04-02 11:18:17 -10:00
Jonathan Swoboda
4d0d3cc271
[sen5x] Remove dead voc_baseline config option ( #15391 )
2026-04-02 10:53:53 -10:00
Jonathan Swoboda
4134763f34
[at581x][canbus] Fix walrus operator skipping falsy config values ( #15390 )
2026-04-02 20:32:10 +00:00
Edward Firmo
1e72f0ee5a
[nextion] Gate waveform code behind USE_NEXTION_WAVEFORM, use StaticRingBuffer ( #15273 )
...
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+github@koston.org >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-02 20:17:20 +00:00
J. Nick Koston
63710a4cb7
[spi] Add spi0 and spi1 to reserved IDs for RP2040 compatibility ( #15388 )
2026-04-02 16:10:16 -04:00
Thom Wiggers
c82166e5f3
[dsmr] Allow setting MBUS id for thermal sensors in DSMR component ( #7519 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-02 10:06:49 -10:00
Jonathan Swoboda
90624e6eca
[deep_sleep] Fix wakeup_pin_mode rejecting lowercase on ESP32/BK72XX ( #15384 )
2026-04-02 09:34:27 -10:00
Jonathan Swoboda
6b89998b60
[template] Fix cover position_action overridden by has_position default ( #15379 )
2026-04-02 09:29:33 -10:00
Jonathan Swoboda
dde472b0cf
[pipsolar] Fix set_level action passing string to cv.use_id ( #15380 )
2026-04-02 09:28:44 -10:00
dependabot[bot]
f7222a0e6c
Bump ruff from 0.15.8 to 0.15.9 ( #15385 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-02 19:28:30 +00:00
Jonathan Swoboda
0262d20bbe
[mlx90393] Remove call to non-existent set_drdy_pin method ( #15381 )
2026-04-02 09:26:47 -10:00
Jonathan Swoboda
37b33f62de
[htu21d] Fix set_heater action reading wrong config key ( #15378 )
2026-04-02 09:25:54 -10:00
Jonathan Swoboda
2f405fd96f
[espnow] Fix enable_on_boot config option not passed to C++ ( #15377 )
2026-04-02 09:25:15 -10:00
dependabot[bot]
67ee727e38
Bump docker/login-action from 4.0.0 to 4.1.0 in the docker-actions group ( #15386 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-02 09:24:26 -10:00
Jonathan Swoboda
12a0f5959f
[bl0940] Fix reference_voltage config ignored in non-legacy mode ( #15375 )
2026-04-02 09:23:04 -10:00
Jonathan Swoboda
5dcae1a133
[climate] Fix MQTT target_temperature_low_state_topic calling wrong setter ( #15376 )
2026-04-02 09:22:07 -10:00
Jonathan Swoboda
0343121e9b
[ble_client] Fix descriptor_uuid ignored for text sensors ( #15374 )
2026-04-02 09:21:18 -10:00
J. Nick Koston
da09e1e1ce
[time] Use O(1) closed-form leap year math for epoch-to-year conversion ( #15368 )
2026-04-02 09:19:47 -10:00
Jonathan Swoboda
e7e590b36f
[thermostat] Fix on_boot_restore_from DEFAULT_PRESET validation bypass ( #15383 )
2026-04-02 19:08:43 +00:00
Kevin Ahrendt
da8d9d9c2d
[audio] use microFLAC library for decoding ( #15372 )
2026-04-02 11:37:14 -04:00
Kevin Ahrendt
b8a9d327f0
[media_player] Add enqueue action ( #14775 )
2026-04-02 10:40:19 -04:00
tomaszduda23
a359ecaaf4
[zigbee] print logs after reporting info update ( #13916 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-02 14:12:20 +00:00
J. Nick Koston
c21c7dd292
[mitsubishi_cn105] Fix test grouping conflict with uart package ( #15366 )
2026-04-02 09:12:38 -04:00
Edward Firmo
34295fbd69
[nextion] Collapse nested namespace to esphome::nextion ( #15367 )
2026-04-02 00:25:54 -10:00
J. Nick Koston
3fbf0f0c01
[api] Simplify encode_to_buffer to single resize call ( #15355 )
2026-04-02 03:13:09 +00:00
J. Nick Koston
1436d034bf
[api] Inline DeferredBatch::add_item to eliminate push_back call barrier ( #15353 )
2026-04-02 03:11:47 +00:00
J. Nick Koston
08c7b3afbd
[esp32_ble_tracker] Reduce scan cycle log spam ( #15365 )
2026-04-01 16:53:53 -10:00
J. Nick Koston
f36d78e09c
[core] Force inline Component::get_component_log_str() ( #15363 )
2026-04-01 16:15:00 -10:00
J. Nick Koston
be56be5201
[core] Reduce runtime_stats measurement overhead ( #15359 )
2026-04-01 16:14:45 -10:00
J. Nick Koston
bcc7b8f490
[api] Add send_sensor_state benchmarks ( #15352 )
2026-04-01 16:12:02 -10:00
J. Nick Koston
27c662e73f
[bluetooth_proxy] Replace loop() with set_interval for advertisement flushing ( #15347 )
2026-04-01 16:11:50 -10:00
Clyde Stubbs
eefbb42be4
[lvgl] Add missing event names ( #15362 )
2026-04-02 14:16:56 +13:00
dependabot[bot]
b5c4449a16
Bump pillow from 12.1.1 to 12.2.0 ( #15361 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-01 14:11:44 -10:00
Boris Krivonog
5cdbbd4887
[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector (Part 1) ( #15315 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-01 11:48:47 -10:00
Clyde Stubbs
bdce47e764
[lvgl] Fixes #4 ( #15334 )
2026-04-02 10:39:51 +13:00
Jesse Hills
813b142b72
Merge branch 'release' into dev
2026-04-02 09:07:41 +13:00
Jesse Hills
b7dabe236e
Merge pull request #15342 from esphome/bump-2026.3.2
...
2026.3.2
2026.3.2
2026-04-02 09:06:55 +13:00
Jonathan Swoboda
2e3ea2152d
[esp32_camera] Bump esp32-camera to v2.1.6 ( #15349 )
2026-04-01 07:13:23 -10:00
J. Nick Koston
ea609d3552
[runtime_stats] Store stats inline on Component to eliminate std::map lookup ( #15345 )
2026-04-01 07:09:04 -10:00
Gonçalo Pereira
f33fd047ee
[hdc2080] Add support for HDC2080 sensor ( #9331 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
Co-authored-by: Big Mike <mikelawrence@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-01 12:09:22 -04:00
tomaszduda23
cc88896280
[debug] add peripherals status ( #12053 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-01 15:04:22 +00:00
Edward Firmo
fbfb5d401f
[nextion] Fix memory leak in reset_() ( #15344 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-31 22:34:29 -10:00
Rene Guca
212b3e1688
[cover] move time_based_cover to its own subdirectory ( #15313 )
...
Co-authored-by: Rene <rene@guca.at >
2026-03-31 21:59:24 -04:00
Kevin Ahrendt
31a70ab299
[resampler] Future-proof resampler task to avoid potential memory leaks ( #15186 )
2026-03-31 21:44:54 -04:00
Christian H
8f2cf8b8a7
[bmp581_base] Add support for BMP585 ( #15277 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-31 21:39:41 -04:00
Jesse Hills
600ca01fd3
Bump version to 2026.3.2
2026-04-01 13:18:24 +13:00
J. Nick Koston
65051153ac
[esp32_ble_tracker] Restart BLE scan after OTA failure ( #15308 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-04-01 13:18:24 +13:00