Releases
3.2.0
Compare
Sorry, something went wrong.
No results found
✅ Bug Fixes
Classify operation failures as LockOperationFailed and break per-slot @raman325 (#1184 )
fix(zha): use unsubscribe_push_updates() instead @raman325 (#1193 )
perf: parallelize per-lock setup in _async_setup_new_locks @raman325 (#1202 )
fix(card): remove per-lock PIN column from Lock Status section @raman325 (#1203 )
⚓ Code Quality
Consolidate retry/backoff/suspend into a CircuitBreaker primitive @raman325 (#1181 )
Reduce code complexity: dead-code removal, dedup, and migration cleanup @raman325 (#1182 )
Second-pass complexity trims @raman325 (#1183 )
refactor: make runtime_data.locks the sole source of truth for managed locks @raman325 (#1188 )
refactor(sync): close lifecycle-seam races around tick stop and reconnect @raman325 (#1187 )
refactor(sync): make _async_tick_impl the sole slot-breaker mutator @raman325 (#1189 )
refactor(providers): tighten contract — classification, sequence lock, idempotency, unsub registry @raman325 (#1190 )
make text/switch/active sensor read-only views @raman325 (#1191 )
refactor(data-model): replace SlotCode with SlotCredential value type @raman325 (#1192 )
refactor: inline three single-caller abstractions @raman325 (#1194 )
refactor(layout): introduce domain/ subpackage with pure leaves @raman325 (#1195 )
refactor(layout): split data.py into domain/{config,queries} @raman325 (#1196 )
refactor(layout): split helpers.py into domain/{queries,locks,services} @raman325 (#1197 )
refactor(layout): move domain logic into domain/ @raman325 (#1198 )
refactor(layout): move models/callbacks/util into domain/ (final step) @raman325 (#1199 )
refactor: remove four vestigial single-caller helpers @raman325 (#1200 )
docs: tighten comments and docstrings across the integration @raman325 (#1201 )
📦 Dependencies
5 changes
Links
You can’t perform that action at this time.