Releases: Moonfin-Client/Roku
1.4.2
Moonfin v1.4.2 Release Notes 
Note
If you weren't aware, we have created a Discord server for Moonfin! If you have any questions or want to stay up to date with the latest news, please join the Moonfin Discord Server!
Features
- Added Seerr local account sign-in, so users can authenticate with jellyfin or local Seerr credentials since Moonfin server plugin web UI is going away in the next update.
- Removed in-app update notifications.
Bug Fixes
- Fixed multiple subtitle download issues:
- Overhang is now hidden during subtitle search.
- Focus correctly returns to the Search button when subtitle search appears.
- Language names now display correctly in the radio dialog.
- Fixed a type-mismatch issue by renaming
wasClosedtowhatsNewClosedthat was causing the What's New dialog to not get dismissed properly for some users. - Updated navbar focus styling to a full-height white pill and cleaned up pill padding to match other clients.
Contributions
v1.4.1
Moonfin v1.4.1 Release Notes 
Note
If you weren't aware, we have created a Discord server for Moonfin! If you have any questions or want to stay up to date with the latest news, please join the Moonfin Discord Server!
Bug Fixes
- Fixed the What's New dialog closing incorrectly and improved focus restoration afterward
- Fixed user switching and session startup by keeping authentication context in sync during login
v1.4.0
Moonfin v1.4.0 Release Notes 
Note
If you weren't aware, we have created a Discord server for Moonfin! If you have any questions or want to stay up to date with the latest news, please join the Moonfin Discord Server!
New Features
- Added Home Screen Sections (HSS) plugin integration (App starts a little slower with this on, it is expected)
- Added KefinTweaks plugin integration (same note as above)
- Added subtitle downloading from the subtitle selection dialog
- Directors and writers now appear in the cast list after actors on detail screens
- The Featured Media Bar now has granular settings: you can choose the source type, target library or collection IDs, genres to exclude, auto-advance interval, and item count (now supports 15, 25, and 50)
- Watched/played indicators now appear on season posters
- Fallback font support was extended to cover episode numbers, duration labels, and role text in the details screen so it appears in languages like Chinese
- Added navbar color and opacity settings
- Added plugin installation checks and default settings initialization
- Updated player OSD controls layout
- Updated the settings screen to match other Moonfin clients
Bug Fixes
- Fixed the Continue Watching and Next Up rows not refreshing after returning from video playback
- Fixed cropped or cut-off library items in mixed-content libraries
- Fixed focus not returning correctly when navigating back from a screen
- Fixed the resume functionality and cleaned up the server connection flow
- Fixed search results not resetting selections properly and improved key handling in that screen
- Fixed search result crashes and Seerr item access issues
- Fixed subtitle and audio track selections not persisting when the stream changes during playback
- Fixed playlist shuffle using the wrong endpoint for non-music content, and fixed the Play All handler getting stuck in an eternal buffer state
- Fixed the subtitle and audio popup menus losing focus and not properly blocking key input during playback
- Fixed default home screen section ordering
- Fixed Jellyseerr/Seerr response parsing crashing when the server returned an array payload instead of an object
- Added deduplication logic to the media bar so the same item doesn't appear twice
- Fixed Set Server screen layout issues
- Fixed Quick Connect authentication when auth token was missing
- Improved Home Rows details reset logic to prevent stale information from showing
- Removed non-functional "Manage HSS Rows" and "Manage KefinTweaks Rows" settings entries
Contributors
-
- Playlist shuffle endpoint and Play All buffering fix (PR #66)
v1.3.3
Moonfin v1.3.3 Release Notes 
Bug fix release addressing playback, navigation, and UI focus issues.
Bug Fixes
Playback
- Fixed OSD controls: fast forward, rewind, left/right seeking, and remaining time display
- Fixed subtitle and audio selectors locking the screen during playback
- Fixed pre-playback subtitle selection not being applied
Navigation
- Fixed sidebar getting stuck when pressing up on the home screen
- Fixed genre filtering not navigating to filtered library view
- Fixed folder navigation and genre sub-folders in mixed-content libraries
UI
- Fixed library grid column sizing issues
- Fixed sort/filter dialog and alpha picker focus handling
- Updated splash screen
v1.3.2
Moonfin v1.3.2 Release Notes 
Bug Fixes
-
Movie Version Selection — The "More" button on detail screens now opens the full options overlay, allowing you to switch between different versions of a movie (e.g. 4K, Director's Cut). Audio and subtitle tracks update automatically when switching versions.
-
Mixed Library Browsing — Mixed-content libraries (folders, channels, user views) now use the visual library grid with full sort/filter support, replacing the legacy library view.
-
Season Mark as Watched — Fixed a freeze when marking an entire season as watched or toggling favorites from the season detail screen.
-
Audio & Subtitle Menu Selection — Fixed audio and subtitle track selectors not responding to item selection.
-
Playback Settings Freeze — Fixed the "More" button on detail screens causing a freeze due to an incorrectly formatted dialog. Replaced with the full options overlay.
v1.3.1
Moonfin v1.3.1 Release Notes 
Fixed
-Sidebar disappearing after returning from detail screens — fixed a race condition where the sidebar slide animation could override manual position resets, leaving it stuck off-screen
-Subtitle/audio menu trapping player focus — the OSD is now properly dismissed before opening subtitle or audio track selectors during video playback
-Crash when selecting a series from the featured media bar — safely resolved the item ID for series that use lightweight ContentNodes without a .json sub-object
v1.3.0
Moonfin v1.3.0 Release Notes 
Important
With this release in order to connect to Seerr/Jellyseerr you will need to use the new Moonfin server plugin
Includes upstream jellyfin-roku v3.1.0 through v3.1.5.
Added
- Sidebar navigation for browsing between libraries, with smooth animations and dynamic scaling across Roku TV and Roku Stick devices
- Moonfin Plugin integration — server-synced ratings, user preferences, and settings via a new server-side plugin
- Settings sync — user settings now persist across devices through the Moonfin Plugin (
PushToServer/PullFromServer) - Jellyseerr / Seerr support with dynamic appearance updates, backdrop enhancements, and session management
- Automatic playback retry on buffering or playback failure
- Live TV retry with remux when direct play fails, with server version compatibility checks
- HDR10+ support for HEVC and VP9 video
- Dolby Vision with SDR and HDR fallback range types
- Manual subtitle synchronization — adjust subtitle timing offset during playback
- Episode layout setting — choose between compact and full-screen episode layouts
- Library image orientation setting — landscape, portrait, or square grid views
- Next episode details setting — optionally navigate to the next episode's detail page after playback ends
- "Add to Queue" function on the music album screen
- "Play Instant Mix" option for recently added music items
- Shuffle play button on the album screen
- Compilation album support — shows individual artist name per track
- TV Guide now displays channel logos and titles
Changed
- Redesigned library views, genres, and music screens — rebuilt with improved layouts, grid configurations, and visual consistency
- Redesigned music album page — modern layout with album art, artist info, track listing, and action buttons
- Redesigned TV Season Details screen — expanded episode views, series name subtitles, correct studio display, play/shuffle/resume buttons
- Refreshed TV Series screen — grid-based season layout replacing single-row view, dynamic resume buttons, improved data loading
- Unified detail screens — movies, series, seasons, and playlists share a consistent architecture; legacy
TVSeriesDetailsandTVSeasonDetailsremoved - MediaBar crossfade animations — smooth transitions between featured items; removed unused "Featured Media" row
- Refactored home screen layout — simplified Home and HomeRows components with improved metadata display
- Updated navbar styling — smoother animations, improved width scaling across devices
- Updated row focus animations — new crossfade style for home screen rows
- Refactored search layout — improved SearchRow and SearchResults components
- Refactored session management — clearer, more efficient user settings handling
- Refactored Jellyseerr components — improved error handling and code cleanup
- Updated Jellyfin API endpoints to match the latest server API:
- Mark/Unmark Favorites, Mark/Unmark Played, GetItemByID, Resume, GetLocalTrailers, GetSpecialFeatures
- Replaced legacy load item calls with updated SDK methods
- TV series "Play" button now prioritizes non-special episodes
- Subtitle adjust button only shown for external subtitles
- Subtitle sync controls moved from dialog to in-screen display
- Backdrop image in presentation view now maintains correct aspect ratio
- TV season data load order optimized to prevent loading unneeded data
- Fallback season poster loading moved to async task
Fixed
- Segment skip button focus getting stuck in the video player
- Crashes when opening Books library from navbar or My Media Row
- Left/right on seekbar not skipping when OSD was hidden; disabled built-in Roku trickplay bar in favor of custom OSD
- Trailer dialog button and message visibility
.strmfile playback — transcoded URL now takes precedence over URL path- Crash when returning to album view from audio mini player
- Crash when collection items have null
userData - Crash when server version cannot be determined
- Episode data being overridden; enabled overview text highlighting
- Screensaver not disabling on the audio player screen
- Incorrect playback reporting — no longer sends "start" events when seeking; playcount updates asynchronously; play session ID captured correctly
- Back button behavior in certain navigation scenarios
- Skip segment buttons now dismissable; re-enabled on seek
- Chapter menu spacing and
chapterMenuID typo; dynamic translation positioning for option controls - Subtitle vertical position clamping regression
Translations
Updated via Weblate for 9 languages: Arabic, Catalan, English (UK), French, French (Canada), German, Portuguese (Brazil), Spanish, Turkish
Contributors
Thanks to everyone who contributed to this release:
- 1hitsong — TV series/season/album redesigns, API endpoint updates, library settings, home screen improvements, scrollbar & playback fixes
- Jimi (@jimdogx) — Live TV remux retry, skip segment handling, .strm playback, playback reporting, user background choice
- Marc Reisner (@FractalBoy) — HDR10+ and Dolby Vision video range types
- Michael Cresswell (@michaelcresswell) — TV Guide channel logos, testing docs
- Jessie Wilson (@jessielw) — Automatic playback retry
- Noah (@noahpodgurski) — Chapter menu spacing fix
- Alberto (@betilloXann) — Subtitle synchronization
- Translation contributors — myrad2267, Gargotaire, Antonio Toledo, alxhu, queeup, Sven, Romulo Alves, Milton, Michael Keck, KWeasley, Jajajavi2203, Ignacio Lorenzo Subirá Otal, ferezvi, ebuword, Deniz ŞAHİN, Andi Chandler, and others
v1.2.0
What's New In v1.2.0
New Features
• Cross-Server Content Playback - Unified library support allowing seamless playback from multiple Jellyfin servers
- Seamless switching between servers for content playback
• Recently Released Home Row - New home row displaying recently released content sorted by premiere date (disabled by default)
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
UI/UX Improvements
• Standardized Focus Indicators - Applied consistent HD focus bitmap across the app
- Home screen rows
- Movie, TV show, and episode detail pages (cast/crew sections)
- Search results
- Improved navigation visual feedback
• Media Bar Toggle - Refactored media bar functionality with new toggle setting for easier control instead of being part of the home rows
• Login Scene UI Update - Refreshed login interface with improved visual design
Upstream Updates (from jellyfin/jellyfin-roku)
• Translation Updates - Updated translations for multiple languages:
- Portuguese (Brazil)
- German
- ES Catalan
- Italian
- Spanish
- Swedish
• Skip Segment Translations - Enabled translation support for skip segment buttons
• Version Updates - Merged upstream version 3.0.15 and 3.1.0 changes
Full Changelog: 1.1.1...1.2.0
v1.1.1
This hotfix release contains fixes to Live TV and Music
UI/UX Improvements
- Focus indicator refinement: Removed poster scaling animation on focus and restored clean focus outline that wraps tightly around poster images
- Cast photos: Added circular mask overlay for cast member photos with improved default scaling
- Detail screen buttons: Buttons now properly lose background color when focus moves to different rows
Library Views
- A-Z letter picker: Restored alphabet navigation in library views with re-integrated filtering
- Music library: Fixed sorting and filtering functionality
- Live TV: Fixed validation checks and trickplay handling for live TV playback
- Music library: Fixed sorting and filtering functionality causing it to crash
Code Quality
- Implemented pagination and error handling for item loading across multiple components to fix libraries that loaded forever or not at all
v1.1.0
This release contains plenty UI/UX changes, a few new features, bug fixes, and upstream updates from the Jellyfin Roku project.
🎨 UI/UX Improvements
Login & Authentication Screens
- Applied Purple Haze theme with dark purple-blue background
- Added smooth scale-on-focus animations to user avatars
- Styled the buttons grey with blue focus highlighting
- Extended Purple Haze theme to manual login and server selection screens
Home & Library Screens
- Added smooth scale animations to all poster components across home, libraries, jellyseerr and search screens
- Fixed UP key navigation from top row to correctly navigate to the navigation bar
- Fixed item re-selection when returning from detail screens
Search Results
- Added expanding scale animations to search result items, matching the home screen behavior
Media Player
- Updated video player controls to match other Moonfin clients
Detail Screens
- Redesigned the unplayed item count marker on the posters
- Added "Go To Series" and "Go To Season" buttons to episode detail screen
Jellyseerr Integration
- Enhanced row layout with better spacing
- Improved season request dialog styling with better visual consistency
⚙️ Features & Functionality
Theme Music
- Added automatic theme music playback on Movie and TV Show detail screens (if you have a theme.mp3 in the folder)
- Implemented auto-play toggle in settings
Backdrop & Visual Effects
- Added setting to control backdrop blur intensity
- Split backdrop blur into separate toggles for home/Jellyseerr and detail screens
Jellyseerr Improvements
- Implemented proper user session management across profile changes
- Added session cookie storage in per-user registry
- Improved user ID management and authentication handling
- Enhanced error handling for Jellyseerr authentication failures
- Added migration for backward compatibility with old config structure
Settings & Configuration
- Refactored Moonfin settings layout for better organization
- Updated dialog functions to use direct content references
🐛 Bug Fixes
Navigation & Focus
- Fixed bug where play button was unresponsive when navigating from genres to media details
- Fixed media bar overlay remaining visible after menu close
- Defaults to first home row when returning from navbar items
Layout & Display
- Fixed duplicate items appearing in movies libraries
📦 Upstream Updates
Jellyfin Roku Integration
- Merged multiple upstream updates from jellyfin/jellyfin-roku
- Integrated bug fixes and improvements from upstream development
- Maintained compatibility with Jellyfin server updates
Translation Updates
- Updated French translations (Weblate)
- Synchronized translation files with upstream
Dependencies
- Updated roku-deploy to 3.x
- Updated package-lock.json with latest dependencies
🎯 Closed Issues
- #5 - Removed maxLines restriction from overview text
- #8 - Updated video player UI to match other Moonfin clients
- #9 - Implemented proper Jellyseerr user session management
- #10 - Improved item re-selection after returning from details
- #11, #12 - Fixed UP key navigation from top row to overhang
- #13 - Fixed duplicate items in movies libraries
Special thanks to the Jellyfin Roku upstream project and all contributors who made this release possible.