Releases: MakD/AFinity
Releases · MakD/AFinity
v0.4.2-beta
Release Notes
Minor Updates
- Add Accounts from Session Switcher
New streamlined flow to add additional accounts to existing servers.- "Add another account" button now available in the session switcher for each server
- Automatically pre-fills server URL when adding a new account to an existing server
- If a server has no accounts, the button changes to "Login to this server"
- Simplifies multi-account management without leaving the session switcher
- Improved Playback State Synchronisation
Fixed visual glitches where progress bar updates were glitched after playback.- Optimistic UI updates apply immediately when playback stops
- Final database sync ensures UI reflects confirmed state without flickering
- Eliminates race conditions between server updates and local cache refresh
- Redesigned Profile Header
Cleaner, more modern look for the Settings screen profile section.- Larger profile image (96dp) with centred layout
- Username initials shown when no profile image is available
- Server name and URL displayed together in unified badge
- Improved typography and visual hierarchy
What's Changed
Full Changelog: v0.4.1-beta...v0.4.2-beta
v0.4.1-beta
Release Notes
Bug Fixes
- Fixed Stale Data After Session Switch
Resolved critical issue where switching between servers or users would display stale or incorrect data across various screens.- All screens (Favourites, Watchlist, Search, Libraries, etc.) now properly wait for session data to load before fetching content
- Screens immediately clear their state when switching sessions to prevent showing wrong data
- Player now stops playback and clears media when the session changes, preventing content from the previous session from continuing
- Improved error messaging when content is unavailable on the current server
- Eliminates unnecessary or failing network requests during server/user transitions
What's Changed
Full Changelog: v0.4.0-beta...v0.4.1-beta
v0.4.0-beta
Release Notes
Major Changes
- Multi-Server & Multi-User Support
Complete architectural overhaul enabling multiple Jellyfin servers and user accounts with seamless switching.- Add and manage multiple servers with connection testing
- Store multiple user accounts per server with one-tap login
- Quick session switcher to change between users and servers
- All data properly isolated per user and server (media, downloads, preferences)
- Sessions persist across restarts with resilient authentication (network issues won't force logout)
- Profile images update reactively when switching sessions
- Downloads and background workers are properly scoped to the user and server
- Jellyseerr integration now per-user with automatic context switching and isolated request history
- Real-time request status updates across all screens without manual refresh
- Redesigned Settings & Server Management
Modern UI overhaul featuring grouped layouts for improved organisation.- Settings organised under titled sections (General, Connections, Preferences, About)
- Card-based server management interface with improved visual hierarchy
- Player and Appearance options restructured into logical groups
- Streamlined layout with better spacing, typography, and iconography
Minor Updates
- Gesture Controls: Removed brightness permission requirement, expanded gesture zones (30% to 35%), and more reliable detection
- Performance: Discover content loads independently, with more cached media details for a richer offline experience
- UI Polish: Redesigned login flow, improved animations and visual feedback, better empty states
Bug Fixes
- Fixed navigation bar showing on the add/edit server screen
- Improved error handling for network failures during session restoration
What's Changed
Full Changelog: v0.3.4-beta...v0.4.0-beta
v0.3.4-beta
Release Notes
Major Changes
- Significantly Improved App Performance
Complete overhaul of data loading throughout the app with parallelised network requests.- Faster Startup: Home screen sections now load concurrently instead of sequentially, dramatically reducing initial load time
- Parallel Data Fetching: Favourites, Watchlist, and Discover screens now fetch all data simultaneously
- Stable Home Layout: Genre and recommendation sections use consistent interleaving instead of reshuffling on updates
- Better Loading States: Loading indicators now display during initial content fetch on the Discover screen
- Overall snappier experience across the entire app
- Enhanced Image Loading System
Implemented app-wide singleton ImageLoader for better performance and consistency.- Centralised Configuration: Single Coil instance with 512MB disk cache
- Better Placeholders: BlurHash decoding now calculates aspect ratio for more accurate, less distorted placeholders
- SVG Support: Added SVG decoder for flag icons and other vector images
- Background Processing: BlurHash decoding moved to a background thread to prevent UI blocking
- All BlurHash Types: Now supports primary, backdrop, thumb, and logo BlurHashes from the API
Minor Updates
- Request Dialogue Enhancements
- New flag icons for languages with automatic country code resolution
- Better certification display with bordered box styling
- Improved metadata layout with automatic separator handling
- Enhanced backdrop gradient for better text readability
- UI Refinements
- Improved shimmer loading effects with gradient animation instead of alpha fading
- Added loading indicators where previously missing (Item Detail, Discover)
- Better visual feedback during content loading
- Code Quality
- Simplified trailer handling by moving logic from the ViewModel to the UI
- Removed verbose logging for cleaner output
- Optimised cache checks to prevent redundant API calls
- Removed unused functions and improved code organisation
- Better locale handling for string formatting
Bug Fixes
- Fixed Player Gestures: Resolved issue where gesture controls (seeking, volume, brightness) could become unresponsive or behave unpredictably. Gesture state is now properly reset after each interaction (Fixes #31)
What's Changed
Full Changelog: v0.3.3-beta...v0.3.4-beta
v0.3.3-beta
Release Notes
Major Changes
- Episode Switcher
New in-player episode navigation panel for quick access to all episodes in the current season.- Modern Card Design: Rich episode cards with thumbnails, progress bars, duration, and episode details
- Side Panel Layout: Slides in from the right side, providing quick access without leaving playback
- Now Playing Indicator: Currently playing episode highlighted with animated equaliser
- Auto-scroll: Automatically scrolls to the current episode when opened
- Watched Indicators: Checkmark badges on completed episodes
- Access via new "Episodes" button in player controls
- Season-Scoped Playback & Shuffle
Enhanced playback control with season-specific queuing and intelligent shuffle.- Season Playback: Play All / Shuffle buttons on season pages now queue only that season's episodes
- Smart Shuffle: Prioritises in-progress episodes first, then unwatched episodes, before shuffling the rest
- Series Playback: Playing from series detail still queues all episodes across all seasons
- Closes #29
- Skip Outro to Next Episode
When skipping an outro chapter, the player now automatically transitions to the next episode instead of just seeking past it. If no next episode exists, it seeks to the outro's end as before.
Minor Updates
- Watched Indicators in Search
The checkmark icon now appears on posters for fully watched content in search results for clearer visual feedback. - Branding Update
Renamed "Jellyseerr" to "Seerr" throughout the app. - UI Refinements
- Improved landscape view theme with better text contrast against backdrops
- Updated icons across settings and player for visual consistency
- Shimmer placeholders for loading content in genre sections
- Simplified settings section headers
- Code Cleanup
Removed unused methods from ItemDetailViewModel and PlaylistManager, optimised playlist initialisation to avoid redundant episode fetching.
What's Changed
Full Changelog: v0.3.2-beta...v0.3.3-beta
v0.3.2-beta
Release Notes
Major Changes
- Adaptive Layout System
Complete refactor to use Material 3's WindowSizeClass for responsive layouts across all screen sizes and orientations.- Smart Scaling: UI automatically adapts to compact (phones), medium (tablets), and expanded (foldables/large tablets) screens
- Consistent Experience: Centralised layout logic ensures uniform behaviour across the entire app
- Better Maintenance: Simpler, more robust code for handling different screen configurations
- Navigation Improvements: Bottom bar on phones, navigation rail on tablets
- Fixes numerous UI inconsistencies across different devices and orientations
Other Changes
- Unified Splash Screen: New centralised splash screen component for maintainability.
- Improved Formatting: Fixed number and time formatting issues in regions using a comma as a decimal separator
- Episode List Enhancements: Added IMDb ratings and improved layout in vertical episode list view
- UI Refinements: Better padding and spacing on larger screens, especially in the hero carousel
What's Changed
- feat(layout): Refactor to use WindowSizeClass for adaptive layouts by @MakD in
03e0db7 - chore: Bump version to 0.3.2-beta by @MakD
Full Changelog: v0.3.1-beta...v0.3.2-beta
v0.3.1-beta
Release Notes
Major Changes
- Revamped Discover Experience
Complete overhaul of the Discover screen with advanced browsing and filtering capabilities.- Dynamic Categories: Browse content by movie/TV genres, popular studios (A24, Marvel, etc.), and networks (Netflix, HBO, etc.)
- Unique Genre Cards: Genres now feature distinctive duotone poster art for visual variety
- View All Navigation: Each category has a dedicated filtered grid view with infinite scrolling
- Smart Navigation: Fully available media now opens directly in detail view instead of the request dialogue
- Parallel Loading: All discover sections load concurrently for faster screen population
- Enhanced Request Dialogue
The request confirmation dialogue now displays comprehensive media information before requesting.- Rich Metadata: Backdrop image, tagline, overview, director, runtime, genres, and certification
- Multiple Ratings: IMDb, Rotten Tomatoes (critic and audience), and TMDB scores
- Better Context: Make informed decisions with detailed information at a glance
Minor Updates
- Player Gesture Overhaul
- Completely rewritten gesture handling for volume, brightness, and seeking
- State-based gestures for more accurate and responsive controls
- Percentage-based drag calculations for natural feel
- Added edge exclusion zones to prevent accidental activation
- Volume and brightness indicators now appear on gestures use
- Picture-in-Picture Improvements
- More stable PiP implementation with better lifecycle management
- Accurate aspect ratio calculation using PlayerView dimensions
- New setting: Control audio playback when the screen turns off in PiP mode
- Prevents crashes when entering PiP during activity transitions
- Better handling of player state when exiting PiP
- New Customisation Options
- Episode Layout: Choose between horizontal scroll or vertical list for episode display
- Default Video Zoom: Set preferred zoom mode (Fit, Zoom, or Stretch) for player startup
- UI Refinements
- Centralised card height calculations for consistency
- Improved shimmer loading effects
- Better spacing in genre sections
- Updated rating display with TMDB scores on discover cards
Bug Fixes
- Fixed crashes when entering PiP mode during activity transitions
- Disabled auto PiP on Android 12+ for more predictable behaviour
- Improved thread safety in backdrop tracking
- Fixed playlist persistence between player sessions
- Better error handling in discovery content loading
What's Changed
- refactor(Home): Centralise card height calculation and improve genre shimmer by @MakD
- refactor(Player): Improve player gesture handling by @MakD
- fix(Player): Prevent crashes and disable auto PiP on Android 12+ by @MakD
- refactor(Player): Overhaul Picture-in-Picture implementation by @MakD
- feat(player): Add setting to control background play in PiP mode by @MakD
- feat(discover): Overhaul Discover screen with advanced filtering and navigation by @MakD
- refactor(Requests): Improve Discover loading and data handling by @MakD
- feat(Request Dialogue): Enrich with detailed media information by @MakD
- feat(settings): Add episode layout and video zoom mode options by @MakD
- chore: Bump version to 0.3.1-beta by @MakD
Full Changelog: v0.3.0-beta...v0.3.1-beta
v0.3.0-beta - Seerr Integration
Release Notes
Major Changes
- Seerr Integration
Request movies and TV shows directly from the app with full Jellyseerr/Overseerr integration.- New Requests Tab: Dedicated tab in bottom navigation for managing your media requests
- Discover Content: Browse trending, popular, and upcoming movies/TV shows ready to request
- My Requests: View and track status of all your requests (Pending, Approved, Available)
- Search Integration: Request filter in search to find and request content through Jellyseerr
- Season Selection: Choose specific TV show seasons to request, with indicators for already available content
- Admin Controls: Approve or decline requests if you have admin permissions
- Secure Authentication: Supports both Jellyfin and local Jellyseerr login methods
- Seamless Integration: Settings toggle to connect/disconnect from Jellyseerr
Other Changes
- Enhanced Security
- Replaced EncryptedSharedPreferences with Jetpack DataStore and Google Tink for more robust credential encryption
- Improved security for both Jellyfin and Jellyseerr credentials
- UI Updates
- New plus icon for Requests tab
- Added icons to Jellyseerr login fields
- Updated error state and checkmark icons
- Redesigned request cards
- Database: Upgraded to version 21 with support for caching Jellyseerr requests and configuration
What's Changed
- feat(jellyseerr): Integrate Jellyseerr for media requests by @MakD in #22
- chore: Bump version to 0.3.0-beta by @MakD in b244ef4
Full Changelog: v0.2.8-beta...v0.3.0-beta
v0.2.8-beta
Release Notes
Major Changes
- Chapter Navigation & Markers
Complete chapter support for enhanced navigation and playback control.- Chapter Markers: Visual markers now appear on the seek bar at chapter positions for easy identification
- Smart Navigation: Next/Previous buttons now skip between chapters
- Next: Jumps to the next chapter, or the next episode if at the last chapter
- Previous: Returns to the chapter start, or the previous chapter if pressed within 3 seconds
- Chapter Previews: Chapter titles now display in the trickplay preview while scrubbing
- Works with any content that has chapter information, not just episodes
Improvements
- Enhanced Seeking Experience
- Cleaner interface while seeking: only seek bar and preview visible during drag
- Controls automatically show when double-tapping to seek
- Controls stay visible during the entire seek operation
- Smooth chapter name transitions in preview
- Fixed seek state getting stuck after gesture cancellation
- UI Fixes
- Fixed progress bar overlapping with slider thumb
- Corrected trickplay preview positioning after layout changes
What's Changed
Full Changelog: v0.2.7-beta...v0.2.8-beta
v0.2.7-beta
Release Notes
Bug Fixes
- Fixed MPV Player Position Reset
Resolved an issue where the playback position would jump back during buffering after seeking. Position now stays accurate even when the player buffers.
UI Polish
- Cleaner Navigation Bar
Bottom navigation now only shows text labels for the currently selected tab, reducing clutter and creating a more focused interface. - Fixed Content Clipping
Resolved an issue where content would be cut off at the bottom of scrollable screens. Content now properly accounts for navigation bar height and displays completely. - Layout Refinements
Minor spacing adjustments in episode detail overlay for a tighter, more polished layout.
What's Changed
- fix(Player): Prevent position reset during buffering with MPV by @MakD in eb7263d
- chore(UI): Refine navigation bar and episode detail layout by @MakD in af4f8d4
- refactor(Layout): Replace offset with custom verticalLayoutOffset modifier by @MakD in df75f34
- chore: Bump version to 0.2.7-beta by @MakD
Full Changelog: v0.2.6-beta...v0.2.7-beta