Added
- Settings: a schedule timezone setting — schedules can run in a timezone of your choice, with timestamps stored UTC-aware under the hood. (Thanks, mvanbaak!)
Changed
- Rclone: better Google Drive token validation and error handling.
Fixed
- Asset Upload: stale collection posters no longer land on same-titled movies.
- Asset Cleanup: a type's folders are kept when its arr instance is unreachable, instead of being treated as orphaned.
- Backup: restores now go through SQLite's backup API, and snapshot errors fail closed instead of producing a bad backup. (Thanks, mvanbaak!)
- Sync: recovers from database errors, and finished jobs stay at 100% instead of showing stale progress.(Thanks, mvanbaak!)
- Database: the Alembic URL escapes % characters, and every model is registered with Alembic. (Thanks, mvanbaak!)