J. Nick Koston
49898359be
[store_yaml] Simplify: packages records remote sources, single tree walker, dict-style test packages
2026-07-25 16:46:04 -10:00
J. Nick Koston
66d3816e65
Merge remote-tracking branch 'origin/dev' into store-yaml-firmware-work
...
# Conflicts:
# esphome/components/api/api.proto
# esphome/components/api/api_pb2.cpp
# esphome/components/api/api_pb2.h
# esphome/components/api/api_pb2_dump.cpp
# esphome/yaml_util.py
2026-07-25 15:34:25 -10:00
Jeroen and Jeroen Jansen
6f39030b41
[core] Prevent blocking-warning log time from cascading ( #17710 )
...
Co-authored-by: Jeroen Jansen <jeroen@Jeroens-MacBook-Air.local >
2026-07-20 06:28:56 -10:00
2a96fa44ff
[light] Fix pulse and other effects ( #17645 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-07-20 17:09:02 +12:00
J. Nick Koston
e327a7f52f
[scheduler] Remove deprecated set_retry/cancel_retry ( #17585 )
2026-07-15 17:58:41 -10:00
Jesse Hills
a3ab7961e0
[core] Fix wait_until crash when re-entered from its own continuation ( #17571 )
2026-07-16 08:14:55 +12:00
Jesse Hills
b295b8d5a2
[api] Warn when Home Assistant actions are sent with no subscribed client ( #17560 )
2026-07-15 23:11:47 +12:00
J. Nick Koston
2b3027a7fd
[api] Provision encryption keys over an encrypted zero-PSK noise connection ( #17482 )
2026-07-13 08:55:30 +12:00
J. Nick Koston
3c2dad67f4
[network] Fix logged use_address with MAC suffix and build it at runtime ( #17432 )
2026-07-07 02:07:34 -05:00
Clyde Stubbs and Copilot Autofix powered by AI
9857d508d9
[light] Preserve brightness on turn-off. ( #17103 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-07 15:57:06 +12:00
J. Nick Koston
8f2c09e3c8
[store_yaml] Simplify redaction pipeline, fix Windows newline test failure
2026-07-03 20:40:14 -05:00
J. Nick Koston
a25b7a806b
[store_yaml] Recover secrets as !secret references using cv.sensitive
2026-07-03 20:31:32 -05:00
J. Nick Koston
bd297f08a8
[store_yaml] Simplify: lazy YAML discovery in to_code, zero-copy streaming, shared envelope decoder
2026-07-03 19:38:41 -05:00
J. Nick Koston
d6019ca2c0
Merge branch 'dev' into store-yaml-firmware
2026-07-03 19:04:12 -05:00
Jonathan Swoboda
b8690c8e31
[core] Drop Python 3.11 support ( #17280 )
2026-06-29 12:32:28 -04:00
Bonne Eggleston and Jonathan Swoboda
8434d54cc7
[modbus] Reinstate turnaround delay after broadcasts (Revert #17209 ) ( #17263 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-06-28 17:07:25 -04:00
Jonathan Swoboda
1d5490fd91
[modbus] Only apply turnaround delay after broadcasts ( #17209 )
2026-06-25 11:38:34 -04:00
J. Nick Koston
c4abc5476e
[core] Remove deprecated std::string scheduler/timer overloads ( #17111 )
2026-06-21 16:22:08 -05:00
Bonne Eggleston
63d8a344c5
[modbus] Fix parsing & split out server mode ( #11969 )
2026-06-21 13:32:35 -05:00
J. Nick Koston
4ae6dc355f
[select] Remove deprecated state member ( #17027 )
2026-06-19 17:08:07 +12:00
J. Nick Koston
b97182d302
[logger] Hold recursion guard while draining the task log buffer ( #17044 )
2026-06-19 09:16:14 +12:00
rwrozelle and Claude Sonnet 4.6
4b8568e948
[socket] bugfix Set wake-request gate flag on LwIP socket receive event ( #17010 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 13:54:29 +12:00
J. Nick Koston
3420cff316
[core] Attribute "took a long time" blocking warning to the owning script ( #16768 )
2026-06-16 08:46:33 +12:00
J. Nick Koston
5f155c90b7
Merge branch 'dev' into store-yaml-firmware
2026-06-09 20:51:44 -05:00
J. Nick Koston
3cc875c40b
[core] Enable ruff BLE (flake8-blind-except) lint family ( #16659 )
2026-05-27 20:09:57 +12:00
J. Nick Koston
a8d5ffc141
Merge branch 'dev' into store-yaml-firmware
2026-05-26 09:17:39 -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
f06e96685b
[store_yaml] Refactor YAML discovery to share bundle.py's approach
...
The previous implementation extended `track_yaml_loads` across the entire
validation pass to catch deferred `!include` and package loads, but that also
captured framework YAML loaded internally by component validators (e.g.
LVGL's `hello_world.yaml`) and produced spurious "unresolved substitution"
warnings during the pre-validation force-load. bundle.py already had the
right pattern: a fresh post-validation re-parse plus `force_load_include_files`.
- Lift the discovery into `yaml_util.discover_user_yaml_files` and have both
`bundle.py` and `config.py` use it (DRY).
- Capture `secrets.yaml` / `secrets.yml` by the *un-resolved* listener fname
so a `secrets.yaml` symlinked to a non-secrets-named target is still
flagged for redaction.
- Add a `warn_on_unresolved` flag to `force_load_include_files` so the
discovery path (where substitutions haven't run) logs at debug instead of
warning.
- Reject `store_yaml` configs with an unencrypted API via
`FINAL_VALIDATE_SCHEMA`; an explicit `allow_unencrypted: true` opt-out
keeps lab setups working (renamed from `allow_unencrypted_api` so the
integration-test harness's naive `api:` string replacement doesn't
clobber it).
- Annotate `store_yaml_chunk_buf` with the
`cppcoreguidelines-avoid-non-const-global-variables` suppression that
matches other intentional API-side globals.
- Update unit tests to exercise the new `DiscoveredYamlFiles` shape plus a
symlink-secrets case.
2026-05-15 10:21:00 -07:00
J. Nick Koston
6493fdaba1
[store_yaml] Add end-to-end integration test for native-API recovery
...
Compiles a host build with `store_yaml`, drives a raw plaintext API socket
(the released aioesphomeapi does not yet know about GetYamlRequest /
GetYamlResponse and would silently drop the streamed bytes as "unknown
message type"), sends GetYamlRequest, accumulates the streamed
GetYamlResponse chunks until done=true, zstd-decompresses, and verifies
both the envelope structure and that the fixture's distinctive markers
(`store-yaml-test`, `store_yaml:`) round-trip back through the recovery
blob.
2026-05-15 10:20:45 -07:00
J. Nick Koston
727c74da3f
[script] Fix array-type parameters in script.execute ( #16374 )
2026-05-12 12:17:23 -05:00
J. Nick Koston
a52ca4f80a
[ota] Implement host platform OTA backend with re-exec for integration testing ( #16304 )
2026-05-11 10:51:08 -05:00
Jonathan Swoboda
e4d9786f00
[core] Move platformio files to subfolder ( #16347 )
2026-05-11 21:34:47 +12:00
Jonathan Swoboda
696a654733
[clang-tidy] Concatenate nested namespaces (7/7: tests, platform-gated, enable check) ( #16307 )
2026-05-07 23:05:17 -04:00
90693fb39a
[core] Fix WiFi connection in safe mode ( #16269 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-05-06 09:56:33 -05:00
J. Nick Koston
39b2b901f7
[core] Replace scheduler pool vector with unbounded intrusive freelist ( #16172 )
2026-05-05 18:26:19 -05:00
J. Nick Koston
53c4e6f386
[tests] Drop duplicate on_boot_restore_from in host_mode_climate_basic_state ( #16228 )
2026-05-03 20:12:51 -05:00
J. Nick Koston
013dee44eb
[binary_sensor] Drop Component from AutorepeatFilter, use self-keyed scheduler ( #16191 )
2026-05-03 20:05:27 -05:00
J. Nick Koston
120d1e51fb
[tests] Fix flaky host_mode_climate_basic_state integration test ( #16192 )
2026-05-03 20:04:34 -05:00
J. Nick Koston
72a75f2d3f
[cover] Fold ControlAction/CoverPublishAction fields into stateless lambdas ( #16046 )
2026-05-03 20:02:07 -05:00
J. Nick Koston
df1200629f
[tests] Fix flaky host_mode_climate_basic_state ( #16225 )
2026-05-03 19:44:11 -05:00
J. Nick Koston
3d69169141
[climate] Fold ControlAction fields into a single stateless lambda ( #16044 )
2026-04-30 19:16:16 -05:00
J. Nick Koston
c41f38e16d
[scheduler] Add self-keyed timer API for callers without a Component ( #16127 )
2026-04-29 13:24:37 -05:00
J. Nick Koston
e5b1991cf7
[fan] Add tests for fan.turn_on action field combinations ( #16125 )
2026-04-29 12:46:06 -05:00
J. Nick Koston
7fba57ce51
[valve] Add tests for valve.control action field combinations ( #16126 )
2026-04-29 12:45:30 -05:00
J. Nick Koston
5a33c50015
[light] Use constexpr template for DimRelativeAction transition_length ( #16038 )
2026-04-29 14:26:38 +12:00
J. Nick Koston
0d150dc57e
[light] Use constexpr template for ToggleAction transition_length ( #16037 )
2026-04-29 14:25:18 +12:00
Bonne Eggleston and J. Nick Koston
52e8c50f45
[modbus] Split modbus_server from modbus_controller ( #15509 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 10:21:25 -05:00
J. Nick Koston
e4f413adad
[core] decouple main loop cadence from scheduler wake timing ( #15792 )
2026-04-21 14:48:21 +02:00