J. Nick Koston
0e8a3dfb6f
Fold dev's ProgmemStringRef struct into the class and share the progmem short string body
2026-10-12 16:53:49 -10:00
J. Nick Koston
e3d33df379
Share the outlined PROGMEM append for the progmem string dump
2026-10-08 21:44:09 -10:00
J. Nick Koston
c263852df9
Dump progmem strings straight into the dump buffer
2026-10-08 21:34:34 -10:00
J. Nick Koston
7c58d26d13
[api] Add encode_progmem_string for progmem string fields
...
Generated code passes the ProgmemStringRef instead of spelling out the cast.
2026-10-08 20:17:55 -10:00
J. Nick Koston
88f7fc7454
Allow progmem on any string field and split the ProgmemStringRef tests
...
Long or unforced progmem strings encode through encode_progmem_bytes, which
API action strings need. The ProgmemStringRef tests move to their own file.
2026-10-08 20:04:18 -10:00
J. Nick Koston
13057b7ae3
Type the API progmem name field as ProgmemStringRef
...
Progmem string fields must take the short encode path, the outlined encode
helper takes a ProgmemStringRef, and the hasher test checks the Python value.
2026-10-08 18:22:29 -10:00
J. Nick Koston
afac871938
[api] Encode entity names straight from flash
...
Extend the progmem proto option to string fields and mark the entity info
name field with it, so ListEntities copies the name once instead of through
a stack buffer.
2026-10-08 17:58:37 -10:00
J. Nick Koston
052f5a4cc6
[core] Declare component log tags with ESPHOME_LOG_TAG ( #20291 )
2026-10-08 07:24:17 -10:00
J. Nick Koston
7aeed8455e
[api] Add a progmem option for bytes fields kept in flash ( #20318 )
2026-10-08 16:24:27 +13:00
J. Nick Koston
3296bccd3c
[api] Keep the protobuf write cursor in a register and emit sub-message tags inline ( #20124 )
2026-10-07 10:08:25 -10:00
J. Nick Koston
f8e8295088
[api] Decode without a vtable ( #19029 )
2026-09-24 16:14:25 +01:00
J. Nick Koston
9f5ac44db1
[api] Default response only string fields to a null StringRef ( #19025 )
2026-09-24 15:52:37 +01:00
J. Nick Koston
f1f83cda07
[api] Collapse the three protobuf decode virtuals into one ( #19016 )
2026-09-24 15:30:11 +01:00
J. Nick Koston
c27cbb132d
[api] Make generated encode and size entry points type erased ( #19015 )
2026-09-24 15:13:52 +01:00
J. Nick Koston
da148bedfe
[api] Pass the encode cursor by value through the protobuf helpers ( #19014 )
2026-09-24 14:25:50 +01:00
J. Nick Koston
145373ed13
[api] Widen message type storage to uint16_t ( #18526 )
2026-08-25 18:04:41 +00:00
J. Nick Koston
d877fb021c
[time] Remove C++ POSIX TZ string parser ( #18383 )
2026-08-24 13:24:00 +12:00
J. Nick Koston
37eae9b466
[api] Gate the bluetooth connection messages on their own define ( #18281 )
2026-08-11 21:31:13 -05:00
J. Nick Koston
ceb9d406e1
[core] Enable ruff PIE (flake8-pie) lint family ( #16658 )
2026-05-26 07:46:44 -04:00
J. Nick Koston
ae74920b81
[core] Enable ruff PTH (flake8-use-pathlib) lint family ( #16661 )
2026-05-26 05:14:42 +00:00
J. Nick Koston
ae814cff5c
[core] Enable ruff B (flake8-bugbear) lint family ( #16655 )
2026-05-26 02:28:14 +00:00
J. Nick Koston
f1839489dd
[core] Enable ruff ISC (flake8-implicit-str-concat) lint family ( #16646 )
2026-05-25 20:06:18 -05:00
J. Nick Koston
f05243bd9d
[api] Add 48-bit MAC address varint fast path for BLE advertisements ( #15988 )
2026-04-29 13:48:35 +12:00
Keith Burzinski
70b1d9a087
[api_protobuf] Support compound ifdef conditions in proto generator ( #15930 )
2026-04-22 17:57:15 -05:00
J. Nick Koston and pre-commit-ci-lite[bot]
53ce2a2f7f
[api] Add speed_optimized to SubscribeLogsResponse ( #15698 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-14 06:25:05 +12:00
J. Nick Koston and pre-commit-ci-lite[bot]
5b4385a084
[api] Add speed_optimized proto option for hot encode paths ( #15691 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-13 07:42:31 +00:00
J. Nick Koston
ec420d5792
[api] Add (inline_encode) proto option for sub-message inlining ( #15599 )
2026-04-10 15:33:56 +12:00
J. Nick Koston
10b38e1588
[api] Add max_data_length proto option and optimize entity name/object_id ( #15426 )
2026-04-07 03:31:01 +00:00
J. Nick Koston
d15fa84f4f
[api] Auto-derive max_value for enum fields in protobuf codegen ( #15469 )
2026-04-06 14:39:55 -10:00
J. Nick Koston and pre-commit-ci-lite[bot]
2b5ee69eb2
[api] Speed up protobuf encode 17-20% with register-optimized write path ( #15290 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-06 12:42:18 -10:00
J. Nick Koston
1de94c1a84
[api] Add max_value proto option for constant-size varint codegen ( #15424 )
2026-04-05 18:02:06 -10:00
J. Nick Koston
793813790a
[api] Precompute tag bytes for forced varint and length-delimited fields ( #15067 )
2026-03-24 01:52:39 +00:00
J. Nick Koston
382de7ca90
[api] Store dump strings in PROGMEM to save RAM on ESP8266 ( #14982 )
2026-03-23 13:40:53 -10:00
J. Nick Koston
36d2e58b11
[api] Make ProtoDecodableMessage::decode() non-virtual ( #15076 )
2026-03-23 08:23:08 -10:00
J. Nick Koston
f4097d5a95
[api] Devirtualize API command dispatch ( #15044 )
2026-03-23 19:57:40 +13:00
J. Nick Koston
fbe3e7d99c
[api] Emit raw tag+value writes for forced fixed32 key fields ( #15051 )
2026-03-22 15:28:46 -10:00
J. Nick Koston
05d285ba86
[api] Fix heap-buffer-overflow in protobuf message dump for StringRef ( #14721 )
2026-03-12 07:16:53 -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 and Claude Opus 4.6
be6c3c52ac
[api] Add force proto field option to skip zero checks on hot path ( #14610 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 18:59:13 -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 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
J. Nick Koston
f68a3ed15d
[api] Remove virtual destructor from ProtoMessage ( #14393 )
2026-03-01 18:09:00 -10:00
J. Nick Koston
8bb577de64
[api] Split ProtoVarInt::parse into 32-bit and 64-bit phases ( #14039 )
2026-02-25 12:23:13 -06:00
J. Nick Koston
f77da803c9
[api] Write protobuf encode output to pre-sized buffer directly ( #14018 )
2026-02-20 21:39:18 -06:00
J. Nick Koston
6c6da8a3cd
[api] Skip class generation for empty SOURCE_CLIENT protobuf messages ( #13880 )
2026-02-09 18:45:24 +00:00
J. Nick Koston
c658d7b57f
[api] Merge auth check into base read_message, eliminate APIServerConnection ( #13873 )
2026-02-09 12:02:02 -06:00
J. Nick Koston
3cde3daceb
[api] Collapse APIServerConnection intermediary layer ( #13872 )
2026-02-09 08:45:33 -06:00
J. Nick Koston
140ec0639c
[api] Elide empty message construction in protobuf dispatch ( #13871 )
2026-02-09 03:24:45 -06:00
J. Nick Koston and Copilot
55ef8393af
[api] Remove is_single parameter and fix batch buffer preparation ( #13773 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-05 15:19:03 +01:00
dependabot[bot] and J. Nick Koston
4d05cd3059
Bump ruff from 0.14.14 to 0.15.0 ( #13752 )
...
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-04 09:24:05 +00:00