J. Nick Koston
ef29b18e18
[core] Move ControllerRegistry notify methods inline into header
...
Move the notify_*_update() method definitions from controller_registry.cpp
into controller_registry.h as inline functions. These are tiny loops over
1-2 controllers that each have a single call site in the entity's
notify_frontend_() method.
When defined in a separate TU, the compiler cannot inline them at the call
site without LTO, resulting in an unnecessary function-call frame on every
state publish. CodSpeed profiling of the CallbackManager container change
(#15272 ) showed this extra frame accounting for ~12% regression in text
sensor publish benchmarks.
controller_registry.h is only ever included from .cpp files (never from
other headers), so including controller.h after the class definition is
safe and introduces no circular dependencies.
2026-04-06 16:09:32 -10:00
J. Nick Koston
96c3986481
[core] Replace std::vector in CallbackManager with trivial-copy container ( #15272 )
2026-04-07 01:58:17 +00:00
Jonathan Swoboda
e62c78ad46
[multiple] Fix misc cosmetic bugs (error messages, types, defaults) ( #15499 )
2026-04-07 01:41:57 +00:00
Jonathan Swoboda
e428cb5092
[multiple] Fix misc cosmetic bugs (batch 2) ( #15502 )
2026-04-06 21:33:22 -04:00
Jonathan Swoboda
b8b8d1bb15
[core] Replace deprecated datetime.utcfromtimestamp() ( #15503 )
2026-04-06 21:31:57 -04:00
J. Nick Koston
82dc80a413
[scheduler] Skip cancel for anonymous items, add empty-container fast path ( #15397 )
2026-04-07 01:26:40 +00:00
J. Nick Koston
d15fa84f4f
[api] Auto-derive max_value for enum fields in protobuf codegen ( #15469 )
2026-04-06 14:39:55 -10:00
Jonathan Swoboda
4fa3e48d33
[remote_base] Fix misc protocol schema and codegen bugs ( #15497 )
2026-04-07 00:34:07 +00:00
Jonathan Swoboda
094e0440c6
[config] Fix unfilled placeholder in dimensions() error message ( #15498 )
2026-04-06 14:30:36 -10:00
J. Nick Koston
b155c13117
[api] Use integer comparison for float zero checks in protobuf encoding ( #15490 )
2026-04-07 12:25:53 +12:00
Jonathan Swoboda
0816579fa9
[prometheus] Fix relabel validation not checking for required keys ( #15496 )
2026-04-06 14:20:46 -10:00
Jonathan Swoboda
c6e683cc33
[pmsx003] Connect model-specific sensor validation to schema ( #15495 )
2026-04-06 14:19:53 -10:00
Jonathan Swoboda
14bcd9db59
[neopixelbus] Fix SPI pin validation accepting one wrong pin on ESP8266 ( #15494 )
2026-04-06 14:18:59 -10:00
Jonathan Swoboda
d9da91efbe
[bl0940] Fix restore_value reading from wrong config dict ( #15492 )
2026-04-06 14:14:17 -10:00
Jesse Hills
017af24c22
Merge branch 'release' into dev
2026-04-07 12:06:30 +12:00
Jesse Hills
496c395f1a
Merge pull request #15489 from esphome/bump-2026.3.3
...
2026.3.3
2026.3.3
2026-04-07 12:05:46 +12:00
Jonathan Swoboda
29ca7bc8f9
[espnow] Fix string data generating invalid C++ char literals ( #15493 )
2026-04-06 19:57:16 -04:00
Jesse Hills
62d0c25a2b
[CI] Add branches-ignore for release and beta in PR title check ( #15491 )
2026-04-07 11:14:59 +12:00
Jesse Hills
1c67e4ce4c
Bump version to 2026.3.3
2026-04-07 10:50:41 +12:00
Clyde Stubbs
162c8810db
[esp32] Clean build when sdkconfig options change ( #15439 )
2026-04-07 10:50:41 +12:00
Clyde Stubbs
9036c29c8a
[online_image] Clear LVGL dsc when image size changes. ( #15360 )
2026-04-07 10:50:41 +12:00
Edward Firmo
9bd936112d
[nextion] Fix queue age check using inconsistent time sources ( #15317 )
2026-04-07 10:50:41 +12:00
Clyde Stubbs
c98bb9060f
[lvgl] Fix setting triggers on display ( #15364 )
2026-04-07 10:48:14 +12:00
Clyde Stubbs
ce0d360790
[lvgl] Implement rotation directly ( #14955 )
2026-04-07 10:46:42 +12:00
J. Nick Koston and pre-commit-ci-lite[bot]
2b5ee69eb2
[api] Speed up protobuf encode 17-20% with register-optimized write path ( #15290 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-06 12:42:18 -10:00
Jonathan Swoboda and J. Nick Koston
5a14d6a4ad
[multiple] Add missing device_class to sensor schemas (batch 2) ( #15487 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-06 22:38:47 +00:00
Jonathan Swoboda
6f62b2f18c
[thermostat] Remove non-functional cv.templatable from preset fields ( #15481 )
2026-04-06 12:20:38 -10:00
Jonathan Swoboda
c78fb964a2
[multiple] Add missing state_class to remaining sensor schemas ( #15486 )
2026-04-06 12:15:42 -10:00
Jonathan Swoboda
8650c5b013
[multiple] Add missing state_class to sensor schemas ( #15478 )
2026-04-06 17:19:20 -04:00
Jonathan Swoboda
5051891813
[esp32] Fix ESP32-C6 pin validator rejecting GPIO 24-30 with wrong error ( #15477 )
2026-04-06 17:02:28 -04:00
Jonathan Swoboda
95e2b0a8b0
[multiple] Add missing device_class to sensor schemas ( #15479 )
2026-04-06 17:02:20 -04:00
J. Nick Koston and Jonathan Swoboda
ab45591507
[core] Move wake_loop out of socket component into core ( #15446 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-06 21:01:03 +00:00
Jonathan Swoboda
62b4b250c7
[opentherm] Fix step=0 default overriding entity step ( #15484 )
2026-04-07 08:35:50 +12:00
Jonathan Swoboda
a7963bee98
[gcja5][cd74hc4067][openthread_info] Fix PollingComponent mismatches ( #15476 )
2026-04-06 16:31:40 -04:00
Jonathan Swoboda
e86978f0da
[rpi_dpi_rgb][st7701s][ags10] Fix Optional config keys accessed unconditionally ( #15474 )
2026-04-06 16:30:46 -04:00
Jonathan Swoboda
6044f41db5
[multiple] Add missing cv.COMPONENT_SCHEMA to CONFIG_SCHEMA ( #15475 )
2026-04-06 16:30:15 -04:00
Jonathan Swoboda
a64f09a43f
[sprinkler][dfplayer][max6956][rf_bridge] Fix cg.templatable type mismatches ( #15480 )
2026-04-06 16:29:59 -04:00
Jonathan Swoboda
dbd4e77d61
[pylontech] Remove unnecessary Component inheritance from sensor/text_sensor ( #15482 )
2026-04-06 16:23:10 -04:00
Boris Krivonog
02185fb4f4
[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector (Part 5) ( #15483 )
2026-04-06 09:59:18 -10:00
dependabot[bot]
2f2b7e42ba
Bump aioesphomeapi from 44.9.1 to 44.11.1 ( #15471 )
2026-04-05 21:15:02 -10:00
dependabot[bot]
1c97954b47
Bump aioesphomeapi from 44.9.0 to 44.9.1 ( #15470 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-05 18:42:17 -10:00
Boris Krivonog
859ea23bde
[mitsubishi_cn105] Add climate component for Mitsubishi A/C units with CN105 connector (Part 4) ( #15462 )
2026-04-05 18:33:02 -10:00
Jonathan Swoboda
7644f17cf6
[at581x] Fix codegen crash when using lambdas for frequency/time/power ( #15468 )
2026-04-06 00:05:04 -04:00
J. Nick Koston
1de94c1a84
[api] Add max_value proto option for constant-size varint codegen ( #15424 )
2026-04-05 18:02:06 -10:00
J. Nick Koston
10f08e0802
[esp8266] Add crash handler for post-mortem diagnostics ( #15465 )
2026-04-06 03:30:56 +00:00
Jonathan Swoboda
aac74f4c94
[ags10] Fix wrong type passed to cg.templatable for set_zero_point mode ( #15467 )
2026-04-05 22:48:00 -04:00
Keith Burzinski and Claude Opus 4.6
07f6be679f
[esp32] Add signed app verification without hardware secure boot ( #15357 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-05 21:20:48 -05:00
J. Nick Koston
ea0ce710a8
[api] Split Noise handshake state_action_ to reduce stack pressure ( #15464 )
2026-04-05 13:55:06 -10:00
J. Nick Koston
155657f1cc
[mcp23xxx][pi4ioe5v6408] Disable loop when all pins are outputs ( #15460 )
2026-04-05 13:26:55 -10:00
J. Nick Koston
0f2d8656ad
[esp32_ble] Skip dropped count memw when queue is empty ( #15422 )
2026-04-05 13:26:40 -10:00