This release is a major step toward a proper multi-device JellyCine architecture, with a new TV app foundation, a cleaner phone/TV module split, improved playback handling, IntroDB/TheIntroDB segment support, and a lot of detail-screen polish.
Highlights
- Added initial KPM setup
- Split the app into dedicated phone and TV modules while moving shared UI/image infrastructure into a shared module.
- Added IntroDB and TheIntroDB playback segment support for episode skip markers.
- Added dedicated skip/credits actions in phone and TV players instead of a single generic skip-credits action.
- Added auto-advance countdown to the next episode during credits.
- Improved Jellyfin playback negotiation, HLS session handling, and negotiated transcode URL usage.
- Added a player setting to control next-episode cache behavior.
UI & Experience
- Added director information to detail screens.
- Improved detail-screen overview, tagline presentation, tablet backdrop layout, and backdrop blending.
- Added remaining-time badges to Continue Watching cards.
- Improved tablet search suggestion layout.
- Improved tablet portrait detail layouts, including download/play button sizing.
- Updated phone detail backdrop fade behavior.
- Fixed Home tab reselect so it scrolls the feed back to the top.
- Fixed dashboard behavior so returning from detail no longer resets the library row.
- Fixed episode title truncation in detail preview cards.
- Updated Administrator label color to use the active-user green.
Playback Fixes
- Fixed skippable segment seek target resolution.
- Fixed playback progress refresh on stop across screens.
- Improved player startup flow and playback state tracking.
- Separated startup playback state from active rendering state to reduce player state confusion.
- Improved playback negotiation and HLS session handling.
Platform & Architecture
- Migrated media server networking from Retrofit to Ktor.
- Replaced Gson-based API serialization with kotlinx.serialization.
- Migrated the shared API layer toward Kotlin Multiplatform source sets.
- Extracted shared server networking helpers from
NetworkModule. - Moved shared UI and image-loading infrastructure into the shared module.
- Preserved the existing phone
applicationIdfor upgrade continuity. - Added a dedicated TV application target.
Dependencies
- Updated Gradle to
9.4.1. - Updated Android application plugin to
9.1.1. - Updated Android library plugin to
9.1.1. - Updated Android Kotlin Multiplatform library plugin to
9.1.1. - Updated
androidx.security:security-cryptoto1.1.0. - Updated
com.google.android.gms:play-services-cast-frameworkto22.3.1.
Full Changelog: v1.2.9...v1.3.0