2.0.41 (2026-04-23)
Bug Fixes
- #302: use DeadFrontBehavior for climate OnOff cluster (a64fb9b), closes #302
- #305: patch matter.js to accept long operational cert serials (2a08033), closes #305
- #306: put alexa brightness-reset workaround behind feature flag (6e3329d), closes #306
- #308: use fan.set_percentage so already-on fans accept speed changes (9b27bbc), closes #308
- #309: expose matter auto mode for climate devices with ha auto (55e7ef6), closes #309
- #311: apply server-mode root identity via transactional set (4ed4dfd), closes #311
- #312: avoid TiltBlindTiltOnly for lift-only blinds (01e778f), closes #312
- add 30s timeout to ha sendMessagePromise calls (a66f150)
- clear pending debouncers on unregisterAll (2be9c22)
- compare entity attributes with deep-equal not json round-trip (4ff6d94)
- correct thermostat running state for unknown modes and drying (b88ec13)
- dispose AppEnvironment on graceful shutdown (dc94c77)
- graceful shutdown on api/backup/restart (01349ad)
- guard auto-refresh against overlapping reloads (22254a3)
- guard mireds conversion and align colorMode publishing (b858694)
- log and surface bridge import errors (cba6296)
- parallelize home assistant registry fetches (6c30827)
- reject web-api start on port conflict (757348d)
- retry transient network errors on ha connect (a3e2504)
- serialize bridge start and stop lifecycle calls (d4a0367)
- serialize updateStates and detach plugin listeners (7839ef2)
- stop bridges in parallel during stopAll and restartAll (c89101a)
- sweep stale optimistic state entries on set (af22805)