Releases: NuvioMedia/NuvioTV
Releases · NuvioMedia/NuvioTV
Beta 0.7.6
Improvements & Fixes
- Fixed torrent and magnet handling by extracting info hashes from torrent and magnet URLs, and improved compatibility with torrent protocol URLs across Debrid and player flows (@halibiram)
- Improved stream badge behavior by preserving badges when Debrid preparation replaces a stream and adding a setting to toggle add-on logo visibility on stream cards (@skoruppa)
- Improved stream card layout by moving size information to the end, hiding unused columns, skipping empty stream descriptions, and fixing stream repository content IDs (@skoruppa)
- Fixed main-thread blocking while loading extractors, improving startup and playback responsiveness (@ajinkyajacob)
- Fixed initial playback source errors by closing connections during preflight probes (@halibiram)
- Improved HLS playback with seamless adaptive track support, dynamic manifest resolution, corrected HUD resolution labels, and bandwidth floor clamping to prevent unnecessary quality drops (@halibiram)
- Added support for zlib-compressed ASS subtitle samples in Matroska playback (@rubinaboobin3-cell)
- Improved catalog and sync behavior with cross-platform catalog order support, shared home catalog settings, and fewer unnecessary migration writes during TV pull (@tapframe)
- Improved Continue Watching reliability by fixing stale entries after deletion, removing cached items after delta deletes, and improving next-up behavior after post-credit scenes (@skoruppa)
- Improved Trakt handling with better guarded responses and add-on ID prefix support when selecting metadata add-ons (@skoruppa)
- Improved artwork fallback by using external add-on artwork when the original item has no logo and TMDB enrichment does not provide one or is disabled (@skoruppa)
- Improved Debrid stream metadata by parsing stream size from text when structured size fields are unavailable (@anikettuli)
- Extended OkHttp read timeout to 60 seconds for slower add-on stream responses (@anikettuli)
- Improved player initialization by always emitting loading message state to ensure UI updates during startup (@skoruppa)
- Fixed Search screen D-pad focus behavior when clearing history (@tapframe)
Localization
- Added Bulgarian locale resources and configuration (@vik)
- Added Danish translations (@argk00)
- Added missing Polish translations (@skoruppa)
- Added French translations for Dolby Vision diagnostics, units, fallbacks, and extracted hardcoded strings (@foXaCe)
- Fixed Bulgarian resource formatting issue (@skoruppa)
Beta 0.7.5
Improvements & Fixes
- Improved sidebar behavior by disabling auto-collapse for the legacy drawer and modern expanded sidebar (@skoruppa)
- Fixed stream badge state preservation when resuming the Stream screen and improved badge matching with deferred, incremental chunked processing and reserved UI space (@skoruppa, @tapframe)
- Improved Continue Watching behavior and localization, including translated next episode labels and better next-up seeding when an episode is over 90% completed (@skoruppa)
- Fixed race conditions and added a simple fade-in for smoother UI transitions (@skoruppa)
- Improved player reliability by resetting parser state on unknown EMBL elements and preventing autoplay from skipping post-credit scenes (@iMakeSoftware, @siriusvoid)
- Improved adaptive playback by selecting the highest available resolution, dynamically updating resolution on size changes, supporting unknown HLS resolutions, and migrating HLS resolution overrides to
DefaultTrackSelector(@halibiram) - Fixed HLS detection and codec handling, including dynamic HLS detection and bypassing strict codec level checks for standard resolutions up to 1080p (@halibiram)
- Fixed Search and Discover detail navigation by passing hero backdrop URLs correctly to the Detail screen (@halibiram)
- Fixed plugin scraper failures on consecutive searches, removed JNI blocking paths, and improved parallel scraper performance with a larger Jsoup document cache (@halibiram)
- Improved QuickJS plugin runtime performance with eager background pre-compilation and staggered delays to reduce thread contention and GC overhead (@halibiram)
- Added Android profiling support through the profileable manifest tag (@halibiram)
- Improved Trakt compatibility by falling back to video ID when the original content ID is not compatible (@skoruppa)
- Added design token refactoring for cleaner and more consistent UI styling (@tapframe)
Localization
- Added Ukrainian locale support and translations (@vb13x)
- Updated Latin American Spanish translations and fixed related translation issues (@omavel, @skoruppa)
- Added missing Polish translations (@skoruppa)
- Added French translations for badge position, Dolby Vision strip mode, and license attributions (@foXaCe)
- Updated Simplified and Traditional Chinese translations (@muichunlim)
Beta 0.7.4 hotfix
Fixes regression related to subtitles introduced in previous build
Beta 0.7.3
Improvements & Fixes
- Improved Dolby Vision handling with support for stripping Dolby Vision metadata from files and streams, including hybrid HDR10+ cases (@DeclanSC)
- Fixed WebView subtitle alignment, centering, and MediaTek Gralloc crash issues (@halibiram)
- Added placement controls and visual polish for stream badges, add-on logos, and IMDb labels (@tapframe, @skoruppa)
- Added auto-play next episode support for external players (@Laskco)
- Fixed Trakt resume position when using external players (@PaulVumon)
- Fixed adaptive stream quality selection (@WhiteGiso)
- Fixed Grid Home focus stealing scroll position on app start (@Laskco)
- Improved Continue Watching behavior for new seasons and stream transitions (@skoruppa)
- Fixed rewatch logic to respect “Up Next From Furthest” (@felipesantiago002)
- Improved compatibility on legacy Android devices by trusting Let’s Encrypt root certificates and fixing the ISRG certificate filename (@webstreamr, @skoruppa)
- Added remaining legal attributions (@tapframe)
Localization
- Added Traditional Chinese support (@muichunlim)
- Added Turkish translations (@halibiram)
- Added and fixed Polish translations (@skoruppa)
- Added Hungarian translation coverage (@aicon)
- Completed Greek localization parity (@nosvasedis)
- Expanded French localization for playback, network, external playback, Debrid, StreamBadge, and Fusion pages (@foXaCe)
- Updated Latin American Spanish localization strings (@omavel)
- Added missing Arabic strings and proofreading updates (@M7-SiN)
Beta 0.7.2
Improvements & Fixes
- Fixed torrent library bundling by enabling legacy packaging so required libraries are not stripped during builds (@tapframe)
- Improved external player support with better launch handling, progress tracking, and related playback refinements (@skoruppa)
- Improved Continue Watching behavior with fixes for stale Next Up items, rewatch support for watched series, and reliable Android TV launcher channel refresh (@skoruppa, @harsh Raj Sardana)
- Improved Nuvio Sync with TV progress delta sync, watched item delta syncing, mutex protection, optimized warm sync, and a longer 15-minute sync interval (@tapframe)
- Reduced unnecessary sync traffic by stopping watch progress pushes on every buffer and removing periodic refresh behavior (@tapframe)
- Added global stream badges and improved stream cache metadata by storing language and year information (@tapframe, @skoruppa)
- Improved stream handling with user agent support, background fetch cancellation, and resume behavior on the Stream screen (@tapframe, @halibiram)
- Fixed local plugins for Kitsu anime streams (@WhiteGiso)
- Improved collection sorting by extending Most Voted and vote count sorting to lists, collections, Discover, and person/director builders (@i4mth3d4ng3r)
- Fixed player stability by restoring background codec-crash recovery deferral and reverting WebView subtitle rendering after issues (@Telkaoss, @skoruppa)
- Added missing skip types from AniSkip and Anime Skip, and improved next-episode confirmation behavior when binge group playback is enabled (@skoruppa)
- Improved Modern Home by allowing more than 25 catalog items to be displayed (@skoruppa)
- Excluded advanced audio/video settings from sync to avoid device-specific setting conflicts (@tapframe)
Localization
- Added remaining Polish translations (@skoruppa)
- Updated Russian translations and removed extra Russian strings not present in the default locale (@igor M, @halibiram)
- Updated additional string resources (@danilopagotto82
Beta 0.7.1
Fix multiple regressions introduced
- Trakt scrobbling - emitScrobbleStart() was commented out in ExoPlayer's onIsPlayingChanged listener
- Libass + DV7 conflict - DolbyVisionExtractorsFactory unconditionally replaced MatroskaExtractor, breaking libass for all MKV content
- Subtitle fetch videoId - buildSubtitleFetchRequest() incorrectly split contentId and reconstructed videoId instead of passing currentVideoId directly
- Stream description truncation - player source side panel still had maxLines/overflow (missed in eb8e839)
- Debrid formatter badge URL import - Gson failed to serialize @serializable StreamBadgeRules correctly, causing web UI to show empty imports and save to wipe data
- Reduced onResume Sync Ineterval Throttling
Beta 0.7.0
Major Beta Update
This build contains substantial changes and is considered experimental. Expect bugs, instability, and potential breaking changes.
Improvements & Fixes
- Added Cloud streaming improvements, including original stream format support, stream badges, and preserving original stream order as a sorting option (@tapframe)
- Improved Debrid playback and Android TV support with better stream presentation, synced Debrid settings, TorBox Instant subtitle fixes, and clearer resolving overlay behavior (@WhiteGiso, @skoruppa)
- Added support for tracking external player progress, including better launch tracking, result handling from the player menu, subtitle support from add-ons, and improved external player overlays (@skoruppa)
- Added watch-state actions across the app, including marking content as watched from all screens, marking series as watched, and fixing movie unmarking behavior (@skoruppa)
- Improved Continue Watching and Trakt reliability by preventing profile leaks, clearing stale progress, refreshing Trakt after home recreation, and ensuring the latest episode is used (@skoruppa)
- Improved Dolby Vision playback support with DV5 MKV color fixes, optional signal-only DV5 codec rewrite, DV7 Profile 7 to 8.1 conversion, and a custom playback buffer engine (@ram130)
- Improved subtitle handling by preventing non-forced subtitles from being selected, remembering user-selected forced subtitle tracks, and supporting add-on subtitles for external players (@skoruppa)
- Moved autoplay trailer settings into layout settings and improved startup hero enrichment timing to avoid empty hero states (@skoruppa)
- Improved stream card and badge rendering by preventing clipping on larger stream cards, removing unnecessary line limits, memoizing stream badges, and moving badge regex work off the main thread (@tapframe)
- Improved sync behavior by updating the periodic sync interval to 30 minutes and hardening related Cloud and Trakt flows (@tapframe, @skoruppa)
- Fixed Android TV dialog input handling by preventing select-key leakage in NuvioDialog and improving RTL horizontal focus scrolling (@halibiram)
- Refined UI and settings behavior with Theme Settings updates, removed deprecated UI components, and gated loading status strings more consistently (@muichunlim, @tapframe)
Localization
- Added Simplified Chinese locale support and exposed Chinese in the UI (@muichunlim)
- Added Italian Debrid translations (@WhiteGiso)
- Updated Latin American Spanish localization and added SPL as Latino Español (@omavel, @skoruppa)
- Added and updated Polish translations, including audio and video strings (@skoruppa)
- Extracted remaining French hardcoded strings and improved localized API handling (@foXaCe)
- Removed duplicate Greek language tag from supported locales (@halibiram)
- Updated additional string resources and translations (@mmsw91, @affcosta7)
Beta 0.6.21
Improvements & Fixes
- Improved Continue Watching and Trakt reliability by fixing regression in progress updates, Trakt scrobbling, and cached backdrop behavior (@skoruppa)
- Fixed stream search hangs and improved M3U8 playback with auto frame rate matching, AFR judder fixes, and duplicate trigger prevention (@halibiram)
- Fixed AniSkip intro/outro detection and updated its query parameter handling (@halibiram)
- Improved playback and navigation polish with better first-dialog handling after CEC long press and smoother add-ons screen D-pad focus behavior (@haaihond, @halibiram)
- Fixed subtitle add-ons by URL-encoding filenames before loading (@skoruppa)
- Improved backdrop stability across home and collection views, including fixes for backdrop changes during semi-fast scrolling (@skoruppa)
- Fixed duplicate keys in ratings and episode ratings lists (@EzzatBoukhary)
- Improved binge group handling by allowing matches in manual mode (@skoruppa)
- Updated baseline profile for improved runtime performance (@tapframe)
- Fixed update prompt button corners, download button focused-disabled border shape, and RTL layout/overflow issues in the P2P consent dialog (@halibiram)
- Improved TMDB and metadata handling with collection backdrop support and more stable backdrop rendering (@skoruppa)
Localization
- Added 34 missing Indonesian translations and updated Indonesian localization for recent features (@luqmanfadlli)
- Consolidated French translations, extracted Debrid settings strings, added cloud library strings, and completed a localization quality audit (@foxace66)
- Updated Polish translations (@skoruppa)
- Synchronized Turkish translations and added missing keys (@halibiram)
- Completed Greek locale parity and polished Greek terminology (@nvasedis)
- Removed an orphaned Indonesian string that caused lint failures (@skoruppa)
This release note was auto-generated.
Beta 0.6.20
Improvements & Fixes
- Improved startup performance and further hardened Continue Watching behavior to prevent cross-profile bleed (@skoruppa)
- Fixed a
px must be > 0crash and improved overall UI stability (@skoruppa) - Added initial cloud service support, QR code generation, and add-on enable/disable flag handling (@tapframe)
- Improved subtitle restore behavior by waiting until add-ons are loaded before restoring add-on subtitles (@skoruppa)
- Persisted binge group selection when playback starts and improved binge group continuity (@skoruppa)
- Updated watch progress completion thresholds, allowing progress from 97–100% and up to 3.5 minutes before the end to count as completed (@nex.moe7)
- Improved playback retry handling by resetting retry budget only after stable playback (@LostInTyping)
- Improved library sync by moving library pulls to a background job and checking whether Nuvio is selected as the active library source (@skoruppa)
- Ensured unaired seasons no longer appear in Continue Watching (@skoruppa)
- Made date formatting thread-safe to improve reliability across background operations (@skoruppa)
- Removed deprecated UI components and cleaned up unused player settings imports (@tapframe, @halibiram)
- Updated string casing and formatting consistency across the app (@CrissZollo, @matush19)
Localization
- Updated Hungarian translations and added missing strings (@aicon)
- Added 416 missing Greek translations (@cursoragent)
- Fixed awkward and incorrect French translations, including more natural sorting phrasing (@foxace66)
- Normalized Arabic resource filename handling for Android compatibility (@harrydbarnes)
- Updated string resources for consistency and localization quality (@CrissZollo, @matush19)
Beta 0.6.19
Improvements & Fixes
- Improved profile-aware sync behavior with profile ID support across watch progress and sync services, preventing cross-profile Continue Watching leaks (@tapframe, @skoruppa)
- Made player settings migrations profile-aware and fixed cold-start migration timing issues that could cause ExoPlayer initialization failures after app updates (@halibiram)
- Improved Debrid playback handling by respecting pre-resolved streams, resolving direct-Debrid streams before playback handoff, and scoping resolve jobs with clearer loading state (@tapframe, @LostInTyping)
- Improved stream auto-selection logic and audio amplification handling through the active player output (@skoruppa, @kernexshadow)
- Stabilized Modern Home hero behavior and fixed hero titles showing Continue Watching content during vertical scrolling (@skoruppa)
- Added relative air date labels for Continue Watching, including today, tomorrow, and upcoming day counts (@guuuilp)
- Added a “Reuse Binge Group” setting and integrated binge group reuse into manual playback rules (@skoruppa)
- Fixed parental guide setting race conditions and improved title fallback behavior when translations are unavailable (@skoruppa)
- Fixed Trakt logo pixelation and improved sync service parameter handling (@tapframe)
- Improved scroll behavior by optimizing and removing the memory-only scroll option (@skoruppa)
- Disabled the forced subtitle flag in ExoPlayer to improve subtitle handling consistency (@skoruppa)
- Ensured Nuvio Sync is always used for sync operations where applicable (@skoruppa)
Localization
- Added Tamil translation (@raghavanmarch2002)
- Added 83 missing Indonesian translations and updated the Indonesian locale (@luqmanfadlli)
- Added Italian translations for various strings (@albyalex96)
- Updated Latin American Spanish translations (@omavel)
- Added and updated German translations, including “Who’s watching?” wording (@mindgam3s)
- Added French translations for binge group reuse, Debrid warnings, Debrid integration, and FFmpeg downmix settings; shortened the French donate button to avoid truncation (@foxace66)
- Fixed Portuguese (Brazil) string formatting and other translation errors (@skoruppa)