Skip to content

Releases: devmesh-git/seerrtv

v0.26.13

10 Feb 16:02

Choose a tag to compare

Release v0.26.13 to fix app bundle rejection, resolve compiler warnings, and update dependencies

  • Resolve Android TV app bundle rejection from Google Play by removing 'android.hardware.type.television'.
  • Fixed Kotlin compiler warnings (redundant branches, unnecessary safe calls, deprecated usage).
  • Updated internal dependencies: Kotlin 2.3.10, Compose BOM 2026.01.01, Hilt, Ktor, etc.

v0.26.12

10 Feb 02:01

Choose a tag to compare

Enhanced Movie Details

  • Detailed Release Dates – Now displaying Theatrical, Digital, and Physical release dates for movies when available, based on the selected region.

v0.26.11

09 Feb 20:33

Choose a tag to compare

Bug Fixes
Movie/Series Genres – Genre switching

  • Genre selection now updates correctly when switching between genres – Selecting a genre (e.g. Action), backing out, then selecting another (e.g. Adventure) now loads the correct genre’s content. Previously the shared MediaDiscoveryViewModel kept the prior genre’s results, and the LaunchedEffect only loaded when searchResults.isEmpty(), so the new genre was never fetched.
  • Load trigger logic adjusted – The discovery LaunchedEffect now loads when results are empty or when not returning from media details for the same category, so switching genres triggers a reload while preserving scroll position when returning from details.

v0.26.10

09 Feb 19:42

Choose a tag to compare

Trailer playback

  • Trailer Player setting – In Settings, users can choose how trailers open: YouTube app (opens youtube.com/watch?v=… in the system YouTube app) or In-app player (fullscreen overlay with embedded player).
  • In-app trailer overlay – When “In-app player” is selected, tapping “Watch Trailer” on media details opens a fullscreen overlay using the android-youtube-player library (WebView/IFrame API). Loading is indicated by a spinner; on error, a red circle with a white X is shown.
  • D-pad support in overlay – Back closes the overlay; Left/Right scrub ±10 seconds; Enter/Center toggles play/pause. Focus stays on the overlay (player view is non-focusable).

v0.26.9

09 Feb 16:08

Choose a tag to compare

Media Browse – Filters

  • Filters no longer carry over between screens – Entering Media Browse (Movies or Series) now always starts with default filters; filters are cleared on enter (LaunchedEffect) and on leave (DisposableEffect), so returning to the same mode shows "Filters" with 0 count and switching modes never leaves the wrong filters active.
  • Filters drawer no longer locks up when switching modes – The Filters drawer always receives filters that match the current screen’s media type; if the ViewModel had movie filters while on Series (or vice versa), the drawer now gets default filters for the current screen instead of mismatched ones.
    Top Bar – Browse Screens
  • Hide current browse icon on Movies/Series screens – On Movies browse the Movies icon is hidden; on Series browse the Series icon is hidden, so the same screen is not pushed again and the bar only shows the other browse option plus Settings and Search.
  • Top bar D-pad no wrap – Left/right between top bar icons no longer wraps at the ends on any screen (main with 4 icons, or browse with 3 icons); focus stops at Settings (left) and Search (right).
  • Enter on current browse icon is no-op – Selecting the Movies icon when already on Movies browse (or Series when on Series browse) does nothing instead of nesting the same screen.

v0.26.8

08 Feb 05:52

Choose a tag to compare

0.26.8

Bug Fixes

Jellyfin Authentication

  • Fixed "Jellyfin hostname already configured" auth failure – When Jellyfin returns this error, the app now retries with a simple username/password login (/auth/jellyfin) instead of the full request body, allowing authentication to succeed when the hostname is already set.
  • Added JellyfinLoginRequest model – New serializable data class for the simple Jellyfin login payload used in the retry flow.

v0.26.7

29 Jan 17:19

Choose a tag to compare

SeerrTV v0.26.7

Splash and update flow

  • On direct/sideload builds, the app now waits for the update check to finish before moving on. You won’t be taken past the splash screen before the app decides whether to show an update dialog.
  • Closing the “Update available” dialog (back or dismiss) now correctly closes it and clears its state.

First-time setup and language

  • The language step in setup only appears when you haven’t chosen a language yet. If you’ve already set a language (or set it later in Settings), setup goes straight to server/config.
  • The app no longer saves your system language automatically. Your language is only saved when you pick one on the language screen, so you stay in control of what’s stored.

Language step behavior

  • On the language screen, choosing a language and pressing Enter both selects that language and moves to the next step. The separate “Next” button was removed so navigation is simpler with the remote.

Under the hood

  • Version comparison for update checks is now covered by unit tests so future changes are less likely to break the “update available” logic.

If you’re on the direct/sideload build, you’ll get the update through the in-app update flow when it’s offered; Play Store users will get it via the store when it’s published.

v0.26.6

27 Jan 16:16

Choose a tag to compare

SeerrTV v0.26.6 – Release Summary

  • More reliable startup after updates for side loaded APKs
    When an update is available, the splash screen now behaves more predictably: closing the update dialog no longer suddenly drops you out of the splash screen. For the direct flavor, you stay on splash until you explicitly continue; for the Play flavor, navigation remains automatic.

  • Small stability / future‑proofing fixes
    Cleaned up an internal annotation in the issue-reporting models to align with upcoming Kotlin changes, which helps keep future builds stable and warning‑free.

  • Build and tooling upgrades (under the hood)

    • Updated Hilt to a newer version compatible with the latest Android Gradle Plugin and Kotlin.
    • Removed several deprecated Gradle flags and aligned with current AGP defaults, reducing noisy build warnings.
    • Tightened how Kotlin serialization is wired so it plays nicely with AGP 9’s built‑in Kotlin support.
    • Adjusted settings so our code generation tools (KSP) work smoothly with the new build setup.
    • Standardized test dependencies via the Gradle version catalog and switched JUnit to use that catalog entry.
  • Better visibility into build outputs for testers
    The TV module’s Gradle build now prints out the APK locations automatically after key build tasks, making it easier for testers and power users to find the exact APKs they need to sideload or share.

Full Changelog: v0.26.5...v0.26.6

v0.26.5

27 Jan 02:08

Choose a tag to compare

Bug Fixes

  • Settings Menu - Default Streaming Region Navigation
  • Fixed DPAD navigation in Default Streaming Region submenu - users can now navigate up/down the list and select items using DPAD controls
  • Removed mouse click handlers - RadioButton onClick handlers removed to prevent mouse-only interactions on Android TV
  • Unified navigation pattern - Default Streaming Region submenu now follows the same navigation pattern as Discovery Language submenu
  • Enhanced controller integration - controller now properly handles up/down navigation and Enter key selection for Default Streaming Region

v0.26.4

10 Jan 19:08

Choose a tag to compare

Migrated the update system to use GitHub Releases API instead of the custom update.json file. The app now automatically checks GitHub Releases for updates and downloads APKs directly from release assets. The legacy update.json system has been completely removed, simplifying the build process and codebase.

All features are identical to v0.26.3, this update only changes how the app checks for and receives updates.