Skip to content

Releases: NuvioMedia/NuvioTV

Beta 0.7.6

12 Jun 16:18

Choose a tag to compare

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

09 Jun 19:25
ae7db3b

Choose a tag to compare

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

07 Jun 07:07
05d4a8c

Choose a tag to compare

Fixes regression related to subtitles introduced in previous build

Beta 0.7.3

06 Jun 22:12
717eada

Choose a tag to compare

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

02 Jun 11:03

Choose a tag to compare

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

31 May 07:59
b9c270f

Choose a tag to compare

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

30 May 11:52

Choose a tag to compare

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

25 May 08:50

Choose a tag to compare

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

23 May 08:34

Choose a tag to compare

Improvements & Fixes

  • Improved startup performance and further hardened Continue Watching behavior to prevent cross-profile bleed (@skoruppa)
  • Fixed a px must be > 0 crash 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

20 May 12:49

Choose a tag to compare

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)