1
0
mirror of https://github.com/esphome/esphome.git synced 2025-07-31 19:29:37 +01:00

278 Commits

Author SHA1 Message Date
J. Nick Koston
76d33308d9 [api] Eliminate heap allocations when populating repeated fields from containers () 2025-07-30 10:41:37 +12:00
J. Nick Koston
2c9987869e [api] Align ProtoSize API design with ProtoWriteBuffer pattern () 2025-07-29 10:28:32 +12:00
J. Nick Koston
68f388f78e [api] Optimize protobuf empty message handling to reduce flash and runtime overhead () 2025-07-29 10:25:07 +12:00
J. Nick Koston
1702356fc8 [api] Fix string lifetime issue in Home Assistant service calls with templated values () 2025-07-28 16:39:25 +12:00
cryptk
20b61d4bdb Add seed flag when running setup with uv present () 2025-07-28 14:20:51 +12:00
Clyde Stubbs
e00839a608 [ci-custom] Report actual changes needed for absolute import () 2025-07-27 11:51:57 +10:00
J. Nick Koston
d64e4d3c49 [ruff] Enable FURB rules for code modernization () 2025-07-26 20:54:03 +12:00
J. Nick Koston
f808c38f10 [ruff] Enable PERF rules and fix all violations () 2025-07-25 08:15:54 -10:00
J. Nick Koston
ffebd30033 [ruff] Enable SIM rules and fix code simplification violations () 2025-07-25 18:26:08 +12:00
J. Nick Koston
c74f12be98 [api] Use C++17 nested namespace syntax () 2025-07-24 07:15:42 +00:00
J. Nick Koston
4a27b34685 [api] Reduce code duplication in protobuf dump methods with helper functions () 2025-07-24 15:19:58 +12:00
J. Nick Koston
f863189f96 [api] Simplify generated authentication check code () 2025-07-24 15:18:01 +12:00
J. Nick Koston
04d9698681 [api] Replace magic numbers with MESSAGE_TYPE constants in protobuf switch cases () 2025-07-24 15:16:54 +12:00
J. Nick Koston
6ac1073469 [ci] Support C++17 nested namespace syntax in linter () 2025-07-23 23:32:35 +12:00
Jonathan Swoboda
116c91e9c5 Bump ESP32 IDF version to 5.4.2 and Arduino version to 3.2.1 () 2025-07-22 13:15:31 -10:00
Guillermo Ruffino
3bb5a9e2f7 [schema-gen] fix referenced schemas when schema in component platform () 2025-07-23 06:52:56 +12:00
J. Nick Koston
a614a68f1a [api] Implement zero-copy string optimization for outgoing protobuf messages ()
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2025-07-22 07:33:03 -10:00
J. Nick Koston
ac08fb314f [api] Optimize protobuf memory usage with fixed-size arrays for Bluetooth UUIDs () 2025-07-22 21:50:49 +12:00
J. Nick Koston
db62a94712 [api] Implement zero-copy for all protobuf bytes fields () 2025-07-22 09:38:39 +12:00
J. Nick Koston
acca629c5c [api] Fix missing ifdef guards for AreaInfo and DeviceInfo messages () 2025-07-20 23:05:53 +00:00
J. Nick Koston
2540e7edb2 [api] Remove deprecated protobuf fields to reduce flash usage () 2025-07-21 10:35:53 +12:00
J. Nick Koston
5b3d61b4a6 [api] Fix missing ifdef guards for field_ifdef fields in protobuf base classes () 2025-07-20 15:41:00 +12:00
J. Nick Koston
89b9bddf1b [CI] Fix clang-tidy not running when platformio.ini changes () 2025-07-19 20:55:21 +12:00
Jesse Hills
19a68dc650 Add core team as codeowner of .github folder () 2025-07-19 10:55:22 +12:00
J. Nick Koston
71cc298363 Use message_source_map consistently in proto generation () 2025-07-19 00:28:08 +12:00
J. Nick Koston
ec5a517a76 Fix bluetooth_proxy heap allocations during BLE scanning () 2025-07-18 16:24:29 +12:00
J. Nick Koston
f5afe1145e Refactor API send_message from template to non-template implementation () 2025-07-18 10:28:14 +12:00
Jesse Hills
b361b93722 Add some AI instructions () 2025-07-17 22:40:28 +12:00
J. Nick Koston
9e621a1769 Update script/helpers.py to use ESPHome YAML parser for integration fixtures () 2025-07-16 22:19:27 +12:00
J. Nick Koston
15768ec00d Reduce API proto vtable overhead by splitting decode functionality () 2025-07-16 20:46:04 +12:00
J. Nick Koston
3ab1ee7a04 Reduce binary size with field-level conditional compilation for protobuf messages ()
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-07-16 18:36:26 +12:00
J. Nick Koston
c691f01c7f Reduce flash usage by replacing ProtoSize template with specialized methods () 2025-07-16 01:50:32 +00:00
J. Nick Koston
f745135bdc Drop Python 3.10 support, require Python 3.11+ ()
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-07-15 15:20:58 -10:00
J. Nick Koston
b5be45273f Improve API protobuf decode method readability and reduce code size () 2025-07-16 13:15:11 +12:00
J. Nick Koston
856cb182fc Remove dead code: 64-bit protobuf types never used in 7 years () 2025-07-15 15:12:12 -10:00
J. Nick Koston
63b8a219e6 Include entire platformio.ini in clang-tidy hash calculation () 2025-07-15 01:26:39 -05:00
J. Nick Koston
b2a8b0a22f Add pre-commit hooks to fix common formatting issues causing CI failures () 2025-07-15 12:25:18 +12:00
J. Nick Koston
1fda40f0ce Only generate protobuf encode/decode methods for the message direction they're used () 2025-07-13 10:58:57 +12:00
J. Nick Koston
8863188dd8 Apply existing protobuf buffer optimization to nested message encoding (~2.3x speed up) () 2025-07-13 06:55:32 +12:00
J. Nick Koston
ca5ee0ce07 Reduce API flash usage by eliminating unnecessary template instantiations () 2025-07-12 03:56:08 +00:00
J. Nick Koston
01f949e097 Optimize API proto size calculations by removing redundant force parameter () 2025-07-11 21:08:52 -05:00
J. Nick Koston
143bf694c7 Optimize API flash usage by storing message size at compile time () 2025-07-11 19:38:23 -05:00
J. Nick Koston
8953e53a04 CI: Centralize test determination logic to reduce unnecessary job runners () 2025-07-11 21:54:57 +12:00
J. Nick Koston
e9c7596e00 Fix clang-tidy triggering full scan on Python-only core file changes () 2025-07-10 12:41:59 +12:00
J. Nick Koston
6616567b05 Speed up clang-tidy CI by 80%+ with incremental checking () 2025-07-10 09:00:44 +12:00
J. Nick Koston
e58c793da2 Replace deprecated sprintf with snprintf in API protobuf code generation () 2025-07-08 08:38:41 +12:00
Jesse Hills
8147d117a0 [core] Move platform helper implementations into their own file () 2025-07-07 15:55:02 +00:00
J. Nick Koston
4ef5c941c9 Fix missing ifdef guards in API protobuf generator () 2025-07-03 09:39:20 +12:00
J. Nick Koston
eba2c82fec Use encode_bytes() for protobuf bytes fields () 2025-07-02 04:36:09 +00:00
Jesse Hills
6a096c1d5a [api] Dump bytes fields as hex instead of unreadable string () 2025-07-02 13:36:15 +12:00