2.0.32 (2026-03-10)
Bug Fixes
- #218: delete standalone sensor endpoints consumed by composed devices (40237c1), closes #218
- #218: expose mappedEntityIds on composed endpoints for WebSocket subscription (be09431), closes #218
- #218: use sub-endpoints for sensor clusters on composed air purifier (e8cd716), closes #218
- #219: cross-cluster OnOff↔FanControl sync per Matter spec §4.4.6.6.1 (13b9abb), closes #219
- #219: prevent percentSetting restore from overriding Auto mode (cd92c05), closes #219 #225
- #219: protect optimistic onOff from stale HA state reverts (ee1ce15), closes #219 #230
- #219: set fanMode=Off when fan is off regardless of preset_mode (e008070), closes #219
- #219: set percentSetting/speedSetting to 0 when fan is off (ff46776), closes #219 #225
- #230: replace blanket cooldown with expected-value matching (5d09c2d), closes #230
- #242: add deprecated 'label' type to matcher schema for backward compat (baa63b4), closes #242
- add upload size limit and restrict install-local path traversal (fd70aea)
- clean up stale sessions on new CASE establishment (#105) (c899c91)
- complete plugin system overhaul — load, validate, command forwarding, install paths (c4c09e1)
- correct GitHub repo URL in update-check endpoint (ad0d6e2)
- document unhandled rejection limitation in SafePluginRunner (d0dee2d)
- improve tgz package name detection using dependency diff (94e0678)
- plugin endpoint state wiring, light turnOn domain check, plugin runner cleanup (4ee7ccb)
- remove deprecated alexaPreserveBrightnessOnTurnOn and vacuumMinimalClusters feature flags (5736bf5)
- remove non-functional Matterbridge adapter and false compatibility claims (7548ded)
- rewrite example plugin as plain JS (no build step needed) (c54e79d)
- safe JSON response parsing to prevent cryptic proxy errors (#222) (c03104f)
- share PluginRegistry and PluginInstaller instances instead of duplicating (4eb512c)
- skip redundant tilt action on downOrClose/upOrOpen for KNX covers (#246) (6bd432e)
- validate plugin manifest before import and track started state for safe shutdown (25ac9c5)
Features
- add 5 new languages and translation contribution hint (f2967a7)
- add Area Setup to dashboard quick navigation (9abeaa7)
- add aria-label attributes to interactive UI elements (3a37f23)
- add ConfirmDialog for destructive actions (f948c8b)
- add distinct Motion Sensor (PIR) device type for binary_sensor (#244) (fd6ba35)
- add extended AQ sensors (NO2, O3, formaldehyde, radon, PM1, CO) (bdc8241)
- add floating language switcher with flags (ee20785)
- add frontend unit test infrastructure and initial tests (0fe6ac1)
- add i18n foundation with react-i18next, EN+DE translations (573f11e)
- add mapping profile export/import for community sharing (P1.4) (a71ffe9)
- add matter.js spec-based endpoint cluster validation (62b839a)
- add Rain Sensor device type for binary_sensor entities (9ed657c)
- add standalone electrical sensor device type (d07f9d1)
- add Swedish locale and in-app Translation Editor (f577614)
- add unavailability indicator to endpoint tree view (e0ac880)
- broaden entity isolation to handle more error patterns (a29859a)
- cross-fabric diagnostics with per-fabric metadata (b99869f)
- customizable dashboard widgets with reorder and visibility (88866c1)
- frontend: add fabric tooltip, pairing hint, wizard text, and active nav state (44f2fac)
- graceful shutdown on SIGTERM/SIGINT (b39b9b6)
- i18n: add custom language creation, JSON import, and remove language to TranslationEditor (1be4c7a)
- i18n: wire useTranslation in all frontend components and sync locale files (40f49fe)
- per-entity cluster diagnostics with auto-mapping tags, device type IDs, WCAG AA contrast fix (10285fc)
- plugin system with fault isolation, UI, Matterbridge adapter and npm install/uninstall (f2ab2ef)
- populate per-entity cluster diagnostics in DiagnosticService (ba74108)
- selective mapping profile export with entity picker dialog (05ee207)
- show bridge startup order on dashboard (P0.4) (8ac0f4b), closes #N
- support Adaptive Lighting color pre-staging (e3f2106)
- update check endpoint and UpdateChecker component (b74e5d4)
- version mismatch detection and disconnected banner (c8b0ad1)
- wire up i18n for BridgeDetailsPage (5292abf)
- wire up i18n for HealthDashboard (97de0ea)
- wire up i18n for StatusIndicator, ErrorBoundary, and DashboardPage (09e2982)