Commit Graph
26515 Commits
Author SHA1 Message Date
J. Nick KostonandCopilot 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 KostonandCopilot 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
Jonathan Swoboda 0bf6e1e839 [esp32_touch] Fix initial state never published when sensor untouched (#15032) 2026-03-23 09:27:59 +13:00
J. Nick Koston 3fe84eadef [wifi] Fix ESP8266 power_save_mode mapping (LIGHT/HIGH were swapped) (#15029) 2026-03-23 09:27:59 +13:00
J. Nick Koston 12eed0d384 [api] Increase noise handshake timeout to 60s for slow WiFi environments (#15022) 2026-03-23 09:27:59 +13:00
dependabot[bot] 28e8250b69 Bump aioesphomeapi from 44.6.1 to 44.6.2 (#15027)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 09:27:59 +13:00
Keith Roehrenbeck 0297260a57 [ld2450] Fix zone target counts including untracked ghost targets (#15026) 2026-03-23 09:27:59 +13:00
J. Nick Koston d4f7cb984c [uart] Fix UART0 default pin IOMUX loopback on ESP32 (#14978) 2026-03-23 09:27:59 +13:00
Clyde Stubbs 08187a01b1 [sdl] Fix get_width()/height() when rotation used (#14950) 2026-03-23 09:27:59 +13:00
J. Nick Koston daf3502e15 [logger] Fix ESP8266 crash with VERY_VERBOSE log level (#14980) 2026-03-23 09:27:59 +13:00
J. Nick Koston 08cab43548 [time] Fix lookup of top-level IANA timezone keys like UTC and GMT (#14952) 2026-03-23 09:27:59 +13:00
dependabot[bot] 5cbe936256 Bump aioesphomeapi from 44.6.0 to 44.6.1 (#14954)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 09:27:59 +13:00
Jonathan SwobodaandClaude Opus 4.6 729d3d4bc2 [openthread] Guard InstanceLock against uninitialized semaphore (#14940)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:27:58 +13:00
Jonathan SwobodaandClaude Opus 4.6 8af0991590 [ble_client] Fix RSSI sensor reporting same value for all clients (#14939)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:27:58 +13:00
J. Nick Koston 99d968f80a [http_request] Prevent double update task launch (#14910) 2026-03-23 09:27:58 +13:00
dependabot[bot] 705d548435 Bump aioesphomeapi from 44.5.2 to 44.6.0 (#14927)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 09:27:58 +13: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 KostonandCopilot 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 KostonandCopilot 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
J. Nick Koston 8224da3460 [core] Inline Component::get_component_log_str() (#15068) 2026-03-21 15:32:24 -10:00
Clyde Stubbs dd82a91d8f [lvgl] Don't animate page change when not requested (#15069) 2026-03-22 11:13:17 +11:00
J. Nick Koston 675b549efe Merge branch 'dev' into api/peel-first-write-iteration 2026-03-21 13:15:51 -10:00
J. Nick Koston 86ec218f75 [benchmark] Add plaintext API frame write benchmarks (#15036) 2026-03-21 13:15:35 -10:00
J. Nick Koston f6c0e28db8 Merge remote-tracking branch 'upstream/inline-get-component-log-str' into integration 2026-03-21 12:12:21 -10:00
J. Nick Koston 30b4508320 [core] Inline Component::get_component_log_str()
Move trivial null-check getter from component.cpp to component.h
so the compiler can inline it at call sites, eliminating function
call overhead in hot logging paths.
2026-03-21 12:04:46 -10:00
J. Nick Koston 8978ea7479 Merge remote-tracking branch 'upstream/precompute-tag-forced-varint-fields' into integration 2026-03-21 11:49:43 -10:00