Skip to content

0.9.9

Choose a tag to compare

@devinslick devinslick released this 05 Nov 03:14
Immutable release. Only release title and notes can be modified.

v0.9.9 - November 4, 2025

🚀 MAJOR REWRITE: fmd-api v2.0.1 Migration

This is a major architectural overhaul that completely modernizes the integration's communication with FMD servers. While not labeled v1.0.0, this release represents the most significant internal change since the project's inception.

⚠️ Important: This is a beta release. Version 1.0.0 will be released after community testing and any necessary fixes.

Breaking Changes:

  • 🔧 Complete API rewrite - Migrated from fmd-api v1.x to fmd-api v2.0.1
    • All FMD server communication now uses the new FmdClient class
    • Improved async/await patterns throughout
    • Enhanced error handling and connection management
  • 📦 Updated dependencies - Now requires fmd-api==2.0.1
  • 🔄 Config flow improvements - Added reauthentication flow support
  • ⚙️ State persistence - All configuration entities (numbers, switches, selects) now properly restore state across restarts
  • 🧪 Test infrastructure overhaul - Full test suite rewritten for new API patterns

New Features:

  • Reauthentication flow - Update credentials without removing/re-adding integration
  • Persistent settings - Entity configurations survive Home Assistant restarts
  • Improved location updates - High-frequency mode now more reliable with better request handling
  • Better error handling - ConfigEntryNotReady for graceful service outage handling

Under the Hood:

  • 🏗️ Modern API patterns - FmdClient.create() factory method for async initialization
  • 🔐 Enhanced security - Improved encryption and decryption handling via executor
  • 📊 Type safety - Comprehensive type hints with TYPE_CHECKING guards
  • 🧪 Test coverage - Maintained ~94% coverage with all 193 tests passing
  • 🔧 CI/CD improvements - Resolved dependency conflicts (josepy/acme, aiohttp)
  • 📝 Code quality - Removed migration comments, unified type hints, strict imports

Migration Guide:

  1. Backup your configuration (Settings → System → Backups)
  2. Update the integration via HACS
  3. Restart Home Assistant
  4. Verify all entities are working correctly
  5. If you experience authentication errors, use the new reauthentication flow:
    • Go to Settings → Devices & Services → FMD
    • Click the three dots → Reconfigure
    • Enter your credentials again

Known Issues:

  • None currently - please report any issues on GitHub!

What's Next:

  • 📋 Community testing and feedback period
  • 🐛 Bug fixes based on real-world usage
  • 🎯 Version 1.0.0 release with stability improvements

Technical Details:

  • All code strictly imports FmdClient (no fallback imports)
  • Tests updated to mock FmdClient instead of legacy FmdApi
  • Photo downloads use executor for decryption (non-blocking)
  • Location polling respects configured intervals and sources
  • Total entities: 20 per device

Credits:

  • Huge thanks to the FMD-FOSS team for the excellent FMD ecosystem
  • Special thanks to beta testers and contributors