Skip to content

Releases: MakD/AFinity

v0.6.5-beta

17 Feb 16:05

Choose a tag to compare

Release Notes

Major Changes

  • Advanced Request Management
    Users with manage permissions can now view, edit, and act on Jellyseerr requests directly from the app.
    • View detailed request information, including server, quality profile, and root folder
    • Edit pending requests before approval (4K status, server, quality profile)
    • Approve or decline requests with optional override settings
    • Delete requests from the management dialogue
    • Fixed permission validation logic
    • Fixed incorrect status display for 4K requests
  • Favourite People
    Added support for favouriting and browsing people from Jellyfin.
    • New "People" section on Favourites screen
    • Favourite button on person detail screen

Minor Updates

  • Library: Sort order now persists across sessions, updated Watched/Unwatched filter icons
  • Request Cards: Requester avatar now displayed, updated approve/decline button design
  • UI Fixes: MiniPlayer now respects system navigation bars, trickplay preview maintains correct aspect ratio for portrait videos

What's Changed

  • Translations update from Hosted Weblate by @weblate in #56
  • Translations update from Hosted Weblate by @weblate in #57
  • Translations update from Hosted Weblate by @weblate in #59
  • Translations update from Hosted Weblate by @weblate in #61

Full Changelog: v0.6.4-beta...v0.6.5-beta

v0.6.4-beta

15 Feb 18:49

Choose a tag to compare

Release Notes

Critical Fixes

  • Fixed Audiobookshelf Token Refresh
    Resolved critical issue where failed token refresh would leave the app in an unrecoverable state.

    • System now properly logs out users when the refresh token is invalid
    • Refresh requests correctly send an empty JSON body and parse nested response
    • Invalid tokens are immediately cleared from secure storage
    • App correctly reflects logged-out state after authentication failures

Major Changes

  • Advanced Jellyseerr Request Options
    Added support for advanced request configuration with 4K requests and quality profiles.

    • 4K Requests: Users with REQUEST_4K permissions can now request 4K versions
    • Server Selection: Choose a specific Sonarr/Radarr server for the request
    • Quality Profiles: Select a quality profile from available options
    • Root Folder Display: Shows the configured root folder for the selected server
    • Available to users with REQUEST_ADVANCED or MANAGE_REQUESTS permissions
    • Redesigned request dialogue with a modern, tile-based layout
  • Manual Screen Rotation Control
    Added manual orientation control for the video player with automatic aspect ratio detection.

    • New rotation button in player controls to toggle between portrait and landscape
    • Player automatically detects video aspect ratio and sets initial orientation
    • Manual override available via rotation button
    • Player UI now respects system safe drawing areas (no overlap with navigation bars or cutouts)

Minor Updates

  • Improved Audiobookshelf Podcast Playback

    • Podcast series now resumes from the most recently listened-to, unfinished episode
    • Falls back to the first episode in sort order if no listening history exists
    • Tapping individual episodes resumes from the saved position instead of the start
    • Player correctly seeks a specific timestamp within podcast playlists
  • UI Refinements

    • Adjusted "Explicit" and "Abridged" icon sizes for better alignment
    • Updated Jellyseerr/Seerr logo after merger and rebranding
    • Improved visual presentation of advanced request options

What's Changed

Full Changelog: v0.6.3-beta...v0.6.4-beta

v0.6.3-beta

13 Feb 16:46

Choose a tag to compare

Release Notes

Major Changes

  • Automatic Token Refresh for Audiobookshelf
    Implemented automatic access token refreshing for Audiobookshelf connections.

    • System automatically refreshes expired tokens using the refresh token
    • Failed requests due to expired tokens are automatically retried with a new token
    • More resilient connection to Audiobookshelf servers
    • Playback continues uninterrupted even if authentication expires during an active session
    • Improved overall reliability of Audiobookshelf integration

