What's New In v1.4.0
First Community Contribution!
We're excited to announce our first external contribution from @axltico12 via PR #86!
Contribution highlights:
- Added theme music playback options for home rows
- Implemented customizable controls for theme music
- Enhanced the ThemeMusicPlayer with improved functionality
- Added new preference settings for theme music control
Thank you for being the first to contribute to the Moonfin project!
New Features
Media & Playback
• Cross-Server Content Playback - Unified library support allowing seamless playback from multiple Jellyfin servers
- Seamless switching between servers for content playback
• Local Watchlist Functionality - Complete local watchlist implementation with full UI integration for managing your favorite content - Note: The Watch List row is disabled by default. To enable it:
- Go to Settings
- Navigate to Home preferences
- Find Home Rows or Home Sections configuration
- Enable the Watch List row and optionally reorder it
- Once enabled, you'll see:
- A "Watch List" row on the home screen
- "Add to Watch List" / "Remove from Watch List" button on detail pages
- The watchlist is stored locally on the device (not synced to the server), so items persist across app restarts but won't appear on other devices or in the web interface
• Audio Delay Control - Added audio delay functionality with dedicated controller and processor for perfect audio/video synchronization
• Theme Music Playback Options - Theme music now available for home rows with customizable settings (#84)
• Recently Released Home Row - New home row displaying recently released content sorted by premiere date (#65) (disabled by default)
• Default Subtitles to None - Option to ignore server subtitle settings and default to no subtitles
Security & Access Control
• Parental Controls - Rating-based content filtering system to restrict content by age ratings
Visual Experience
• Seasonal Surprise Animations - Added animated seasonal themes for winter, spring, summer, fall, and Halloween (more to come soon with improvements)
UI/UX Improvements
Home Screen Customization
• New Home Rows Settings Configuration - D-pad controls for customizing and managing home screen sections
• Home Rows Image Type Setting - Configurable image types for home row displays
• Media Bar Toggle - Refactored media bar functionality with new toggle setting for easier control instead of being part of the home rows and implemented content type filtering (movies/TV/both)
Layout & Spacing
• Card Spacing Improvements - Updated dimensions for improved visual layout (#69)
• Background Blur Settings - Added preference control for backdrop blur amount and context now split between the home rows and jellyseerr and the media details screens
Bug Fixes
• User Settings Integration - Fixed image types and episode names not displaying correctly (#80)
• Pagination Support - Implemented for standard home rows and aggregated home rows with chunk loading (#79)
• mediaBarOverlayOpacity Migration - Fixed migration from String to Int with proper error handling
Jellyseerr Enhancements
Major Integration Upgrade (Finally out of Beta!)
• Browse-by Filtering - Enhanced content discovery with advanced filtering options by Series/Movie Genres, Studio, Network, and keywords
• Custom Profile Request Management - Improved request handling and status tracking to allow custom profiles
Upstream Updates (from jellyfin/jellyfin-androidtv)
UI/UX Improvements
• Modern Compose UI - Multiple screens migrated to Jetpack Compose:
- Subtitle customization settings
- Playback settings
- Server/User settings
- Authentication settings
- Various preference screens
• ProfilePicture Composable - New composable component for profile pictures
• SettingsColumn Composable - Added for better settings layout
• Checkbox Component - New checkbox component for Compose UI
• RangeControl Composable - Added with color tokens for Seekbar
• ListControl Base - Added as base for ListButton
• Footer to ListItemContent - Enhanced list item display
Bug Fixes
Playback & Media
• Live TV Direct Play Stability - Fixed critical stability issues (#5229)
• Live TV Seeking - Properly disallows seeking when duration is unknown
• Music Transcoding - Now uses AAC over HLS for better compatibility
• FMP4 Support - Added support for FMP4 format in transcodes
• AVC High 10 Profile - Fixed incorrect reporting as main 10 in device profile
• Range Control Calculation - Fixed calculation errors when minimum value is not 0
Settings & UI
• Account Manager Migration - Removed deprecated migration code
• New Settings from Login Screen - Improved settings access
• Brief Descriptions - Removed from settings screens for cleaner UI
Dependencies & Updates
Framework Updates
• Kotlin → v2.3.0
• androidx.media3 → v1.9.0
• androidx.activity → v1.12.2
• org.jellyfin.sdk:jellyfin-core → v1.8.5
Build Tools
• com.android.tools.build:gradle → v8.13.2
• aboutlibraries → v13.2.1
CI/CD
• github/codeql-action → v4.31.9
• actions/upload-artifact → v6
Translations
Translation updates for multiple languages:
🇳🇱 Dutch • 🇮🇱 Hebrew • 🇸🇦 Arabic • 🇨🇿 Czech • 🇯🇵 Japanese • 🇷🇺 Russian • 🇪🇸 Catalan • 🇹🇿 Swahili • 🇷🇸 Serbian • 🇸🇪 Swedish • 🇬🇷 Greek • 🇩🇪 German • 🇬🇧 English (UK) • 🇪🇸 Spanish • 🇷🇴 Romanian • 🇵🇱 Polish • 🇨🇳 Chinese (Simplified) • 🇪🇪 Estonian • 🇹🇷 Turkish • 🇫🇷 French • 🇲🇽 Spanish (Mexico) • 🇮🇹 Italian
📝 Notes
This release includes numerous upstream updates from jellyfin/jellyfin-androidtv along with Moonfin-specific enhancements and features.
Full Changelog: 1.3.1...1.4.0