J. Nick Koston
3e08cb595d
no widen
2026-02-18 07:58:14 -06:00
J. Nick Koston
9457e54e5d
Rename parse_wide_ to parse_wide per clang-tidy naming convention
2026-02-17 19:00:55 -06:00
J. Nick Koston
bd6048faf8
Merge origin/dev into api_varint_split_32_64
2026-02-17 18:56:11 -06:00
J. Nick Koston
3989236154
[api] Split ProtoVarInt::parse into 32-bit and 64-bit phases
...
On 32-bit platforms (ESP32 Xtensa), 64-bit shifts in varint parsing
compile to __ashldi3 library calls. Since the vast majority of protobuf
varint fields (message types, sizes, enum values, sensor readings) fit
in 4 bytes, the 64-bit arithmetic is unnecessary overhead on the common
path.
Split parse() into two phases:
- Bytes 0-3: uint32_t loop with native 32-bit shifts (0, 7, 14, 21)
- Bytes 4-9: noinline parse_wide_() with uint64_t, only for BLE
addresses and other 64-bit fields
The code generator auto-detects which proto messages use int64/uint64/
sint64 fields and emits USE_API_VARINT64 conditionally. On non-BLE
configs, parse_wide_() and the 64-bit accessors (as_uint64, as_int64,
as_sint64) are compiled out entirely.
Saves ~40 bytes flash on non-BLE configs. Benchmark shows 25-50%
faster parsing for 1-4 byte varints (the common case).
2026-02-17 18:54:25 -06:00
Jesse Hills
a3d7e76992
Merge branch 'beta' into dev
2026-02-18 13:29:11 +13:00
Jesse Hills
973656191b
Merge pull request #14038 from esphome/bump-2026.2.0b4
...
2026.2.0b4
2026.2.0b4
2026-02-18 13:28:37 +13:00
Jesse Hills
d9f493ab7a
Bump version to 2026.2.0b4
2026-02-18 10:13:41 +13:00
schrob
a0c4fa6496
[openthread] Fix compiler format warning ( #14030 )
2026-02-18 10:13:41 +13:00
dependabot[bot]
5bb863f7da
Bump actions/stale from 10.1.1 to 10.2.0 ( #14036 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-17 13:24:39 -06:00
Rodrigo Martín
81ed70325c
[esp32_ble_server] fix infinitely large characteristic value ( #14011 )
2026-02-17 07:45:21 -10:00
schrob
e826d71bd8
[openthread] Fix compiler format warning ( #14030 )
2026-02-17 10:16:57 -05:00
J. Nick Koston
4cd3f6c36a
[api] Remove unused reserve from APIServer constructor ( #14017 )
2026-02-17 16:30:57 +13:00
Jesse Hills
6b4b8cb2f9
Merge branch 'beta' into dev
2026-02-17 16:22:46 +13:00
Jesse Hills
fd43bd2b7e
Merge pull request #14025 from esphome/bump-2026.2.0b3
...
2026.2.0b3
2026.2.0b3
2026-02-17 16:22:12 +13:00
Jesse Hills
5904808804
Bump version to 2026.2.0b3
2026-02-17 13:24:35 +13:00
Jonathan Swoboda
e945e9b659
[esp32_rmt] Handle ESP32 variants without RMT hardware ( #14001 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 13:24:35 +13:00
Jonathan Swoboda
df29cdbf17
[fan] Fix preset_mode not restored on boot ( #14002 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 13:24:35 +13:00
Jonathan Swoboda
f6362aa8da
[combination] Fix 'coeffecient' typo with backward-compatible deprecation ( #14004 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 13:24:35 +13:00
J. Nick Koston
1517b7799a
[wifi] Fix ESP8266 DHCP state corruption from premature dhcp_renew() ( #13983 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 13:24:35 +13:00
J. Nick Koston
0c4827d348
[json, core] Remove stored RAMAllocator, make constructors constexpr ( #14000 )
2026-02-16 08:09:53 -06:00
J. Nick Koston
81872d9822
[camera, camera_encoder] Remove stored RAMAllocator member ( #13997 )
2026-02-16 08:09:26 -06:00
J. Nick Koston
ffb9a00e26
[online_image] Remove stored RAMAllocator member from DownloadBuffer ( #13999 )
2026-02-16 08:09:13 -06:00
J. Nick Koston
f2c827f9a2
[runtime_image] Remove stored RAMAllocator member ( #13998 )
2026-02-16 08:08:43 -06:00
Cornelius A. Ludmann
f2cb5db9e0
[epaper_spi] Add Waveshare 7.5in e-Paper (H) ( #13991 )
2026-02-16 13:44:30 +11:00
Kevin Ahrendt
066419019f
[audio] Support reallocating non-empty AudioTransferBuffer ( #13979 )
2026-02-15 16:09:35 -05:00
Pawelo
15da6d0a0b
[epaper_spi] Add WeAct 3-color e-paper display support ( #13894 )
2026-02-16 07:58:51 +11:00
Jonathan Swoboda
6303bc3e35
[esp32_rmt] Handle ESP32 variants without RMT hardware ( #14001 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 13:23:06 -05:00
Jonathan Swoboda
0f4dc6702d
[fan] Fix preset_mode not restored on boot ( #14002 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 12:11:50 -05:00
Jonathan Swoboda
f48c8a6444
[combination] Fix 'coeffecient' typo with backward-compatible deprecation ( #14004 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 12:11:36 -05:00
dependabot[bot]
38404b2013
Bump ruff from 0.15.0 to 0.15.1 ( #13980 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-02-14 15:11:17 -07:00
AndreKR
5a6d64814a
[http_request] Improve TLS logging on ESP8266 ( #13985 )
2026-02-14 10:08:26 -07:00
J. Nick Koston
36776b40c2
[wifi] Fix ESP8266 DHCP state corruption from premature dhcp_renew() ( #13983 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 08:21:04 -07:00
Jesse Hills
58c3ba7ac6
Merge branch 'beta' into dev
2026-02-14 16:03:25 +13:00
Jesse Hills
afa4047089
Merge pull request #13984 from esphome/bump-2026.2.0b2
...
2026.2.0b2
2026.2.0b2
2026-02-14 16:02:49 +13:00
Jesse Hills
a8a324cbfb
Bump version to 2026.2.0b2
2026-02-14 13:53:54 +13:00
J. Nick Koston
f6aeef2e68
[api] Fix ESP8266 noise API handshake deadlock and prompt socket cleanup ( #13972 )
2026-02-14 13:53:54 +13:00
Jonathan Swoboda
297dfb0db4
[docker] Suppress git detached HEAD advice ( #13962 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 13:53:54 +13:00
Jonathan Swoboda
c08356b0c1
[alarm_control_panel] Fix flaky integration test race condition ( #13964 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 13:53:54 +13:00
Lukáš Maňas
e9bf9bc691
[pulse_meter] Fix early edge detection ( #12360 )
...
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-02-14 13:53:54 +13:00
J. Nick Koston
ead7937dbf
[api] Extract cold code from APIServer::loop() hot path ( #13902 )
2026-02-14 13:53:54 +13:00
J. Nick Koston
844210519a
[uart] Remove redundant mutex, fix flush race, conditional event queue ( #13955 )
2026-02-14 13:53:54 +13:00
Guillermo Ruffino
7c70b2e04e
[schema-gen] fix Windows: ensure UTF-8 encoding when reading component files ( #13952 )
2026-02-14 13:53:54 +13:00
dependabot[bot]
931b47673c
Bump github/codeql-action from 4.32.2 to 4.32.3 ( #13981 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-13 16:22:26 -06:00
J. Nick Koston
79d9fbf645
[nfc] Replace constant std::vector with static constexpr std::array ( #13978 )
2026-02-13 16:22:05 -06:00
J. Nick Koston
f24e7709ac
[core] Make LOG_ENTITY_ICON a no-op when icons are compiled out ( #13973 )
2026-02-13 16:21:50 -06:00
Kevin Ahrendt
903971de12
[runtime_image, online_image] Create runtime_image component to decode images ( #10212 )
2026-02-13 11:25:43 -05:00
J. Nick Koston
b04e427f01
[usb_host] Extract cold path from loop(), replace std::string with buffer API ( #13957 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-13 06:39:00 -06:00
J. Nick Koston
e0c03b2dfa
[api] Fix ESP8266 noise API handshake deadlock and prompt socket cleanup ( #13972 )
2026-02-12 18:20:58 -06:00
J. Nick Koston
7dff631dcb
[core] Flatten single-callsite vector realloc functions ( #13970 )
2026-02-12 18:20:39 -06:00
J. Nick Koston
36aba385af
[web_server] Flatten deq_push_back_with_dedup_ to inline vector realloc ( #13968 )
2026-02-12 18:20:21 -06:00