Moonbase Server Plugin 2.0.0 Release Notes 
Moonbase 2.0.0 is a big one on two fronts. The plugin now runs on Emby servers in addition to Jellyfin, and the bundled Moonfin Web client has been rebuilt with an EXTENSIVE amount of updates.
Features
Emby Support
- Moonbase now ships as an Emby plugin, bringing settings sync, the Seerr proxy, custom rows, and the rest of the plugin's backend to Emby servers. The clients pick up live server events over the Emby websocket.
Active Downloads Dashboard
- A new Active Downloads tab on the plugin dashboard shows every running download with live transcode metrics and who is downloading, and lets admins cancel jobs the same way the server does (#187).
- Transcoded downloads are now also reported as server activity.
Seerr
- Seerr push notifications are here. The plugin provisions webhooks and fans out notifications to your devices, and the Moonfin apps deliver them, so request updates, approvals and denials, issue reports, and added to library notices reach you on Android and iOS as system notifications and in-app banners in other platforms. Approvals can even be handled straight from the notification, and automatic webhook re-provisioning keeps delivery reliable.
- Everything was renamed from Jellyseerr to Seerr and the proxy is more reliable, with proper handling for redirects, reverse proxies, and domains. The old /Moonfin/Jellyseerr endpoint stays alive so existing clients don't break.
Retro Games
- Added a retro games backend, including support for compressed ROM archives and extracting ROMs from them.
- A new games thumbnail endpoint fetches and caches libretro cover art server side, so game libraries get artwork everywhere, including on web.
Home Rows and Lists
- Custom rows gained a server-side cache and proxy endpoints (#174), and the IMDb lists sync task with its cached custom rows API is back (#185).
- MDBList official lists are now cached and synced server side, enriched with TMDB posters.
- The full home layout can now sync as sections (#172), and Recently Released joined the configurable rows while Latest was renamed to Recently Added (#158).
Settings Sync
- Many more settings sync through the plugin now, including detail screen style, detail expanded tabs, hidden items, Show Rating Labels, theme music looping, detailed subheadings, expanded home rows, Seerr home rows, and the media bar trailer option, along with general sync housekeeping and the missing rows filled into the default config (#182, #183).
- Applying settings to users now autosaves (#149).
Server API
- A server-side TMDB studio logo cache with endpoints and a sync task keeps studio logos fast and consistent for every client.
- New collection order endpoints let clients persist a per-user custom order for a collection's items.
- Added a library write-access check endpoint (#168), moved Jellyfin connections to the ApiKey parameter for Jellyfin 12 compatibility, and directory index requests now redirect properly.
Moonfin Web
The bundled web client picks up everything that landed in the Moonfin-Core repo since 2.1.0. The highlights:
- The new Modern details screen style, with configurable tabs, a Show Technical Details option, special features and extras, collections on detail pages, TMDb episode rating pills, and studio logos pulled from the plugin's server-side cache. Clicking a studio opens a global library of that studio's items.
- Fully custom home rows, with external sources like IMDb lists, MDBList, and TMDB charts, new core rows like Recently Released and more Since You Watched types, animated row reordering, and settings screens that sort enabled rows to the top.
- A Seerr overhaul. Seerr now signs in through the plugin's SSO so the app no longer stores a Seerr URL or API key, and gains a requests screen with collections, issue reporting, request quotas, download progress on requests and detail pages, a Crew Contributions row, and sorting and filters on people pages.
- A full admin panel makeover, with restyled screens, a dashboard running tasks widget, library settings pages, expanded Live TV tuner, provider, and recording options, a user editor exposing parental controls, per-device access, and lockout options, more networking and transcoding fields, metadata Identify, branding splashscreen upload, a severity filter on the activity log, and bulk device deletion.
- Themes grew a Theme Store, the Glass theme was unified into liquid, frost, sheen, and solid tiers with a quality setting, a new 8-Bit Hero theme landed, and navbar icons can cycle through your theme's accent colors.
- TV Mode now works on the web UI, alongside universal UI scaling, an artwork selector on long press or secondary click, and smarter genre artwork with a context action to change it.
- Music and books both got real attention, with an updated music library and player UI, favorites as real tabs backed by actual library browsing, a navbar embedded mini player, a redesigned book library, an ebook reader that handles MOBI, AZW, AZW3, and KF8, EPUB image rendering, and a refined audiobook UI.
- Search gained an All tab with segmented styling, better scoping of results, and the Seerr tab placed before All.
- Settings are now scoped per user account and were reorganized under clear section headers with a Personalization group.
- Playback improvements include hardened track switching during transcoding, a subtitle preference refactor with smarter SDH prioritization, explicit maximum audio channels and fallback codec settings, an Advanced Playback menu on details pages, Next Up carrying between seasons, and accurate play method labels.
- Live TV got an updated EPG with lazy loaded guide data, remux support, and expanded playback handling.
- Performance improved across the board, with much faster opening and browsing of large libraries, home screen performance passes, fewer redundant rebuilds on detail screens, and media bar trailers reusing one player layer instead of rebuilding it per slide.
Bug Fixes
Plugin
- Empty API keys sent by old clients no longer wipe stored keys during a settings merge.
- Fixed Seerr session cookie detection and a build manifest corruption bug (#184).
- Fixed Linux embedded-resource naming and added packaging verification so broken bundles get caught at build time.
- Fixed the null user list when overwriting all user profiles (#163).
- Fixed the Rotten Tomatoes Audience rating source mismatch (#148).
- Fixed the manifest.json structure (#176).
Moonfin Web
- Media bar YouTube trailers on web now respect the preview audio setting instead of always staying muted.
- Fixed the grey screen navigation crash in the web client.
- Fixed trickplay previews showing neighbouring tiles, infinite loading loops in paginated lists and grids, and horizontal row pagination when using touch or a trackpad.
- Overview text now strips formatting tags properly and keeps characters like ampersands and apostrophes intact.
- Emby fixes: Emby Connect login crashes, integer ID cast crashes, resuming a TV item no longer resets its progress, and the Latest Items issue.
- Fixed Live TV playback, routing, and search across both Jellyfin and Emby, and live stream paths now rebase to the connected base URL so reverse proxies work.
- Fixed HTTP 500 errors on transcoded streams by emitting one canonical audio stream index.
- Track selection now resolves to real player ids, fixing playback errors when switching tracks during transcoding, along with series language overrides.
- Fixed external subtitles playing the wrong language and improved subtitle prioritization when SDH is off.
- Rating source casing is now normalized during plugin sync so rating labels stay consistent across devices.
- Connections now use the ApiKey query parameter on Jellyfin, since Jellyfin 12 removes legacy auth.
- The app now respects your 24-hour clock preference throughout and seeds the clock format from your system locale.
- Fixed Auto-Logon Current User behavior and stopped re-requesting access denied libraries.
- Seerr fixes: people found in search route to their person details screen, and the play button links through the Jellyfin id from Seerr.
- Next Up fixes: the countdown no longer runs fast on scaled animation settings, the minimal and disabled display settings work, and Cinema Mode intros no longer advance when autoplay is off.
- Localization fixes for hyphenated locale files and missing labels in regional locales.
- Collections keep their native order instead of forcing sort by name, with a per-user custom order persisted through the plugin.
- Theme and focus fixes across Neon Pulse and the sidebar, so focused text, buttons, and toggles stay readable.
Contributors
Thanks to everyone who contributed to the plugin and web changes in this release:
- @mattsigal
- @jmawet
- @AciDCooL
- @Ryuiku
- @matschi95
- @broken-droid
- @brendongl
- @Brady3035
- @d-alonso
- @LaurinSorgend
- @Generator
- @Morasby
- @john5du
Thanks as well to the Weblate translators who keep Moonfin localized.