Skip to content

Releases

NuvioWeb v0.2.1

Choose a tag to compare

@alphasquare404 alphasquare404 released this 04 Nov 17:10
b521204

New

  • Remux in the internal player — repackage compatible streams without re-encoding the video. Client mode uses Mediabunny on your device; server mode uses FFmpeg when enabled by your host.
  • Server audio transcoding — convert unsupported audio while copying the video, when the host enables this capability.
  • Redesigned player — refreshed controls, responsive episode and stream panels, subtitle language filters and appearance controls, and improved loading and pause screens.
  • Audio and subtitle tracks — discover and select supported built-in tracks, including through the internal player's processing routes when the browser cannot expose them directly.
  • AirPlay — send the original source URL from the player's More panel on supported devices.
  • Updated onboarding — introduce v0.2.1 to existing users with Keep my settings and Review my settings, while retaining their player and offline sync choices. Available features follow the host's capabilities.
  • Settings improvements — responsive topic panels, custom accent colors, and copy buttons for tracking-provider device codes.

Fix

  • Autoplay now respects the external-player preference when URL preparation or handoff fails: it tries another eligible stream instead of silently opening the internal player.
  • Improved autoplay source filtering, waiting for selected addons, and reuse of sources that actually started playback.
  • Improved Continue Watching updates and preparation of Next Up before leaving a completed episode.
  • Fixed collections failing to open above Home, touch selection on media cards, and stream context menus after returning to the stream page.
  • Improved player safe areas, mobile orientation, panel dropdowns, seeking feedback, playback transitions, and error controls.
  • Downloads started from the stream page now enrich their saved metadata without requiring a prior visit to Detail.
  • Fixed rounded settings icons on tablets and refined layouts across desktop, tablet, and mobile.

Change

  • Stream processing labels and filters use filename estimates, with Direct, Remux, Transcoding, and Unknown states. Actual playback support depends on the source, device, and enabled processing routes.
  • Increased client remux buffering limits to 50 seconds and 100 MiB, and removed temporary loading/buffer diagnostics.
  • Bundled and verified FFmpeg for supported server deployments, with host configuration and capability checks controlling what the app offers.

Current limitations

  • Client remux does not transcode codecs: the device must support the original video and audio formats.
  • Server audio transcoding does not provide full video transcoding.
  • CORS restrictions can prevent browser playback, client processing, and downloads. Read More.
  • AirPlay uses the original source; playback compatibility depends on the receiving device. Failures occurring after an external player accepts a URL cannot be detected by NuvioWeb.

Validation: 1,822 automated tests passed; production build passed. The external-player autoplay fix was also tested by the maintainer in the iOS PWA.

Version: 0.2.1
Based on Nuvio: 0.3.35

Full changelog: v0.1.6...v0.2.1

NuvioWeb v0.1.6

Choose a tag to compare

@alphasquare404 alphasquare404 released this 19 Oct 12:52
8a2c2fe

NuvioWeb v0.1.6

What’s new since v0.1.5

  • Overall UI polish — smoother transitions, cleaner spacing, better safe-area handling, and more consistent visuals across screens.
  • Settings rebuilt — separate index and section pages, each with its own route and Back behavior. Headings now stay useful while scrolling, including on mobile and tablet.
  • Navigation options — choose a floating bar or a side rail. The floating bar follows the device: top on desktop, bottom on phone. Rail corners and tablet layouts are now respected.
  • New mobile headings — Detail, Discover, Catalog, Collection, Stream, Cast, Collection editors, and Debug Console now have proper mobile headings with safe-area support.
  • Detail improvements — stacked Detail pages keep their previous scroll position, hero-aware headings, artwork and ratings settle behind a skeleton, and Network cards now use a white surface.
  • Collection fixes — rows folders no longer show tab rails; collection and folder headings are consistent.
  • Home hero polish — artwork loads correctly when TMDB enhancement is enabled, properly sized for phone portrait and landscape, with faster hero plates, preloaded next heroes, cleaner metadata, and better title/synopsis handling.
  • Reliability — fixed a Back-navigation race that could return to an older page, fixed first-open PWA updates, restored clean per-screen scrolling, and made the bottom bar expand/collapse smoothly.

Version: 0.1.6
Based on Nuvio: 0.3.35

Full changelog: v0.1.5...v0.1.6

NuvioWeb v0.1.5

Choose a tag to compare

@alphasquare404 alphasquare404 released this 09 Oct 15:20
9fa2ae4

NuvioWeb v0.1.5

Continue Watching was hiding most of itself under Trakt, "TB Instant" streams
ignored the external player setting, and the stream list has been redesigned.

New

  • The stream list has a header and a card that reads downward. The header
    says what the list is and what is happening inside it, with the source filter
    and refresh in it. A card reads top to bottom: what the source is, then what
    it is doing, then where it came from and what can be done about it. A download
    now says Downloading · 1.2 GB of 6.49 GB with the figure on a dial, rather
    than a bare percentage among the buttons. Every button it had is the same
    button in a new place.
  • On a phone the backdrop stops at the divider under the header, and the page
    can no longer be dragged sideways.

