J. Nick Koston and J. Nick Koston
5e472e8171
Add version field to crash data struct for future extensibility
...
Allows future firmware to detect and skip incompatible crash data
layouts. Placed alongside backtrace_count to avoid adding padding.
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-03-11 11:22:26 -10:00
J. Nick Koston and J. Nick Koston
f2dee1433c
Place backtrace_count before array for forward compatibility
...
Moving backtrace_count before the variable-length backtrace array
ensures magic, pc, and count are at fixed offsets regardless of
MAX_BACKTRACE value. This makes the .noinit data readable across
firmware versions that may change the max backtrace depth.
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-03-11 11:21:05 -10:00
J. Nick Koston and J. Nick Koston
f37610bfe1
Eliminate duplicate BSS struct, read directly from .noinit data
...
Saves 76 bytes of RAM by removing the validated BSS copy and reading
directly from the .noinit struct after magic validation. A single bool
tracks whether valid crash data was found this boot.
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-03-11 11:19:40 -10:00
J. Nick Koston
7acf3f77c4
Increase max backtrace depth from 8 to 16
...
8 frames was cutting off useful call stack information. 16 frames
costs an additional 32 bytes of .noinit RAM and covers typical
ESPHome call chains which can be 10-12 frames deep.
2026-03-11 11:06:15 -10:00
J. Nick Koston
5adae52819
Add stacktrace decoding to API log path
...
The esphome logs command via API wasn't running process_stacktrace
on received log lines, so crash handler backtrace addresses were
displayed but not decoded with addr2line.
2026-03-11 11:05:52 -10:00
J. Nick Koston
a80cc50b8f
fix not survive
2026-03-11 10:55:00 -10:00
J. Nick Koston
9f61331187
Address Copilot review: static linkage + keep valid flag
...
- Make s_raw_crash_data static with inline .noinit definition (no extern needed)
- Remove valid=false clearing from crash_handler_log() so both serial (boot)
and API (subscribe) paths can emit the crash data
2026-03-11 10:46:49 -10:00
J. Nick Koston
84813ded94
Add test for ESP32 crash handler stacktrace decoding
2026-03-11 10:43:52 -10:00
J. Nick Koston
1c6dd56512
Address review feedback
...
- Clear valid flag after logging to prevent re-logging on API reconnects
- Cache esp_cpu_process_stack_pc result to avoid redundant call
- Remove unused <cstdint> include from header
2026-03-11 10:38:49 -10:00
J. Nick Koston
3a7a552f0d
[esp32] Add crash handler to capture and report backtrace across reboots
...
When an ESP32 crashes, the backtrace is printed to UART and lost.
Users without a serial cable never see this diagnostic information.
This adds a crash handler that:
- Intercepts esp_panic_handler() via --wrap linker flag
- Captures the faulting PC and backtrace into .noinit memory
- Supports both Xtensa (ESP32/S2/S3) and RISC-V (C3/C6/H2/C2)
- Logs crash data at boot via ESP_LOGE (serial output)
- Re-logs when HA subscribes to logs (visible in HA log viewer)
- Adds CLI stacktrace decoding for the new log format
2026-03-11 10:34:00 -10:00
dependabot[bot]
a060f175ad
Bump actions/download-artifact from 8.0.0 to 8.0.1 ( #14705 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-11 09:28:46 -10:00
dependabot[bot]
73f305ff9c
Bump tornado from 6.5.4 to 6.5.5 ( #14704 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-11 09:28:19 -10:00
Jesse Hills
b6ff7185e7
[ci] Dont run codeowners workflows on release or beta PRs ( #14703 )
2026-03-12 08:04:07 +13:00
J. Nick Koston
928f6f1866
[ci] Add PR title check for unescaped angle brackets ( #14701 )
2026-03-12 07:57:43 +13:00
Jesse Hills
e7c3277eeb
Bump version to 2026.4.0-dev
2026-03-12 07:34:53 +13:00
Kevin Ahrendt
bef5e4de9c
[speaker_source] Add announcement pipeline ( #14654 )
2026-03-11 08:29:17 -10:00
04bcd9f56b
[dashboard] Use sys.executable for dashboard subprocess commands ( #14698 )
...
Co-authored-by: Jonathan Swoboda <swoboda1337@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-11 14:25:36 -04:00
Jonathan Swoboda and Claude Opus 4.6
03c0ce704b
Bump pyupgrade to v3.21.2 for Python 3.14 compatibility ( #14699 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 08:22:48 -10:00
Kevin Ahrendt
b27165a842
[speaker_source] Add shuffle support ( #14653 )
2026-03-11 08:11:00 -10:00
3d4ebe74ce
[sensirion_common] Use SmallBufferWithHeapFallback helper ( #14270 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-11 08:00:42 -10:00
Kevin Ahrendt
4e16f270a3
[speaker_source] Add playlist management ( #14652 )
2026-03-11 07:47:58 -10:00
c52a48ed38
[multiple] Convert static function locals to member variables ( #14689 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-03-11 07:11:46 +00:00
236f6b1935
[micronova] Add command queue ( #12268 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: edenhaus <edenhaus@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-03-11 19:52:43 +13:00
J. Nick Koston
e8e700a683
[socket] Fix RP2040 heap corruption from malloc in lwip accept callback ( #14687 )
2026-03-11 19:51:54 +13:00
Adam DeMuri
4df3d3554e
Enable the address and behavior sanitizers for C++ component unit tests ( #13490 )
2026-03-10 19:44:05 -10:00
Keith Burzinski
d0f37ae694
[logger] Fix UART selection not applied before pre_setup() ( #14690 )
2026-03-11 04:31:27 +00:00
Keith Burzinski
6561c9bc95
[core] Fix waiting for port indefinitely ( #14688 )
2026-03-10 17:32:29 -10:00
J. Nick Koston
794098de99
[rp2040] Add HardFault crash handler with backtrace ( #14685 )
2026-03-10 16:40:45 -10:00
CFlix
b84d773bec
[bme280] Change communication error message to include "no response" hint. ( #14686 )
2026-03-10 20:24:46 -04:00
Thomas Rupprecht
dcbf3c8728
[esp32] gpio type improvements ( #14517 )
2026-03-10 18:18:35 -04:00
J. Nick Koston
30c8c68703
[socket] Fix RP2040 TCP race condition between lwip callbacks and main loop ( #14679 )
2026-03-10 11:22:23 -10:00
9513edc468
[dew_point] Add dew_point sensor component ( #14441 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-10 17:17:13 -04:00
J. Nick Koston and Claude Opus 4.6
6356e3def9
[core] Warn on crystal frequency mismatch during serial upload ( #14582 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 20:42:38 +00:00
Jonathan Swoboda and Claude Opus 4.6
8d988723cd
[config] Allow !extend/!remove on components without id in schema ( #14682 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 16:38:50 -04:00
Kevin Ahrendt and J. Nick Koston
8ca6ee4349
[speaker_source] Add new media player ( #14649 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-10 20:25:26 +00:00
mahumpula and Jonathan Swoboda
780e009bf4
[runtime_image] Add support for 8bit BMPs and fix existing issues ( #10733 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-10 16:23:49 -04:00
Jonathan Swoboda and Claude Opus 4.6
04d80cfb75
[esp32_hosted] Bump esp_wifi_remote and esp_hosted versions ( #14680 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 15:17:30 -04:00
J. Nick Koston
9404eadaf8
[rp2040_ble] Add BLE component for RP2040/RP2350 ( #14603 )
2026-03-10 09:12:28 -10:00
J. Nick Koston
4d2ef09a29
[log] Detect early log calls before logger init and optimize hot path ( #14538 )
2026-03-10 09:12:10 -10:00
J. Nick Koston
89bb5d9e42
[core] Require explicit synchronous= for register_action ( #14606 )
2026-03-10 09:11:45 -10:00
J. Nick Koston
9dd3ec258c
[scheduler] Replace unique_ptr with raw pointers, add leak detection ( #14620 )
2026-03-10 09:11:28 -10:00
J. Nick Koston
c709010c4c
[api] Replace std::vector<uint8_t> with APIBuffer to skip zero-fill ( #14593 )
2026-03-10 09:11:12 -10:00
J. Nick Koston and Claude Opus 4.6
6e468936ec
[api] Inline ProtoVarInt::parse fast path and return consumed in struct ( #14638 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 09:10:55 -10:00
J. Nick Koston
2c7ef4f758
[rp2040] Use picotool for BOOTSEL upload and improve upload UX ( #14483 )
2026-03-10 09:10:33 -10:00
Diorcet Yann
06a127f64b
[core] ESP-IDF compilation fixes ( #14541 )
2026-03-10 11:52:48 -04:00
Anunay Kulshrestha and Claude
fba21e6dd4
[bl0940] Fix reset_calibration() declaration missing from header ( #14676 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-03-10 10:44:19 -04:00
J. Nick Koston
4b50d14496
[serial_proxy] Reduce loop() overhead by disabling when idle and splitting read path ( #14673 )
2026-03-10 02:10:03 -05:00
e82f0f4432
[cpptests] support testing platform components ( #13075 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-10 02:41:02 +00:00
00f809f5f0
[sen6x] fix memory leak issue ( #14623 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-09 21:45:20 -04:00
c31ac662bd
[multiple] Fix crashes from malformed external input ( #14643 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-09 20:39:58 -04:00