Releases: jellyfin/jellyfin-android
v2.3.3
The issue that caused black screens starting from v2.3.0 is now fixed. Make sure to update to this version if you've updated your server to 10.7.7. Thanks to @Nazar78 for helping us with this issue.
Changelog
Contributors
v2.3.2
Thank you for reporting issues. We've fixed a few more of them.
Changelog
🐛 Bugfixes
- Fix LiveTV #500, by @Maxr1998
- Fix direct play audio profiles #501, by @Maxr1998
- Properly open live streams before playback if necessary #503, by @jdlayman
- WebView error handling tweaks #507, by @Maxr1998
⚙️ Build changes
- Migrate to Gradle version catalogs #482, by @Maxr1998
- ci: bump burnett01/rsync-deployments from 4.1 to 5.0 #489, by @dependabot[bot]
- ci: bump burnett01/rsync-deployments from 5.0 to 5.1 #502, by @dependabot[bot]
- Update Gradle Wrapper from 7.1.1 to 7.2 #504, by @jellyfin-bot
👀 Other changes
- Migrate bug report issue template to GitHub form #484, by @Maxr1998
- Rename native player to integrated player #487, by @Maxr1998
Contributors
v2.3.1
This release fixes the F-Droid version (libre) of the app being unable to connect to a server.
Changelog
- Keep logging calls on release builds #495, by @Maxr1998
- Update jellyfin-sdk-kotlin to 1.0.2 #497, by @nielsvanvelzen
Contributors
v2.3.0
After a prolonged beta testing period, we're excited to announce that version 2.3.0 of the Jellyfin Android app is now available!
Read our blog post at jellyfin.org to see what's new or read the full changelog below.
⚠️ Note: The Jellyfin server must use version 10.7.6 or newer starting from this release, so make sure your Jellyfin installation is up-to-date!
Changelog
✨ Features and improvements
- Add support for AV1 #275, by @Maxr1998
- Improve fullscreen, orientation and PiP handling #286, by @ThreeFive-O
- Drop support for 10.6 #258, by @Maxr1998
- Add download location option in client settings #276, by @CarlosOlivo
- Native player improvements #297, by @Maxr1998
- Migrate ExoPlayer to SDK and decouple from webapp #351, by @Maxr1998
- Make ExoPlayer the default video player implementation #363, by @Maxr1998
- Extended webview checks #389, by @nielsvanvelzen
- Add playback speed menu to ExoPlayer #392, by @CarlosOlivo
- Rework connection layout and show loading indicator while connecting to server #396, by @fedesenmartin
- Library browser (Android Auto) tweaks #405, by @Maxr1998
- Player refactor #432, by @Maxr1998
- Improve JS injection method #439, by @CarlosOlivo
- Enable subtitle burn settings for web player #440, by @CarlosOlivo
- Remember brightness changes on ExoPlayer #442, by @CarlosOlivo
- Follow state changes for brightness & gesture preference #444, by @CarlosOlivo
- Restructure Webapp UI #445, by @Maxr1998
- Use media item name as title when available #461, by @CarlosOlivo
- Update SDK to 1.0.0 release #462, by @nielsvanvelzen
🔥 Crash fixes
- Fix crash caused by fragment transaction on background thread #296, by @Maxr1998
- Various crash fixes and improvements #298, by @Maxr1998
- Fix Chromecast integration crashing the app without Play Services #305, by @Maxr1998
- Check WebView support and version #326, by @Maxr1998
- Fix app crashing when webview is missing #365, by @Maxr1998
- Add desugaring to support java.time #377, by @nielsvanvelzen
- Fix various playback crashes #382, by @Maxr1998
- Workaround for coroutines crash #399, by @Maxr1998
- Fix PiP crash on aspect ratios unsupported by Android #431, by @Maxr1998
- Fix a rare crash when starting the app #477, by @Maxr1998
🐛 Bug fixes
- Fix background color in web player #272, by @Maxr1998
- Don't unnecessarily set statusBarColor in native player #273, by @Maxr1998
- Fix support for playlists in external player #267, by @CarlosOlivo
- Miscellaneous casting fixes #287, by @nielsvanvelzen
- Fix library browser recents #352, by @Maxr1998
- Client settings layout and wording tweaks #358, by @Maxr1998
- Treat recommended server without system info as unable to connect #367, by @nielsvanvelzen
- Update SDK and rework server connection #381, by @Maxr1998
- Update Jellyfin SDK to 1.0.0 beta 7 #404, by @Maxr1998
- Revert "Make ExoPlayer the default video player implementation" #419, by @nielsvanvelzen
- Fix or suppress detekt warnings and code style issues #412, by @Maxr1998
- Fix module script injection #460, by @CarlosOlivo
- Use AuthorizationHeaderBuilder to encode device name send to web client #466, by @nielsvanvelzen
- Update jellyfin-sdk-kotlin to 1.0.1 #467, by @nielsvanvelzen
- Remove unescapeJson parser #469, by @CarlosOlivo
🔨 Refactoring
- Refactor and split up extensions #270, by @Maxr1998
- Refactor brightness handling, reset brightness when leaving player #271, by @Maxr1998
- Chromecast JS: Improve error logging. #322, by @Codex-
- WebView: Use timber for logging #323, by @Codex-
- Use Activity Result APIs for External player #327, by @Maxr1998
- Migrate to Jellyfin Kotlin SDK (1.0.0-beta.3) #333, by @nielsvanvelzen
⚙️ Build changes
- Update dependencies #293, by @nielsvanvelzen
- Tweak .editorconfig #306, by @Maxr1998
- Dependency updates #307, by @Maxr1998
- Add distributionSha256Sum to prevent MITM attacks. #308, by @diederikdehaas
- Add merge conflict labeler and gradle update and validate tasks #309, by @nielsvanvelzen
- Dependency maintanance #325, by @Maxr1998
- Add workflow config for GitHub CI #262, by @Maxr1998
- ci(update-action): update actions/setup-java to v2 #335, by @h1dden-da3m0n
- ci: bump actions/cache from v2 to v2.1.4 #336, by @dependabot
- Dependency updates #337, by @Maxr1998
- Update Gradle Wrapper from 6.8.3 to 7.0 #339, by @github-actions
- Update dependencies, drop JCenter #349, by @Maxr1998
- Dependency updates + Detekt #361, by @Maxr1998
- Update Jellyfin SDK to beta 4 #362, by @Maxr1998
- Update Kotlin to 1.5.0 #364, by @Maxr1998
- ci(publish): add initial publish app GH workflow #330, by @h1dden-da3m0n
- Add snapshot repository for Jellyfin SDK #374, by @Maxr1998
- Replace GH_TOKEN with JF_BOT_TOKEN #384, by @ferferga
- Update Gradle Wrapper from 7.0.1 to 7.0.2 #390, by @jellyfin-bot
- Update SDK to beta 6 #394, by @nielsvanvelzen
- Fix CI failing and some small tweaks #395, by @nielsvanvelzen
- fix incorrect rsync options #398, by @h1dden-da3m0n
- Update Kotlin to 1.5.10 and revert obsolete workaround #400, by @Maxr1998
- Update dependencies and fix deprecations #401, by @Maxr1998
- Add gradle cache to app-build workflow #403, by @nielsvanvelzen
- Add option to switch between versions of the SDK #428, by @nielsvanvelzen
- Update to SDK beta 8 #427, by @nielsvanvelzen
- Update weblate links #426, by @nielsvanvelzen
- Update ExoPlayer to 2.14 #420, by @Maxr1998
- ci: bump actions/cache from 2.1.5 to 2.1.6 #413, by @dependabot
- Update and migrate Koin to 3.0.2 #411, by @Maxr1998
- Update SDK snapshot version to master-SNAPSHOT #410, by @nielsvanvelzen
- change directory structure of workflow artifacts #406, by @h1dden-da3m0n
- Sign APKs with apksigner instead of via Gradle #446, by @h1dden-da3m0n
- fix odd release naming due to signing #448, by @h1dden-da3m0n
- Append -release to release APKs #449, by @h1dden-da3m0n
- Dependency updates #476, by @Maxr1998
ℹ️ Other changes
- Add store links to readme #313, by @nielsvanvelzen
- Optimize all fastlane bitmaps #334, by @nielsvanvelzen
- Update bug report template #359, by @Maxr1998
Beta releases
v2.3.0-beta.6
This time with the correct file names! See v2.3.0-beta.5 for the actual changelog.
Changelog
⚙️ Build changes
- fix odd release naming due to signing #448, by @h1dden-da3m0n
v2.3.0-beta.5
This beta version should fix our F-Droid builds again and contains a few fixes, code refactoring and some new features.
⚠️ Note before updating: The new SDK and thus this update only supports Jellyfin servers on version 10.7.0
and above, so make sure to consider that before and if possible update your Jellyfin installation!
Changelog
✨ Features and improvements
- Player refactor #432, by @Maxr1998
- Improve JS injection method #439, by @CarlosOlivo
- Enable subtitle burn settings for web player #440, by @CarlosOlivo
- Remember brightness changes on ExoPlayer #442, by @CarlosOlivo
- Follow state changes for brightness & gesture preference #444, by @CarlosOlivo
- Restructure Webapp UI #445, by @Maxr1998
⚙️ Build changes
- Sign APKs with apksigner instead of via Gradle #446, by @h1dden-da3m0n
v2.3.0-beta.4
This beta improves Picture in Picture mode when using the native player and changes the default player back to the web player.
⚠️ Note before updating: The new SDK and thus this update only supports Jellyfin servers on version 10.7.0
and above, so make sure to consider that before and if possible update your Jellyfin installation!
Changelog
✨ Features and improvements
🔥 Crash fixes
🐛 Bug fixes
- Revert "Make ExoPlayer the default video player implementation" #419, by @nielsvanvelzen
- Fix or suppress detekt warnings and code style issues #412, by @Maxr1998
⚙️ Build changes
- Add option to switch between versions of the SDK #428, by @nielsvanvelzen
- Update to SDK beta 8 #427, by @nielsvanvelzen
- Update weblate links #426, by @nielsvanvelzen
- Update ExoPlayer to 2.14 #420, by @Maxr1998
- ci: bump actions/cache from 2.1.5 to 2.1.6 #413, by @dependabot
- Update and migrate Koin to 3.0.2 #411, by @Maxr1998
- Update SDK snapshot version to master-SNAPSHOT #410, by @nielsvanvelzen
- change directory structure of workflow artifacts #406, by @h1dden-da3m0n
v2.3.0-beta.3
This beta release should fix the artifacts at repo.jellyfin.org and includes a few fixes and improvements.
⚠️ Note before updating: The new SDK and thus this update only supports Jellyfin servers on version 10.7.0
and above, so make sure to consider that before and if possible update your Jellyfin installation!
Changelog
✨ Features and improvements
- Rework connection layout and show loading indicator while connecting to server #396, by @fedesenmartin
- Library browser (Android Auto) tweaks #405, by @Maxr1998
🔥 Crash fixes
- Workaround for coroutines crash #399, by @Maxr1998
- Update Kotlin to 1.5.10 and revert obsolete workaround #400, by @Maxr1998
🐛 Bug fixes
⚙️ Build changes
- fix incorrect rsync options #398, by @h1dden-da3m0n
- Update dependencies and fix deprecations #401, by @Maxr1998
- Add gradle cache to app-build workflow #403, by @nielsvanvelzen
v2.3.0-beta.2
We fixed the reported issues from the first beta release. The app should now be able to connect to your server again,
no more "unsupported version" errors! Some of the common crashes are also fixed now.
⚠️ Note before updating: The new SDK and thus this update only supports Jellyfin servers on version 10.7.0
and above, so make sure to consider that before and if possible update your Jellyfin installation!
ℹ️ This release was republished because of an issue in the new pipeline.
Changelog
✨ Features and improvements
- Extended webview checks #389, by @nielsvanvelzen
- Add playback speed menu to ExoPlayer #392, by @CarlosOlivo
🔥 Crash fixes
- Add desugaring to support java.time #377, by @nielsvanvelzen
- Fix various playback crashes #382, by @Maxr1998
🐛 Bug fixes
- Treat recommended server without system info as unable to connect #367, by @nielsvanvelzen
- Update SDK and rework server connection #381, by @Maxr1998
⚙️ Build changes
- ci(publish): add initial publish app GH workflow #330, by @h1dden-da3m0n
- Add snapshot repository for Jellyfin SDK #374, by @Maxr1998
- Replace GH_TOKEN with JF_BOT_TOKEN #384, by @ferferga
- Update Gradle Wrapper from 7.0.1 to 7.0.2 #390, by @jellyfin-bot
- Update SDK to beta 6 #394, by @nielsvanvelzen
- Fix CI failing and some small tweaks #395, by @nielsvanvelzen
v2.3.0-beta.1
This release was long in the making!
The app now uses the shiny new Kotlin SDK, which is more in line with the official API, easier to use, allows for additional features and is a first preparation of the fully native client in the future.
With the new SDK, the native video player based on ExoPlayer could be rewritten to handle playback completely within the app, which includes playlist support, a better device profile, improved audio and subtitle stream selection, and lots of other changes under the hood to make the code easier to maintain and understand for new contributors. With those improvements, it is now the default player in Jellyfin Android. If you face any issues with it, please report them on our issue tracker (if not reported already) or if necessary switch back to the web player in the client settings.
The update also includes improvements to Google Cast support and lots of crash fixes. There may still be some issues hidden in the code, so we appreciate your beta feedback and crash reports. You can join the beta program on Google Play here.
⚠️ Note before updating: The new SDK and thus this update only supports Jellyfin servers on version 10.7.0 and above, so make sure to consider that before and if possible update your Jellyfin installation!
Changelog
✨ Features and improvements
- Add support for AV1 #275, by @Maxr1998
- Improve fullscreen, orientation and PiP handling #286, by @ThreeFive-O
- Drop support for 10.6 #258, by @Maxr1998
- Add download location option in client settings #276, by @CarlosOlivo
- Native player improvements #297, by @Maxr1998
- Migrate ExoPlayer to SDK and decouple from webapp #351, by @Maxr1998
- Make ExoPlayer the default video player implementation #363, by @Maxr1998
🔥 Crash fixes
- Fix crash caused by fragment transaction on background thread #296, by @Maxr1998
- Various crash fixes and improvements #298, by @Maxr1998
- Fix Chromecast integration crashing the app without Play Services #305, by @Maxr1998
- Check WebView support and version #326, by @Maxr1998
- Fix app crashing when webview is missing #365, by @Maxr1998
🐛 Bug fixes
- Fix background color in web player #272, by @Maxr1998
- Don't unnecessarily set statusBarColor in native player #273, by @Maxr1998
- Fix support for playlists in external player #267, by @CarlosOlivo
- Miscellaneous casting fixes #287, by @nielsvanvelzen
- Fix library browser recents #352, by @Maxr1998
- Client settings layout and wording tweaks #358, by @Maxr1998
🔨 Refactoring
- Refactor and split up extensions #270, by @Maxr1998
- Refactor brightness handling, reset brightness when leaving player #271, by @Maxr1998
- Chromecast JS: Improve error logging. #322, by @Codex-
- WebView: Use timber for logging #323, by @Codex-
- Use Activity Result APIs for External player #327, by @Maxr1998
- Migrate to Jellyfin Kotlin SDK (1.0.0-beta.3) #333, by @nielsvanvelzen
⚙️ Build changes
- Update dependencies #293, by @nielsvanvelzen
- Tweak .editorconfig #306, by @Maxr1998
- Dependency updates #307, by @Maxr1998
- Add distributionSha256Sum to prevent MITM attacks. #308, by @diederikdehaas
- Add merge conflict labeler and gradle update and validate tasks #309, by @nielsvanvelzen
- Dependency maintanance #325, by @Maxr1998
- Add workflow config for GitHub CI #262, by @Maxr1998
- ci(update-action): update actions/setup-java to v2 #335, by @h1dden-da3m0n
- ci: bump actions/cache from v2 to v2.1.4 #336, by @dependabot
- Dependency updates #337, by @Maxr1998
- Update Gradle Wrapper from 6.8.3 to 7.0 #339, by @github-actions
- Update dependencies, drop JCenter #349, by @Maxr1998
- Dependency updates + Detekt #361, by @Maxr1998
- Update Jellyfin SDK to beta 4 #362, by @Maxr1998
- Update Kotlin to 1.5.0 #364, by @Maxr1998
ℹ️ Other changes
- Add store links to readme #313, by @nielsvanvelzen
- Optimize all fastlane bitmaps #334, by @nielsvanvelzen
- Update bug report template #359, by @Maxr1998