Changes in this release:
A huge thank you to @IoannisArmamentos for an incredible series of contributions bringing major improvements to stability, error handling, security, and translations!
🐛 Bug Fixes & Reliability
- RecycleApp: Fix timestamp parsing for ISO strings with fractional seconds (#724)
- Circulus: Safely handle empty/None API responses (#726)
- Circulus: Guard against invalid session cookie format matches (#727)
- Burgerportaal: Automatically recover and re-authenticate when a stored refresh token is rejected (#729)
- Limburg.NET: Safely handle empty address search results (#734)
- Limburg.NET: Properly URL-encode address search parameters (#735)
- Limburg.NET: Properly URL-encode calendar query parameters (#736)
- Core / Polling: Ensure recurring updates are always rescheduled even if a collector throws an exception (#731)
- Config Flow: Fetch waste resources before mapping during YAML import (#732)
- Config Flow: Avoid scheduling background update intervals during initial resource lookup (#733)
🔒 Privacy & Security
- Logging: Redact sensitive configuration details (passwords and addresses) from debug logs (#725)
⚡ Performance & Cleanup
- Amsterdam: Avoid duplicate API requests during house number suffix validation (#730)
- Dependencies: Remove unused Python requirements (
rsa,pycryptodome) from manifest (#728)
🌐 Localization
- Translations: Add German language translations (
translations/de.json) (#737)