Welcome to Moonfin 2.0.0 - The Complete Rewrite 
First off, thank you for your patience! I know it's been over a month since 1.0.0, and I apologize for the wait. But I promise it was worth it.
Why 2.0.0?
This isn't just an update, it's a complete rewrite from the ground up.
The Old Way (1.0.0)
The original Moonfin was built with vanilla HTML, CSS, and JavaScript. While functional, this approach had limitations:
- Manual DOM manipulation for every UI update
- Custom-built navigation system that didn't always play nice with the remote
- Styling inconsistencies across different webOS versions
- Each new feature required significant boilerplate code
- No component reusability which caused lots of copy-paste
- One-size-fits-all playback that didn't take advantage of your TV's capabilities
The New Way (2.0.0)
We've rebuilt everything using Enact, LG's official React-based framework specifically designed for webOS TVs. Here's what that means:
For Users:
- Smoother Performance - React's virtual DOM means efficient updates without the jank
- Better Remote Navigation - Enact's Spotlight system provides proper D-pad focus management out of the box. No more lost focus or weird navigation jumps
- Consistent UI - Sandstone components are designed for TV viewing distances and look native on your LG TV
- Faster Load Times - Optimized bundling and code splitting
- Reliable State Management - The app remembers where you were and what you were doing
For Development:
- Component-Based Architecture - Reusable UI pieces mean fewer bugs and faster feature development
- Modern Tooling - Hot reloading, better debugging, proper build pipeline
- LG's Official Framework - We're building on top of battle-tested code designed for exactly this use case
- Cleaner Codebase - From scattered scripts to organized, maintainable code
- Faster Iteration - New features that would have taken days now take hours
The bottom line: this foundation lets us ship updates faster and with more confidence. The hard work is done—now we can focus on features.
What's New
Smart Playback Engine
One of the biggest under-the-hood improvements. I completely rethought how Moonfin handles video playback:
- Per-webOS-Version Codec Profiles - Your TV now reports exactly what it can play natively. Whether you're on webOS 3, 4, 5, 6, or newer, Moonfin tells Jellyfin precisely which codecs, resolutions, and audio formats your specific TV supports
- Native webOS Video APIs - We now use LG's native video playback APIs instead of relying solely on HTML5 video. This means better performance, proper HDR support, and smoother playback
- HLS Fallback - When direct play isn't possible, we gracefully fall back to HLS streaming. Your content plays no matter what, with less transcoding load on your server
- Less Server Transcoding - Which brings us to this point, by accurately reporting your TV's capabilities, Jellyfin can direct play more content instead of wasting CPU cycles transcoding files your TV could already handle
The result? More direct play, less buffering, better quality, and a happier Jellyfin server.
Multi-Server Support
- Connect to multiple Jellyfin servers simultaneously
- Unified Library Mode - Browse content from all your servers in a single view
- Seamless cross-server playback
Jellyseerr Integration (Out of Beta! 🎊)
- Full Jellyseerr support
- Huge overhaul to Jellyseerr with proper media type and availability badges
- Browse trending and popular content
- Request movies and TV shows directly from your TV
- View and manage your requests
Improved Player
- Trickplay preview support (thumbnail scrubbing, if enabled on your server)
- Better subtitle handling
- Enhanced playback controls
Live TV & Recordings
- Browse and watch Live TV channels (if configured on your server)
- Access your recordings
Other Improvements
- Favorites view
- Vastly updated Genre browsing
- Person/actor details
- Update notifications (you're seeing this because of it!)
- Better error handling throughout
Upgrading
Simply install this version over 1.0.0. Your server connections and settings will be preserved.
Installation
- Download the IPK file below
- Enable Developer Mode on your LG TV
- Use ares-cli to install:
ares-install -d tv org.moonfin.webos_2.0.0_all.ipk
Looking Forward
With this solid foundation in place, I can now iterate much faster. Expect more frequent updates with new features and improvements. Thank you for being part of the Moonfin community!