Fixes

  • Continue Watching showed a handful of titles under Trakt. A 300-record cap
    was applied before deduplication, so finished history — which can never become
    a card — spent the whole budget and evicted the paused titles underneath it.
    Measured on one account: 318 records in, 300 kept, and the 18 dropped were
    exactly the 18 paused ones. 3 cards became 15. More history no longer means
    fewer cards.
  • "TB Instant" streams ignored the external player setting. A stream Nuvio
    resolves itself has no link until the provider is asked for one, and that ask
    lived inside the internal player — so the external route had nothing to hand
    over and fell back every time. It now asks first. A magnet is no longer handed
    to a player that cannot fetch one.
  • Scrolling the stream list during a download did not stay put. Every render
    re-revealed the focused card, and a download renders several times a second.
  • The stream list flickered while it filled. The screen wrote its entire
    markup again whenever anything changed — seven full rewrites while opening one
    title. Only what changed is written now, and a scroll in progress survives it.
  • Dragging a card to reorder it moved it one place and then stopped. The
    handle holds the pointer and lives inside the row being dragged, and a node
    leaving the document loses that hold, so the first reorder killed the gesture
    that caused it. On a touchscreen the page scrolled instead. One drag now
    carries a card as far as it is taken, rows slide rather than jump, holding a
    row near the edge scrolls the list, and a redraw can no longer destroy the card
    under your finger.
  • Trakt's own wait time was being discarded. When Trakt says how long to
    wait, the app now passes it through instead of guessing.

For self-hosting

  • TMDB_API_KEY and TV_LOGIN_WEB_BASE_URL are now documented in
    .env.example, docs/environment.md and docker-compose.yml. Both were read
    by the app and appeared in none of them — leaving TMDB_API_KEY empty makes
    every user supply a key of their own, which was not discoverable.

NuvioWeb v0.1.4

Choose a tag to compare

@alphasquare404 alphasquare404 released this 09 Oct 15:14
55a1489

NuvioWeb v0.1.4

Trakt sign-in works for the first time, installed apps take new builds again,
and auto stream selection no longer shows the screens it exists to skip.

New

  • A second way back from an external player. A Shortcuts Automation opens
    NuvioWeb when the player closes, needing nothing installed or configured on
    the server. Quick Setup asks how you want to come back and starts with no
    answer rather than a guessed one.

Fixes

  • Auto stream selection showed the screens it exists to skip. Selection ran
    on the stream screen, so the picker stayed up for the whole fetch, and
    Continue Watching painted the Detail page before replacing it. All three steps
    now paint one waiting screen. Which stream wins is unchanged.
  • Trakt authorization could never have worked. The bridge required a client
    secret Trakt no longer issues, requests reached Cloudflare with no User-Agent
    and came back 403, and the dev server never mounted the bridge — so neither
    fault could be found outside a container.
  • An installed app stopped taking new builds. The service worker filled each
    new cache through the browser's HTTP cache, so a new build's cache filled with
    week-old bytes.
  • A failed stream said nothing at all — no error, no reason, no offer of
    another source. The player's error handler threw before it could render, and
    silently.
  • Changing the Library Source threw after saving it. The value persisted,
    the confirmation never came, and five screens went on showing the old source.

For self-hosting

  • TRAKT_CLIENT_SECRET is no longer required. Trakt stopped issuing one to
    applications that sign users in, so an application created today never has
    one. It is sent when it exists and left out when it does not, so an existing
    deployment keeps behaving exactly as it did.
  • The Trakt bridge is mounted by npm run serve, so sign-in can be exercised
    without building a container.

