Releases: Moonfin-Client/Roku
Release list
v1.5.1
Moonfin v1.5.1 Release Notes 
This release fixes two serious problems from 1.5.0, one that could lock you out of signing in and one that crashed the app on any playback attempt. It also brings a batch of playback settings over from the other Moonfin clients, spoiler-free browsing, and library backdrops.
New Features
- Spoiler-free browsing. Three new toggles let you hide descriptions on the home screen, hide them on detail screens, and use series artwork instead of episode screenshots. That last one covers episode posters, Up Next cards, chapter cards, and season episode lists, so nothing spoils an episode you haven't watched.
- The missing playback settings are here. Resume Rewind backs up a few seconds when you resume, Unpause Rewind does the same when you unpause, and skip forward and back lengths are configurable instead of always being 10 seconds. There are also preferences for SDH subtitles and audio description tracks.
- Library pages now show a backdrop of the focused item, blurred and crossfading, matching the home screen. It respects the Hide Backdrops while Browsing toggle.
- More Like This can use a different recommendation engine. Instead of only your server's similarity results, it can score matches locally or pull recommendations through Seerr.
- New library settings ported from the other clients: Show Media Details, Hide Backdrops while Browsing, and Merge Recently Added Libraries by Type. Merged rows also sort by date across libraries instead of grouping by library.
- Recently Released can surface new seasons or episodes, not just brand new series. An ongoing show used to only appear when it first premiered.
- Settings got icons. Around 50 settings that previously showed a bare row now have artwork, with 28 new icons added.
- Rounded corners on the Seerr discovery page, correctly sized for both wide and portrait tiles.
- A lot more settings sync with the server plugin, including home row padding, technical details on the detail screen, the recommendation source, the progress bar time slots, and your detail screen button order.
Bug Fixes
- Fixed being unable to sign in with a password. When your server had Quick Connect enabled, the sign-in screen showed the Quick Connect prompt with nothing holding focus, so the d-pad and Back button did nothing and the only way in was entering a code on another device.
- Fixed the app crashing on any playback attempt when Cinema Mode and settings sync were both on. Settings coming down from the plugin arrived as text instead of true or false, which broke the pre-roll check.
- Fixed the shuffle dialog showing 0 minutes for every movie, and it no longer shows a meaningless runtime for series and episodes.
- Fixed the person page filmography. Posters were too tall and overlapped the person's name and photo. They're resized now, the layout is reflowed, credits are sorted newest first, and focus starts on the first poster.
- Fixed More Like This titles not showing under the posters on the modern detail screen, and the season row no longer clips its titles.
- The modern detail screen now uses your chosen cursor color for the Cast, More Like This, and Studios rows instead of always being white.
- Fixed the navbar turning black or transparent after pushing a Nav Bar Accent Color from the server plugin. White, Moonfin Cyan, and Neon Pulse Magenta were added as options, and the same fix applies to the media bar overlay color.
- Pressing Back from a details screen returns you to the row you were on instead of jumping up to the media bar.
- Opening What's New from Settings no longer leaves a settings panel stuck over the home screen.
- The progress bar time slots actually render now. Two options that never worked were removed, Total Duration was added, and the current time reads the real clock while the end time keeps ticking while paused.
- Fixed skip lengths showing as 30000 instead of 30 seconds when synced from the server, and profiles that were already saved wrong get repaired.
- Fixed home row padding, which was far too large on the modern layout and barely visible on the classic one.
- Default audio and subtitle language preferences from the server now take effect, instead of being saved locally where playback never saw them.
- Seerr search and discovery are faster and no longer hang or crash the search screen. Posters were being requested larger than the entire screen.
- Dimmed the Seerr discovery backdrop so text stays readable over bright artwork.
- The left media bar arrow is hidden when using sidebar navigation, since left opens the sidebar rather than moving the carousel.
Some legacy settings inherited from the upstream Roku client were removed because they did nothing in Moonfin: Grid View Item Titles, Rewatching Next Up, Skip Details for Single Seasons, Start Episode List From First Unwatched, and Two Column Episode List. Max Days Next Up, Blur Unwatched Episode Thumbnails, and Disable Unwatched Episode Count moved to General to match the other clients.
Note
Home row spacing defaults changed in this release, so your home screen density will look different even if you never touched those settings. You can adjust it under Home Screen with the Classic and Modern Home Rows Padding sliders.
Contributors
Big thanks to everyone who contributed to this release:
- @jmawet for the cinema mode crash fix, library backdrops, the recently released series type, Seerr rounded corners, the navbar color mapping, the progress bar time slots, skip length units, home row padding, and the legacy settings cleanup
- @mattsigal for the playback settings implementation, spoiler-free toggles, library settings, the recommendation engine routing, and the server profile sync mappings
- @harleykradovill for the Quick Connect sign-in fix, the shuffle runtime fix, the extras row and cursor color fixes, the new settings icons, and the media bar arrow fix
- @ADRStudio for the person detail page fixes, in their first contribution to Moonfin
Full Changelog: 1.5.0...1.5.1
v1.5.0
Moonfin v1.5.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!
This is the biggest Moonfin release for Roku yet. The home screen, detail pages, media bar, and settings all catch up with the other Moonfin clients, and the app gains themes, new home rows, real scrubbing, and a long list of fixes.
New Features
- Modern home rows, now the default style. Focusing an item grows it into a landscape card with the title, metadata, ratings, and overview right on the row, with rounded corners, scrolling titles, and smooth animations. Classic rows are still available in settings
- A modern detail screen, also the new default. Movie, show, and music pages get a cinematic tabbed layout with Episodes, Suggested, Studios with TMDB logos, Chapters, and Details tabs, an Up Next card for the next episode, and pill buttons that expand to show their label. The classic layout stays selectable, and a new Details Background Opacity setting controls how visible the backdrop is
- Themes are here. Pick from the built in Moonfin, Neon Pulse, and 8-Bit Hero themes (complete with their own fonts), browse community themes from the Theme Store, or use themes shared from your server. Your choice syncs across devices
- Media bar styles. The home screen media bar now has five looks: Moonfin, MakD, Banner, Gallery, and Bookshelf, switchable instantly without restarting the app. Media bar loading is also faster thanks to parallelized requests
- A new shuffle dialog. Pressing Shuffle now opens a dialog with five random picks and buttons to shuffle within a library, a genre, or everything, matching the other Moonfin clients
- Real fast forward and rewind. Pressing FF or RW now scrubs at 3x, 15x, and 50x in either direction with an overlay showing your position and speed, instead of bumping a couple of seconds
- Default audio and subtitle preferences. Pick your preferred audio and subtitle languages and default track behavior right on the Roku, synced both ways with your Jellyfin server so preferences set in other clients carry over
- External home rows. Seerr rows (trending, popular, upcoming, recent requests), IMDb charts like the Top 250, thirteen TMDB chart rows, custom Letterboxd and MDBList lists through the plugin, and Radarr and Sonarr upcoming calendars with release type filters. All of them can be ordered in Home Sections and sync with the server
- More built in rows too. Toggleable Favorites, Collections, Genres, Playlists, and Audio rows, plus Since You Watched rows powered by a local recommender (or online recommendations through Seerr and TMDB), a Rewatch row, and Recently Released split into one row per library
- Hidden items sync. Items you hide from Continue Watching or Next Up in other Moonfin clients now disappear on Roku too, and rewatching something hidden brings it back
- Server-pushed home layouts. Row order pushed from the Moonbase plugin is now respected immediately, and your row toggles follow the pushed layout without losing local choices
- The merged Continue Watching row is sorted by what you watched most recently, matching the other clients
- A tabbed sign-in screen. Quick Connect now shows its code right on the sign-in page with Quick Connect and Password tabs, defaulting to Quick Connect when your server supports it
- TMDB episode ratings, with rating icons following the sources you picked in the plugin, the Rotten Tomatoes audience icon fixed, and rating lookups debounced so scrolling doesn't hammer your server
- Much faster search, dropping from around ten seconds to around three by loading posters only after results appear, with the same treatment for episode lists and extras
- A reorganized and restyled settings menu matching the core app, with per setting icons, toggle switches for booleans, nested playback submenus, and a new Details Screen section
- Expanded settings sync covering detail screen style, home rows style, Since You Watched and Rewatch configuration, cinema mode, autoplay, the Seerr NSFW block, and more. Colors pushed from Roku are now readable by other clients
- A smaller, sharper app. Images were recompressed to shave about 3 MB off the install, deep links from the Roku home screen are more reliable, and the channel tile now shows proper Moonfin branding
The Jellyseerr integration is now called Seerr throughout the app.
Bug Fixes
- Removed the HSS and KefinTweaks integrations, which fixes the app crashing at launch when HSS was enabled on the server
- Quick Connect now moves to the home screen immediately after you authorize on another device
- Choosing an audio track on the details page actually sticks and is used for playback
- Burned in subtitle tracks are selectable again on transcoded content, and the player OSD's vertical navigation is more predictable
- Multi-server playback now requests playback info from the correct server, and the server's default subtitle track is respected, including the text subtitles only preference
- Seerr discovery no longer hides non English titles
- Jellyfin 12 compatibility: authentication moved to the Authorization header and ApiKey parameter, and item counts display correctly again
- The backdrop tint no longer vanishes when moving focus around home, backdrops crossfade smoothly, and fast navigation can't paint the wrong backdrop over the media bar
- The media bar no longer shows a bogus 0 min runtime on TV shows, and its collections and playlists picker no longer overflows onto the dialog buttons
- The modern focus card hides while you navigate so row animations stay smooth
- Watch progress bars on home posters render at the correct width, and the watched checkmark on extras sits correctly on every poster size
- The series thumbnail preference now syncs in the right direction, and the Next Up button timeout no longer syncs off by a factor of a thousand
- Three settings icons that were accidentally committed as symlinks now actually display
- The delete server icon on the server selection screen is back in the right spot
Contributors
Huge thanks to everyone who contributed to this release:
- @harleykradovill for the media bar styles, the shuffle dialog, multi-speed video scrubbing, the tabbed sign-in screen, the search and item loading performance work, the home row, details, media bar, and settings restyling, the backdrop and navigation fixes, the audio track and player OSD fixes, and the modern rows polish
- @jmawet for the default audio and subtitle preferences, the settings reorganization, the expanded settings sync, per-library Recently Released rows, Continue Watching sorted by recency, and removing the broken HSS and KefinTweaks integrations
- @mattsigal for the external home rows, the internal favorites, collections, genres, playlists, and audio rows, the IMDb list rows, the hidden Continue Watching and Next Up sync, server-pushed row ordering, and the details background opacity slider
Some fixes were backported from the upstream jellyfin-roku project, with thanks to @1hitsong for those commits and to ferezvi for co-authoring the search performance work.
Full Changelog: 1.4.2...1.5.0
v1.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