Skip to content
Stremio Native

Releases & changelog

What changed in each version. Grab the latest from the download page.

Stremio Native (Windows & Linux)

v1.0.4

Latest

Stremio Native v1.0.4

A high-performance native Stremio desktop client with a Slint interface, embedded Rust stream server, and hardware-accelerated libmpv playback.


Release notes

Downloads

Reliable Windows self-updates

  • Stages the downloaded installer first, hands it to the outer application lifecycle, and launches it only after the UI, playback engine, tray, and stream server have shut down.
  • Enables Inno Setup logging and a force-close fallback for older clients that launch Setup before their shutdown completes.
  • Moves fresh native installations to %LOCALAPPDATA%\Programs\stremio-native, avoiding collisions with the official Stremio installation while preserving the registered directory for upgrades.

Native operating-system media controls

  • Adds SMTC on Windows, MPRIS on Linux, and MediaRemote integration on macOS for metadata, playback status, play/pause, seeking, stop, and next-episode commands.
  • Adds a Windows taskbar thumbnail play/pause control and taskbar playback progress, with a stable AppUserModelID for correct application naming and icon resolution.
  • Holds an operating-system sleep inhibitor only while video is playing and releases it on pause, stop, player close, or process shutdown.

Changes since v1.0.3

Features & Enhancements

  • add native media controls and reliable self-updates (a78c19b)

Full comparison: v1.0.3...v1.0.4

View release and all 6 downloads on GitHub

v1.0.3

Stremio Native v1.0.3

A high-performance native Stremio desktop client with a Slint interface, embedded Rust stream server, and hardware-accelerated libmpv playback.

Downloads

Platform Download
Windows installer Download
Windows automatic updater Download
Linux x64 portable Download
Debian / Ubuntu Package Download
Arch Linux Package Download
Fedora / RedHat RPM Package Download
SHA-256 checksums Download

Verify downloads against SHA256SUMS.txt.


Release notes

Browser-style smooth scrolling

  • Retuned Slint's scroll physics to browser values across every scroll surface: a 100px wheel notch (was 60px), a 250ms cubic ease-out per notch (was a 180ms quadratic step), and a 1200px/s² fling deceleration (was 2000px/s²).
  • Added a cubic ease-out simulation matching the Chromium impulse response, integrated incrementally so it composes with ListView's mid-animation viewport corrections instead of fighting them.
  • Kept touchpad gestures tracking the fingers 1:1 by applying the notch scale only to phaseless wheel steps.
  • These live in vendor/i-slint-core; see vendor/i-slint-core/PATCHES.md.

Runtime performance and responsiveness

  • Reused Turso connections and in-process Axum routers, applied connection PRAGMAs once, and moved log retention work off the write path.
  • Removed the fixed 4ms state-projection delay, reused Slint stream models, and reduced image decode allocations and disk-cache syscalls.
  • Shared MPV track state across high-frequency updates, parsed track metadata in one pass, rendered video before Slint composition, and moved shader filesystem preparation off the UI thread.
  • Shortened the stream-row highlight transition and stopped the player buffering timer when playback is idle.

Maintenance and playback polish

  • Updated the Rust dependency set, including Turso, Tokio, mlua, zip, and arboard.
  • Restored player shortcut focus after automatic file transitions and improved native pointer visibility recovery.

Changes since v1.0.2

Performance

  • improve responsiveness and prepare v1.0.3 (76c1b4a)

Maintenance

  • save working tree before smooth scroll plan execution (7b67b5e)

Full comparison: v1.0.2...v1.0.3

View release and all 6 downloads on GitHub

v1.0.2

Stremio Native v1.0.2

A high-performance native Stremio desktop client with a Slint interface, embedded Rust stream server, and hardware-accelerated libmpv playback.

Release notes

Downloads

Skia rendering and video upscalers

  • Replaced the forced FemtoVG/GLES path with Slint's Skia OpenGL renderer and explicit native OpenGL context selection.
  • Added typed OpenGL diagnostics and capability gating so Anime4K and FSR are enabled only on desktop OpenGL 3.3 or newer while ordinary playback remains available on older or embedded contexts.
  • Made MPV shader configuration atomic, preserved Skia's OpenGL state across MPV callbacks, and exposed acknowledged shader availability and status throughout the player and onboarding UI.
  • Added all six Anime4K modes plus AMD FSR with persistent preferences, download/readiness coordination, rejection handling, and safe context recreation.

Native timeline thumbnail previews

  • Replaced the process-per-hover thumbnail draft with a persistent secondary libmpv worker that requires no standalone mpv.exe, IPC socket, temporary image, or PNG decoder.
  • Added prewarming, coalesced keyframe seeks, delayed exact refinement, stale-request protection, rotation handling, tightly packed RGBA readback, and a bounded 16 MiB exact-frame cache.
  • Added aspect-preserving seekbar presentation, loading and timestamp states, immediate settings control, legacy preference migration, and graceful fallback for live, non-seekable, and audio-only sources.
  • Added ThumbFast attribution and the referenced MPL 2.0 source notice.

