Thirteen days of web-ui work lands in one go — 87 commits, roughly half features and half fixes — together with node-selection, seeder and torrent-store updates. DEFAULT_TRACKERS is now shipped in the bundled env template, so the tracker list from v2.0.7 is finally on out of the box.
New
- web-ui: the player now explains itself while you wait. Swarm state is spelled out in plain words — how many peers are connected, what is being pulled, why nothing is playing yet — instead of a bare spinner.
- web-ui: a dead magnet gets its own card describing what happened, replacing the generic "try again".
- web-ui: piece-bar under the status line, and download speed from the swarm on the badge.
- web-ui: one-click Stremio install straight from the profile page.
- web-ui:
.torrentlinks are signed and expire after 6 hours. - web-ui: ASS/SSA subtitles are routed to the converter — the second half of the subtitle work started in v2.0.4.
- web-ui: CLDR plural forms in i18n, so counts read correctly in languages with more than two forms.
- torrent-web-seeder: cold stats —
Statno longer spins up the torrent just to answer; directory stats are aggregated, and warmup runs in torrent order. - torrent-store:
except:allowlist for the direct-block stoplist line. - self-hosted:
DEFAULT_TRACKERSis set inetc/webtor/common.template.envwith the same list production runs.magnet2torrentandtorrent-storealready read the variable, but the template never defined it, so the feature shipped disabled since v2.0.7.
Fixes
- web-ui: 30 fixes across the player, catalog and profile — including fullscreen hiding the cursor while idle and keeping subtitles and embed controls reachable on top of the video.
- torrent-store: non-UTF-8 names in the manifest are sanitized instead of breaking the response.
Internal
- torrent-http-proxy: rendezvous hashing for node and pod selection. This is the counterpart to the rest-api change that shipped in v2.0.8 — both sides now compute placement the same way.
Upgrade
No schema migrations and no configuration changes. Existing .env files keep working; if you already set DEFAULT_TRACKERS yourself, your value still wins over the new default. docker pull ghcr.io/webtor-io/self-hosted:2.0.10.