Internal

  • npm run lint covered thirty files out of three hundred, and services/**,
    sw.js and boot-guard.js matched no configuration entry at all — not
    lightly linted, never linted. It now runs against the repository.
  • Two of the bugs above were no-undef, which lint reports in under a second,
    and a third lived in the directory with no rules. Thirty-six problems were
    cleared to get there.

NuvioWeb v0.1.3

Choose a tag to compare

@alphasquare404 alphasquare404 released this 03 Oct 06:41
d5b772c

NuvioWeb v0.1.3

Patch release focused on watch progress agreeing across devices, and on screens
showing what actually changed while you were away.

Improvements

  • Watch progress now settles on whatever you watched most recently, whether that moves the position forward or back — restarting a title from an earlier point finally sticks
  • A title finished with no network now reaches your other devices once the network returns
  • An episode un-marked on one device no longer comes back from another
  • The full watched history is read rather than stopping at 2000 titles, so large libraries no longer show watched episodes as unwatched
  • Returning with Back now refreshes the Detail and Library screens instead of showing what they held before you left
  • "Mark season as unwatched" now takes effect immediately
  • Under Simkl, the Add to Library button reports the right state for titles you marked as watching or completed — not only for ones added from Nuvio — and responds instantly instead of waiting for Simkl to answer
  • Removing a title from a Detail page now updates the Library list straight away
  • A finished film now returns to its Detail page the way a finished episode does
  • Signing out no longer leaves the previous account's torrent and upload settings behind
  • Updated the in-app version display to 0.1.3

Changed defaults

Two behaviours changed for existing installs.

Recording progress for downloads is now off by default. Carrying viewing
recorded with no network up to your account and tracking services is the least
dependable part of sync, so it is now a choice rather than something that
happens to you. While it is off, watching a download records nothing at all —
not a position, not a completion, and nothing reaches Trakt or Simkl. Turn it on
in Settings › Downloads, or during Quick Setup.

Signing out now clears torrent settings. Two of those switches decide
whether the machine uploads, and keeping them handed the next person to sign in
a setting that was not theirs. Set your p2p preference again after signing back
in.

Known limits

With Simkl selected as your watch progress source, Nuvio's own sync is switched
off and Simkl decides between devices. Simkl records the moment a report reaches
it rather than the moment you watched, so a session watched offline and sent
hours later is treated as the newer one. Its API accepts a progress percentage
and no timestamp, so this cannot be resolved from NuvioWeb. Both the Quick Setup
step and the Settings entry say so.

A completed title cannot be removed from a Simkl library with the quick button,
because Simkl refuses to drop a status that carries watched history. Pressing it
now opens the status list, where that removal can be confirmed deliberately.

Self-hosting upgrade

For installations using the recommended stable Docker channel:

docker compose pull
docker compose up -d

NuvioWeb v0.1.2

Choose a tag to compare

@alphasquare404 alphasquare404 released this 12 Sep 02:01

NuvioWeb v0.1.2

Patch release focused on interface polish and offline reliability.

Improvements

  • Fixed Home poster alignment on small screens when titles wrap to two lines
  • Improved Search → See All with a compact responsive Library-style poster grid
  • Added proper mouse and touch interaction to See All results
  • Added desktop hover previews and media actions to See All
  • Added a browser/PWA Back button to See All with Search state restoration
  • Fixed fresh offline startup for previously authenticated users with cached local state
  • Updated the in-app version display to 0.1.2

Offline startup

NuvioWeb can now start while offline when a previously authenticated local session and trusted cached account identity are available.

Authentication rejection and server-side auth errors remain authoritative; the offline fallback is limited to transient network failures.

Self-hosting upgrade

For installations using the recommended stable Docker channel:

docker compose pull
docker compose up -d

NuvioWeb v0.1.1

Choose a tag to compare

@alphasquare404 alphasquare404 released this 11 Sep 21:28

NuvioWeb v0.1.1

Patch release focused on easier and more predictable self-hosting.

Self-hosting improvements

  • Added stable, nightly, and latest Docker release channels
  • Docker Compose now defaults to the recommended stable channel
  • Added beginner-friendly Docker Quick Deploy instructions
  • Added .env.example
  • Added environment configuration documentation
  • Documented hosted-backend and self-hosted-backend configuration
  • Kept the desktop image tag as a temporary compatibility alias

Docker channels

  • stable — latest official release; recommended for most users
  • nightly — latest development build from the web branch
  • latest — most recently published build of any kind
  • 0.1.1 — immutable pinned release
  • desktop — temporary compatibility alias

Upgrade

For stable deployments:

docker compose pull
docker compose up -d

NuvioWeb is an independent community fork and is not affiliated with or
endorsed by NuvioMedia.

NuvioWeb v0.1.0

Choose a tag to compare

@alphasquare404 alphasquare404 released this 11 Sep 16:07

NuvioWeb v0.1.0

First public release of NuvioWeb, an independent browser/PWA-focused fork of Nuvio.

Highlights

  • Browser and PWA focused experience
  • Desktop and mobile responsive interface
  • Stremio-compatible addon support
  • TorBox connected-service integration
  • Premiumize device-code authentication foundation
  • Direct Debrid stream resolution and presentation
  • Account and profile data isolation
  • Trakt and SIMKL integration support
  • Cloud Library and download support
  • Picture-in-Picture support for browser/PWA playback
  • Improved mobile home and player interactions
  • Docker-based self-hosting

Docker

The recommended pinned release image tag is:

0.1.0

Available image aliases also include:

  • latest
  • web
  • desktop (compatibility)
  • SHA-specific tags

The Docker Compose configuration included with this release is pinned to 0.1.0.

Project branches

  • web — canonical browser/PWA development branch
  • main — preserved upstream/original Nuvio line
  • desktop — compatibility branch

Notes

NuvioWeb is an independent community fork and is not affiliated with or endorsed by NuvioMedia.

Originally based on Nuvio 0.3.35.

Licensed under GPL-3.0.