J. Nick Koston
3afcbd22b2
Merge branch 'add-codeowner-approved-label' into integration
2026-03-02 16:02:28 -10:00
J. Nick Koston
2e623fd6c3
[tests] Fix flaky log assertion race in oversized payload tests ( #14414 )
2026-03-02 11:48:50 -10:00
J. Nick Koston
3615a7b90c
[core] Eliminate __udivdi3 in millis() on ESP32 and RP2040 ( #14409 )
2026-03-02 11:42:25 -10:00
J. Nick Koston
74eda7fc01
Merge remote-tracking branch 'origin/pack-entity-strings' into integration
2026-03-02 09:31:46 -10:00
J. Nick Koston
8ee800bb35
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 07:53:19 -10:00
J. Nick Koston
96a564a6e9
[core] Replace Python unit tests with C++ integration test for micros_to_millis
...
The Python tests were testing a Python reimplementation, not the
actual C++ code. Replace with an integration test that exercises
the real micros_to_millis() on the host platform, covering boundary
values, carry paths, and mod-8 shift edge cases (25 checks).
2026-03-02 07:41:52 -10:00
J. Nick Koston
61eb8f3e14
Merge remote-tracking branch 'upstream/cache-lwip-sock-pointers' into integration
...
# Conflicts:
# esphome/components/esp32/core.cpp
# esphome/components/esp8266/core.cpp
# esphome/components/host/core.cpp
# esphome/components/libretiny/core.cpp
# esphome/components/rp2040/core.cpp
# esphome/components/zephyr/core.cpp
# esphome/core/application.cpp
# esphome/core/hal.h
2026-03-02 07:38:28 -10:00
J. Nick Koston
15a792ecce
bot review
2026-03-02 07:34:47 -10:00
J. Nick Koston
deea16698d
Add tests for setup_entity direct-call and decorator modes
2026-03-02 07:13:49 -10:00
J. Nick Koston and Claude Opus 4.6
0f9c71714e
Merge remote-tracking branch 'upstream/dev' into pack-entity-strings
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 07:05:08 -10:00
J. Nick Koston
a1d91ac779
[core] Compile-time detection of loop() overrides ( #14405 )
2026-03-02 06:59:23 -10:00
J. Nick Koston
82da4935b6
[core] Auto-wrap static strings in PROGMEM on ESP8266 via TemplatableValue ( #13885 )
2026-03-02 06:57:08 -10:00
77a7cbcffd
Use cached files on network errors in external_files ( #14055 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jesserockz <3060199+jesserockz@users.noreply.github.com >
2026-03-02 11:41:20 -05:00
J. Nick Koston
5041bc06aa
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 00:22:05 -10:00
J. Nick Koston
cff32556a2
Add static_asserts and type hints to tests
...
Add compile-time static_asserts for micros_to_millis correctness.
Add parameter type hints and return annotations to test functions.
2026-03-02 00:21:44 -10:00
J. Nick Koston
7bed94aa38
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 00:11:13 -10:00
J. Nick Koston
df57c21368
[core] Template micros_to_millis for both 32/64-bit results
...
Make micros_to_millis a template on return type (default uint32_t).
millis_64() now calls micros_to_millis<uint64_t>() to eliminate
__udivdi3 there too — same Euclidean decomposition, just with a
32x32->64 multiply for hi*Q instead of truncating.
Add 64-bit variant tests (140 total, all passing).
2026-03-02 00:11:02 -10:00
J. Nick Koston
a8f8c3753f
Merge remote-tracking branch 'upstream/esp32-millis-euclidean-decomposition' into integration
2026-03-02 00:10:32 -10:00
J. Nick Koston
99aa5043a3
[core] Add unit tests for micros_to_millis, make constexpr
...
Add Python unit tests (70 cases) verifying the Euclidean decomposition
matches us // 1000 across edge cases: small values, hi/lo boundaries,
carry-path overflow, realistic uptimes, and shift-boundary mod-8
variations.
Make micros_to_millis constexpr to enable compile-time validation
via static_assert.
2026-03-02 00:05:06 -10:00
J. Nick Koston
309cda0799
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-01 23:02:57 -10:00
Bonne Eggleston and J. Nick Koston
3160457ca6
Create integration tests for modbus ( #14395 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-01 22:51:27 -10:00
J. Nick Koston
8f83f5c9fc
Merge branch 'esp8266-wake-loop-any-context' into integration
2026-03-01 21:09:29 -10:00
J. Nick Koston
80a2acca4f
[ld2410] Add UART mock integration test for LD2410 component ( #14377 )
2026-03-01 18:19:32 -10:00
J. Nick Koston
c876b95af5
Merge branch 'compile-time-has-overridden-loop' into integration
...
# Conflicts:
# esphome/core/application.cpp
2026-03-01 12:08:14 -10:00
J. Nick Koston
78257db36a
fix tests
2026-03-01 11:57:58 -10:00
J. Nick Koston
48b5cae6c4
[api] Use StringRef for user service string arguments ( #13974 )
2026-03-02 10:32:44 +13:00
J. Nick Koston
4ac226dbd5
Merge branch 'dev' into pack-entity-strings
2026-02-28 13:13:35 -10:00
J. Nick Koston
067d773aac
[core] Make register_component protected, remove runtime checks ( #14371 )
2026-02-28 07:19:55 -10:00
J. Nick Koston
2d20986a37
Merge remote-tracking branch 'upstream/remove-register-component-public' into integration
2026-02-27 21:43:30 -10:00
J. Nick Koston and J. Nick Koston
9967fc54d5
Drop template wrapper, call register_component_ directly
...
The template wrapper caused the compiler to make different
optimization decisions on setup(), negating the savings.
Calling register_component_ directly was -4 bytes.
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-02-27 21:40:03 -10:00
J. Nick Koston and J. Nick Koston
d2af639e71
Keep original template name to preserve compiler optimizations
...
Using the original register_component name (just moved to protected)
produces identical compiled output to the baseline, avoiding the
symbol name length overhead from renaming.
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-02-27 21:32:27 -10:00
J. Nick Koston and J. Nick Koston
73fd1d68d5
Fix test_cpp_helpers to use register_component_
...
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-02-27 21:07:47 -10:00
J. Nick Koston and J. Nick Koston
f926978f61
[core] Make register_component protected, remove runtime checks
...
Instead of runtime null, duplicate, and capacity checks in
register_component_, make the method unreachable from outside
codegen by removing the public template wrapper and granting
friend access to the codegen-generated ::setup() function.
Since ESPHOME_COMPONENT_COUNT is set to exactly
len(CORE.component_ids) at codegen time, the StaticVector is
always correctly sized and the runtime capacity check cannot
trigger from codegen. External components that bypassed codegen
to call App.register_component() directly will now get a
compile error, forcing them to properly declare their components
in their config schema.
Co-Authored-By: J. Nick Koston <nick@koston.org >
2026-02-27 21:05:34 -10:00
J. Nick Koston and Claude Opus 4.6
49cc389bf0
[esp32] Wrap printf/vprintf/fprintf to eliminate _vfprintf_r (~11 KB flash) ( #14362 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 17:28:05 -10:00
J. Nick Koston
41dac179ca
Merge remote-tracking branch 'origin/pack-entity-strings' into integration
2026-02-27 16:02:21 -10:00
J. Nick Koston
e7d4f2608b
[sen6x] Fix test sensor ID collisions with sen5x ( #14367 )
2026-02-27 16:01:17 -10:00
J. Nick Koston
42de1ca17f
Merge branch 'fix-sen6x-test-id-collisions' into pack-entity-strings
2026-02-27 15:48:43 -10:00
J. Nick Koston
ff7dcae4a0
[sen6x] Fix test sensor ID collisions with sen5x
...
The sen6x test YAML used identical sensor IDs (pm_1_0, pm_2_5,
pm_4_0, pm_10_0) as sen5x, causing ID redefinition errors when
both components are tested together in grouped builds. Prefix
the sen6x IDs with sen6x_ to make them unique.
2026-02-27 15:47:29 -10:00
J. Nick Koston
f0eafd553d
Merge remote-tracking branch 'upstream/dev' into pack-entity-strings
...
# Conflicts:
# esphome/components/rp2040/core.cpp
2026-02-27 14:54:37 -10:00
J. Nick Koston
5ad9c9869f
Merge branch 'dev' of https://github.com/esphome/esphome into integration
2026-02-27 14:49:11 -10:00
Jonathan Swoboda and Copilot
298ee7b92e
[gps] Fix codegen deadlock when automations reference sibling sensors ( #14365 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-27 19:08:42 -05:00
J. Nick Koston
b840dfb7e5
Merge branch 'wrap-printf-stubs' into integration
2026-02-27 12:53:21 -10:00
J. Nick Koston
b2728cbd44
Address review: flush before abort, check fwrite errors, add test
2026-02-27 12:43:22 -10:00
J. Nick Koston
8c70472f60
Merge remote-tracking branch 'upstream/dev' into integration
2026-02-27 11:50:44 -10:00
b9d70dcda2
[sen6x] Add SEN6x sensor support ( #12553 )
...
Co-authored-by: Martin Ebner <martinebner@me.com >
Co-authored-by: Tobias Stanzel <tobi.stanzel@gmail.com >
Co-authored-by: Big Mike <mike@bigmike.land >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-27 16:41:28 -05:00
J. Nick Koston
32794b9fc0
Merge remote-tracking branch 'upstream/move-millis64-impl' into integration
2026-02-27 11:41:19 -10:00
Clyde Stubbs
2255c68377
[esp32] Enable execute_from_psram for P4 ( #14329 )
2026-02-28 06:40:55 +11:00
J. Nick Koston
58dfed237a
Merge remote-tracking branch 'upstream/devirtualize-call-dump-config' into integration
2026-02-27 08:50:19 -10:00
J. Nick Koston
29e1e8bdfd
[wifi] Add LibreTiny component test configs ( #14351 )
2026-02-27 18:45:20 +00:00
Michael Cassaniti and Jonathan Swoboda
4ae7633418
[safe_mode] Add feature to explicitly mark a boot as successful ( #14306 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-27 13:23:02 -05:00