Releases: MakD/AFinity
Releases · MakD/AFinity
Release list
Nightly 2026-08-02
Automated nightly build — 2026-08-02 (IST)
Changes
a232b716 i18n: remove unused backup and import strings from Russian translation
1787da78 feat: support advanced filtering and refinement for custom home sections
24e86129 feat: improve custom home section source loading and library-aware filtering
21c8f603 Translated using Weblate (Russian)
3cbc1102 Translated using Weblate (Russian)
d5ab8a1c Translated using Weblate (Russian)
022183a3 Translated using Weblate (Russian)
d9e277da fix: crash on startup when VPN is active over cellular
306146e5 feat: implement cache maintenance system and "Watch Again" improvements
b888372f refactor: update preference types and improve settings transfer robustness
0c386212 feat: implement global backup and restore for settings and home layout
5b27c211 feat: enhance media stream metadata and audio track display
Caution
v0.10.5-beta
v0.10.5-beta
Player
- Audio and Subtitles are now a single combined panel (previously two separate buttons); the bottom control layout was reorganised, and the aspect-ratio toggle moved to the top bar.
- Added an optional pause screen: pausing shows item details, ratings, cast, and resume/restart, after a configurable delay. Off by default.
- Added an optional long-press chapter-skip gesture — the screen edges skip chapters while the middle holds 2× speed.
- Next/Previous now move between episodes instead of stepping through chapters.
- Added native ASS/SSA subtitle rendering for the ExoPlayer backend.
- Added
mpv.conf/input.confeditors in Player Options (MPV player only) [Credit - Findroid 624e0c7 and 8cff6e2]
Language flags
- Audio and subtitle tracks now show language flags on movie and episode details.
- Flags are bundled with the app (no network requests at runtime).
- Handles region variants (pt-BR/pt-PT, en-GB/en-US) and labels tracks with no language (
zxx) or an unidentified language (und).
Connectivity
- Automatic server reconnection when the network changes, plus a manual retry button.
- Improved error handling and session resiliency.
- Added a Services Hub for connecting Seerr and Audiobookshelf, with server identity verification and log redaction.
Seerr (formerly Jellyseerr)
- Renamed the Jellyseerr integration to Seerr; reworked API key management and setup screens.
- Added TMDB logos on Seerr media detail pages.
- Server URL is now handled per session.
Audiobookshelf
- Added series support (series shelves).
- Prefer locally downloaded cover art; fixed resume for finished items.
Music
- Queue management, download reliability, and authentication fixes.
Admin
- Delete items when signed in with a Jellyfin admin account.
Other
- User avatars are cached locally.
- Added AniDB to external links (with icon); fixed duplicate external links.
- Fixed logo sizing on item detail in landscape.
- Added a loading indicator for random-item selection.
What's Changed
- Translations update from Hosted Weblate by @weblate in #183
- Translations update from Hosted Weblate by @weblate in #185
- Translations update from Hosted Weblate by @weblate in #187
- Translations update from Hosted Weblate by @weblate in #188
- Add anidb link & icon by @enter-a-random-username in #193
- feat(feature): add delete item option for Jellyfin admin accounts by @Arnab11 in #191
- Translations update from Hosted Weblate by @weblate in #190
- Translations update from Hosted Weblate by @weblate in #195
- Translations update from Hosted Weblate by @weblate in #196
New Contributors
- @enter-a-random-username made their first contribution in #193
- @Arnab11 made their first contribution in #191
Full Changelog: v0.10.4-beta...v0.10.5-beta
v0.10.4-beta
Release Notes v0.10.4-beta
Major Improvements
Library & Music Filtering
- New persistent filtering and sorting framework for video and music libraries, replacing filter chips with dedicated bottom sheets. Supports Played/Unplayed, Resumable, Favourites, Watchlist, Genres, Parental Ratings, Tags, Video Type, and Release Year, applied server-side.
- Searchable multi-select for genres, tags, ratings, and years.
- Music library gained a dedicated sort dialog (Album Artist, Community Rating, Play Count) plus "Play All" / "Shuffle All" that respects active filters.
- Filter and sort selections are saved per library and restored across restarts.
- Standardised dialog layouts with a consistent action footer, height constraints for smaller screens, active filter badges, and improved keyboard handling in search fields.
- Toggling favourite or played status now updates filtered lists immediately.
Favorites & Watchlist
- New Favourites and Watchlist category screens with full-screen, sortable grids (Name, IMDb Rating, Date Added, Release Date).
- Favourite music playlists are now supported and included in the Favourites view.
- Favourite status changes reflect immediately across library, favourites, and watchlist views.
Home Screen
- Downloaded content supports offline "Next Up," falls back to local data when offline, and refreshes automatically as downloads complete or local music changes.
- Added a "Play something random" shortcut to jump to an unwatched movie or show.
- Added a scroll-to-top button on the home list.
- Refactored hero carousel with a unified layout and a capped maximum height.
Music Player
- Added a music equaliser with presets for music (Rock, Pop, Jazz, etc.) and spoken word (Podcast, Audiobook, Voice Boost).
- Added a real-time playback stats view (codec, bitrate, buffer health, decoder type).
Video Player
- Expanded playback stats overlay with connection type, decoder names, A/V sync offset, network speed, cache status, and HDR/color metadata for both ExoPlayer and MPV.
- Improved ExoPlayer cache key stability and simplified MPV buffer configuration.
- Player now closes automatically when playback ends with nothing queued.
Navigation Drawer
- Consolidated drawer header into a single account switcher combining avatar, username, and server/connection status.
Admin
- Fixed image uploads to Jellyfin by Base64-encoding image data and normalising MIME types.
UI & Minor Updates
- Externalised remaining hardcoded strings across settings, download, and appearance screens.
- Standardised dropdown menus and spacing across Appearance, Download, and Player options screens.
Acknowledgements
- "Play something random" is credited to Jellyfin Enhanced.
What's Changed
- Translations update from Hosted Weblate by @weblate in #181
- Translations update from Hosted Weblate by @weblate in #182
Full Changelog: v0.10.3-beta...v0.10.4-beta
v.0.10.3-beta
Release Notes v0.10.3-beta
Major Improvements
Downloads
- Optimised the download pipeline: larger transfer buffers and progress bookkeeping moved off the network path.
- Active download cards now show live download speed, for both Jellyfin and Audiobookshelf downloads.
- Redesigned active download cards: pause/cancel actions sit beside the title, with a cleaner status and size line under the progress bar.
- Rich download notifications: media title with poster or cover art, contextual details (series and episode, album, author, podcast), and progress shown as percent and size. Expanding a movie or episode notification shows its backdrop.
- Pause and cancel directly from the notification.
- Notifications are grouped: active downloads collapse under one summary, finished downloads under another. Completed and failed downloads now post a notification.
- Tapping any download notification opens the Downloads screen.
- Fixed notification progress bars breaking on files larger than 2 GB.
- Fixed cancelling a download, occasionally leaving a stalled phantom entry in the Downloads screen.
Navigation Drawer
- Optional navigation drawer (Material 3 expressive wide rail) as an alternative to the bottom bar, with an account switcher and optional library shortcuts.
- Improved navigation stability and state management when switching destinations.
- Standardised screen padding and display cutout handling across screens.
Jellyseerr
- Requests support the Blocklisted status, with reworked request filtering.
- Login now supports Jellyfin authentication with an optional password.
Audiobookshelf
- Chapters now display for podcast playlists in the player.
UI & Minor Updates
- Refined navigation drawer header dimensions and menu styling.
- Centralised home navigation logic in the top app bar.
What's Changed
Full Changelog: nightly...v0.10.3-beta
v0.10.2-beta
Release Notes v0.10.2-beta
Critical Fixes
- Fixed a crash on the Audiobookshelf podcast library screen caused by large episode lists exceeding SQLite's CursorWindow. Episodes now use a dedicated table (DB v55).
- Fixed storage losing its primary volume on some devices (Xiaomi / Android 16). An internal-storage volume is synthesised when the system reports none.
Major Improvements
Update Security
- Downloaded update APKs are verified against a server-provided SHA-256 digest, and files that fail verification are deleted.
- Updates download to app-private storage, and stale or partial downloads are cleaned up beforehand.
- Downloaded APKs are re-validated on resume, so a deleted or modified file won't be installed.
Jellyseerr Discover Filters
- Filter sheet with release date, runtime, rating and vote-count thresholds, TV status, and TMDB keyword include/exclude.
- Watch-provider filtering with region detection.
- Sorting by popularity, release or air date, rating, and title.
- Filter and sort state persisted per user, server, and category (DB v56).
- Respects the server's Discover region and "hide available" settings. Filtering and sorting now also apply to Upcoming Movies and TV.
UI Standardisation
- Standardised shared UI components: snackbar, connection badge, switches, media cards, transport controls, and empty and loading states.
Music
- Playlists load via reactive Flows and update automatically on create and delete.
UI & Minor Updates
- Fixed inconsistent row heights and title alignment in Similar Items, Movie, and Box Set detail rows.
- Fixed pagination indicators being confined to a single grid cell instead of spanning the full width.
- Fixed a missing space in the "Narrated by" line on the Audiobookshelf item screen.
- Added a download icon to Jellyseerr request buttons.
- Updated the Settings screen to the current Material 3 adaptive layout APIs.
- Release builds fall back to the debug signing key when no
key.propertiesis present.
What's Changed
- Translations update from Hosted Weblate by @weblate in #174
- Translations update from Hosted Weblate by @weblate in #175
- Translations update from Hosted Weblate by @weblate in #176
- Translations update from Hosted Weblate by @weblate in #177
Full Changelog: v0.10.1-beta...v0.10.2-beta
v0.10.1-beta
Release Notes — v0.10.1-beta
Critical Fixes
- Fixed account-switching races that could leak data between accounts
- WebSocket subscriptions auto-resubscribe after failures, with a full refresh on reconnect
- Fixed resource leaks in the update manager and MPV player release
Major Improvements
Real-Time Sync (new)
- Audiobookshelf — live sync (socket.io) for listening progress, new items, and series changes
- Jellyfin — pre-resolved media change events for faster UI updates; library scans refresh only on completion
- Favourites and watchlist sync automatically from external changes
Smarter Server Connections
- LAN address is now genuinely preferred at home — streams stay local instead of routing through the internet
- Local addresses work on Ethernet and VPN (docks, Android boxes, Tailscale subnet routing) instead of forcing offline mode
- Leaving WiFi mid-session swaps to the external URL promptly, even during fullscreen playback
- Connection indicator is consistent across the top bar and Settings, updates live, and turns red when the server is down — not just your internet
- Recognises Tailscale MagicDNS (
*.ts.net),.localhostnames, and IPv6; faster logins with no duplicate probing
Jellyseerr Requests
- New media detail screen: ratings, cast, collections, recommendations, similar titles
- Advanced request options: TVDB series matching, language profiles, tags, "Request as" another user
- Discover follows the server's Discover Sliders; request quotas with indicator, 4K and partial-request settings respected
Home Screen Rework
- Dynamic lazy-loaded sections that hydrate as you scroll, with shimmer placeholders
- Cache-first startup: sections render instantly from local cache, then refresh in the background
Audiobookshelf
- Dedicated library and series screens with "Browse" shortcuts on the Home tab
- Mark as Finished for books and individual podcast episodes
- Unheard-episode badges, incremental page loading, redesigned item header
Music
- Genre browsing with detail screen (Instant Mix, Shuffle, Radio)
- Radio with five modes: Similar, Continuous, Album Mix, Reshuffle, Random
- Playlist download progress, downloaded-track indicators, queue capacity raised to 5,000
Cast
- Chapter navigation with progress-slider markers
- "Auto" bitrate detection, AC3/EAC3 support, 4K @ 60 FPS profile constraints
Nightly Builds (new)
- Automated daily pre-releases installing alongside the beta as "AFinity Nightly", with in-app update checks
UI & Minor Updates
- Login tries multiple URL candidates (HTTP/HTTPS, common ports) with real-time validation
- Fixed the Continue Listening row visibly scrolling on opening the Audiobookshelf Home tab
- Control Panel integrated into Settings, dual-pane on tablets
- Centralised app-wide coroutine scope; reduced duplicate storage logging
- Server version in Settings; refined Licenses screen; device ID now distinguishes installs per app ID and build type
- License changed from LGPL-3.0 to GPL-3.0
- Dependency updates: Hilt 2.60, Compose Adaptive 1.3.0-rc01, AboutLibraries 15.0.3
What's Changed
- Translations update from Hosted Weblate by @weblate in #168
- Translations update from Hosted Weblate by @weblate in #169
- Translations update from Hosted Weblate by @weblate in #171
Full Changelog: v0.10.0-beta...v0.10.1-beta
v0.9.3-beta
Afinity v0.9.3-beta
New
- Added support for authorising Jellyfin QuickConnect sign-in requests directly from Afinity.
- Added support for saving downloads to external storage locations.
Improvements
- Improved network change handling, server reconnection, and metadata refresh reliability.
- Added caching and optimised refresh behaviour for Audiobookshelf libraries.
- Improved SyncPlay with participant details, activity indicators, and group information.
- Added a rich "Next Up" overlay during episode outros with artwork and episode details.
- Improved remote artwork search results in media management tools.
Fixes
- Fixed a race condition that could cause the Home screen to appear blank while offline.
- Fixed downloads not always respecting the selected media version.
- Fixed stale session data appearing in the Control Panel after server switches.
- Fixed an MPV lifecycle issue that could process events after player release.
What's Changed
- Translations update from Hosted Weblate by @weblate in #151
- fix: respect selected sourceId when downloading by @boolemancer in #153
- Add support for saving downloads to external storage by @boolemancer in #154
- Translations update from Hosted Weblate by @weblate in #155
- fix: fix a race condition causing a blank home screen when offline by @boolemancer in #156
New Contributors
- @boolemancer made their first contribution in #153
Full Changelog: v0.9.2-beta...v0.9.3-beta
v0.9.2-beta
v0.9.2-beta
Major Changes
OMDb Awards Integration
- Added OMDb integration to display awards and accolades for movies and shows directly within media detail screens, with local caching to improve performance and reduce API requests.
Audible Ratings for Audiobooks
- Added Audible ratings support for audiobooks, displaying community ratings directly within Audiobookshelf item pages, with local caching and intelligent metadata matching to improve performance and reduce external API requests.
Improvements
Episode Availability Indicators
- Added a distinction between upcoming and missing episodes, making it easier to identify content that has not yet aired versus unavailable content.
Ratings Visibility Consistency
- Expanded the "Show Ratings" preference to additional detail screens and overlays, ensuring ratings and review sections are hidden consistently when disabled. Fixes #115.
Fixes
- Fixed duplicate episodes occasionally appearing in episode lists by improving item deduplication logic. Fixes #133.
- Improved studio artwork loading reliability by correcting asset URL generation and encoding.
What's Changed
- Translations update from Hosted Weblate by @weblate in #149
- Translations update from Hosted Weblate by @weblate in #150
Full Changelog: v0.9.1-beta...v0.9.2-beta
v0.9.1-beta
v0.9.1-beta
Fixes
- Fixed the
Show Ratingspreference not being applied in Library screens, ensuring ratings are hidden consistently throughout the app when disabled. - Fixed SyncPlay seek synchronisation by improving seek event handling and adding support for relative seek operations, resulting in more reliable playback synchronisation between participants.
Full Changelog: v0.9.0-beta...v0.9.1-beta
v0.9.0-beta
v0.9.0-beta
Major Changes
SyncPlay Watch Parties
- Added SyncPlay support, allowing users to create and join synchronised watch parties with real-time playback coordination.
Administrative Media Management
- Added administrator tools for editing metadata, identifying media, and managing artwork directly from item detail screens.
- Administrative changes now automatically refresh affected screens throughout the app.
Live TV Enhancements
- Reworked Live TV playback with improved stream handling, playback reporting, hardware capability detection, and low-latency optimisations.
- Optimised EPG refreshing and navigation to reduce unnecessary background activity and UI flicker.
Player & Media Source Improvements
- Enhanced audio and subtitle track selection with better language matching, forced subtitle support, and richer stream metadata. Closes #140 and #141
- Media details now reflect the selected media source and display Dolby Atmos badges when supported.
External Service Integration
- Added validation for TMDB and MDBList API keys, preventing invalid configurations and providing setup feedback.
Improvements
Ratings & Reviews
- Refactored review rendering using CommonMark and added automatic link detection for improved formatting and compatibility.
- Added a setting to show or hide media ratings throughout the application. Closes #115.
Home Screen
- Improved Home section refresh behaviour to better preserve scroll position while still surfacing newly updated content.
Media Details
- Reorganised ratings, reviews, and external links to make media information easier to access and browse.
Fixes
- Corrected Metacritic user score scaling to use a 10-point rating system properly.
- Updated download dialogues to use "Version" instead of "Quality". Fixes #139.
- Fixed a potential Home screen crash caused by invalid layout positioning when processing smaller content lists. Fixes #143.
What's Changed
- Translations update from Hosted Weblate by @weblate in #142
- Add Syncplay support by @MakD in #147
- Admin Media Management Support by @MakD in #148
- Translations update from Hosted Weblate by @weblate in #145
Full Changelog: v0.8.9-beta...v0.9.0-beta