v0.15.0-beta.1
nielsvanvelzen
released this
12 Nov 20:25
·
121 commits
to release-0.15.z
since this release
This is the first beta for version 0.15. This release contains many changes to the internal code and thus might contain some bugs. Please report issues so we can fix them for the next betas and stable release.
🐛 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
- Add new experimental picture viewer #1829, by @nielsvanvelzen
- Add RTL Support #1842, by @hadicharara
- Add audio night mode (as preference) to level out/compress audio volume. #1852, by @robertduplock
- Add Subtitle Color Customization Features #1900, by @sparky3387
- Add Quality Selection to Playback Overlay #1924, by @zkhcohen
- Support previous button in video playlist #1941, by @kevgrig
- Add ImageProvider for retrieval of images in platform integration #2210, by @nielsvanvelzen
🏗️ Enhancements
- Add PlaybackForwardingActivity for bridging to new playback module #1092, by @nielsvanvelzen
- Forward audio play requests to playback module #1114, by @nielsvanvelzen
- Add monochrome layer to adaptive icon #2028, by @nielsvanvelzen
- Support external subtitles in external player #2061, by @sunrisela
- Update GitHub actions workflows #2094, by @nielsvanvelzen
- Replace Kapt with KSP #2127, by @nielsvanvelzen
- Rewrite navigation #2132, by @nielsvanvelzen
- Add LifecycleAwareResponse #2148, by @nielsvanvelzen
- Add PictureViewerFragment as destination #2149, by @nielsvanvelzen
- Remove unused resources #2162, by @nielsvanvelzen
- Show picture viewer controls by default #2169, by @nielsvanvelzen
- Automatically hide picture viewer actions after 4 seconds #2170, by @nielsvanvelzen
- Remove PhotoPlayerActivity #2171, by @nielsvanvelzen
- Show keyboard on right on text search fragment #2178, by @nielsvanvelzen
- Add Jetpack Compose support #2193, by @nielsvanvelzen
- Don't use LibraryDreamService.TRANSITION_DURATION in FadeViewSwitcherLayout #2211, by @nielsvanvelzen
- Use fade animation when navigating #2216, by @nielsvanvelzen
- Rewrite SplashFragment in Compose #2223, by @nielsvanvelzen
- Add placeholder drawable for ImageProvider #2229, by @nielsvanvelzen
- Add Video Codec Tag #2245, by @The-Randalorian
- Add dismissible notification for beta releases #2252, by @nielsvanvelzen
💥 Crash fixes
- Misc crash fixes #1979, by @nielsvanvelzen
- Fix crash when trying to start a picture slideshow #2000, by @nielsvanvelzen
- Fix crash when opening favorites and video queue #2020, by @nielsvanvelzen
- Fix app crashing when opening "other options" menu in FullDetailsActivity #2029, by @nielsvanvelzen
- Always set base item type on custom base item dto instances #2033, by @nielsvanvelzen
- Fix missing imports causing a build issue #2034, by @nielsvanvelzen
- Fix two crashes when trying to view a person #2071, by @nielsvanvelzen
- Fix crash when selecting or clicking items in grid view #2079, by @nielsvanvelzen
- Check lifecycle state when runnable executes #2155, by @nielsvanvelzen
- Fix PictureViewerFragment crashing when opening photo from latest row #2156, by @nielsvanvelzen
- Check Lifecycle.State.STARTED instead of Lifecycle.State.INITIALIZED #2157, by @nielsvanvelzen
- Fix app crash when playing trailers #2241, by @nielsvanvelzen
🔧 Bugfixes
- fix CommunityRating display #1992, by @Andy2244
- Keep ordering from album view in picture viewer #1998, by @nielsvanvelzen
- Fix NPE when live tv program is null #2092, by @nielsvanvelzen
- Fix blurhash not showing in CardPresenter #2103, by @nielsvanvelzen
- Fix series queueing not working #2105, by @nielsvanvelzen
- Fix audio player screensaver starting too soon #2131, by @nielsvanvelzen
- Don't use activity.isFinishing() #2159, by @nielsvanvelzen
- Fix EnhancedBrowseFragment registering multiple listeners #2217, by @nielsvanvelzen
- Load fresh item data in AudioTrackQueue #2224, by @nielsvanvelzen
- Fix StartupActivity set destination is ignored #2228, by @nielsvanvelzen
- Apply subtitle delay to external subs #2239, by @DenizenB
- Always reset navigation in StartupActivity #2240, by @nielsvanvelzen
- Fix focus in home screen when navigating back #2243, by @nielsvanvelzen
- Avoid clearing all items on ItemRowAdapter load #2246, by @nielsvanvelzen
- Fix bad version.ref in dependency catalog #2249, by @nielsvanvelzen
🔃 Refactoring
- Move useExternalPlayer and getPlaybackActivityClass functions to new PlaybackLauncher interface #1064, by @nielsvanvelzen
- Remove item delete functionality #1936, by @nielsvanvelzen
- Remove usages of BaseItemType's that don't exist in the server anymore #1947, by @nielsvanvelzen
- fix NextUp not working without clearing old video queue items #1951, by @mueslimak3r
- Use AsyncImageView in ClockUserView #1966, by @nielsvanvelzen
- Use AsyncImageView in GuideChannelHeader #1967, by @nielsvanvelzen
- Refactor BrowseGridFragment hierarchy into a single class #1970, by @nielsvanvelzen
- Use view binding directly in BrowseGridFragment #1973, by @nielsvanvelzen
- Replace GSON encoding usages with kotlinx.serialization #1975, by @nielsvanvelzen
- Migrate InfoLayoutHelper to use SDK models #1978, by @nielsvanvelzen
- Use constants from SDK #1983, by @nielsvanvelzen
- Always use SDK BaseItemPerson and PersonType #1984, by @nielsvanvelzen
- Remove unused ApiEventListener from legacy apiclient #1985, by @nielsvanvelzen
- Always use SDK SearchHint #1986, by @nielsvanvelzen
- Simplify reportPlaybackStopped code #1993, by @nielsvanvelzen
- Use SDK SortOrder enum in LibraryPreferences #1994, by @nielsvanvelzen
- Remove commented log statements #1995, by @nielsvanvelzen
- Use SDK in StartupActivity #1996, by @nielsvanvelzen
- Remove USE_DOWNLOAD_API from picture viewer #1999, by @nielsvanvelzen
- Migrate most of KeyProcessor to SDK types #2002, by @nielsvanvelzen
- Use SDK in HomeFragment #2013, by @nielsvanvelzen
- Replace most utils with SDK #2014, by @nielsvanvelzen
- Rewrite MediaCodecCapabilitiesTest in Kotlin #2015, by @nielsvanvelzen
- Migrate favorite and played toggles in KeyProcessor to SDK #2016, by @nielsvanvelzen
- Remove unused video queue code #2021, by @nielsvanvelzen
- Add empty playback modules for rewrite #2022, by @nielsvanvelzen
- Rewrite ChapterItemInfo to not use the apiclient #2025, by @nielsvanvelzen
- Replace BaseItemType usages with BaseItemKind (SDK) #2032, by @nielsvanvelzen
- Add SocketInstance to dependency injection #2035, by @nielsvanvelzen
- Rewrite DeviceUtils and Utils in Kotlin #2056, by @nielsvanvelzen
- Replace BlurHashDecoder with com.vanniktech.blurhash dependency #2069, by @nielsvanvelzen
- Rewrite data package in Kotlin #2070, by @nielsvanvelzen
- Rewrite all Java interfaces in Kotlin #2072, by @nielsvanvelzen
- Use appcompat theme as base #2073, by @nielsvanvelzen
- Merge StdRowsFragment into HomeFragment #2074, by @nielsvanvelzen
- Use MutableObjectAdapter<Row> for rows #2075, by @nielsvanvelzen
- Use MutableObjectAdapter<Object> as base for ItemRowAdapter #2076, by @nielsvanvelzen
- Rewrite CompositeListeners in Kotlin #2078, by @nielsvanvelzen
- Rewrite BaseRowItem in Kotlin #2080, by @nielsvanvelzen
- Migrate a lot of code to use BaseItemDto from SDK #2081, by @nielsvanvelzen
- Disable jetifier #2090, by @nielsvanvelzen
- Move package declaration to Gradle build files #2091, by @nielsvanvelzen
- Use AsyncImageView for Live TV program image #2097, by @nielsvanvelzen
- Don't use KoinJavaComponent in Kotlin files #2102, by @nielsvanvelzen
- Remove most deprecation annotations #2104, by @nielsvanvelzen
- Merge StdBrowseFragment and BrowseFolderFragment and rewrite in Kotlin #2107, by @nielsvanvelzen
- Always use repeatOnLifecycle instead of launchWhenX functions #2108, by @nielsvanvelzen
- Rewrite search UI in Kotlin #2110, by @nielsvanvelzen
- Refactor AudioNowPlayingActivity to fragment #2112, by @nielsvanvelzen
- Refactor FullDetailsActivity to fragment #2113, by @nielsvanvelzen
- Refactor ItemListActivity to fragment #2114, by @nielsvanvelzen
- Refactor LiveTvGuideActivity to fragment #2116, by @nielsvanvelzen
- Remove key listener from BaseActivity #2117, by @nielsvanvelzen
- Use fragment arguments instead of activity intent #2124, by @nielsvanvelzen
- Add CustomMessageRepository, remove BaseActivity #2128, by @nielsvanvelzen
- Remove GsonJsonSerializer #2145, by @nielsvanvelzen
- Rewrite MyDetailsOverviewRow in Kotlin #2150, by @nielsvanvelzen
- Rewrite presenters in Kotlin #2151, by @nielsvanvelzen
- Replace Response<> usages with LifecycleAwareResponse<> in fragments #2158, by @nielsvanvelzen
- Rewrite small playback related files in Kotlin #2164, by @nielsvanvelzen
- Rename xml layout starting with activity_ to fragment_ #2232, by @nielsvanvelzen
💡 Everything else
- Add (empty) playback module and CODEOWNERS #1072, by @nielsvanvelzen
- Update playback rewrite build files #1626, by @nielsvanvelzen
- Forward music play requests to PlaybackLauncher #1937, by @nielsvanvelzen
- Bump Android compile and target SDK to 32 (Android 12L) #1957, by @nielsvanvelzen
- Bump Android compile & target version to 33 (Android 13) #2047, by @nielsvanvelzen
- Switch slf4j timber to a different library #2096, by @nielsvanvelzen
- Remove direct GSON dependency #2208, by @nielsvanvelzen
- Add playback rewrite queue system #2209, by @nielsvanvelzen
- Update Jellyfin SDK to 1.4.0-beta.1 #2234, by @nielsvanvelzen
📈 Dependency updates
- Update androidx.fragment:fragment-ktx
- Update kotest
- Update androidx.appcompat:appcompat
- Update dependency org.videolan.android:libvlc-all to v3.5.1 #1956, by @renovate[bot]
- Update org.jetbrains.kotlinx:kotlinx-serialization-json
- Update github/codeql-action
- to f5d217b #1988, by @renovate[bot]
- to 7fee4ca #2005, by @renovate[bot]
- to c7f292e #2010, by @renovate[bot]
- to b398f52 #2023, by @renovate[bot]
- to 6a38b7d #2063, by @renovate[bot]
- to 904260d #2067, by @renovate[bot]
- to 86f3159 #2084, by @renovate[bot]
- to e0e5ded #2123, by @renovate[bot]
- to 8075783 #2146, by @renovate[bot]
- to cc7986c #2191, by @renovate[bot]
- to ec3cf9c #2212, by @renovate[bot]
- to 18fe527 #2235, by @renovate[bot]
- to c3b6fce #2242, by @renovate[bot]
- Update io.mockk:mockk
- Update dependency com.android.tools:desugar_jdk_libs to v1.1.8 #2008, by @renovate[bot]
- Update dependency androidx.core:core-ktx to v1.9.0 #2044, by @renovate[bot]
- Update actions/setup-java
- Update koin
- Update actions/stale
- Update com.android.tools.build:gradle
- Update androidx.activity:activity-ktx
- Update actions/stale action to v6 #2085, by @renovate[bot]
- Update glide
- Update Kotlin to v1.7.20 #2119, by @renovate[bot]
- Update gradle/gradle-build-action
- Update aboutlibraries
- Update actions/checkout
- Update dependency org.jellyfin.exoplayer:exoplayer-ffmpeg-extension to v2.18.1+2 #2142, by @renovate[bot]
- Update com.google.devtools.ksp
- Update actions/upload-artifact digest to 83fd05a #2195, by @renovate[bot]
- Update io.insert-koin:koin-androidx-compose
- Update gradle/wrapper-validation-action digest to 55e685c #2205, by @renovate[bot]
- Update alexellis/upload-assets action to v0.4.0 #2222, by @renovate[bot]
- Update eps1lon/actions-label-merge-conflict action to v2.1.0 #2231, by @renovate[bot]
- Update androidx-compose to v1.3.1 #2250, by @renovate[bot]
- Update dependency com.squareup.leakcanary:leakcanary-android to v2.10 #2251, by @renovate[bot]