• v0.21.0 39ee6cef59

    v0.21.0
    All checks were successful
    CI / dco (push) Successful in 7s
    CI / checks (push) Successful in 2m13s
    Release / create-release (push) Successful in 9s
    Release / web (push) Successful in 1m27s
    Release / android (push) Successful in 11m59s
    Stable

    EgorEast released this 2026-09-09 20:57:39 +00:00 | 449 commits to main since this release

    Added

    • Mark-as-listened/remove-from-history in sermon and playlist menus (#84)
    • Global serial queue with cancellation and reactive stop UI (#83)
    • Disable add-to-cache actions when offline
    • Global info dialog (ConfirmDialog-based) for offline playback guard
    • Wire row and fullscreen cache toggles through progress helper
    • Unified per-URL download progress protocol for manual caching
    • Web MediaSession with metadata, seekbar and ±10s controls

    Changed

    • Extract listening-history actions from model/history.ts into lib/
    • Confine re-exports to slice-root barrels (#83)
    • Show locked-tab notice via global info dialog

    Fixed

    • Defer expo-router onUnhandledLinking to silence pre-mount setState warning
    • Make immediate history flushes upsert and supersede manual marks
    • Eliminate lost-update race between listening-history actions
    • Drop deprecated @testing-library/jest-native
    • Reactively disable cache clearing while downloads are active (#83)
    • Reactive cached-url registry to kill completion flicker and rescan storms (#83)
    • Pre-validate batch enqueue and abort-unaware join chokepoint (#83)
    • Offline guard for playing uncached tracks (#81)
    • Cache track when starting playback on web (#81)
    • Theme-aware update modals with accent colors
    Downloads