Chromecast
- Fix empty/black progress bar when casting multi-file books that fall back to single-track loading
- Debounce transient cast idle and disconnect events so the now-playing card no longer disappears on brief network or stream hiccups while the Chromecast keeps playing
- Rehydrate casting metadata on session reconnect so the card comes back instead of staying blank
Offline
- Fix offline book-finish state being clobbered on reconnect
UI
- Fix light mode progress time labels on absorbing card being hard to read
- Square covers now show a blurred background instead of cropping rectangular cover art (library, home, absorbing, and expanded views) (#150)
- Playback history in expanded card now shows date-grouped timestamps matching the regular card
- Fix stale cover art caching in book detail sheet and home widget
- Show server file path in book detail sheet (#151)
- Fix nav bar race condition on absorbing screen
Android Auto
- Fix swapped skip forward/back controls on OnePlus, Oppo, and Realme devices (#149)
Series
- Find Missing Books - discover books missing from your series via Audible, with filter for missing-only or all books, owned/upcoming badges, and fuzzy title matching
Playback
- Fix bluetooth, notification, and widget controls going dead after the app sits in background overnight without playing
- Refresh media session on app foreground to recover stale system controls
Bug Fixes
- Fix bookmark sync crash when server returns unexpected data types
- Fix card overflow in Find Missing Books when all metadata fields are populated
Updates
- Add pre-release update toggle in Advanced settings (GitHub build only) - opt in to alpha/pre-release builds from the update checker
Internal
- Deduplicate button and sheet logic between absorbing card and expanded card into shared CardActionDelegate