Skip to content

v2.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Aug 04:43
· 2 commits to main since this release

Moonfin 2.4.0 Release Notes github

Moonfin 2.4.0 is a big one for playback. Apple playback on the new AetherEngine is now fixed and you should be able to direct play anything as well as enjoy full Dolby Atmos. Android TV boxes now direct play Dolby Vision Profile 7, the UHD Blu-ray remux format that every Android client has always had to transcode, and around that is a full rework of Android audio, Seerr is now built into the normal media details screen, libraries got an update with local search and quick return to the top, an OLED mode, and a new Linux on ARM variant.

Features

Dolby Vision Profile 7 Direct Play on Android

  • Profile 7 files now direct play instead of forcing a server transcode. The app rewrites the Dolby Vision metadata into Profile 8.1 in real time as the stream arrives, so devices with a Profile 8 decoder and a Dolby Vision display keep real Dolby Vision. The video itself is never re-encoded and your server does no work.
  • On devices without Dolby Vision the metadata is stripped instead, and the HDR10 picture underneath direct plays as plain HEVC. Either way the transcode is gone.
  • This covers the tricky files too. Dual layer MKV remuxes keep their Dolby Vision data in a side channel the stock player throws away, and Moonfin now reads it back out and converts it all the same.
  • The Dolby Vision Profile 7 direct play setting controls this. Auto picks the best route for your device, Enabled forces direct play, and Disabled brings back the old transcode behavior. There is also an advanced switch to always take the HDR10 path if a converted stream ever looks wrong on your setup.
  • AVI files can properly direct play now.
  • Fire TV boxes on the MediaTek exclusion list get Dolby Vision with HDR10+ back when they have a Profile 8 decoder, since that path sidesteps the handling those boxes break on.
  • Playback reports now say exactly what the Dolby Vision chain did, which mode it settled on, where the metadata came from, and what the converter produced, so problem files can be diagnosed from a log alone.

Android Audio Rework

  • Media3 audio was rebuilt around a new passthrough policy. AC3, EAC3, DTS, DTS-HD, and TrueHD can each bitstream to your receiver, with an Auto mode that follows what the hardware probe finds and a Manual mode with per codec toggles for when the probe is wrong.
  • The app now advertises every audio codec it can decode, so the server stops transcoding video just because of the audio track. When audio does need converting, the video stream is copied instead of re-encoded.
  • Playback starts on the audio track you asked for, and switching tracks mid play happens in place instead of restarting the stream.
  • Audio and subtitle delay controls now exist on Media3 and AetherEngine instead of only mpv.
  • Audio track numbering is consistent across decoders, and playback reports name the exact decoder and audio path in use.

Seerr on the Details Screen

  • Seerr now lives inside the details screen instead of its own separate world. Library items show their Seerr status, the request actions sit in the normal button row, and Seerr rows and tabs appear alongside everything else.
  • Titles that are not in your library open the same merged details screen, showing only the Cast and Seerr tabs and loading ratings for them.

Browsing

  • Libraries gained a local search field so you can find something inside a big library without leaving it much easier now.
  • Quick Return was added to the home screen and libraries so pressing the back button on a controller or the floating arrow button on desktop and mobile brings you quickly to the top.
  • Movie and TV libraries gained a lot of new Group By options such as by Decade, Genre, and Parental Rating.
  • Libraries can now be set to scroll horizontally instead of in a grid.

Cinema Mode for Episodes

  • Cinema Mode now works for TV episodes, not just movies.

OLED Mode

  • A new OLED Mode brings true black backgrounds for deeper blacks and richer artwork on OLED screens.

Player Time Labels

  • The progress bar now has six configurable time slots, above and below the bar on the left, center, and right. Each one can show time elapsed, time remaining, the wall clock time the item ends at, or nothing at all, with separate options for the video and music players.

Android TV Launcher Channels

  • Moonfin has improed launcher channels on the Android TV home screen, and their deep links open straight into playback.

Home Rows, Playlists, and Collections

  • Recently Added and Recently Released rows can now merge by type, so one clean row instead of one per library.
  • Playlist and collection home rows gained a Playlist Order sort and a Show Individual Episodes option.
  • Big collections now load in two phases, so the row appears immediately and fills in as you scroll.

Linux on ARM64

  • Linux packages are now built for ARM64.

Update Banner

  • App updates now announce themselves in a timed banner instead of a dialog, and store installed builds skip the banner entirely since the store handles their updates.

Bug Fixes

Playback

  • When the app decides a file must transcode, direct play no longer sneaks back in through a stale request.
  • 10-bit H264 support is now probed against real hardware decoders, so devices stop claiming support they only had in software and playing those files badly.
  • MKV files with a compressed PGS subtitle track play again on Android instead of failing outright, since those tracks are now handed to the subtitle parser that can decompress them.
  • Transcode reasons shown in playback reports now reflect what the server actually decided.
  • Video no longer breaks when the player view is swapped or recreated mid session on Android.
  • Burned in subtitles are detected from the media source instead of guessed from the stream URL, so those streams stop double rendering subtitles.
  • Subtitle and audio choices now persist across episodes reliably, and only the track you actually picked is remembered.
  • A subtitle you turned off stays off instead of being re-shown by mpv.

Windows

  • Windows ships a full libmpv build, so PGS subtitles actually decode instead of rendering nothing.

Apple

  • Apple playback is back on a single engine with real error reporting, so failures surface instead of dying silently, and AetherEngine moved to 6.5.3.
  • Playback is pinned to the engine that owns the TLS handshake, so secure connections stop breaking mid session.
  • macOS now runs one media stack, and its sign in token survives a restart instead of logging you out.
  • The tvOS player OSD customization settings work again.
  • Fixed the macOS media bar crash.

Games

  • Fixed the PSP crash by installing the PPSSPP system files and shutting the core down properly.
  • A game now claims the sound when it starts, so audio does not stay with whatever was playing before.

Home and Library

  • Admin pushed home rows render even when the server address is stamped in a different form than the one you connected with.
  • The library grid loads all its items on large windows instead of stopping short.
  • Hidden libraries stay out of the Rewatch and recommendation rows, and libraries Emby hides from its own views are handed back to Moonfin.
  • Grouped libraries are walked through their folders instead of only the top level, so their contents actually show up.
  • Collections only get flattened when there is an order to apply, keeping their intended sort intact.
  • Folder browsing got a real overhaul, navigation, sorting, pagination, and TV focus all behave now, and folder names and ordering stay intact while browsing.
  • Merged home rows stay off the paging path, so they stop duplicating items while you scroll.
  • Emby chapter markers are read in both formats Emby sends, so intro skip works either way.
  • The media bar moves on when a trailer never starts playing, and rechecks itself when the active row is cleared.

Downloads

  • Android only offers download locations the system will actually accept, so picking a folder no longer fails later.

Network

  • Every server call now carries the Moonfin user agent, in a form browsers accept on web, so reverse proxies and server logs can identify the client properly.

Seerr

  • Search queries with spaces and apostrophes are encoded properly, so those titles return results.

Interface

  • The modern mobile backdrop now runs top to bottom.
  • The browser keeps the mouse thumb buttons on web, so back and forward work like any other site.
  • The modern details tab regained its up navigation, and modern row padding was reworked.
  • The desktop keyring warning only appears when your session actually failed to come back.

Contributors

Huge thanks to everyone who contributed this release:

Translations were updated through Weblate by SCHIZOPHRENE (French), Kisnov (Catalan), wabisabi926 and @gavinzhangth (Simplified Chinese), and idezentas (Turkish). If you want to help translate Moonfin into your language, check out our Weblate project.