v1.1.0 (2026-04-28)
- Rate movies and episodes right in Kodi after the watched threshold is met.
  A 1–10 rating dialog appears after the scrobble notification. Configurable
  via the "Rate after watching" toggle in settings.
- Rate from context menu: right-click any movie or episode in your Kodi
  library and select "Rate on PunchPlay" to rate it at any time.
- One-click Kodi library sync: imports all watched movies and episodes from
  your Kodi library into PunchPlay. Open Settings → Library → Sync Kodi
  Library. Items already in your PunchPlay history are automatically skipped.

v1.0.3 (2026-04-25)
- Fix crash on Python 3.8 (Kodi Nexus on Windows) caused by modern
  type hint syntax; added `from __future__ import annotations` to all files
- Fix login poll silently swallowing HTTP errors — expired/access_denied
  are now properly detected and reported to the user
- Fix stale QR image on re-login (Kodi texture cache bypass)
- Wrap os.listdir in try/except for QR cleanup resilience
- Only update flush timestamp on success (restore correct retry behaviour)

v1.0.2 (2026-04-15)
- Login dialog now shows a scannable QR code alongside the device code.
  Scan with your phone to open punchplay.tv/link with the code pre-filled.
- Users without a phone can still read the code and type it on any device.

v1.0.1 (2026-04-15)
- Login dialog now shows the code at the top so it's visible without scrolling
- Heartbeat thread now stops cleanly on any unhandled error
- Offline queue WAL mode set once on DB init (not every connection)
- Anime detection no longer matches the "animation" genre (too broad)
- Offline queue retry loop stops on 401 so stale events don't block the queue

v1.0.0 (2026-03-16)
- Initial release
- Automatic scrobbling of movies and TV episodes
- Device-code OAuth login flow
- Heartbeat progress reporting
- Offline queue with automatic retry
- Anime detection via genre tags
- Configurable watched threshold, min length, and heartbeat interval