Onboarding and interface fixes

  • Added the native onboarding flow and playback setup page, including upscaler capability status, hardware acceleration, seek duration, subtitle preferences, release highlights, and onboarding audio.
  • Corrected renderer-dependent layout and hit testing across onboarding, media carousels, overlays, sliders, board cards, player controls, and settings.
  • Reduced redundant image projections and strengthened stale UI update rejection during asynchronous navigation and playback changes.

Windows build and packaging

  • Kept release binaries at the x86-64-v3 baseline while linking native vcpkg libraries statically against the dynamic MSVC CRT expected by rust-skia.
  • Added app-local VC143 runtime staging, dependency verification with dumpbin, and a SHA-256 runtime manifest so installer users do not need a separate redistributable installation.
  • Increased MSVC PDB page size for the large stream-server debug DLL, preventing nondeterministic LNK1318: LIMIT (12) failures without discarding debug symbols.
  • Updated GitHub Actions triplets, caches, artifact staging, and installer inputs for the static-library/dynamic-CRT configuration.

Changes since v1.0.1

Playback

  • add Skia shaders and native timeline previews (70d39bb)

Documentation

  • update README with preview screenshot and app icon (b5e9788)

Full comparison: v1.0.1...v1.0.2

View release and all 6 downloads on GitHub

v1.0.1

Stremio Native v1.0.1

A high-performance native Stremio desktop client with a Slint interface, embedded Rust stream server, and hardware-accelerated libmpv playback.

Downloads

Platform Download
Windows installer Download
Windows automatic updater Download
Linux x64 portable Download
Debian / Ubuntu Package Download
Arch Linux Package Download
Fedora / RedHat RPM Package Download
SHA-256 checksums Download

Verify downloads against SHA256SUMS.txt.


Release notes

Downloads

Packaging and Distribution

  • Added Flatpak infrastructure including desktop entry, appstream metainfo, and a sandboxed Boost compilation module.
  • Added Debian (.deb) package generation.
  • Added Arch Linux (.pkg.tar.zst) package generation using makepkg (optimized to reuse the precompiled Linux binary).
  • Added Fedora (.rpm) package generation using rpmbuild.

Lazy Loading and UI Polish

  • Integrated a lazy-loaded plugin system.
  • Optimized catalog updates in board.rs and search.rs to use in-place updates, preventing scroll-snapping in ListView during lazy loading.
  • Bumped application version to 1.0.1.

Changes since v1.0.0

Features & Enhancements

  • add Flatpak, DEB, Arch, and Fedora packaging configs and update docs (7948d26)
  • align Core catalogs and episode playback (5ffa1e9)

CI & Build

  • disable debug package generation for Arch Linux and match main release pkg (986767c)
  • fix Fedora RPM spec variable expansion, add eager caching, fix dep freshness (5583a14)
  • expand version variable in Fedora RPM spec template (74a5a07)
  • switch release triplet to x64-windows-v3-static-release and document CPU baseline (1803255)
  • move license to [package] for cargo-deb compatibility (0d7164f)

Maintenance

  • sync Cargo.lock with 1.0.1 version bump (e5db855)
  • bump version to 1.0.1 and implement plugin manager & viewport scroll optimizations (a852810)

Full comparison: v1.0.0...v1.0.1

View release and all 6 downloads on GitHub

v1.0.0

Stremio Native v1.0.0

A high-performance native Stremio desktop client with a Slint interface, embedded Rust stream server, and hardware-accelerated libmpv playback.

Downloads

Platform Download
Windows installer Download
Windows automatic updater Download
Linux x64 portable Download
SHA-256 checksums Download

Verify downloads against SHA256SUMS.txt.


Release notes

