This is the first beta for the upcoming v0.13.0 release. It will be available on the Google Play store in our public beta program. A blog post for this update will be published at release.
🐛 Beta information
Beta versions are not guaranteed to work and may not 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
- Implement global search #900, by @koying
- Add a daydream (screen saver) showing random movies and series #1012, by @nielsvanvelzen
- Add multiple versions support #1155, by @danieladov
- Show library licenses in settings #1199, by @nielsvanvelzen
- Remove search shortcut when it doesn't make sense #1205, by @nielsvanvelzen
- Add preferences UI for home sections #1213, by @nielsvanvelzen
- Also build app bundle for Google Play in CI #1295, by @nielsvanvelzen
- Add Playback speed controls #1302, by @DavidFair
- Add subtitles font size and background configurations #1303, by @siankatabg
Changelog
- Implement global search #900, by @koying
- Use DisplayPreferences via SDK via preferences code #1011, by @nielsvanvelzen
- Add a daydream (screen saver) showing random movies and series #1012, by @nielsvanvelzen
- Remove TvApp.getApplication usages in util package #1022, by @nielsvanvelzen
- Migrate to Koin 3 #1023, by @nielsvanvelzen
- Update Android Gradle Plugin to 7.0.2 #1050, by @nielsvanvelzen
- Remove GSON usages when (de)serializing activity extras #1053, by @nielsvanvelzen
- Show unfinished episodes in watch next row #1142, by @nielsvanvelzen
- Add multiple versions support #1155, by @danieladov
- Refactor issue templates to use forms #1166, by @nielsvanvelzen
- Remove two unused strings and two unused icons #1169, by @nielsvanvelzen
- Replace UUIDSerializer with SDK provided version #1172, by @nielsvanvelzen
- Remove unused LoadingState class #1173, by @nielsvanvelzen
- Explicitly specify android:exported #1178, by @ElegyD
- Fix several lint issues #1180, by @ElegyD
- Migrate to Jellyfin Kotlin SDK v1.1 #1197, by @nielsvanvelzen
- Show library licenses in settings #1199, by @nielsvanvelzen
- Add ModelCompat to convert apiclient types to SDK types #1200, by @nielsvanvelzen
- Remove broken RemoteControlReceiver #1201, by @nielsvanvelzen
- Use context instead of activity in InfoLayoutHelper #1202, by @nielsvanvelzen
- Use context.startActivity in NowPlayingBug #1203, by @nielsvanvelzen
- Remove search shortcut when it doesn't make sense #1205, by @nielsvanvelzen
- Use UserSettingPreferences in HomeFragment #1210, by @nielsvanvelzen
- Add preferences UI for home sections #1213, by @nielsvanvelzen
- Don't load multiple display preferences at once #1215, by @nielsvanvelzen
- Fix app crash when opening photo album #1216, by @nielsvanvelzen
- Use default transition in PhotoPlayer #1217, by @nielsvanvelzen
- Merge ByLetterActivity and ByGenreActivity into a single activity #1222, by @nielsvanvelzen
- Fix race condition in loading async preferences #1224, by @nielsvanvelzen
- Migrate to androidx.startup for app initialization #1233, by @nielsvanvelzen
- Add MigrationContext for improved preference migration behavior #1244, by @nielsvanvelzen
- Update Gradle Wrapper from 7.2 to 7.3 #1247, by @jellyfin-bot
- Fixed libvlc reporting incorrect currentPosition when transcoding #1251, by @mueslimak3r
- prevent double pausing, allow d-pad center to unpause with overlay hidden #1252, by @mueslimak3r
- reset exoplay position and state on media change #1253, by @mueslimak3r
- Dont report real exoplayer position when not playing #1257, by @mueslimak3r
- Fix now-playing row not updating when queue changes #1258, by @mueslimak3r
- reworked playbackController position tracking and reporting system #1261, by @mueslimak3r
- Fixed some remote play commands #1273, by @mueslimak3r
- allow setting the nextup timer duration to infinite #1274, by @mueslimak3r
- new in-place, non-destructive shuffle system #1276, by @mueslimak3r
- Update Gradle Wrapper from 7.3 to 7.3.1 #1279, by @jellyfin-bot
- fixed audio repeat mode crash when going from first to last item #1280, by @mueslimak3r
- fixed add artist to queue, added shuffle artist #1284, by @mueslimak3r
- swap play for add to queue when an audio queue is present and viewing an album #1285, by @mueslimak3r
- audio play from here doesnt discard the preceding items in its parent #1286, by @mueslimak3r
- prevent unwanted interactions when music player screensaver active #1290, by @mueslimak3r
- bring firetv controls in line with the new player controls #1291, by @mueslimak3r
- Update Gradle Wrapper from 7.3.1 to 7.3.2 #1293, by @jellyfin-bot
- Also build app bundle for Google Play in CI #1295, by @nielsvanvelzen
- Move Gradle plugins to plugin catalog #1296, by @nielsvanvelzen
- fixed a regression in player prepare #1298, by @mueslimak3r
- Target API 31, update all dependencies #1299, by @nielsvanvelzen
- Add Playback speed controls #1302, by @DavidFair
- Add subtitles font size and background configurations #1303, by @siankatabg
- Update Gradle Wrapper from 7.3.2 to 7.3.3 #1307, by @jellyfin-bot
- fixed scrolling behavior when queue row gains focus in AudioNowPlayingActivity #1310, by @mueslimak3r
- Emit JUnit output whilst running Gradle through CLI #1311, by @DavidFair
- Add Mockk and one test to exercise the new dep #1312, by @DavidFair
- Add Koin unit testing deps implementation #1313, by @DavidFair
- fixed nowplaying buttons not updating when playback starts #1314, by @mueslimak3r
- fix crash in playFrom where queue is replaced but old queue item is referenced #1315, by @mueslimak3r
- Update SDK to 1.1.2 #1316, by @nielsvanvelzen
- made fullDetails button refresh after playback more reliable #1320, by @mueslimak3r
- Fix irregular playback overlay showing and hiding #1321, by @mueslimak3r
- Replace slf4j-android with slf4j-timber #1323, by @nielsvanvelzen
- reset player error count if playback stabilizes #1324, by @mueslimak3r
- improved skip behavior - especially with repeated button presses #1325, by @mueslimak3r
- Run formatter over playback controller #1326, by @DavidFair
- Bump burnett01/rsync-deployments from 5.1 to 5.2 #1331, by @dependabot[bot]
- added debug logging for player discontinuity, timeline change, and buffering events #1332, by @mueslimak3r
- corrected typo in playback issue template #1334, by @mueslimak3r
- Implement server connection feedback #1340, by @nielsvanvelzen
- use HLS for exoplayer with transcoded streams #1342, by @mueslimak3r
- Fix app crash when opening photo albums #1343, by @nielsvanvelzen
- Fix broken subtitles line wrapping #1346, by @siankatabg
- Preference UI refactor #1349, by @nielsvanvelzen
- fixed some playback leaks #1350, by @mueslimak3r
- Add opus as supported audio codec for ExoPlayer #1351, by @nielsvanvelzen
- Add libraries link to customization preferences #1352, by @nielsvanvelzen
- fixed crash when closing the player - introduced by leaks PR #1355, by @mueslimak3r
- Remove unused QueryType values #1356, by @nielsvanvelzen
- Remove unused RemoveCurrentItem and RefreshRows CustomMessage types #1357, by @nielsvanvelzen
- Fix typo "neccesary" > "necessary" #1359, by @nielsvanvelzen
- fixed crashes on failing to start playback of an unsupported or unavailable video #1360, by @mueslimak3r
- Bypass hls seeking behavior for devices not using exoplayerprofile #1362, by @mueslimak3r
- Cap playback speed to 1 watching live tv #1364, by @DavidFair
- Exoplayer: Replace setPlaybackSpeed with setPlaybackParameters #1365, by @DavidFair
- more playback leak fixes #1368, by @mueslimak3r
- Replace deprecated SimpleExoPlayer -> ExoPlayer #1370, by @DavidFair
- on resuming fulldetails activity give play button focus if resume button isnt eligible #1371, by @mueslimak3r
- patch bug where video queue can be messed up and item progress is incorrect after playback #1372, by @mueslimak3r
- FullDetailsActivity - dynamically fill button row and hide extra #1373, by @mueslimak3r
- Remove 1.5 Mbit/s from max streaming bitrate option #1374, by @nielsvanvelzen
- removed a condition that shouldn't have been added in the buttons row PR #1375, by @mueslimak3r
- Remove unused stuff from MyDetailsOverviewRow #1376, by @nielsvanvelzen
- Initial ImageUtils SDK migration #1377, by @nielsvanvelzen
- Fix nullability for UserViewsRepository.isSupported and UserViewsRepository.allowViewSelection #1378, by @nielsvanvelzen
- add stale issue check workflow #1379, by @h1dden-da3m0n
- Add repository condition to stale workflow #1383, by @nielsvanvelzen
- fix crash from empty or null browsecommand sent from android client #1385, by @mueslimak3r
- position the audio player queue row without user interaction #1386, by @mueslimak3r
- shuffle the audio queue locally #1387, by @mueslimak3r
- fix handling of null music player, audio focus loss, and device going to sleep while playing audio #1389, by @mueslimak3r
- Fix ImageHelper returning wrong URL when preferParentThumb is true #1390, by @nielsvanvelzen
- Upgrade Android Gradle Plugin to 7.1.0 #1394, by @nielsvanvelzen
- Migrate remaining image url building to SDK #1395, by @nielsvanvelzen