Commit Graph
362 Commits
Author SHA1 Message Date
J. Nick Koston 0e6d0a0918 Merge branch 'constexpr-progmem' into integration 2026-02-19 16:40:31 -06:00
J. Nick KostonandClaude Opus 4.6 41346716cc [core] Use constexpr for PROGMEM arrays
Change progmem_array codegen from `static const` to `static constexpr`.
This ensures the compiler evaluates the array at compile time with no
runtime initialization, and is the correct qualifier for constant data
known at compile time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:33:38 -06:00
J. Nick Koston 2d9e214879 Merge branch 'app-dump-config-uint16' into integration 2026-02-18 12:41:59 -06:00
Jonathan SwobodaandClaude Opus 4.6 9cd7b0b32b [external_components] Clean up incomplete clone on failed ref fetch (#14051)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 18:09:33 +00:00
J. Nick Koston abb88f6b0f Merge remote-tracking branch 'origin/api-flash-string-progmem' into integration 2026-02-09 11:16:41 -06:00
J. Nick Koston 5d5344cf91 Add tests for cg.templatable() auto FlashStringLiteral wrapping
Cover the new automatic ESPHOME_F() wrapping behavior: static strings
with std::string output_type, non-string values, None output_type,
to_exp callable/dict, and lambda passthrough.
2026-02-09 10:56:56 -06:00
J. Nick Koston 1c60efa4b6 [ota] Use secrets module for OTA authentication cnonce (#13863) 2026-02-09 08:30:49 -06:00
J. Nick Koston c990da265a Add unit tests for FlashStringLiteral
Cover the three lines reported uncovered by codecov in
cpp_generator.py (FlashStringLiteral.__init__ and __str__).
2026-02-09 07:45:03 -06:00
J. Nick Koston 5370687001 [wizard] Use secrets module for fallback AP password generation (#13864) 2026-02-09 03:25:41 -06:00
J. Nick Koston b283f1ae75 Merge all hardening branches into integration
Resolve conflict in web_server_idf.cpp: keep constant-time compare
logic adapted to stack-allocated digest buffer from integration.
2026-02-08 08:03:23 -06:00
J. Nick Koston bf7ede1d43 Make mock_token_hex strict on unexpected nbytes
Raise ValueError for unexpected nbytes values so tests fail clearly
if production code starts calling token_hex with an incorrect size.
2026-02-08 07:24:11 -06:00
J. Nick Koston 1b7efdd051 Match cnonce length to hash algorithm digest size
Use nonce_size // 2 as token_hex argument so MD5 auth produces
a 32-char cnonce and SHA256 auth produces a 64-char cnonce,
matching the original protocol behavior.

Rename mock_random fixture to mock_token_hex and use separate
mock cnonce constants per hash algorithm.
2026-02-08 07:11:56 -06:00
J. Nick Koston caff93d7b8 Add test coverage for secrets.choice in fallback PSK generation
Verifies that wizard_file uses secrets.choice (not random.choice)
to generate the 12-character fallback hotspot password.
2026-02-08 07:08:25 -06:00
J. Nick Koston a8fd6c132e Update tests to mock secrets.token_hex instead of random.random
The cnonce generation was changed to use secrets.token_hex(32),
so the test mocks and assertions need to match.
2026-02-08 06:59:32 -06:00
J. Nick Koston 51b0661d9d Merge branch 'scheduler-inplace-cleanup' into integration 2026-02-07 19:56:42 +01:00
J. Nick Koston 6a383a62b8 Merge branch 'scheduler-inplace-cleanup' into integration 2026-02-07 19:52:42 +01:00
J. Nick Koston 0fa7050b1c remove temp test 2026-02-07 10:01:57 +01:00
J. Nick Koston fa1554cac0 [scheduler] Eliminate heap allocation in full_cleanup_removed_items_
Replace the temporary std::vector copy with in-place compaction using a
read/write pointer pattern. This avoids a heap allocation+deallocation
cycle during scheduler cleanup, reducing heap fragmentation on
long-running ESP devices.

The new approach compacts valid items forward in the existing vector,
recycles removed items as they are encountered, then resizes the vector
(no reallocation since size only shrinks). Same O(n) complexity, same
behavior, zero allocations.
2026-02-07 09:54:43 +01:00
J. Nick Koston d6466bdbc7 Merge branch 'ard_chunked_http_request' into integration 2026-02-06 11:23:51 +01:00
Jonathan SwobodaandClaude Opus 4.5 8e461db301 [ota] Fix CLI upload option shown when only http_request platform configured (#13784)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 04:09:48 -05:00
J. Nick Koston be44d4801f [esp32] Reduce Arduino build size by 44% and build time by 36% (#13623) 2026-02-05 10:52:43 +01:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>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
J. Nick Koston 43b6e7962d Merge branch 'dependabot/pip/ruff-0.15.0' into integration 2026-02-04 09:31:37 +01:00
J. Nick Koston f5f5e2bdae cleanup 2026-02-04 09:28:18 +01:00
pre-commit-ci-lite[bot] c05f0589fc [pre-commit.ci lite] apply automatic fixes 2026-02-04 08:22:15 +00:00
J. Nick Koston aa6650c86d Merge remote-tracking branch 'upstream/dev' into integration 2026-02-03 01:25:44 +01:00
Jonathan SwobodaandClaude Opus 4.5 da947d060f [wizard] Use API encryption key instead of deprecated password (#13634)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 19:20:24 -05:00
J. Nick Koston 8b9d2f5a47 Merge remote-tracking branch 'origin/useless_tag_cache' into integration 2026-01-30 23:46:49 -06:00
Clyde Stubbs 9dcb469460 [core] Simplify generation of Lambda during to_code() (#13533) 2026-01-31 12:18:30 +11:00
J. Nick Koston 9b3a9bc3ef Merge remote-tracking branch 'upstream/dev' into integration 2026-01-30 16:03:40 -06:00
David Woodhouseandpre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> 823b5ac1ab [ch423] Add CH423 I/O expander component (#13079)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-01-29 18:16:15 -05:00
J. Nick Koston c2ff653d1b Merge branch 'esp32_ard_compile_time' into integration 2026-01-29 14:31:37 -06:00
J. Nick Koston cfe7ad538d no need to add a new config option 2026-01-29 13:43:44 -06:00
J. Nick Koston 123ee02d39 [ota] Improve error message when device closes connection without responding (#13562) 2026-01-26 17:13:18 -10:00
J. Nick Koston 370191a0f0 Merge branch 'improve_ota_error_device_closes_connection' into integration 2026-01-26 16:16:50 -10:00
J. Nick Koston 11783e9060 [ota] Improve error message when device closes connection without responding 2026-01-26 16:16:06 -10:00
J. Nick Koston 38e7dd5f29 Merge remote-tracking branch 'upstream/dev' into integration 2026-01-19 12:48:51 -10:00
Jonathan SwobodaandClaude Opus 4.5 1996bc425f [core] Fix state leakage and module caching when processing multiple configurations (#13368)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 14:46:24 -05:00
J. Nick Koston fb03947d28 Merge remote-tracking branch 'upstream/dev' into integration 2026-01-07 11:39:50 -10:00
J. Nick Koston b7dbda497a [core] Improve log timestamp accuracy by batching serial reads (#12750) 2026-01-07 08:28:31 -10:00
J. Nick Koston 39526e5360 [analyze-memory] Add RAM symbol analysis by component (#13040) 2026-01-07 08:24:44 -10:00
J. Nick Koston ac42102320 [core] Auto-replace / in entity names with Unicode fraction slash during deprecation period (#13016) 2026-01-06 07:36:01 -10:00
J. Nick Koston b8faecfd4e Merge branch 'slash_workaround' into integration 2026-01-05 18:49:34 -10:00
J. Nick Koston 4b4c1c1191 [core] Auto-replace / in entity names with Unicode fraction slash during deprecation period 2026-01-05 18:46:54 -10:00
J. Nick Koston 6e391bb083 Merge branch 'get_peername_stack_save_ram' into integration 2026-01-04 13:07:32 -10:00
Clyde Stubbs 71940acc49 [esp32_ble] Remove requirement for configured network (#12891) 2026-01-04 22:37:44 +00:00
J. Nick Koston 3cc6810be5 [core] Remove object_id RAM storage - no longer in hot path after #12627 (#12631) 2026-01-02 15:46:01 -10:00
J. Nick Koston 7438034411 Merge remote-tracking branch 'upstream/dev' into integration 2026-01-02 13:09:46 -10:00
J. Nick Koston c6713eaccb [web_server] Fix URL collisions with UTF-8 names and sub-devices (#12627) 2026-01-02 13:07:11 -10:00
J. Nick Koston 065d0541d1 Merge branch 'buffering' into integration 2025-12-29 21:16:25 -10:00