Desktop lifecycle and startup

  • Projects the persisted model for the active tab synchronously before starting network loads and performs tab-entry projection on Slint's UI thread, preventing an older queued snapshot from replacing newer Continue Watching, Calendar, Library, Discover, Addons, or Settings state.
  • Runs Core sequential effects through a single FIFO executor instead of spawning them concurrently, so an older library/profile storage snapshot cannot commit after a newer snapshot and reappear after restart.
  • Reloads only the bounded initial Board/Search catalog range when first-login profile hydration introduces addon catalogs that Core intentionally leaves unloaded, removing the former full-restart requirement.
  • Invalidates Calendar's cached metadata requests only when its relevant library items or addon catalogs change; unchanged revisits reuse the ready schedule without a network reload.
  • Uses Core's canonical storage-key constants at startup, retains a legacy server_urls read fallback, and maps the legacy JSON filename to the canonical streaming_server_urls database key.
  • Shows the Slint client and starts its event loop before icon lookup, tray/update setup, database initialization, stream-server startup, storage hydration, Core construction, or MPV initialization; the responsive loading UI is now the first startup milestone and reports shell_ready_ms for cold-start profiling.
  • Runs stream-server startup and all independent Core storage reads concurrently after configuration is available.
  • Configures Turso WAL through its row-returning query path, batches the remaining pragmas and schema work, migrates legacy storage in one transaction, and defers log/image-table maintenance beyond the first-frame window.
  • Initializes libmpv's shared OpenGL context from the first available render callback after deferred engine startup and requests that callback explicitly, fixing audio-only playback when Slint's one-time graphics-setup event occurred before MPV was ready.
  • Queues network-backed external subtitles through libmpv's asynchronous command API and cancels outstanding subtitle requests before Stop, keeping the MPV actor free to process Player Back immediately while preserving ordered loadfile/stop semantics.
  • Reprojects a matching ready Core details model immediately on every details entry path, preventing repeat visits to cached titles from waiting forever for a state event Core correctly omits.
  • Keeps details-page Back navigation available during genuine metadata loading so a failed or slow request cannot trap the client on its skeleton state.
  • Removes the tray component by ownership during post-event-loop shutdown instead of changing its finalized visibility property, preventing Slint's Constant property being changed panic on quit.
  • Adds a native system tray with GUI-relevant actions for opening Stremio, Settings, logs, update checks, installation, and quit; closing the window now respects the quit-on-close setting and otherwise hides to the tray.
  • Queues tray-driven show/navigation operations onto Slint's event loop to avoid re-entrant Winit window borrows.
  • Adds single-instance activation plus official stremio: and magnet: deep-link forwarding, with commands queued until Core and playback are ready.
  • Keeps the latest Discord activity pending while IPC is unavailable, retries connection with a bounded 2-to-30-second backoff, and treats media/pause/resume activity changes as reconnect opportunities without blocking the UI.

Native shell and UI polish

  • Uses the official desktop card interaction split: one Discover click selects and loads the metadata preview, a double-click opens full details, and Library retains its one-click details route through the same shared card primitive.
  • Uses the stream-server's exact icon_48.png and app.ico assets for the tray, Slint window, taskbar, executable resources, and Windows installer.
  • Applies the official shell's #15122b Windows caption color with white caption text while keeping the operating system's native title-bar controls.
  • Centers the Stremio navigation mark against the same fixed rail and header tokens used by the sidebar icons at every responsive UI scale.
  • Vertically centers the details stream-row play button in a full-height action slot, including rows whose descriptions wrap.
  • Adds localized tray/update strings, a web-style language selector, application/build/shell versions in their official Settings positions, and shell version 1.0.0.
  • Adds an official-style update notification and installer flow backed by GitHub releases through self_update.

Playback dependency and release system

  • Replaces the tracked static MPV SDK with the pinned optimized x86-64-v3 libmpv-2.dll and COFF import library from the trusted shinchiro GitHub release.
  • Downloads, extracts, SHA-256 verifies, caches, links, and deploys the DLL and pinned licenses directly from the Rust build script; Cargo builds no longer require PowerShell, 7-Zip, or repository-stored media binaries.
  • Resolves dynamic libmpv through pkg-config on Linux, with STREMIO_MPV_DIR retained as an explicit local SDK override.
  • Pins the current Core head plus its flate2 compatibility correction from perpetus/stremio-core, and pins the lifecycle-fixed stream-server revision through remote Git dependencies, so clean CI checkouts do not rely on sibling repositories.
  • Disables stream-server's standalone Windows EXE resource table only when it is embedded, preventing duplicate VERSIONINFO/icon resources while preserving the GUI executable's own 1.0.0 metadata.
  • Preserves only OpenGL state supported by the active context and uses an ES2-compatible RGBA render target, preventing ES3-only libmpv sharing operations from leaking GL_INVALID_ENUM into Slint/FemtoVG on Windows.
  • Adds clean Windows and Linux release jobs. The Windows job also produces the Inno Setup installer and GitHub updater archive.
  • Provisions the optimized static libtorrent 2.0.13 dependency on clean Windows runners through stream-server's pinned vcpkg baseline, overlay, triplet, and GitHub Actions cache.
  • Publishes tagged v* builds automatically after both platforms pass, with updater-compatible assets, the Linux binary, SHA-256 checksums, direct download links, the matching detailed changelog section, categorized commit links, and a full comparison link.

Resource baseline

  • The settled 1.0.0 process measured 358.6 MB private working set and 0.19% five-second CPU, 455.8 MB (56.0%) below the retained 814.4 MB official Stremio WebView2 baseline.

Source

Browse the v1.0.0 source

View release and all 3 downloads on GitHub

Full desktop release history on GitHub

Stremio Mobile (Android)

Full Android release history on GitHub