J. Nick Koston
4cab4c348a
Use plain bool instead of RawExpression for IfAction template arg
2026-03-23 21:38:33 -10:00
J. Nick Koston
130a01fd0a
[core] Use compile-time HasElse parameter in IfAction to save 8 bytes per instance
...
IfAction now takes a bool HasElse template parameter. When false (the
common case — most if actions have no else branch), the else_ ActionList
is replaced by an empty struct with [[no_unique_address]], saving 8
bytes per instance.
The codegen already knows at generation time whether an else branch
exists and passes the appropriate template argument.
2026-03-23 21:35:30 -10:00
J. Nick Koston
793813790a
[api] Precompute tag bytes for forced varint and length-delimited fields ( #15067 )
2026-03-24 01:52:39 +00:00
J. Nick Koston and Jonathan Swoboda
fe2c4e47bf
[sensor] Deprecate .raw_state, guard raw_callback_ behind USE_SENSOR_FILTER ( #15094 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-24 00:40:02 +00:00
Javier Peletier and J. Nick Koston
df4318505f
[substitutions] refactor substitute() as a pure function (package refactor part 3) ( #15031 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-23 14:28:04 -10:00
J. Nick Koston
69911c3db1
[wifi] Reduce ESP8266 roaming scan dwell time to match ESP32 ( #15127 )
2026-03-23 13:58:36 -10:00
J. Nick Koston
8ad8f89e50
[light] Reorder LightState fields to eliminate padding ( #15112 )
2026-03-23 13:56:53 -10:00
J. Nick Koston
a3d9854704
[gpio] Remove redundant last_state_ and pack GPIOBinarySensor fields ( #15113 )
2026-03-23 13:56:36 -10:00
J. Nick Koston and Copilot Autofix powered by AI
13d3968d9b
[api] Avoid heap allocation in PSK update timeout lambda ( #14921 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-23 13:41:09 -10:00
J. Nick Koston
382de7ca90
[api] Store dump strings in PROGMEM to save RAM on ESP8266 ( #14982 )
2026-03-23 13:40:53 -10:00
J. Nick Koston
a0d0516b22
[benchmark] Add noise handshake benchmark ( #15039 )
2026-03-23 13:40:41 -10:00
J. Nick Koston
0fb31726f6
[esp32] Add sram1_as_iram option and bootloader version detection ( #14874 )
2026-03-23 13:39:29 -10:00
Clyde Stubbs
e6a73cab8f
[number] Add sensor platform ( #15125 )
2026-03-24 12:04:53 +13:00
bf6000ef3d
[substitutions] substitutions pass and !include redesign (package refactor part 2b) ( #14918 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-23 12:50:28 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
332118db56
Bump pytest-cov from 7.0.0 to 7.1.0 ( #15123 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 11:44:26 -10:00
Clyde Stubbs
6956bf7e53
[text] Add text_sensor for read-only view of text component ( #15090 )
2026-03-24 10:24:25 +13:00
Daniel Kent and Jonathan Swoboda
11b829dda1
[spa06_spi] Add SPA06-003 Temperature and Pressure Sensor - SPI support (Part 3 of 3) ( #14523 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-23 15:59:17 -04:00
J. Nick Koston
1e16b30380
[ethernet] Add ENC28J60 SPI Ethernet support ( #14945 )
2026-03-23 19:18:58 +00:00
Daniel Kent
4c1363b104
[spi] Add LOG_SPI_DEVICE macro ( #15118 )
2026-03-23 15:07:40 -04:00
J. Nick Koston
9da0c5bc85
[wifi] Fix roaming attempt counter reset on disconnect during scan ( #15099 )
2026-03-23 08:47:15 -10:00
J. Nick Koston
4b0c711f77
[ci] Ban std::bind in new C++ code ( #14969 )
2026-03-23 08:23:35 -10:00
J. Nick Koston
9385f16128
[text_sensor] Guard raw_callback_ behind USE_TEXT_SENSOR_FILTER, save 4 bytes per instance ( #15097 )
2026-03-23 08:23:22 -10:00
J. Nick Koston
36d2e58b11
[api] Make ProtoDecodableMessage::decode() non-virtual ( #15076 )
2026-03-23 08:23:08 -10:00
J. Nick Koston
03d6b36fe0
[gpio] Compile out interlock fields when unused ( #15111 )
2026-03-23 08:22:38 -10:00
J. Nick Koston
3b5b51b4f0
[time] Point to valid IANA timezone list on validation failure ( #15110 )
2026-03-23 08:22:25 -10:00
Clyde Stubbs
e8c5dfca3e
[lvgl] Various fixes ( #15098 )
2026-03-23 12:09:30 -04:00
Kevin Ahrendt
5a984b54cf
[audio] Bump microOpus to avoid creating an extra opus-staged directory ( #14974 )
2026-03-23 08:31:05 -04:00
Simone Rossetto and J. Nick Koston
43879964bd
[wireguard] bump esp_wireguard to 0.4.4 for mbedtls 4.0+ compatibility ( #15104 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-22 23:03:19 -10:00
J. Nick Koston
5560c9eef7
[test] Fix flakey ld2412 integration test race condition ( #15100 )
2026-03-22 21:10:51 -10:00
J. Nick Koston
f4097d5a95
[api] Devirtualize API command dispatch ( #15044 )
2026-03-23 19:57:40 +13:00
Keith Burzinski and Claude Sonnet 4.6
225330413a
[uart] Rename FlushResult to UARTFlushResult with UART_FLUSH_RESULT_ prefix ( #15101 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-23 01:55:14 -05:00
J. Nick Koston
e67b5a78d0
[esp32] Patch DRAM segment for testing mode to fix grouped component test overflow ( #15102 )
2026-03-23 01:51:40 -05:00
J. Nick Koston
baf365404c
[network] Inline get_use_address() to eliminate function call overhead ( #14942 )
2026-03-23 04:18:43 +00:00
J. Nick Koston
0de2c758aa
[scheduler] Use placement-new for std::function move in set_timer_common_ ( #14757 )
2026-03-23 16:31:27 +13:00
J. Nick Koston
597bb18543
[benchmark] Add binary sensor publish and sensor filter benchmarks ( #15035 )
2026-03-23 16:30:57 +13:00
Jesse Hills
ebdf20adc0
Merge branch 'release' into dev
2026-03-23 16:10:17 +13:00
Jesse Hills
7ecdf6db2e
Merge pull request #15084 from esphome/bump-2026.3.1
...
2026.3.1
2026.3.1
2026-03-23 16:09:32 +13:00
J. Nick Koston
8a3b5a8def
[core] Fix placement new storage name for templated types ( #15096 )
2026-03-23 16:09:23 +13:00
J. Nick Koston
98d9fd76b3
[mqtt] Fix const-correctness for trigger constructors ( #15093 )
2026-03-22 16:27:20 -10:00
J. Nick Koston
6992219e34
[core] Attribute placement new storage symbols to components ( #15092 )
2026-03-22 16:27:07 -10:00
J. Nick Koston
fbe3e7d99c
[api] Emit raw tag+value writes for forced fixed32 key fields ( #15051 )
2026-03-22 15:28:46 -10:00
J. Nick Koston
9cdc17566a
[combination] Use FixedVector and parent pointer to enable inline Callback storage ( #14947 )
2026-03-22 15:06:45 -10:00
cd05462e9f
[core] Use placement new allocation for Pvariables ( #15079 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-22 14:42:04 -10:00
J. Nick Koston and Claude Opus 4.6
83d02c602a
[logger] Fix dummy_main.cpp Logger constructor for clang-tidy ( #15088 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-23 13:25:04 +13:00
J. Nick Koston and Claude Opus 4.6
e85065b1c4
[logger] Fix dummy_main.cpp Logger constructor for clang-tidy ( #15088 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-22 14:06:00 -10:00
J. Nick Koston
d0e705d948
[core] Inline Application::loop() to eliminate stack frame ( #15041 )
2026-03-22 12:46:28 -10:00
J. Nick Koston
2c06464f7b
[packet_transport] Use FixedVector and parent pointer to enable inline Callback storage ( #14946 )
2026-03-22 12:41:54 -10:00
J. Nick Koston
84727b1f71
[esp32] Validate eFuse MAC reads and reject garbage MACs ( #15049 )
2026-03-22 12:41:01 -10:00
J. Nick Koston
aef987dccf
[core] Fix Callback::create memcpy from function reference ( #14995 )
2026-03-22 12:37:46 -10:00
J. Nick Koston
b2b61bea6a
[web_server_idf] Inline send() to reduce httpd task stack depth ( #15045 )
2026-03-22 12:33:06 -10:00