J. Nick Koston
ebb11206e3
Fix stale comment on component_source_index_ field
2026-03-22 21:25:24 -10:00
J. Nick Koston
a92281f899
Add tests for register_component_source, remove redundant index check
...
- Test empty name returns 0
- Test deduplication returns same index
- Test overflow warns and returns 0
- Remove duplicate index==0 check in get_component_log_str() since
component_source_lookup() already handles it
2026-03-22 21:24:13 -10:00
J. Nick Koston
0ec2a288a3
Merge branch 'dev' into component-8byte-optimization
2026-03-22 21:16:55 -10:00
J. Nick Koston
33bb87b813
Simplify to uint8_t index, add friend declarations, fix tests
...
- Drop 9-bit index scheme in favor of plain uint8_t (max 255 unique
source names, overflow warns in Python and returns 0)
- Add friend declarations for setup()/original_setup() so generated
code can call protected set_component_source_()
- Move get_component_log_str() out of line
- Fix test mocks to provide CORE.data dict
2026-03-22 21:16:18 -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
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
a6b9dd321d
[core] Shrink Component from 12 to 8 bytes per instance
...
Replace 4-byte component_source_ pointer with a 9-bit index into a
PROGMEM lookup table generated by Python codegen. Source names are
deduplicated at codegen time (same pattern as EntityStringPool).
Shrink warn_if_blocking_over_ from uint16_t (ms) to uint8_t
(centiseconds), saturating at 255 (2550ms).
Saves 4 bytes per component instance (typical configs: 120-200 bytes).
2026-03-22 19:55:34 -10: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
Kamil Cukrowski
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
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
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
J. Nick Koston
30f66be1da
[esp32] Mention ignore_pin_validation_error in flash pin error message ( #14998 )
2026-03-22 12:32:42 -10:00
J. Nick Koston
6caa9ee227
[logger] Move log level lookup tables to PROGMEM ( #15003 )
2026-03-22 12:32:08 -10:00
J. Nick Koston
9152f77cdd
[core] Reduce automation call chain stack depth ( #15042 )
2026-03-22 12:31:48 -10:00
J. Nick Koston
4d09eb2cec
[tests] Fix flaky ld24xx integration tests by disabling API batching ( #15050 )
2026-03-22 12:29:28 -10:00
J. Nick Koston
5cc4f6e85a
[logger] Add task_log_buffer_zephyr.cpp to platform source filter ( #15081 )
2026-03-22 12:29:12 -10:00
J. Nick Koston
6d16c57747
[sht4x] Add missing hal.h include for millis() on ESP-IDF ( #15087 )
2026-03-23 11:23:21 +13:00
J. Nick Koston
27f3a5f5f4
[sht4x] Add missing hal.h include for millis() on ESP-IDF ( #15087 )
2026-03-22 11:54:54 -10:00
J. Nick Koston
45c0e6ef7f
[logger] Fix unit test Logger constructor call ( #15086 )
2026-03-23 09:52:46 +13:00
J. Nick Koston
593dbc9e67
[logger] Fix unit test and benchmark Logger constructor calls ( #15085 )
2026-03-23 09:50:58 +13:00
J. Nick Koston
daafa8faa3
[wifi] Inline trivial WiFiAP and WiFiComponent accessors ( #15075 )
2026-03-22 10:36:18 -10:00
Jesse Hills
320474b62d
Bump version to 2026.3.1
2026-03-23 09:28:58 +13:00
Jason Kölker
a3c483edf3
[pmsx003] Keep active-mode reads aligned ( #14832 )
2026-03-23 09:28:58 +13:00
J. Nick Koston
036be63f7b
[logger] Fix race condition in task log buffer initialization ( #15071 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-23 09:28:58 +13:00
Jonathan Swoboda
bbfe324dd6
[ultrasonic] Fix ISR edge detection with debounce and trigger filtering ( #15014 )
2026-03-23 09:28:57 +13:00
J. Nick Koston
de3292c828
[light] Fix gamma LUT quantizing small brightness to zero ( #15060 )
2026-03-23 09:28:57 +13:00
J. Nick Koston
67ab2e143c
[uart] Fix RTL87xx compilation failure due to SUCCESS macro collision ( #15054 )
2026-03-23 09:28:57 +13:00
J. Nick Koston
9abc112f76
[sht4x] Fix heater causing measurement jitter ( #15030 )
2026-03-23 09:28:50 +13:00
J. Nick Koston
b5880df93c
[light] Fix constant_brightness broken by gamma LUT refactor ( #15048 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-23 09:27:59 +13:00
J. Nick Koston
2352c732de
[mqtt] Rate-limit component resends to prevent task WDT on reconnect ( #15061 )
2026-03-23 09:27:59 +13:00
Samuel Sieb
77264de3f6
[analog_threshhold] add missing header ( #15058 )
2026-03-23 09:27:59 +13:00
J. Nick Koston
42da281854
[time] Fix timezone_offset() and recalc_timestamp_local() always returning UTC ( #14996 )
2026-03-23 09:27:59 +13:00
J. Nick Koston
06cc5a29a7
[core] Add copy() method to StringRef for std::string compatibility ( #15028 )
2026-03-23 09:27:59 +13:00
J. Nick Koston
98b4e1ea15
[web_server] Increase httpd task stack size to prevent stack overflow ( #14997 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-23 09:27:59 +13:00