v1.0.0
This major release brings significant performance improvements and a complete architectural overhaul to the SignalRGB integration. We've migrated to an async-first approach that dramatically improves UI responsiveness and reliability, while adding several quality-of-life improvements for both users and developers.
✨ Highlights
Async Architecture
Complete migration to a modern async client implementation for better performance and reliability
Responsive UI
Dramatically improved control responsiveness with immediate state updates after user actions
Stable Dependency
Updated to the official v1.0.0 of the SignalRGB Python client, now available on PyPI
Performance Improvements
- ⚡️ Implemented direct state fetching for immediate UI feedback when controlling lights and effects
- ⚡️ Reduced refresh delay from 2 seconds to 0.2 seconds for more responsive feedback after user actions
- ⚡️ Added direct coordinator data updates rather than requesting full refreshes for better efficiency
Architecture Changes
- ♻️ Migrated the entire integration from synchronous to async client API for better performance
- ♻️ Replaced executor jobs with direct async calls to prevent thread pool exhaustion
- ♻️ Implemented task management for UI operations to prevent race conditions
- 🔒️ Moved client initialization to executor to prevent UI freezes during SSL operations
Bug Fixes
- 🐛 Fixed edge cases in refresh task cancellation for improved stability
- 🐛 Improved error handling with fallback to regular refresh when direct updates fail
🔧 Upgrade Notes
- While not breaking, the internal architecture has changed significantly to async patterns - if you've created custom automations or scripts using this integration, they should continue to work as before
📊 Metrics
- Total Commits: 6
- Files Changed: 29
- Insertions: 718
- Deletions: 324
Full Changelog: v0.8.0...v1.0.0