Releases: jellyfin/jellyfin-androidtv
v0.16.6
π₯ Crash fixes
- Replace CoroutineUtils.runBlocking with new CoroutineUtils.runOnLifecycle #3376, by @nielsvanvelzen
- Fix crash in SocketHandler.onPlayMessage when user id is not set #3391, by @nielsvanvelzen
- Fix crash when checking whether a person is a folder or not #3399, by @nielsvanvelzen
π§ Bugfixes
- Fix crash when updating clock in FullDetailsFragment while item information is unavailable #3371, by @nielsvanvelzen
- Fix DPAD_CENTER on screensaver not handled #3386, by @nielsvanvelzen
- Widen support for HEVC Main 10 #3281, by @lawadr (reapplied)
Contributors
v0.16.5
This update fixes various playback related issues, adds a PG-13 restriction to the screensaver and solves some crashes.
Note
We now have a roadmap for the Android TV app. This will help prioritize bugs and feature requests.
Something missing? Create a new issue or use the π reaction on an existing issue!
ποΈ Enhancements
- Widen support for HEVC Main 10 #3281, by @lawadr
- Only show PG-13 content in screensaver #3366, by @nielsvanvelzen
π₯ Crash fixes
π§ Bugfixes
- Use LTR for default subtitle direction #3332, by @MichaelRUSF
- Fix media details tag for multiple versions support #3336, by @MichaelRUSF
- Fix downmixing AAC to stereo audio in exoplayer #3360, by @MichaelRUSF
π Dependency updates
- fix(deps): update androidx.media3 to v1.2.1 #3315, by renovate[bot]
- fix(deps): update dependency org.jellyfin.media3:media3-ffmpeg-decoder to v1.2.1+1 #3352, by renovate[bot]
Contributors
v0.16.4
v0.16.3
This release could almost be called a big one! To ease the maintenance of the current release branch we've backported some big changes originally intended for version 0.17.
Our default playback library is now upgraded to the new androidx.media3 library. Allowing us to keep up-to-date with the latest bugfixes and enhancements to the player, as the previous library is now deprecated. Additionally support for tunneling and audio offloading is now enabled.
In addition to these playback changes, we have addressed various reported issues (and crashes) related to trailers, remote control, images, search and more. You can see all of them in the changelog below.
ποΈ Enhancements
- Replace ExoPlayer with androidx.media3 #2826, by @nielsvanvelzen
- Support tunneling and audio offloading #3268, by @nielsvanvelzen
π₯ Crash fixes
- Fix crash and inconsistent ordering when using ShuffleOrderIndexProvider #3250, by @nielsvanvelzen
- Fix crash when DISPLAY_CONTENT while playing #3284, by @3l0w
- Defer home initialization until user info is available #3291, by @nielsvanvelzen
π§ Bugfixes
- Fix focus issue when pressing back in Fire TV soft keyboard #3245, by @nielsvanvelzen
- Fix opening collections via search results showing empty screen #3246, by @nielsvanvelzen
- Fix playing audio from search queues entire row #3247, by @nielsvanvelzen
- Disable SocketHandler when using RewriteMediaManager #3253, by @nielsvanvelzen
- Add <queries> element to Manifest for remote trailers #3265, by @nielsvanvelzen
- Disable crossfading for CardLegacyImageView to fix scaling issue #3286, by @nielsvanvelzen
Contributors
v0.16.2
We forgot to remove a feature flag causing some of the rewritten music functionality to not be activated. This release fixes that problem.
Note
This release will use a gradual rollout. It may take a week or two before it becomes available on your device.
π§ Bugfixes
- Fix RewriteMediaManager never used in production builds #3236, by @nielsvanvelzen
Contributors
v0.16.1
Bugs π, we squashed π¨ them.
ποΈ Enhancements
π₯ Crash fixes
- Close video player on resume with invalid state #3207, by @nielsvanvelzen
- Fix crash when starting player where playback controller may be null #3232, by @nielsvanvelzen
π§ Bugfixes
- Fix system screensaver starting during video playback #3206, by @nielsvanvelzen
- util: Don't use TZ offset for media Premiere Date #3210, by @fice-t
- Fix rare case where splash screen could get stuck #3217, by @nielsvanvelzen
π Dependency updates
- Update dependency io.gitlab.arturbosch.detekt to v1.23.4 #3150, by renovate[bot]
- Update coil to v2.5.0 #3151, by renovate[bot]
- Update dependency androidx.fragment:fragment-ktx to v1.6.2 #3155, by renovate[bot]
- Update dependency com.android.tools:desugar_jdk_libs to v2.0.4 #3156, by renovate[bot]
- Update kotest to v5.8.0 #3160, by renovate[bot]
- Update aboutlibraries to v10.9.2 #3163, by renovate[bot]
- Update dependency androidx.compose.compiler:compiler to v1.5.6 #3168, by renovate[bot]
- Update dependency androidx.activity:activity-ktx to v1.8.1 #3187, by renovate[bot]
- Update dependency androidx.media3:media3-session to v1.2.0 #3188, by renovate[bot]
- Update dependency androidx.window:window to v1.2.0 #3189, by renovate[bot]
- Update dependency androidx.work:work-runtime-ktx to v2.9.0 #3200, by renovate[bot]
- Update dependency gradle to v8.5 #3201, by renovate[bot]
- Update actions/setup-java action to v4 #3202, by renovate[bot]
- Update dependency com.android.tools.build:gradle to v8.2.0 #3215, by renovate[bot]
- Update actions/stale action to v9 #3216, by renovate[bot]
- Update dependency com.vanniktech:blurhash to v0.2.0 #3220, by renovate[bot]
- Update CI dependencies #3144, by renovate[bot]
- Update Kotlin #3149, by renovate[bot]
- chore(deps): update gradle/gradle-build-action action to v2.11.0 #3224, by renovate[bot]
- chore(deps): update github/codeql-action action to v3 #3225, by renovate[bot]
- fix(deps): update dependency androidx.activity:activity-ktx to v1.8.2 #3226, by renovate[bot]
- chore(deps): update actions/upload-artifact action to v4 #3228, by renovate[bot]
Contributors
v0.16.0
It has been a busy year with a lot of work on the Android TV app. After an extended beta period today is finally the day to leave it and publish a stable release. Read the blog post to learn about the changes in this release, or read the changelog below.
π Highlights
- Show resumable episodes in smart screen for shows #2361, by @Clubfan22
- Show currently playing music on screensaver #2512, by @nielsvanvelzen
- Add in-app screensaver #2539, by @nielsvanvelzen
- Add separate buttons for artists and album artists in music smart screen #2667, by @nielsvanvelzen
- Use series poster in latest row when "prefer series thumbnails" is enabled #3060, by @nielsvanvelzen
ποΈ Enhancements
- Add AV1 direct play support. #2392, by @MWisBest
- Add playback rewrite backend and plugin systems #2401, by @nielsvanvelzen
- Add media management preference #2415, by @nielsvanvelzen
- Add ExoPlayer backend to playback rewrite #2427, by @nielsvanvelzen
- Add PlaySessionService to playback rewrite #2428, by @nielsvanvelzen
- Update playback module with SDK 1.4.1 changes #2441, by @nielsvanvelzen
- Add option to enable playback rewrite for audio #2455, by @nielsvanvelzen
- Add MediaSessionPlugin to playback rewrite #2457, by @nielsvanvelzen
- adds "shuffle with" button if "always ask" is selected as preferred player. #2459, by @tim-vk
- Add PlaybackManagerOptions for defaultRewindAmount and defaultFastForwardAmount #2473, by @nielsvanvelzen
- Update item delete confirm message string #2477, by @nielsvanvelzen
- Rewrite LibraryDreamService with Compose #2498, by @nielsvanvelzen
- Improve Android TV home screen recommendations #2515, by @OctoNezd
- Remove playlist creation from NowPlaying screen #2523, by @nielsvanvelzen
- Update "Latest" media labels to be "Recently Added" #2549, by @thornbill
- Always use getQuantityString() for time units #2553, by @nielsvanvelzen
- Fix all string capitalization #2563, by @nielsvanvelzen
- Use plurals for amount of tracks in album / episodes in season #2571, by @nielsvanvelzen
- Explicitly use JDK 17 through gradle toolchains #2572, by @DavidFair
- Add blurHashPainter composable #2585, by @nielsvanvelzen
- Remove watched indicator from empty series #2589, by @nielsvanvelzen
- Add media manager implementation using new playback module #2593, by @nielsvanvelzen
- Add androidx.media2 MediaSessionService implementation #2594, by @nielsvanvelzen
- Update and specify full action versions #2600, by @1337joe
- Add (experimental) reactive homepage #2644, by @nielsvanvelzen
- Fix BaseItemInfoRow not showing for persons #2659, by @nielsvanvelzen
- Rewrite GridButton with Compose #2670, by @nielsvanvelzen
- Remove BaseProfile #2691, by @nielsvanvelzen
- Migrate search to SDK to fix cancellation issues #2727, by @polson
- Fix screensaver support in video player #2749, by @nielsvanvelzen
- Migrate ExoPlayer to StyledPlayerView #2754, by @nielsvanvelzen
- Add playback order support to playback rewrite #2783, by @nielsvanvelzen
- Enable playback rewrite by default for music #2802, by @nielsvanvelzen
- Rewrite media session code with androidx.media3 #2803, by @nielsvanvelzen
- Add repeat mode to playback rewrite #2810, by @nielsvanvelzen
- Update unsupported server messages #2815, by @nielsvanvelzen
- Add volume state to playback rewrite #2817, by @nielsvanvelzen
- Use fast forward & rewind durations from preferences #2825, by @nielsvanvelzen
- Replace Glide with Coil #2889, by @nielsvanvelzen
- Remove AccountManager support #2890, by @nielsvanvelzen
- Add preference to disable device type detection notification #2892, by @nielsvanvelzen
- Improve codec info #2893, by @mohd-akram
- Add music progress to screensaver #2922, by @nielsvanvelzen
- Add animation labels for Compose #2927, by @nielsvanvelzen
- Simplify defaultRewindAmount and defaultFastForwardAmount options #2928, by @nielsvanvelzen
- Use rounded corner for item details image #2929, by @nielsvanvelzen
- Add (PlaySession-)identifier to MediaStream #2935, by @nielsvanvelzen
- Use Android 14 SDK (API 34) #2957, by @nielsvanvelzen
- Add margin to media grid #2964, by @DoggoOfSpeed
- Folder improvements #2979, by @DoggoOfSpeed
- Alignment changes to audio player #2995, by @DoggoOfSpeed
- Add transcoding and remuxing #3001, by @nielsvanvelzen
- Make aspect ratio setting use radio buttons #3012, by @DoggoOfSpeed
- Grab background images no larger than the screen #3020, by @DoggoOfSpeed
- Remove old user preference migrations (before 0.15) #3041, by @nielsvanvelzen
- Migrate ExternalPlayerActivity (mostly) to SDK #3055, by @nielsvanvelzen
- Use vignette effect in screensaver to darken background image #3061, by @nielsvanvelzen
- Add initial playback capability testing #3062, by @nielsvanvelzen
- Use layer-list for app_banner drawable #3085, by @nielsvanvelzen
- Enable support for Opus and FLAC in ExoPlayer #3108, by @reacocard
- Support remux/transcode fallback in new music player #3113, by @nielsvanvelzen
- Implement queue management in RewriteMediaManager #3137, by @nielsvanvelzen
π₯ Crash fixes
- Revert "Update dependency com.android.tools:desugar_jdk_libs to v2.0.1" #2468, by @nielsvanvelzen
- Fix screensaver crash when loading an invalid backdrop image #2567, by @nielsvanvelzen
- Fix crash when player controls are auto-hiding while closing the player #2848, by @nielsvanvelzen
- Fix application crash on startup #2884, by @nielsvanvelzen
- Fix crash when switching users while playing music #2923, by @nielsvanvelzen
- Always use child fragment manager instead of activity fragment manager #2939, by @nielsvanvelzen
- Fix crash when reusing actions in MyDetailsOverviewRowPresenter #2940, by @nielsvanvelzen
- Improve BaseRowItem refreshing (fix crash after item deletion) #2949, by @nielsvanvelzen
- Fix crash when same item appears in queue multiple times #2960, by @nielsvanvelzen
- Fix crash during media stream resolving for corrupt files #3056, by @nielsvanvelzen
π§ Bugfixes
- Ignore missing notification permission from Glide #2422, by @teobaranga
- Fix crash when scaleType is null in AsyncImage #2554, by @nielsvanvelzen
- Fix missing background in DreamContentLogo #2560, by @nielsvanvelzen
- Fix playback rewrite audio queue in UI #2649, by @nielsvanvelzen
- Disable MPEG transport stream container in ExoPlayer #2695, by @nielsvanvelzen
- Fix ExoPlayer extensions not used for music playback #2711, by @nielsvanvelzen
- Remove old screen locks #2746, by @nielsvanvelzen
- Fix HomeFragmentLatestRow using wrong import for runBlocking function #2747, by @nielsvanvelzen
- Add fallback image to LeanbackChannelWorker #2753, by @nielsvanvelzen
- Fix app closing when media finishes playing #2756, by [@nielsvanvelzen](https://github...
v0.16.0-beta.5
After almost 3 months of beta releases this is the fifth and final one for version 0.16. The final release blockers have been implemented and work on the next version has already started. Test thoroughly and report any bugs that you may find to help out with a stable release!
If you appreciate my work, you can show your support with a donation through GitHub sponsors.
π Beta information
Beta versions are not guaranteed to work as expected. We encourage users to create detailed bug reports if any problems arise. Read our blog post for more information about our Android beta programs.
ποΈ Enhancements
- Use layer-list for app_banner drawable #3085, by @nielsvanvelzen
- Enable support for Opus and FLAC in ExoPlayer #3108, by @reacocard
- Support remux/transcode fallback in new music player #3113, by @nielsvanvelzen
- Implement queue management in RewriteMediaManager #3137, by @nielsvanvelzen
π§ Bugfixes
- Fix embedded subtitles not loading when subtitle filter on library #3090, by @horizon1250
- Fix playback stop reported twice #3105, by @nielsvanvelzen
- Fix display mode not changing back when closing player #3115, by @nielsvanvelzen
- Fix GridButtonPresenter focus on old Android platforms #3133, by @nielsvanvelzen
π Dependency updates
- Update aboutlibraries by renovate[bot] v10.9.1 #3078, v10.9.0 #3066
- Update actions/checkout action by renovate[bot] v4.1.1 #3124, v4.1.0 #3067
- Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.4 #3069, by renovate[bot]
- Update androidx.compose.foundation:foundation by renovate[bot] v1.5.4 #3126, v1.5.3 #3098, v1.5.2 #3081
- Update androidx.compose.material:material by renovate[bot] v1.5.4 #3127, v1.5.3 #3099, v1.5.2 #3082
- Update androidx.compose.ui:ui-tooling by renovate[bot] v1.5.4 #3128, v1.5.3 #3100, v1.5.2 #3083
- Update dependency androidx.activity:activity-ktx to v1.8.0 #3101, by renovate[bot]
- Update dependency gradle to v8.4 #3103, by renovate[bot]
- Update github/codeql-action action by renovate[bot] v2.22.4 #3132, v2.22.3 #3116
- Update dependency androidx.recyclerview:recyclerview to v1.3.2 #3129, by renovate[bot]
- Update acra to v5.11.3 #3136, by renovate[bot]
- Update CI dependencies #3076, by renovate[bot]
- Update CI dependencies #3088, by renovate[bot]
Contributors
- renovate[bot]
- @nielsvanvelzen
- @horizon1250
- @reacocard
v0.16.0-beta.4
This is the nearly final version of 0.16. There will be one more beta before the stable release is tagged.
If you appreciate my work, you can show your support with a donation through GitHub sponsors.
π Beta information
Beta versions are not guaranteed to work as expected. We encourage users to create detailed bug reports if any problems arise. Read our blog post for more information about our Android beta programs.
π Highlights
- Use series poster in latest row when "prefer series thumbnails" is enabled #3060, by @nielsvanvelzen
ποΈ Enhancements
- Use Android 14 SDK (API 34) #2957, by @nielsvanvelzen
- Folder improvements #2979, by @DoggoOfSpeed
- Alignment changes to audio player #2995, by @DoggoOfSpeed
- Add transcoding and remuxing #3001, by @nielsvanvelzen
- Make aspect ratio setting use radio buttons #3012, by @DoggoOfSpeed
- Grab background images no larger than the screen #3020, by @DoggoOfSpeed
- Remove old user preference migrations (before 0.15) #3041, by @nielsvanvelzen
- Migrate ExternalPlayerActivity (mostly) to SDK #3055, by @nielsvanvelzen
- Use vignette effect in screensaver to darken background image #3061, by @nielsvanvelzen
- Add initial playback capability testing #3062, by @nielsvanvelzen
π₯ Crash fixes
- Fix crash during media stream resolving for corrupt files #3056, by @nielsvanvelzen
π§ Bugfixes
- Synochronise music timers #2996, by @DoggoOfSpeed
- Fix grid getting focus when empty #3003, by @DoggoOfSpeed
- Fix user image being too cropped in #3005, by @DoggoOfSpeed
- Fix sync issue in ItemRowAdapterHelper #3024, by @nielsvanvelzen
- Fix blurry banners and thumbnails with fillWidth #3036, by @DoggoOfSpeed
- Fix ExternalPlayerActivity not using PreferenceStore.reset #3040, by @nielsvanvelzen
- Restore session on MainActivity stop #3054, by @nielsvanvelzen
- Fix progress bar positioning in view_row_details #3058, by @nielsvanvelzen
π Refactoring
- Remove Thread.sleep usages #3000, by @nielsvanvelzen
- Fix compose deprecations #3035, by @nielsvanvelzen
- Fully migrate ItemLauncher to SDK #3045, by @nielsvanvelzen
- Migrate ItemListView to SDK #3046, by @nielsvanvelzen
- Migrate SuggestedMoviesFragment to SDK #3049, by @nielsvanvelzen
π Dependency updates
- Update dependency androidx.compose.foundation:foundation to v1.5.1 #2954, by @renovate[bot]
- Update dependency androidx.compose.material:material to v1.5.1 #2955, by @renovate[bot]
- Update dependency androidx.compose.ui:ui-tooling to v1.5.1 #2956, by @renovate[bot]
- Update dependency gradle to v8.3 #2978, by @renovate[bot]
- Update dependency com.android.tools.build:gradle to v8.1.1 #2986, by @renovate[bot]
- Update androidx.compose.compiler:compiler by @renovate[bot] v1.5.3 #3011, v1.5.2 #2992
- Update actions/checkout action by @renovate[bot] v4 #3023, v3.6.0 #2994
- Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.3 #3004, by @renovate[bot]
- Update acra to v5.11.2 #3018, by @renovate[bot]
- Update kotest by @renovate[bot] v5.7.2 #3026, v5.7.1 #3019
- Update actions/upload-artifact action to v3.1.3 #3028, by @renovate[bot]
- Update androidx.lifecycle to v2.6.2 #3029, by @renovate[bot]
- Update dependency androidx.core:core-ktx to v1.12.0 #3030, by @renovate[bot]
- Update koin to v3.5.0 #3043, by @renovate[bot]
- Update github/codeql-action action by @renovate[bot] v2.21.8 #3053, v2.21.7 #3048, v2.21.6 #3044
- Update actions/setup-java action to v3.13.0 #3059, by @renovate[bot]
- Update Kotlin #2990, by @renovate[bot]
- Update CI dependencies #3006, by @renovate[bot]
Contributors
v0.15.12
This is a small release to introduce some bug fixes from the upcoming 0.16 release into the stable version. Most notably, the fast forward and rewind buttons now consistently utilize the user-set duration, and the option to disable baked subtitles is functioning again.
If you appreciate my work, you can support me by making a donation through GitHub sponsors.
ποΈ Enhancements
- Always use user provided fast forward and rewind values #2985, by @nielsvanvelzen
π₯ Crash fixes
- Fix crash when location type is null in CardPresenter #2932, by @nielsvanvelzen
π§ Bugfixes
- Fix disabling subtitles not always working #2984, by @nielsvanvelzen
π Dependency updates
Contributors
- @nielsvanvelzen
- @renovate[bot]