Major Milestone: Complete Architectural Overhaul
This release represents a complete rewrite of Reel using the Relm4 reactive UI framework, bringing significant improvements in stability, responsiveness, and maintainability.
🏗️ Key Architectural Changes
Complete Relm4 Migration
- Entire UI layer rewritten using Relm4 reactive components
- AsyncComponents for data-heavy pages with built-in loading states
- Factory patterns for dynamic collections (media grids, episode lists)
- Worker components for isolated background tasks
- MessageBroker system replacing custom EventBus
- Command pattern for structured async operations
Improved Application Structure
- Consolidated UI components in
src/ui/
directory - Unified worker components architecture
- Better separation of concerns with service brokers
- Removed legacy EventBus in favor of Relm4 MessageBroker
✨ New Features
Plex Enhancements
- Plex Home Support: Full multi-profile support with PIN protection
- Profile selection during authentication
- Protected profile support with PIN entry
- Profile switching capabilities
- PlayQueue API Integration: Proper playback tracking
- Continuous episode playback
- Cross-device resume support foundation
- Proper playback state management
- Refactored Plex API: Modular structure (1500 lines → 7 logical modules)
Jellyfin Features
- Quick Connect Support (API complete, UI needs finishing)
- Home sections integration
- Improved metadata extraction including cast/crew
📝 Migration Notes
Breaking Changes
- Database moved to XDG data folder, you'll have to re-authenticate
- UI behaviors may have changed due to complete rewrite
Testing Recommendations
Due to the extensive rewrite, thorough testing is recommended for:
- Jellyfin backend (limited testing during rewrite)
- GStreamer player (known issues, prefer MPV)
🚀 Summary
Version 0.6.0 establishes a solid foundation with the complete Relm4 rewrite. While the application is more stable and responsive overall, this is a beta-quality release suitable for testing and feedback. Several features need completion and some regressions from the rewrite are expected.
Installation
Debian/Ubuntu
wget https://github.com/arsfeld/reel/releases/download/v0.6.0/reel_0.6.0_amd64.deb
sudo dpkg -i reel_0.6.0_amd64.deb
Fedora/RHEL
wget https://github.com/arsfeld/reel/releases/download/v0.6.0/reel-0.6.0-1.x86_64.rpm
sudo rpm -i reel-0.6.0-1.x86_64.rpm
AppImage
wget https://github.com/arsfeld/reel/releases/download/v0.6.0/reel-0.6.0-x86_64.AppImage
chmod +x reel-0.6.0-x86_64.AppImage
./reel-0.6.0-x86_64.AppImage
Build from Source
git clone https://github.com/arsfeld/reel.git
cd reel
nix develop
cargo build --release
Full Changelog: v0.5.0...v0.6.0