v0.16.0-beta.1
Pre-release
Pre-release
nielsvanvelzen
released this
30 Jul 10:14
·
320 commits
to release-0.16.z
since this release
The initial beta for version 0.16 is here! This release brings a new music playback backend and optimizes a lot of code to make future changes easier. A blog post with more details and screenshots will be available on release.
If you appreciate my work, you can support me by donating via 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
- 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
🏗️ 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
💥 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
🔧 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
- Use navigation.goBack instead of activity finish in FullDetailsFragment #2757, by @nielsvanvelzen
- Fix view binding leak in fragments #2763, by @nielsvanvelzen
- Fix BackgroundService flickering #2773, by @nielsvanvelzen
- Disable custom key handling when using playback rewrite #2804, by @nielsvanvelzen
- Fix navigation reset called during back stack pop call #2869, by @nielsvanvelzen
- Add missing view action to StartupActivity #2879, by @nielsvanvelzen
- Fix video player background not black #2895, by @nielsvanvelzen
🔃 Refactoring
- Remove gradlew-update.yaml workflow #2445, by @nielsvanvelzen
- Split MediaManager into interface and implementation #2453, by @nielsvanvelzen
- Split MediaManager into MediaManager and VideoQueueManager #2458, by @nielsvanvelzen
- Remove selected photo item from MediaManager and do some more cleaning #2461, by @nielsvanvelzen
- Replace sharedViewModel with activityViewModel #2518, by @nielsvanvelzen
- Replace deprecated Bundle.get with Bundle.getParcelable #2519, by @nielsvanvelzen
- Replace deprecated ExistingPeriodicWorkPolicy.REPLACE with ExistingPeriodicWorkPolicy.UPDATE #2524, by @nielsvanvelzen
- Refactor CustomPlaybackTransportControlGlue to extract logic into actions #2569, by @DavidFair
- Remove some unused drawables/strings/layouts #2570, by @nielsvanvelzen
- Use ItemRowAdapterHelperKt.setItems for NextUpQuery in ItemRowAdapter #2641, by @nielsvanvelzen
- Rewrite background service UI with compose #2652, by @nielsvanvelzen
- Enable nonTransitiveRClass #2664, by @nielsvanvelzen
- Enable nonFinalResIds #2665, by @nielsvanvelzen
- Migrate video player & next up screen to fragments #2745, by @nielsvanvelzen
- Inline validateAuthentication extension into MainActivity #2758, by @nielsvanvelzen
- Use context in ItemLauncher #2760, by @nielsvanvelzen
- Migrate some activity usages to context #2761, by @nielsvanvelzen
- Use view binding in MainActivity & StartupActivity #2762, by @nielsvanvelzen
- Remove left over search hint code #2772, by @nielsvanvelzen
- Replace XML menus with Kotlin #2779, by @nielsvanvelzen
- Convert queue service to core functionality #2801, by @nielsvanvelzen
- Remove unused ProcessLifecycleInitializer #2880, by @nielsvanvelzen
- Use data object in sealed interfaces #2920, by @nielsvanvelzen
- Replace flow.collect usages with onEach & launchIn #2925, by @nielsvanvelzen
💡 Everything else
- Add androidx.compose.compiler to libraries section in version catalog #2491, by @nielsvanvelzen
- Revert "Update aboutlibraries to v10.6.0" #2520, by @nielsvanvelzen
- Enable Renovate dependency dashboard #2774, by @nielsvanvelzen
📈 Dependency updates
- Update dependency io.gitlab.arturbosch.detekt to v1.23.1 #2921, by @renovate[bot]
- Update aboutlibraries to v10.8.3 #2898, by @renovate[bot]
- Update github/codeql-action digest to 16964e9 #2583, by @renovate[bot]
- Update Gradle Wrapper from 7.5.1 to 7.6 #2294, by @jellyfin-bot
- Update dependency io.mockk:mockk to v1.13.5 #2656, by @renovate[bot]
- Update actions/setup-java digest to 3f07048 #2482, by @renovate[bot]
- Update appleboy/ssh-action action to v1 #2907, by @renovate[bot]
- Update actions/checkout digest to ac59398 #2339, by @renovate[bot]
- Update actions/stale action to v8 #2606, by @renovate[bot]
- Update actions/upload-artifact digest to 0b7f8ab #2388, by @renovate[bot]
- Update dependency androidx.compose.ui:ui-tooling to v1.4.3 #2736, by @renovate[bot]
- Update dependency androidx.appcompat:appcompat to v1.6.1 #2483, by @renovate[bot]
- Update dependency com.android.tools.build:gradle to v8.1.0 #2910, by @renovate[bot]
- Update dependency com.android.tools:desugar_jdk_libs to v2.0.3 #2628, by @renovate[bot]
- Update dependency com.google.devtools.ksp to v1.8.20-1.0.11 #2673, by @renovate[bot]
- Update kotest to v5.6.2 #2750, by @renovate[bot]
- Update koin to v3.4.2 #2822, by @renovate[bot]
- Update dependency androidx.work:work-runtime-ktx to v2.8.1 #2610, by @renovate[bot]
- Update dependency io.insert-koin:koin-androidx-compose to v3.4.4 #2674, by @renovate[bot]
- Update dependency gradle to v8.2.1 #2887, by @renovate[bot]
- Update dependency androidx.compose.compiler:compiler to v1.5.1 #2912, by @renovate[bot]
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.5.0 #2536, by @renovate[bot]
- Update glide to v4.15.1 #2590, by @renovate[bot]
- Update gradle/gradle-build-action digest to 6095a76 #2544, by @renovate[bot]
- Update androidx-lifecycle to v2.6.1 #2607, by @renovate[bot]
- Update dependency androidx.recyclerview:recyclerview to v1.3.1 #2914, by @renovate[bot]
- Update dependency com.google.android.exoplayer:exoplayer to v2.19.0 #2924, by @renovate[bot]
- Update dependency androidx.fragment:fragment-ktx to v1.6.1 #2913, by @renovate[bot]
- Update github/codeql-action action to v2.21.2 #2919, by @renovate[bot]
- Update dependency androidx.activity:activity-ktx to v1.7.2 #2793, by @renovate[bot]
- Update dependency androidx.compose.foundation:foundation to v1.4.3 #2734, by @renovate[bot]
- Update dependency androidx.compose.material:material to v1.4.3 #2735, by @renovate[bot]
- Update actions/checkout action to v3.5.3 #2837, by @renovate[bot]
- Update dependency androidx.core:core-ktx to v1.10.1 #2748, by @renovate[bot]
- Update gradle/gradle-build-action action to v2.6.1 #2899, by @renovate[bot]
- Update Kotlin to v1.7.3 #2909, by @renovate[bot]
- Update dependency com.squareup.leakcanary:leakcanary-android to v2.12 #2861, by @renovate[bot]
- Update dependency androidx.window:window to v1.1.0 #2833, by @renovate[bot]
- Update acra to v5.11.0 #2902, by @renovate[bot]
- Update dependency androidx.media3:media3-session to v1.1.0 #2873, by @renovate[bot]
- Update Kotlin #2247, by @renovate[bot]
- Update koin #2348, by @renovate[bot]
- Update Kotlin #2467, by @renovate[bot]
- Update koin #2619, by @renovate[bot]
- Update CI dependencies #2624, by @renovate[bot]
- Update Kotlin #2627, by @renovate[bot]
- Update CI dependencies #2657, by @renovate[bot]
- Update CI dependencies #2662, by @renovate[bot]
- Update Kotlin #2701, by @renovate[bot]
- Update Kotlin #2751, by @renovate[bot]
- Update koin #2808, by @renovate[bot]
- Update Kotlin - autoclosed #2834, by @renovate[bot]
- Update CI dependencies #2901, by @renovate[bot]
- Update koin #2918, by @renovate[bot]