farmio and Claude Opus 5
88e8f04349
Fix compressed Store lookups and corrupt file handling
...
The store manager caches by filename, so a compressed store asking for
"key.zst" was told the file does not exist whenever only the uncompressed
predecessor was on disk. That short-circuited the load before the fallback
in _load_data_from_disk could run, so enabling compress on an existing
store read as empty on any real start, where the manager is initialized.
Only report "does not exist" when neither filename is on disk.
Rename the file that actually failed to parse when handling corruption.
The compressed path was renamed unconditionally, which raised
FileNotFoundError out of the executor when the uncompressed fallback was
the corrupt one, and named the wrong file in the repair issue.
Preload compressed stores too. Callers only know the plain key, so look
for both spellings before intersecting with the files on disk.
Also invalidate both filenames when writing or removing, since both drop
the uncompressed predecessor, and use a sentinel to tell "no file" apart
from a file holding an empty dict.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-23 08:01:22 +02:00
farmio
134c8a093a
Add optional compression to Store
2026-08-23 07:07:59 +02:00
d315c85a3d
Keep caller supplied default headers in async_create_clientsession ( #179824 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-22 10:15:44 -05:00
Erik Montnemery and GitHub
bbea0c5a65
Protect the DeviceRegistry.deleted_devices container ( #179720 )
2026-08-21 16:36:02 +02:00
Erik Montnemery and GitHub
cde0100c33
Protect the DeviceRegistry.child_devices container ( #179713 )
2026-08-21 15:54:23 +02:00
Erik Montnemery and GitHub
48017e6bb3
Protect the DeviceRegistry.devices container ( #179578 )
2026-08-21 09:50:58 +02:00
Erik Montnemery and GitHub
f1e44ab125
Add parameter include_composite_devices to DeviceRegistry.async_get ( #179594 )
2026-08-20 13:06:53 +02:00
e456fc5235
Forward service call context to entity in group.set and group.remove ( #179538 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-19 15:28:41 +02:00
Erik Montnemery and GitHub
dbee85c093
Deprecate default_ members in DeviceInfo ( #179549 )
2026-08-19 13:30:53 +02:00
Erik Montnemery and GitHub
1c939013d1
Remove the concept of device info types from device registry ( #179397 )
2026-08-19 12:11:23 +02:00
Josef Zweck and GitHub
74a27d0061
Handle OAuth token refresh failures ( #179364 )
2026-08-18 22:23:45 +02:00
Franck Nijhof and GitHub
1b117651ef
Revert "Add Entity.async_get_recent_context helper" ( #179496 )
2026-08-18 19:18:33 +02:00
3e085fb510
Add Entity.async_get_recent_context helper ( #178425 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-18 17:30:51 +02:00
Erik Montnemery and GitHub
20c0c6e6a5
Drop redundant aliases in intent tests ( #179488 )
2026-08-18 16:32:16 +02:00
5bc3a5bb0f
Update orjson to 3.12.0 ( #179484 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev >
2026-08-18 16:31:13 +02:00
df59ac7d63
Add device_registry.async_get_device_and_config_entry_for_domain ( #178991 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com >
2026-08-18 09:36:15 +02:00
Erik Montnemery and GitHub
3e40016d95
Don't allow setting a main device to disabled by device ( #179376 )
2026-08-17 14:18:43 +02:00
Erik Montnemery and GitHub
bde8033ae9
Deprecate passing merge_connections / merge_identifers to async_update_device ( #178888 )
2026-08-17 13:29:32 +02:00
Erik Montnemery and GitHub
e7dad099fd
Add backwards compatibility for custom integrations accessing child devices ( #179073 )
2026-08-13 15:01:36 +02:00
ff9adf380b
Simplify collision handling ( #179005 )
...
Co-authored-by: Erik Montnemery <erik@montnemery.com >
2026-08-13 14:14:13 +02:00
ad96b06be6
Add child devices ( #178666 )
...
Co-authored-by: Artur Pragacz <artur@pragacz.com >
2026-08-13 13:53:15 +02:00
Erik Montnemery and GitHub
c369f973ab
Deprecate outdated device registry APIs ( #178465 )
2026-08-08 21:16:44 +02:00
Erik Montnemery and GitHub
0f75e73081
Migrate tests to specifying via device with via_device_id ( #178546 )
2026-08-08 18:58:24 +02:00
f5dc5aa9ec
Don't allow devices setting the via device link to itself ( #178194 )
...
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com >
2026-08-08 18:05:57 +02:00
e73975f158
Call async_remove_device to remove device in entity registry tests ( #178436 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-07 15:18:26 +02:00
Erik Montnemery and GitHub
43618effb8
Migrate calls to async_get_device in tests (part 6) ( #178339 )
2026-08-07 13:49:00 +02:00
2fd53a990b
Require admin for update install, skip and clear skipped actions ( #178232 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-06 04:21:01 -04:00
Paulus Schoutsen and GitHub
5bcb00efb8
Require admin for Z-Wave lock credential services ( #177300 )
2026-08-05 11:11:19 +02:00
Martin Hjelmare and GitHub
05841c28ce
Clean naive datetime from config validation tests ( #177850 )
2026-08-04 14:02:38 +02:00
Robert Resch and GitHub
77e9fe3a35
Enable ruff rule RUF036 (none-not-at-end-of-union) ( #177543 )
2026-07-29 14:43:38 +02:00
Ngoc N. Tran and GitHub
0355339329
Fix UnboundLocalError in state condition with an empty state value ( #176634 )
2026-07-29 13:41:54 +02:00
Erik Montnemery and GitHub
2a1c3fe5f7
Migrate integrations to setting via_device_id in DeviceInfo ( #177494 )
2026-07-29 00:42:49 +02:00
Artur Pragacz and GitHub
110106bf2c
Add setting to customise entity ID generation ( #177140 )
2026-07-28 22:45:02 +02:00
Erik Montnemery and GitHub
57041e71d8
Make entity_platform check entity can attach to device ( #177459 )
2026-07-28 19:51:01 +02:00
Artur Pragacz and GitHub
6e459d8c91
Return None from async_is_composite_device_id for unknown ids ( #177473 )
2026-07-28 18:18:33 +02:00
Artur Pragacz and GitHub
7b9c969f90
Resolve colliding device identifiers and connections ( #177192 )
2026-07-28 16:32:45 +02:00
Erik Montnemery and GitHub
cba75b8474
Clear Entity.device_entry when entity is detached from device ( #177445 )
2026-07-28 13:22:32 +02:00
Erik Montnemery and GitHub
82ca35fd45
Add WS command config/device_registry/list_composite_splits ( #176693 )
2026-07-28 13:18:16 +02:00
Erik Montnemery and GitHub
504fddd216
Warn when implicitly moving a device to another subentry ( #177034 )
2026-07-28 10:29:17 +02:00
Artur Pragacz and GitHub
db089bf8c3
Validate via_device_id in device registry ( #177158 )
2026-07-27 18:23:33 +02:00
Erik Montnemery and GitHub
8c8134ccc8
Adjust helper async_remove_helper_devices ( #177006 )
2026-07-21 18:06:01 +02:00
Erik Montnemery and GitHub
d33c90eab9
Remove confusing set intersection from device registry restore ( #176964 )
2026-07-21 12:49:21 +02:00
Erik Montnemery and GitHub
6d8c190b4b
Exempt certain protocol integrations from entity limit ( #176973 )
2026-07-21 11:54:47 +02:00
Erik Montnemery and GitHub
bed1390eb3
Add device registry method async_get_devices ( #176931 )
2026-07-21 10:44:44 +02:00
Erik Montnemery and GitHub
93ab89851f
Add explicit methods for composite devices ( #176923 )
2026-07-21 09:37:52 +02:00
Allen Porter and GitHub
f5093afa58
Fix voluptuous schema conversion of custom callables ( #176814 )
2026-07-20 20:49:06 +02:00
Erik Montnemery and GitHub
16d7c56637
Simplify async_remove_helper_devices ( #176919 )
2026-07-20 19:36:36 +02:00
Erik Montnemery and GitHub
23d051d694
Migrate template helper to new device cleanup helper ( #176900 )
2026-07-20 17:40:03 +02:00
Erik Montnemery and GitHub
e11bf3f5c5
Validate disabled_by flag in async_update_device ( #176681 )
2026-07-20 15:54:51 +02:00
Erik Montnemery and GitHub
1471ce2aff
Deprecate helpers async_remove_stale_devices_links_* ( #176881 )
2026-07-20 15:28:12 +02:00