Minor Updates

  • Improved Library Fetching

    • Changed to use UserViewsApi instead of admin-only LibraryApi for more reliable library retrieval (Fixes #51)
    • Removed "Mixed" collection type from supported types
  • Better Post-Login Experience

    • Audiobookshelf libraries now automatically refresh immediately after login
    • More responsive user experience when connecting to Audiobookshelf
  • Reduced Log Noise

    • Changed decryption error logging to debug level for non-critical missing data scenarios

What's Changed

Full Changelog: v0.6.2-beta...v0.6.3-beta

v0.6.2-beta

11 Feb 05:09

Choose a tag to compare

Release Notes

Critical Bug Fixes

Important: This release fixes critical issues with Audiobookshelf podcast playback. Users are strongly recommended to update immediately.

  • Fixed Server Crash Issue
    Resolved a critical bug that could crash the Audiobookshelf server when starting podcast playback.

  • Fixed Podcast Playlist and Progress Tracking
    Completely overhauled podcast playlist handling and progress syncing.

    • Podcast playlists now correctly load the entire sorted episode list instead of single episodes
    • Each episode in a playlist is now tracked as a distinct playback session
    • Progress for individual episodes accurately saved to Audiobookshelf server
    • Proper session management when transitioning between episodes
    • Progress syncing now works correctly for all podcast playback scenarios

What's Changed

Full Changelog: v0.6.1-beta...v0.6.2-beta

v0.6.1-beta

09 Feb 13:35

Choose a tag to compare

Release Notes

Major Changes

  • Enhanced Audiobookshelf Experience
    Significant improvements to the Audiobookshelf integration with better navigation, progress tracking, and content discovery.

    • Unified Library View: Merged individual library screens into the main libraries tab with an A-Z scroller for quick navigation
    • Episode Sorting: Sort podcast episodes by publication date, title, season, episode number, or filename (ascending/descending)
    • Real-time Progress Updates: Progress indicators update automatically across the app without manual refresh
    • Status Indicators:
      • "Finished" badge on completed items
      • Progress bars and remaining time on in-progress episodes
      • Checkmark icons on finished episodes
      • "Listen Again" for completed content, "Continue Listening" for in-progress
    • Rich Metadata Display:
      • Language indicators with flag icons
      • Explicit content and abridged status chips
      • Publisher, publication year, and tags
      • Genre chips in item headers
    • Improved Episode UI:
      • Expandable episode descriptions with HTML rendering for links
      • Episode lists are now in dedicated full-screen dialogues for better focus
      • Individual progress tracking per episode

Minor Updates

  • UI Refinements
    • Progress bars repositioned as overlays on cover art for a cleaner look
    • Improved duration formatting for chapters and episodes (e.g., "1h 30m", "< 1m")
    • Better language code to flag resolution
    • Updated explicit content icon design
  • Performance Improvements
    • Chapter and episode lists now use lazy loading for better performance with long lists
    • Optimised state management for expanded episodes

What's Changed

Full Changelog: v0.6.0-beta...v0.6.1-beta

v0.6.0-beta

07 Feb 07:52
7bb1479

Choose a tag to compare

Release Notes

Major Changes

  • Audiobookshelf Integration (Optional)
    Added support for connecting to Audiobookshelf servers for audiobook and podcast playback.

    Note: Audiobookshelf integration is completely optional. Afinity remains primarily a Jellyfin client. For any issues with this integration, please open bug reports in the Afinity repository, not the official Audiobookshelf repository.

    • Connect Audiobookshelf server via Settings (credentials stored per Jellyfin user)
    • Browse libraries with tabbed navigation (Home, Series, individual libraries)
    • Genre-based discovery and series collections
    • Dedicated audio player with background playback, media notifications, and lock screen controls
    • Sleep timer, playback speed control, and chapter navigation
    • Progress syncing with Audiobookshelf server
    • Persistent mini-player for navigation during playback
    • Integration with main search (includes Audiobookshelf content when searching)
    • Automatic session management (closes when logging out or switching Jellyfin servers)

Minor Updates

  • Code Quality: Added ktfmt for consistent code formatting across the project
  • Icon Updates: Replaced Seerr icon with official logo, updated Audiobookshelf-related icons
  • UI Refinements: Improved keyboard handling in bottom sheets, better notification permission flow

What's Changed

  • Translations update from Hosted Weblate by @weblate in #45
  • Audiobookshelf support by @MakD in #46

Full Changelog: v0.5.4-beta...v0.6.0-beta

v0.5.4-beta

02 Feb 12:24

Choose a tag to compare

Release Notes

Major Changes

  • Advanced MPV Configuration Options
    Introduced comprehensive MPV player configuration settings for enhanced control over playback performance and hardware compatibility.
    • Hardware decoding options: Disabled, MediaCodec, MediaCodec (Copy)
    • Video output selection: gpu, gpu-next
    • Audio output options: AudioTrack, OpenSL ES, AAudio
    • Settings accessible when MPV is selected as the video engine
    • Updated default configuration: MediaCodec (Copy) for hardware decoding, gpu-next for video output
  • Audio and Subtitle Language Preferences
    Implemented automatic track selection based on user-configured language preferences.
    • Configure preferred audio and subtitle languages in Player settings
    • Language selection dialogue with search functionality
    • Cross-engine compatibility (ExoPlayer and MPV)
    • Subtitle track selector displays codec format (SRT, ASS, PGS) for improved identification
    • Settings apply automatically at playback initialisation

Minor Updates

  • Settings UI Refinements
    • Implemented smooth animations for conditional settings visibility
    • Improved visual feedback when toggling between player configurations
    • Enhanced user experience for MPV options and subtitle styling controls

What's Changed

  • Translations update from Hosted Weblate by @weblate in #43

Full Changelog: v0.5.3-beta...v0.5.4-beta

v0.5.3-beta

31 Jan 07:40

Choose a tag to compare

Release Notes

Major Changes

  • Resumable Downloads
    Downloads can now be paused and resumed from where they left off, making the download process more robust and resilient to network interruptions.
    • Pause active downloads and resume later without starting over
    • Downloads automatically resume from the last downloaded byte after failures
    • Retry failed downloads with one tap
    • Subtitles and audio streams are properly registered for offline playback
    • Download controls now correctly operate on selected episodes
  • Server-Scoped Downloads
    The download system has been completely refactored to properly handle multiple servers and users.
    • Downloads, storage calculations, and offline content are now scoped to the active session
    • Switching servers/users shows the correct download status for that session
    • Storage usage is calculated separately per server
    • Total storage display shows space used across all servers
    • Offline content filtering works correctly per session

    Note: Existing downloads from previous versions are now orphaned. Users are recommended to re-download content to correctly map downloads with their server and user account.

  • Internationalization Support
    Complete externalisation of UI strings to support future translations.
    • All user-facing text moved to string resources
    • Centralised text management for easier maintenance
    • Foundation for multi-language support
    • Accessibility improvements with localised content descriptions

Minor Updates

  • Downloads UI Redesign
    • Modern unified StatusHub showing download usage, device storage, and settings
    • Circular progress indicator for device storage visualisation
    • Cleaner card designs for active and completed downloads
    • Device storage stats now displayed
  • Wi-Fi Only Downloads
    • New setting to restrict downloads to Wi-Fi connections
    • Warning displayed when allowing mobile data downloads
    • Prevents unexpected mobile data charges
  • Collections Sorting
    • Collections now sorted by release date for chronological order

Performance Improvements

  • Live TV Optimisations
    • Faster channel availability check with reduced data transfer
    • Reduced "On Now" program limit from 50 to 20 for better performance

Bug Fixes

  • Fixed discovered servers using name/ID instead of network address for connection
  • Fixed layout shift on login screen during server discovery

What's Changed

  • Translations update from Hosted Weblate by @weblate in #41
  • Translations update from Hosted Weblate by @weblate in #42

New Contributors

Full Changelog: v0.5.2-beta...v0.5.3-beta

v0.5.2-beta

26 Jan 18:39

Choose a tag to compare

Release Notes

Bug Fixes

  • Conditional Live TV Tab Display
    The Live TV tab now only appears in navigation if the server has Live TV channels available. Prevents non-functional tab from showing on servers without Live TV configured.
  • Fixed Library Screen Layout Issues
    Resolved unintended layout jumps when loading or navigating away from the library content screen.

What's Changed

  • fix(livetv): Conditionally show Live TV tab based on server access by @MakD in bd7ce47
  • refactor(LibraryContentScreen): Simplify layout by removing manual safe drawing insets by @MakD in 28e4bc2
  • chore: Bump version to 0.5.2-beta by @MakD

Full Changelog: v0.5.1-beta...v0.5.2-beta

v0.5.1-beta

26 Jan 09:04

Choose a tag to compare

Release Notes

Bug Fixes

  • Improved Live TV Playback
    Enhanced playback reliability and user experience for Live TV channels.
    • Direct stream prioritisation for IPTV sources (.m3u8 and .m3u files) to bypass transcoding
    • Increased streaming bitrate limit to 140Mbps for high-quality direct streams
    • Enabled Direct Play and Direct Stream for better performance
    • Fixed player controls not auto-hiding during live stream playback
    • More accurate playback state detection for live streams, especially with the MPV player
    • Controls now correctly hide even when the player doesn't report "playing" state, but the stream is advancing

What's Changed

  • fix(livetv): Improve direct stream playback and player controls by @MakD in 1083d88
  • fix(player): Improve playback state for live TV streams by @MakD in e080c37

Full Changelog: v0.5.0-beta...v0.5.1-beta