• v5.5.2 996d581a07

    5.5.2 Stable

    Homer released this 2026-08-08 23:38:07 +00:00 | 0 commits to main since this release

    SageTube 5.5.2

    The account feed loaded but never appeared. Pressing Refresh in
    "YouTube account (cookies)" mode fetched the feed and said so -- "60 videos in
    feed" -- while the page showed "No subscriptions yet" and nothing else.

    The empty-state hint hides the video grid so it can sit centred on the page.
    Every path that fills the grid re-checks that afterwards and shows it again,
    except the account one, so the grid stayed hidden from startup regardless of
    what was loaded into it. Only signed-in users saw this; the local feed was
    unaffected.

    Also: the empty-state text was written for local subscriptions and made no
    sense in account mode, and the Subscriptions panel is now hidden there rather
    than sitting empty beside a full feed.
    -----BEGIN SSH SIGNATURE-----
    U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgzKdqMXKfj8DtmdSWGF3dgqaPwy
    gjckxXPr00Hj1Q7OgAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
    AAAAQHTmcWE9ShYN2w+hwMkcEIMLcyx0WjddRG0EUDyZrtJZ2Xbgfqeescw5ylqMi6EANO
    7pXOV6O+HiYfamS09I9gQ=
    -----END SSH SIGNATURE-----

    Downloads
  • v5.5.1 ba05a4a7ef

    5.5.1 Stable

    Homer released this 2026-08-08 23:33:19 +00:00 | 1 commits to main since this release

    SageTube 5.5.1

    Two regressions from 5.5.0.

    The app could start fullscreen with no way out. Fullscreen became a state
    of the main window in 5.5.0 -- which is what stopped it destroying the
    player's OpenGL context -- but the window geometry is saved on exit and
    restored on start, so quitting while fullscreen brought the app back
    fullscreen: no title bar, no close button, and nothing bound to leave it,
    since the player's own F and Escape only work while the player has focus.
    Fullscreen is no longer restored at startup, it is left before the geometry is
    saved, and F11 toggles fullscreen and Escape leaves it from anywhere in the
    window.

    "Sign in with cookies" and the account button did nothing. Both open the
    cookie dialog on its Cookies tab, which meant selecting that tab by index --
    and the dialog's tab widget, despite standing in for a QTabWidget, implemented
    only the fork's own spelling of that method. The call raised and the dialog
    never appeared. That line had never run before 5.5.0 wired those buttons up.
    -----BEGIN SSH SIGNATURE-----
    U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgzKdqMXKfj8DtmdSWGF3dgqaPwy
    gjckxXPr00Hj1Q7OgAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
    AAAAQGlrEONoABKVwFavQXfSq8ce/BAEL9Tsl99UyT8xQ/q7In6B2CInP+go5QzsCkp4gJ
    jadK4b9jdh4MmNX4dbhQU=
    -----END SSH SIGNATURE-----

    Downloads
  • v5.5.0 b07a56082a

    5.5.0 Stable

    Homer released this 2026-08-08 23:22:39 +00:00 | 2 commits to main since this release

    SageTube 5.5.0

    A watch-first desktop YouTube client with an embedded mpv player.

    This release is mostly about things that were quietly wrong.

    It checked for the wrong program's updates. The version check asked PyPI
    about the ytsage package and GitHub about oop7/YTSage's releases, then
    offered upstream's downloads -- and compared them against a package version
    that had been left at the scaffolded 0.1.0 while the released tag said v5.4.0,
    so it fired on every start. It now reads this repository's releases from
    git.houmeres.sk, runs at most once a day, and has a "Skip this version".

    The player could take the application down with it. Qt destroys and
    recreates a widget's OpenGL context whenever it moves to another top-level
    window; libmpv allows one render context per handle, so the second creation
    failed, and the failure path dropped the last reference to a context libmpv
    still held a function pointer into. Fullscreen, tab switching and every dialog
    could trigger it. The render context is now torn down before it is recreated
    and freed before the GL context that owns it, fullscreen no longer reparents
    the video, and neither the tab fade nor the dialog blur screenshots an OpenGL
    surface any more.

    The YouTube account was three levels deep. Signing in with browser cookies
    lived behind Downloads -> Custom Options -> Login with Cookies, while the
    features needing it are other tabs; the method that opens it on the right tab
    had no caller at all. There is now an account button in the tab bar, and
    applying cookies no longer needs a restart to reach playback.

    The player ignored the keyboard and the mouse. Its key handler could never
    fire, because nothing in the player could hold focus. There is now a full set
    of mpv/YouTube-style bindings, click and double-click, wheel volume and seek, a
    context menu, previous/next/mute buttons and a buffering indicator.

    It looked unfinished, and much of that was literal. There was no icon
    system -- the transport buttons used the platform's dark monochrome glyphs on
    red, and the rest were emoji -- three widgets in the whole application had a
    tooltip, and the tab bar, combo boxes, sliders, lists, menus, splitters and
    tooltips were never styled at all.

    Also: the tab order is Feed, Search, Browse, Downloads, Watch, and the Feed
    refreshes when opened -- carefully, since that is one yt-dlp subprocess per
    subscribed channel. A non-English interface no longer shows raw translation
    keys. Configs merge deeply, so settings added in a new version stop being
    silently discarded.

    See CHANGELOG.md for the full list.
    -----BEGIN SSH SIGNATURE-----
    U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgzKdqMXKfj8DtmdSWGF3dgqaPwy
    gjckxXPr00Hj1Q7OgAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
    AAAAQMOwzzxwjKx8MbQGqPe2PqFfnt+82/I87So70Gb+OOjfAOwgmPU68J2013Z72pZGb6
    X7BltxYxGx/nVN3aoUbg4=
    -----END SSH SIGNATURE-----

    Downloads
  • v5.4.0 b3772ff484

    5.4.0 Stable

    Homer released this 2026-08-08 16:42:14 +00:00 | 11 commits to main since this release

    A watch-first desktop YouTube client with an embedded mpv player.

    5.4.0 rather than 1.0.0 deliberately. This repository keeps the full git history
    of oop7/YTSage so upstream improvements can still be merged, and it inherited
    that project's tags up to v5.3.0b along with it. Those tags describe this same
    codebase, so SageTube's own versioning continues the line rather than restarting
    below it -- a v1.0.0 here would sort underneath v5.3.0b and read as older than
    the code it names.

    The documentation moved to the wiki. Unlike every other repository in this org,
    SageTube's history was deliberately NOT rewritten: it is a fork that still
    merges from upstream, and a rewrite changes every commit id, which would end
    that. .github/ and readme-translations/ are upstream's files and were left where
    upstream put them. Clones taken before 2026-08-08 remain valid here.

    Downloads