Read our blog post on jellyfin.org to see what's new, or read the full changelog below.
🌟 Highlights
🏗️ Enhancements
- Add adaptive monochrome icon. #777, by @Irishsmurf
- Improve player gesture exclusions #796, by @Maxr1998
- Use Cronet network stack for ExoPlayer #797, by @Maxr1998
- Rewrite connection screen in Jetpack Compose #800, by @Maxr1998
- Don't automatically change orientation for landscape video by default #809, by @eglia
- Add ability to direct play ass with exoplayer #826, by @nalsai
- Implement downloadFiles in NativeShell #842, by @nielsvanvelzen
- Adds option to change the decoder used by the player #893, by @susonthapa
- Add back button in the integrated player #901, by @susonthapa
- Add link to Android subtitle settings in client settings #905, by @Maxr1998
- Add splash screen #915, by @susonthapa
- Add button to cancel loading before timeout #933, by @Maxr1998
- Disable Google Safe Browsing Service in webviews #1041, by @nielsvanvelzen
- Add pgssub to ExoPlayer subtitle codecs #1043, by @Maxr1998
🔧 Bugfixes
- Use specified video version in native player #637, by @mingyech
- Add subtitle profiles to external player profile #638, by @mingyech
- Update notify method to strip escaped HTML characters. #775, by @colonelpopcorn
- Fix potential crash when user reopens the app quickly #911, by @susonthapa
- Fix and rewrite audio and subtitle track selection when transcoding #931, by @Maxr1998
- Fix items not getting checked in bitrate selection popup #941, by @Maxr1998
- Rework track handling and selection #1012, by @Maxr1998
- Fix subtitle selection for encoded subtitles #1021, by @Maxr1998
- Fix audio track selection if multiple renderers are used #1033, by @Maxr1998
- Fix audio track selection for >= 10 tracks #1039, by @Maxr1998
- Fix player menu track selection #1044, by @Maxr1998
🔃 Refactoring
- Enable more detekt rules and fix reported issues #639, by @Maxr1998
- Extract some WebView logic to separate files #807, by @Maxr1998
- Decouple JavaScript bridge components from Fragments #813, by @Maxr1998
- Tweak .editorconfig and reformat code #868, by @Maxr1998
- Set namespace in build.gradle.kts instead of Manifest #869, by @Maxr1998
- Fix various detekt warnings #929, by @Maxr1998
- Rework fullscreen/insets handling and fix deprecations #936, by @Maxr1998
- Remove gradlew-update.yaml workflow #962, by @nielsvanvelzen
- Improve notification handling #1037, by @Maxr1998
- Rewrite queue management and play options handling #1038, by @Maxr1998
💡 Everything else
- Bump Android compile and target SDK to 32 (Android 12L) #761, by @nielsvanvelzen
- Raise compileSdk to 33 #805, by @Maxr1998
- Don't ignore detekt failures anymore #930, by @Maxr1998
- Disable Jetifier #1013, by @Maxr1998
- Disable line breaks after multiline when entries #1032, by @Maxr1998
📈 Dependency updates
- Update Jellyfin Kotlin SDK to 1.2.0 #651, by @nielsvanvelzen
- Update dependency io.insert-koin:koin-android to v3.2.1 #784, by @renovate[bot]
- Update io.kotest to v5.2.3 #657, by @renovate[bot]
- Update org.jetbrains.kotlinx to v1.6.1 #658, by @renovate[bot]
- Update plugin android-app to v7.1.3 #659, by @renovate[bot]
- Update dependency androidx.media:media to v1.6.0 #665, by @renovate[bot]
- Update dependency androidx.mediarouter:mediarouter to v1.3.1 #747, by @renovate[bot]
- Update dependency com.squareup.leakcanary:leakcanary-android to v2.10 #887, by @renovate[bot]
- Update plugin detekt to v1.20.0 #670, by @renovate[bot]
- Update github/codeql-action action to v2.1.34 #890, by @renovate[bot]
- Update kotest to v5.5.5 #989, by @renovate[bot]
- Update dependency com.google.android.material:material to v1.8.0 #963, by @renovate[bot]
- Update dependency com.android.application to v7.4.2 #958, by @renovate[bot]
- Update dependency io.coil-kt:coil-base to v2.2.2 #827, by @renovate[bot]
- Update dependency io.mockk:mockk to v1.13.1 #806, by @renovate[bot]
- Update dependency androidx.constraintlayout:constraintlayout to v2.1.4 #689, by @renovate[bot]
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.2 #695, by @renovate[bot]
- Update github/codeql-action digest to ec3cf9c #865, by @renovate[bot]
- Update dependency androidx.appcompat:appcompat to v1.6.1 #956, by @renovate[bot]
- Update dependency androidx.core:core-ktx to v1.9.0 #780, by @renovate[bot]
- Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.1 #961, by @renovate[bot]
- Update dependency de.maxr1998:modernandroidpreferences to v2.3.2 #927, by @renovate[bot]
- Update dependency com.squareup.okhttp3:okhttp to v4.10.0 #705, by @renovate[bot]
- Update gradle-update/update-gradle-wrapper-action digest to 981c551 #709, by @renovate[bot]
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.6.3 #711, by @renovate[bot]
- Update actions/setup-java digest to de1bb2b #845, by @renovate[bot]
- Update androidx-lifecycle to v2.5.1 #722, by @renovate[bot]
- Update dependency androidx.activity:activity-ktx to v1.6.1 #861, by @renovate[bot]
- Update dependency androidx.fragment:fragment-ktx to v1.5.5 #919, by @renovate[bot]
- Update dependency de.mannodermaus.android-junit5 to v1.8.2.1 #726, by @renovate[bot]
- Update Kotlin to v1.6.4 #732, by @renovate[bot]
- Update Gradle Wrapper from 7.4.2 to 7.5 #733, by @jellyfin-bot
- Update actions/stale digest to 5ebf00e #834, by @renovate[bot]
- Update detekt to v1.22.0 #895, by @renovate[bot]
- Update junit5 monorepo to v5.9.2 #952, by @renovate[bot]
- Update androidx-room to v2.5.0 #955, by @renovate[bot]
- Update appleboy/ssh-action action to v0.1.5 #750, by @renovate[bot]
- Update Gradle Wrapper from 7.5 to 7.5.1 #753, by @jellyfin-bot
- Update playservices to v21.2.0 #837, by @renovate[bot]
- Update dependency com.android.tools:desugar_jdk_libs to v1.2.2 #818, by @renovate[bot]
- Update dependency androidx.webkit:webkit to v1.6.1 #1001, by @renovate[bot]
- Update dependency org.chromium.net:cronet-embedded to v108 #924, by @renovate[bot]
- Update actions/stale action to v7 #928, by @renovate[bot]
- Update dependency io.mockk:mockk-android to v1.13.4 #987, by @renovate[bot]
- Update gradle/gradle-build-action digest to 3fbe033 #855, by @renovate[bot]
- Update actions/checkout digest to 2541b12 #830, by @renovate[bot]
- Update dependency org.jellyfin.exoplayer:exoplayer-ffmpeg-extension to v2.18.1+2 #832, by @renovate[bot]
- Update dependency com.google.devtools.ksp to v1.7.20-1.0.8 #878, by @renovate[bot]
- Update dependency com.github.ben-manes.versions to v0.46.0 #991, by @renovate[bot]
- Update actions/upload-artifact digest to 83fd05a #854, by @renovate[bot]
- Update compose to v1.3.3 #954, by @renovate[bot]
- Update gradle/wrapper-validation-action digest to 55e685c #863, by @renovate[bot]
- Update koin to v3.3.0 #864, by @renovate[bot]
- Update alexellis/upload-assets action to v0.4.0 #871, by @renovate[bot]
- Update eps1lon/actions-label-merge-conflict action to v2.1.0 #872, by @renovate[bot]
- Update dependency androidx.test.espresso:espresso-core to v3.5.1 #946, by @renovate[bot]
- Update dependency androidx.test:runner to v1.5.2 #947, by @renovate[bot]
- Update Gradle Wrapper from 7.5.1 to 7.6 #907, by @jellyfin-bot
- Update actions/setup-java action to v3.8.0 #916, by @renovate[bot]
- Update dependency gradle to v7.6.1 #986, by @renovate[bot]
- Update exoplayer to v2.18.5 #997, by @renovate[bot]
- ci: bump actions/setup-java from 2 to 3 #644, by @dependabot[bot]
- ci: bump actions/upload-artifact from 2 to 3 #645, by @dependabot[bot]
- Update .editorconfig and fix formatting for renovate.json #672, by @Maxr1998
- Update Kotlin #674, by @renovate[bot]
- Update exoplayer #681, by @renovate[bot]
- Pin dependencies #692, by @renovate[bot]
- Update Kotlin #701, by @renovate[bot]
- Update Kotlin #728, by @renovate[bot]
- Update koin #810, by @renovate[bot]
- Update GitHub actions workflows #815, by @nielsvanvelzen
- Update Kotlin #823, by @renovate[bot]
- Update koin #847, by @renovate[bot]
- Pin GitHub actions to specific version tag #867, by @Maxr1998
- Update exoplayer #902, by @renovate[bot]
- Update CI dependencies #914, by @renovate[bot]
- Update CI dependencies #920, by @renovate[bot]
- Update CI dependencies #925, by @renovate[bot]
- Update koin #926, by @renovate[bot]
- Update koin #937, by @renovate[bot]
- Update CI dependencies #950, by @renovate[bot]
- Update CI dependencies #951, by @renovate[bot]
- Update CI dependencies #1002, by @renovate[bot]
- Update Jellyfin SDK (1.4.2) and Exoplayer (2.18.6) #1034, by @nielsvanvelzen