What's Changed
Added
- Python 3.14 Support: Full compatibility with Python 3.14 and Home Assistant 2026.3
- Token Refresh Resilience: Added timeout, retry, and error handling to OAuth token refresh
- 15-second timeout on token requests (prevents hanging within 60s coordinator timeout)
- 3-attempt retry with exponential backoff (1s, 2s) for transient failures (5xx, timeouts, network errors)
- Immediate failure on 400/401 auth errors (no retry — credentials are bad)
- Specific
aiohttp.ClientErrorhandling in coordinator with actionable log messages
Fixed
- Auth error retry bug:
aiohttp.ClientResponseErrorfrom 400/401 responses was incorrectly caught by the genericaiohttp.ClientErrorretry handler; now re-raised immediately
Changed
- Replaced
async_timeoutwithasyncio.timeout(stdlib since Python 3.11)
Full Changelog: v2.7.1...v2.8.0