Skip to content

Release v1.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 15 Mar 06:11

This major release introduces full asynchronous API support alongside the existing synchronous client, enabling seamless integration with modern asyncio architectures like Home Assistant. The update includes significant documentation improvements, performance optimizations, and enhanced development tooling.

✨ Highlights

Asynchronous API Support

Native asyncio integration with a dedicated AsyncSignalRGBClient for modern application patterns, maintaining full feature parity with the synchronous client.

Improved Documentation

Comprehensive documentation updates including async usage guides, improved API references, and Home Assistant integration examples.

Performance Enhancements

Critical fixes to prevent event loop blocking in async operations, ensuring smooth integration with event-driven applications.

✨ New Features

  • Added AsyncSignalRGBClient for native asyncio integration patterns
  • Created new async_usage.md guide with comprehensive examples
  • Added Home Assistant integration examples
  • Added httpx dependency for modern HTTP async operations

🔨 Improvements

  • Updated Python requirement to 3.11+ (was previously 3.12+)
  • Extracted exceptions to dedicated module for better organization
  • Enhanced release script with automatic UV lock file handling
  • Improved documentation with both sync and async patterns throughout
  • Updated README and docs to reference UV instead of Poetry for dependency management

🐛 Bug Fixes

  • Fixed AsyncSignalRGBClient initialization to avoid blocking event loop during SSL certificate loading
  • Added consistent null checks before aclose() calls in cleanup methods
  • Fixed code style issues and linting warnings in async implementation

📝 Documentation

  • Comprehensively updated all documentation to reflect new asynchronous capabilities
  • Added AsyncSignalRGBClient reference to client API docs
  • Updated models documentation with new response types
  • Modernized UI with emojis and better section organization
  • Improved installation instructions for async requirements

🧪 Testing

  • Added pytest-asyncio for proper testing of async code
  • Added dedicated test_async_client.py test suite
  • Updated existing tests to accommodate new architecture

🔧 Upgrade Notes

  • Python 3.11+ is now required (previously 3.12+)
  • If upgrading from v0.9.8, no code changes are required - the synchronous API remains fully compatible
  • For new projects, consider using the AsyncSignalRGBClient for better performance in asyncio environments

📊 Metrics

  • Total Commits: 6
  • Files Changed: 31
  • Insertions: 2428
  • Deletions: 1532