J. Nick Koston and Claude Opus 4.6
a5780eec54
Extract varint_wide helper to deduplicate cascade
...
The constexpr path and the noinline slow path shared the same
if/else cascade for values >= 128. Extract into a private
constexpr ESPHOME_ALWAYS_INLINE helper used by both.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 15:41:01 -10:00
J. Nick Koston and Claude Opus 4.6
44b50055af
Rename varint_slow_ to varint_slow for clang-tidy naming
...
Static methods use lower_snake_case without trailing underscore.
The trailing underscore convention is for member fields only.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 15:31:33 -10:00
J. Nick Koston and Claude Opus 4.6
244e672b0a
Revert force-inlining of calc_uint32 and calc_length
...
The ESPHOME_ALWAYS_INLINE on these caused significant flash bloat in
cold calculate_size() callers (DeviceInfoResponse +117B, HelloResponse
+63B, ListEntitiesEventResponse +79B) while only benefiting the BLE
hot path marginally. Let the compiler decide when to inline these.
The varint() fast path remains force-inlined as that eliminates the
most expensive indirect calls on the hot path.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 15:28:06 -10:00
J. Nick Koston
05896c38e8
[api] Inline ProtoSize::varint fast path for hot loop performance
...
Split ProtoSize::varint() into an always-inlined fast path (value < 128)
and a noinline slow path, eliminating indirect function calls on the BLE
advertisement encode hot path. Also force-inline calc_uint32() and
calc_length() so the compiler fully inlines size calculations per
advertisement instead of emitting out-of-line calls.
Verified via Xtensa disassembly: eliminates ~80 indirect function calls
per 16-advertisement batch flush (3 calc + varint per advertisement).
Total hot path code reduced from 24 to 21 functions.
2026-03-07 15:20:58 -10:00
J. Nick Koston
888f3d804b
[ld2420] Add integration tests with mock UART ( #14471 )
2026-03-07 13:22:50 -10:00
J. Nick Koston
545395a6f0
[ci] Add RP2350 to PR template test environment ( #14599 )
2026-03-07 13:16:19 -10:00
Oliver Kleinecke
f2dfb5e1dc
[uart][usb_uart] Add debug_prefix option to distinguish multiple defined uarts in log ( #14525 )
2026-03-08 10:16:12 +11:00
Diorcet Yann and Jonathan Swoboda
3f700bac1c
[component] Fix components for compatibility with stricter compilers ( #14545 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-07 18:50:44 +00:00
J. Nick Koston
a0cd35c5fc
[core] Inline status_clear_warning/error fast path ( #14571 )
2026-03-07 07:27:08 -10:00
J. Nick Koston
e7b8ec18f1
[api] Inline APIServer::is_connected() for common no-arg path ( #14574 )
2026-03-07 07:26:50 -10:00
J. Nick Koston
77f2c371b2
[api] Single-pass protobuf encode for BLE proxy advertisements ( #14575 )
2026-03-07 07:26:34 -10:00
J. Nick Koston and Claude Opus 4.6
45f20d9c06
[core] Merge set_name + set_entity_strings into configure_entity_ ( #14444 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 07:26:01 -10:00
J. Nick Koston
f57fa4cc8d
[bluetooth_proxy] Add BLE connection parameters API ( #14577 )
2026-03-07 07:25:33 -10:00
J. Nick Koston
abc870006c
[captive_portal] Enable support for RP2040 ( #14505 )
2026-03-07 07:25:13 -10:00
puddly
15ffbb0b05
[uart] Fully enable raw mode with host serial ( #14573 )
2026-03-07 11:51:02 -05:00
Simon Redman
8b62c35ea7
[uart] Add error message when initializing UART with unsupported configuration ( #13229 )
2026-03-07 11:41:37 -05:00
tomaszduda23
0e106d843c
[nrf52][zephyr] support for multi on rate callbacks ( #14557 )
2026-03-07 11:18:21 -05:00
rwrozelle
cbebb81196
[openthread] move esp functions into correct file ( #14588 )
2026-03-07 11:12:27 -05:00
J. Nick Koston
05ae69b766
[api] Sync api.proto from aioesphomeapi ( #14579 )
2026-03-06 19:00:37 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9b489c9eba
Bump aioesphomeapi from 44.2.0 to 44.3.1 ( #14580 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-07 03:52:51 +00:00
Ricardo Sanz
df11e2765e
[climate][haier][template][core] Relocate CONF_CURRENT_TEMPERATURE to general const file ( #14503 )
2026-03-07 01:00:52 +00:00
AndreKR and Jonathan Swoboda
f53ee70caa
[http_request] Make TLS buffer configurable on ESP8266 ( #14009 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-06 14:29:20 -10:00
Jonathan Swoboda and Claude Opus 4.6
d8deb2255d
[mipi_rgb] Fix byte order and dirty bounds in fill() ( #14537 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 12:18:09 -10:00
035f985693
Bump ruff from 0.15.4 to 0.15.5 ( #14565 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-06 22:16:36 +00:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
086c1bb505
Bump docker/build-push-action from 6.19.2 to 7.0.0 in /.github/actions/build-image ( #14567 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-06 12:12:44 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c26c5935b6
Bump github/codeql-action from 4.32.5 to 4.32.6 ( #14566 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-06 12:12:19 -10:00
Jonathan Swoboda and Claude Opus 4.6
de7572bd3e
[lightwaverf] Fix ISR safety issues ( #14563 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 11:04:12 -10:00
Jonathan Swoboda and Claude Opus 4.6
5777908da7
[iaqcore][scd30][sen21231][beken_spi_led_strip] Fix uninitialized variables and missing error checks ( #14568 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 11:03:53 -10:00
587bf68091
[ltr501][pvvx_mithermometer][smt100] Convert static locals to instance members ( #14569 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-06 11:03:30 -10:00
Jonathan Swoboda and Claude Opus 4.6
2c83c6a79f
[shelly_dimmer][lvgl][seeed_mr60fda2][packet_transport] Fix buffer bounds checks ( #14534 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 10:47:56 -10:00
Jonathan Swoboda and Claude Opus 4.6
4f4b2bfdec
[bmp581_base][bl0906] Fix 24-bit sign extension bugs ( #14558 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 20:14:35 +00:00
Jonathan Swoboda and Claude Opus 4.6
0469612d07
[multiple] Fix assorted medium-severity bugs ( #14555 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 15:02:17 -05:00
Jonathan Swoboda and Claude Opus 4.6
8f3db96291
[esp32_ble_server][weikai][ade7880] Fix copy-paste bugs ( #14552 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 09:50:26 -10:00
Jonathan Swoboda and Claude Opus 4.6
a9cceebb33
[pid][nextion][pn532_i2c][pipsolar] Fix copy-paste and logic bugs ( #14551 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 09:48:50 -10:00
Jonathan Swoboda and Claude Opus 4.6
9ab5f5d451
[light] Fix unsigned underflow in addressable scan effect ( #14546 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 09:42:05 -10:00
Jonathan Swoboda and Claude Opus 4.6
219d5170e0
[noblex] Fix IR receive losing decoded bytes between calls ( #14533 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 14:15:54 -05:00
Jonathan Swoboda and Claude Opus 4.6
7b8ba9bf20
[multiple] Fix cast/operator precedence bugs ( #14560 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 09:14:12 -10:00
Jonathan Swoboda and Claude Opus 4.6
3db436e48e
[esp32_ble_server][espnow][time] Fix logic bugs ( #14553 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 09:05:34 -10:00
Jonathan Swoboda and Claude Opus 4.6
3c7956e72d
[multiple] Add default initializers to uninitialized member variables ( #14556 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 09:04:00 -10:00
J. Nick Koston and Copilot
42dbb51022
[api] Devirtualize protobuf encode/calculate_size ( #14449 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-06 19:03:54 +00:00
Jonathan Swoboda and Claude Opus 4.6
9654140c00
[tm1638][rp2040_pio_led_strip][atm90e32] Fix bounds checks and off-by-one ( #14559 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 09:00:46 -10:00
J. Nick Koston and Copilot
8a915dcbbe
[core] Move device class strings to PROGMEM on ESP8266 ( #14443 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-06 08:34:27 -10:00
b2378e830e
[rtttl] Add AudioStreamInfo and set volume ( #14439 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-06 18:11:52 +00:00
J. Nick Koston and Claude Opus 4.6
65b7c73bf3
[sgp4x] Fix undefined behavior from mutating entity config at runtime ( #14562 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:02:34 +00:00
J. Nick Koston
6e3bc7b1dd
[ci] Use pull_request_target for codeowner approved label workflow ( #14561 )
2026-03-06 07:33:05 -10:00
J. Nick Koston
82629c397f
[hlk_fm22x] Fix oversized response rejection breaking GET_ALL_FACE_IDS ( #14506 )
2026-03-06 07:01:50 -10:00
J. Nick Koston
a16b8fc0ac
[rp2040] Fix Pico W LED pin and auto-generate board definitions for arduino-pico 5.5.x ( #14528 )
2026-03-06 07:00:31 -10:00
J. Nick Koston and Copilot
74e4b69654
[core] Replace Application name/friendly_name std::string with StringRef ( #14532 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2026-03-06 06:58:13 -10:00
J. Nick Koston
07e51886f3
[core] Move entity icon strings to PROGMEM on ESP8266 ( #14437 )
2026-03-06 06:57:52 -10:00
tomaszduda23 and Jonathan Swoboda
e59a2b3ede
[nrf52] prepare for usb cdc ( #14174 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-06 16:25:44 +00:00