Skip to content

CHANGELOG

v4.4.0 (2026-03-18)

Bug Fixes

  • frontend: Add aria-expanded and aria-label to collapse buttons (8ffc547)

  • frontend: Add fallback for tile width/height in card calculations (69499ea)

  • frontend: Add full ARIA tab semantics to ScenarioPanel scope tabs (514f333)

  • frontend: Add keyboard navigation to tablist (e0b1a2b)

  • frontend: Derive auto-compact collapsed state from current devices (9029c55)

  • frontend: Display products error state in DeviceToolbar (2cf142a)

  • frontend: Explicitly type edge arrays as HsbkColor[] (e21e837)

  • frontend: Expose isLoading from products store (2365e6d)

  • frontend: Fix expandAllViz in auto-compact mode (1a8bd31)

  • frontend: Guard glow edge extraction against invalid tile dimensions (bd0a0df)

  • frontend: Handle errors in products store load() (cda2b4b)

  • frontend: Make loaded/loading reactive with $state in products store (ea671a1)

  • frontend: Use flex-start instead of start for cross-browser compat (45377db)

  • frontend: Use stable tabpanel ID for aria-controls (3ea070e)

  • frontend: Use void for fire-and-forget products.load() call (efa6214)

Features

  • frontend: Content-based card widths, auto-compact layout, and responsive fixes (cacd2a4)

  • frontend: Overhaul visualizer with Oklch color, ambilight glow, and compact layout (fcc7534)

Performance Improvements

  • frontend: Memoize hsbkToCss() for render loop performance (d10f39b)

  • frontend: Memoize hsbkToLinearRgb for glow calculation performance (d4e3151)

  • frontend: Use half-eviction instead of full cache clear (8ebc522)

v4.3.1 (2026-03-18)

Bug Fixes

  • dashboard: Broadcast metadata changes via WebSocket for live updates (6b933ae)

Documentation

  • event-bridge: Add metadata to _get_change_category return values (15e2dd1)

v4.3.0 (2026-02-04)

Bug Fixes

  • Address CodeRabbit review feedback (0bc07f5)

  • frontend: Clear pending updates on device removal and store clear (933d22e)

  • security: Update cookie to 0.7.0 to address CVE (dcb7460)

Features

  • dashboard: Add live device visualizer with real-time state updates (51fbcc0)

  • visualizer: Add dynamic grid layout with span-based sizing for matrix devices (9a7bb7e)

Performance Improvements

  • frontend: Improve dashboard performance for high-frequency updates (7433077)

v4.2.0 (2026-02-03)

Bug Fixes

  • Address CodeRabbit PR review feedback (e302407)

  • Correct $derived usage in ActivityLog.svelte for reactive filtering (a5e8280)

Features

  • api: Add WebSocket endpoint for real-time updates (b1e9889)

  • api: Complete WebSocket real-time event infrastructure (81cfa6f)

  • app: Add PyApp binary distribution support (Phase 5) (3c893a8)

  • dashboard: Add activity filtering and device toolbar (Phase 3) (249964a)

  • dashboard: Add scenario panel, pagination, and tabbed interface (Phase 4) (a50951d)

  • dashboard: Replace vanilla JS with SvelteKit frontend (a143c2c)

v4.1.0 (2026-02-03)

Features

  • api: Add device state update, bulk create, and pagination (1f7bb46)

v4.0.1 (2026-02-01)

Bug Fixes

  • app: Add products API, populate dashboard dropdown, remove stale TODOs (c49502a)

v4.0.0 (2026-02-01)

Bug Fixes

  • app: Pad zone_colors to zone_count with default color (46aed0a)

  • app: Preserve explicit empty devices/scenarios and truncate zone_colors (b5c420c)

Features

  • app: Add YAML config file support for CLI (fceb9af)

Breaking Changes

  • app: No devices are created by default anymore.

v3.1.0 (2026-01-11)

Features

  • Add Python 3.10 support (c19eee5)

v3.0.2 (2025-12-24)

Bug Fixes

  • api: Eliminate XSS vulnerabilities and extract dashboard JavaScript (8302a09)

v3.0.1 (2025-11-26)

Bug Fixes

  • Adjust uv build for new monorepo layout (a0d5b7c)

v3.0.0 (2025-11-26)

Refactoring

  • Split into monorepo with separate library and CLI packages (402fe6e)

Breaking Changes

  • The project is now split into two packages:

v2.4.0 (2025-11-26)

  • Initial Release