J. Nick Koston
cf27eca8fc
Merge branch 'kamilcuk/use-placement-new' into integration
2026-03-22 13:14:10 -10:00
J. Nick Koston
4a2ff62d68
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-22 12:58:13 -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
08df8e15f1
Merge branch 'dev' into kamilcuk/use-placement-new
2026-03-22 12:33:56 -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
27f3a5f5f4
[sht4x] Add missing hal.h include for millis() on ESP-IDF ( #15087 )
2026-03-22 11:54:54 -10:00
J. Nick Koston
bc688b973a
address bot comments
2026-03-22 11:34:27 -10:00
J. Nick Koston
478ac9d9f2
lint
2026-03-22 11:32:36 -10:00
J. Nick Koston
2e8b009167
fix duplication
2026-03-22 11:31:03 -10:00
J. Nick Koston
85c970e1dd
globals is special
2026-03-22 11:23:46 -10:00
J. Nick Koston
d30f3100bd
Merge branch 'kamilcuk/use-placement-new' of https://github.com/Kamilcuk/esphome into kamilcuk/use-placement-new
2026-03-22 11:20:25 -10:00
J. Nick Koston
6b59d01dd2
touch ups
2026-03-22 11:20:22 -10:00
J. Nick Koston
4d5ff822af
Merge branch 'dev' into kamilcuk/use-placement-new
2026-03-22 11:19:51 -10:00
J. Nick Koston
9a310d307f
touch ups
2026-03-22 11:17:30 -10:00
J. Nick Koston
bcc3ec8054
simplify
2026-03-22 11:14:49 -10:00
J. Nick Koston
c3ef2faa4f
fixes
2026-03-22 11:09:26 -10:00
J. Nick Koston
c93c701e0a
fixes, safety
2026-03-22 11:01:36 -10: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
Jason Kölker
2b6d63fd09
[pmsx003] Keep active-mode reads aligned ( #14832 )
2026-03-23 09:21:08 +13:00
c917b8ce06
[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:20:28 +13:00
Jonathan Swoboda
12b10d8b89
[ultrasonic] Fix ISR edge detection with debounce and trigger filtering ( #15014 )
2026-03-22 16:19:46 -04:00
J. Nick Koston
6a77b8b1f4
[light] Fix gamma LUT quantizing small brightness to zero ( #15060 )
2026-03-23 09:19:28 +13:00
J. Nick Koston
ba4be2a904
[uart] Fix RTL87xx compilation failure due to SUCCESS macro collision ( #15054 )
2026-03-23 09:17:59 +13:00
J. Nick Koston
ca0523b86c
[sht4x] Fix heater causing measurement jitter ( #15030 )
2026-03-23 09:16:46 +13:00
J. Nick Koston and Copilot
5e68282519
[light] Fix constant_brightness broken by gamma LUT refactor ( #15048 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-23 09:14:52 +13:00
Kamil Cukrowski
7997743b15
[core] Use placement new allocation for t Pvariables
2026-03-22 20:19:31 +01:00
Clyde Stubbs
a0d5525312
[lvgl] Meter fixes ( #15073 )
2026-03-22 19:01:49 +11:00
J. Nick Koston
5aff931c68
Merge remote-tracking branch 'upstream-ssh/devirtualize-decode' into integration
2026-03-21 20:52:39 -10:00
J. Nick Koston
a5bd718fc9
[api] Make ProtoDecodableMessage::decode() non-virtual
...
decode() is never called polymorphically - all call sites in
read_message_() use concrete types. The only indirect call site was
decode_to_message(), which also always knows the concrete type.
Convert decode_to_message() to a template so the concrete type is
preserved, allowing decode() to be non-virtual. The two classes that
override decode() (ExecuteServiceArgument, ExecuteServiceRequest) now
hide the base method, which works since all calls use concrete types.
This removes one vtable slot (4 bytes) from each decodable message
class vtable, saving ~148 bytes of flash.
2026-03-21 20:51:28 -10:00
J. Nick Koston
0434bf40ba
Merge remote-tracking branch 'upstream/inline-wifi-ap-channel-accessors' into integration
2026-03-21 20:32:12 -10:00
J. Nick Koston
c194d134fd
[wifi] Inline WiFiComponent::has_sta(), has_ap(), is_ap_active()
...
Trivial boolean accessors that benefit from inlining.
2026-03-21 20:31:50 -10:00
J. Nick Koston
0c81963eb9
Merge remote-tracking branch 'upstream/inline-wifi-ap-channel-accessors' into integration
2026-03-21 20:24:54 -10:00
J. Nick Koston
1db789313b
[wifi] Inline WiFiAP::get_channel() and has_channel() in header
...
These trivial accessors (12 bytes each) benefit from inlining,
matching the style of the adjacent get_priority() accessor.
2026-03-21 20:21:20 -10:00
J. Nick Koston
a87b5ed534
Merge remote-tracking branch 'upstream/fix-logger-task-log-buffer-race' into integration
2026-03-21 17:04:32 -10:00
J. Nick Koston
e32565b36a
Inline init_log_buffer_ into constructor
2026-03-21 17:00:26 -10:00
J. Nick Koston
b0e6f57bc2
Remove disable_loop from init_log_buffer_ to avoid ESP_LOGVV before global_logger is set
...
Since init_log_buffer_ is now called from the constructor (before
pre_setup sets global_logger), calling disable_loop() would trigger
ESP_LOGVV which dereferences the null global_logger pointer.
The loop self-disables on its first iteration when no messages are
found, so the explicit disable in init_log_buffer_ was unnecessary.
2026-03-21 16:58:55 -10:00
pre-commit-ci-lite[bot]
cbea4e0ccf
[pre-commit.ci lite] apply automatic fixes
2026-03-22 02:56:50 +00:00
J. Nick Koston and Copilot
44ea4a2235
Update esphome/components/logger/logger.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-21 16:55:15 -10:00
J. Nick Koston
6576e88df0
Rename init_log_buffer to init_log_buffer_ for clang-tidy naming
2026-03-21 16:53:25 -10:00
J. Nick Koston
1ccfd0b3cd
[logger] Fix race condition in task log buffer initialization
...
Move TaskLogBuffer allocation from init_log_buffer() (called at
DIAGNOSTICS priority) into the Logger constructor (called at
EARLY_INIT priority). This ensures the buffer exists before
global_logger is set, eliminating a window where another FreeRTOS
task could dereference a null log_buffer_ pointer.
Fixes crash: Guru Meditation Error: Core 0 panic'ed (Load access fault)
in TaskLogBuffer::send_message_thread_safe when a task logs before
init_log_buffer() is called.
2026-03-21 16:48:50 -10:00
J. Nick Koston
c48fd0738b
[mqtt] Rate-limit component resends to prevent task WDT on reconnect ( #15061 )
2026-03-21 15:33:42 -10:00