Repository navigation
Releases: antlis/UnbloatedTube
Releases · antlis/UnbloatedTube
Release list
UnbloatedTube 0.43.3
Added
- Sign in again in Settings → Account, next to Try again when the login has failed: it drops
the app's own copies of the login and opens YouTube's sign-in page in the browser the login is
read from (the system's default when that can't be told, such as a Firefox profile by path).
Sign in there, then press Try again. A hint under the buttons says how to clear a browser's
youtube.com and google.com cookies when signing in keeps failing; the app can't clear a
browser's cookies itself.
UnbloatedTube 0.43.2
Fixed
- A login YouTube no longer accepts is now recognised and explained. When the cookies the app
reads from your browser have been rotated or signed out, YouTube still answers, as for a
signed-out visitor: lists came back empty (so subscriptions, playlists or history seemed to
vanish) and Like, Save and the like failed with a bare "YouTube refused (401)". Now those
requests fail with "YouTube no longer accepts your saved login. Open youtube.com in your browser
(log in again if it asks), then press Try again in Settings → Account", the Settings page shows
the failed step, and yt-dlp's "cookies are no longer
valid" gets the same message. Public pages (videos, channels, search) are unaffected. - A running app tries what restarting did. The cookies were read once at start and kept for
the whole run, so once YouTube rotated them the lists and Like kept using dead ones until you
restarted. When YouTube now refuses the login, the app re-reads the browser's cookies itself,
once, for the lists and the actions alike (before, only cookies kept from an earlier start
were re-read, and Like refreshed only its own copy).
UnbloatedTube 0.43.1
Fixed
- Next (the key, the player's button), autoplay and the lookup ahead of the next video
play what they did before 0.43.0 again: Up next first, then the next video of the list the
video came from. 0.43.0's refactor had changed that to the back / forward history, so Next did
nothing in a list.
Changed
- Code structure, no behaviour change:
main.rs(9000 lines) is split intoapp/(the state
and one file per feature,app/view/for the drawing),ui/(theme, tables, widgets),backend/
(no GPUI) andplatform/, which now holds all the OS-specific code (sockets, process control,
private files and locks, opening links, X11, MPRIS).libc,x11rbandzbusare
target-gated inCargo.toml. This replaces 0.43.0's partial split, which left duplicate copies
of the UI helpers behind.
UnbloatedTube 0.43.0
Changed
- Code refactoring: extracted UI components and navigation logic into separate modules
src/ui/components.rs: Caret, edit_text, clear_failed, looks_like_login_error, session_hint, tab_button, live_badge, chipsrc/ui/render.rs: skeleton_thumb, skeleton_line, skeleton_group, spinner (fixed animation)src/ui/hints.rs: HintReg, hint_label_list, hint_labels, OnClickHinted traitsrc/nav.rs: next_video, nav_neighbor, nav_push, resume_pos, prefetch_next, play_next, enqueue_all, enqueue, dequeue
Fixed
- Text selection was broken after the initial drag: releasing the mouse button didn't stop
the selection from growing on subsequent mouse moves. The rooton_mouse_downhandler
consumed thetext_pressflag meant to track whether a drag was in progress. - Videos with stale stream URLs in the prefetch cache (403 Forbidden) now automatically
clear the cache and retry. Previously they showed 0:00 duration and wouldn't play.
Changed
- Prefetch TTL reduced from 1 hour to 20 minutes, avoiding most 403s from expired
stream URLs. - mpv error handling detects HTTP 403 (and other errors) from stale cached URLs and
automatically clears the cache and retries, without waiting for a stall.
UnbloatedTube 0.42.0
0.42.0 - 2026-10-14
Added
- Per-video quality: pick a quality for a video and it's remembered across restarts
(Settings → Quality or right-click video → Quality).
Fixed
- Text selection was broken after the initial drag: releasing the mouse button didn't stop
the selection from growing on subsequent mouse moves. The rooton_mouse_downhandler
consumed thetext_pressflag meant to track whether a drag was in progress. - Videos with stale stream URLs in the prefetch cache (403 Forbidden) now automatically
clear the cache and retry. Previously they showed 0:00 duration and wouldn't play.
Changed
- Prefetch TTL reduced from 1 hour to 20 minutes, avoiding most 403s from expired
stream URLs. - mpv error handling detects HTTP 403 (and other errors) from stale cached URLs and
automatically clears the cache and retries, without waiting for a stall.
UnbloatedTube 0.41.1
Three improvements: 1. Prefetch TTL: 1h → 20min (avoids most 403s from expired stream URLs) 2. Per-video quality persistence: saved in settings.json, applied on play 3. mpv error handling: detects HTTP 403 in mpv's error property, auto-retries CHANGELOG updated under Unreleased.
UnbloatedTube 0.41.0
Added
-
Settings → Network, for where YouTube is blocked or slowed down:
- Bypass slowdown: one switch, nothing to install. The first packet of each connection
goes out split, so filters that slow YouTube down by recognising it in the traffic (as in
Russia) let it through at full speed. Three methods, as providers differ; TLS split, the
default, is the one that got through on a Russian provider in testing. Connections try IPv4
first (IPv6 to YouTube goes nowhere on some networks). - Proxy: everything through Tor, ByeDPI, a V2Ray/Xray/VPN client's local port or any
SOCKS5/HTTP proxy, with presets for Tor and ByeDPI. - Test connection checks that YouTube answers and how fast, or says what failed, within 12 s.
Lists, thumbnails, yt-dlp and the video stream all follow it, over OpenSSL (on a Russian
network, filters stopped mpv's and the app's other TLS even when split); cast receivers on your
network stay direct. - Bypass slowdown: one switch, nothing to install. The first packet of each connection
UnbloatedTube 0.40.1
Fixed
- Subtitles YouTube refuses with HTTP 429 (it limits caption requests, often only for a moment)
are asked for once more a few seconds later, which usually gets them. If that fails too, the
message says YouTube is limiting caption requests and to try again in a minute, instead of
"signing in helps", which was wrong when you were signed in (still said when you're not).
UnbloatedTube 0.40.0
Added
- Play in separate window (right click on a video): plays it in an mpv window of its own,
from where you left it, while the app's player keeps going. mpv's own controls; the same
quality, login and SponsorBlock settings; it closes with the app.
UnbloatedTube 0.39.1
Fixed
- Shorts from your YouTube history had no channel: playing one now looks it up (from the
same request as the like and subscribe buttons), so the channel button shows under it, and its
row in History names the channel from then on.