J. Nick Koston
6a84a1ac10
Merge remote-tracking branch 'upstream/rp2040-crash-handler-fixes' into integration
2026-03-11 16:08:49 -10:00
J. Nick Koston
8daa946afa
[esp32] Add crash handler to capture and report backtrace across reboots ( #14709 )
2026-03-12 14:00:20 +13:00
Keith Burzinski and Jonathan Swoboda
ddc40f44fa
[ethernet] ESP32-P4 Ethernet compilation fix ( #14714 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-11 19:56:25 -05:00
J. Nick Koston
a5dffabe6e
Merge branch 'esp32-crash-handler' into integration
2026-03-11 13:02:34 -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
6cc1d191fd
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-11 08:46:55 -10:00
Kevin Ahrendt
bef5e4de9c
[speaker_source] Add announcement pipeline ( #14654 )
2026-03-11 08:29:17 -10:00
Kevin Ahrendt
b27165a842
[speaker_source] Add shuffle support ( #14653 )
2026-03-11 08:11:00 -10:00
Kevin Ahrendt
4e16f270a3
[speaker_source] Add playlist management ( #14652 )
2026-03-11 07:47:58 -10:00
J. Nick Koston
829448a5c6
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-10 12:33:56 -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
J. Nick Koston
58e65f9355
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-10 10:39:58 -10: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
J. Nick Koston
043290c204
Merge remote-tracking branch 'upstream/dev' into integration
...
# Conflicts:
# esphome/__main__.py
# esphome/core/log.cpp
# esphome/core/log.h
# esphome/util.py
# tests/component_tests/logger/test_logger.py
# tests/component_tests/logger/test_logger.yaml
# tests/unit_tests/test_util.py
2026-03-10 10:34:19 -10: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
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
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
2c7ef4f758
[rp2040] Use picotool for BOOTSEL upload and improve upload UX ( #14483 )
2026-03-10 09:10:33 -10:00
J. Nick Koston
bc6691da9a
Merge remote-tracking branch 'origin/rp2040-upload-improvements' into integration
2026-03-09 17:49:47 -10:00
J. Nick Koston
4b83de10e5
make linux error reporting more helpful
2026-03-09 17:45:03 -10:00
J. Nick Koston
399d695a39
Merge remote-tracking branch 'upstream/dev' into rp2040-upload-improvements
2026-03-09 17:45:00 -10: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
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
J. Nick Koston
d6ce5dda81
[ci] Skip YAML anchor keys in integration fixture component extraction ( #14670 )
2026-03-09 22:54:56 +00:00
J. Nick Koston
6a0539b3d6
Merge branch 'inline-varint-parse-fast-path' into integration
2026-03-08 21:00:55 -10:00
J. Nick Koston and Claude Opus 4.6
088a8a4338
[ci] Match symbols with changed signatures in memory impact analysis ( #14600 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:23:58 -10:00
J. Nick Koston
4081f490d6
Merge remote-tracking branch 'upstream/dev' into integration
...
# Conflicts:
# esphome/components/api/api_frame_helper.h
# esphome/core/application.h
2026-03-08 16:44:41 -10:00
cac751e9e8
[nextion] Add configurable HTTP parameters for TFT upload ( #14234 )
...
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: J. Nick Koston <nick@koston.org >
2026-03-09 01:29:41 +00:00
J. Nick Koston and Claude Opus 4.6
d0285cdc41
[core] Pack entity flags into configure_entity_() and protect setters ( #14564 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 15:11:15 -10:00
J. Nick Koston
9cc56b82a9
Merge remote-tracking branch 'upstream/dev' into integration
...
# Conflicts:
# tests/integration/fixtures/uart_mock_ld2450.yaml
# tests/integration/test_uart_mock_ld2450.py
2026-03-08 14:57:36 -10:00
J. Nick Koston
aef2d74e41
[ld2450] Add integration tests with mock UART ( #14611 )
2026-03-08 14:32:59 -10:00
J. Nick Koston
e1c849d5d2
[esp8266] Wrap printf/vprintf/fprintf to eliminate _vfiprintf_r (~1.6 KB flash) ( #14621 )
2026-03-08 14:32:47 -10:00
J. Nick Koston
c11ad7f0e6
[rp2040] Wrap printf/vprintf/fprintf to eliminate _vfprintf_r (~9.2 KB flash) ( #14622 )
2026-03-08 14:32:35 -10:00
J. Nick Koston and Clyde Stubbs
88536ff72b
[modbus] Fix timeout for non-hardware UARTs (e.g., USB UART) ( #14614 )
...
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
2026-03-08 14:31:42 -10:00
J. Nick Koston
d59c2c3435
Merge branch 'esp8266-wrap-printf' into integration
2026-03-08 01:33:36 -10:00
J. Nick Koston
940cf8f206
Merge branch 'rp2040-wrap-printf' into integration
2026-03-08 01:33:31 -10:00
J. Nick Koston
f13a2e08da
Add enable_full_printf test coverage
2026-03-08 01:32:25 -10:00
J. Nick Koston
1e3eac2568
Add enable_full_printf test coverage
2026-03-08 01:32:05 -10:00
J. Nick Koston
a6c76f9b97
Merge branch 'scheduler-raw-pointers' into integration
2026-03-08 00:21:51 -10:00
J. Nick Koston
982998c8fb
[scheduler] Replace unique_ptr with raw pointers, add leak detection
...
The scheduler was already managing SchedulerItem lifecycle explicitly
through its object pool (recycle_item_main_loop_ / get_item_from_pool_locked_).
The unique_ptr wrapper added overhead (11 destructor call sites on the hot path)
without providing safety — if a lifecycle path was missed, the unique_ptr would
silently delete the item and cause needless heap allocations instead of pool reuse.
Replace unique_ptr<SchedulerItem, SchedulerItemDeleter> with raw SchedulerItem*
throughout. Every item is now explicitly recycled to the pool or deleted via
delete_item_(). This eliminates all 11 unique_ptr destructor calls from the hot
path and saves ~256 bytes of firmware.
Add debug leak detection under ESPHOME_DEBUG_SCHEDULER: a live-item counter
verified at the end of every call() cycle asserts that all allocated items are
accounted for in items_, to_add_, defer_queue_, or the pool. This turns silent
heap churn from missed lifecycle management into an immediate assert failure
caught by integration tests.
Also moves the retry-cancelled check before item allocation in set_timer_common_
to avoid needless alloc+delete on the cold retry path, and fixes a thread-safety
issue where recycle_item_main_loop_ (main-loop-only) was called from
set_timer_common_ which can run on non-main-loop threads.
Enable debug_scheduler: true in all 18 scheduler integration test fixtures.
2026-03-08 00:08:22 -10:00
0c4a44566f
[serial_proxy] New component ( #13944 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-08 03:55:49 -05:00
J. Nick Koston
36755d6a08
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-07 21:17:44 -10:00
e4b89a69d4
[nrf52, ota] ble and serial OTA based on mcumgr ( #11932 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-07 20:32:20 -10:00
J. Nick Koston
84e5825fd1
Merge remote-tracking branch 'upstream/proto-byte-buffer' into integration
2026-03-07 19:46:15 -10:00
J. Nick Koston
f7aeaad929
[api] Replace std::vector<uint8_t> with APIBuffer to skip zero-fill
...
Replace std::vector<uint8_t> with a minimal APIBuffer class for the
shared protobuf write buffer, frame helper receive buffer (rx_buf_),
and noise handshake prologue buffer.
std::vector::resize() zero-fills new bytes via memset. Every byte is
immediately overwritten by the protobuf encoder or socket reads,
making the zero-fill pure waste. APIBuffer skips zero-initialization
on resize() and uses make_unique_for_overwrite where available.
Also removes a dead write_raw_ template overload from api_frame_helper.h.
2026-03-07 19:45:50 -10:00
5e842a8b20
[uart] Return flush result, expose timeout via config ( #14608 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-08 05:23:13 +00:00