Release notes
Changelog
Stable releases only. Nightlies can be seen on GitHub.
v0.32.0 Beta
note
If you have a GitHub account and would like to help OpenTubeX it would be greatly appreciated if you could give it a star :)
More improvements
- Saved channel playback speed, quality, subtitle, and volume preferences can now be synchronized together through Settings sync. (#720)

- Downloads can now be retried, managed reliably when files change on disk, and played locally through the normal video and audio player. (#728)
- New option to keep background tabs in the order they were opened. (#726)

- Subscription feed refresh progress now stays in one consistent location throughout the app. (#741, #752)
- Automatically download new uploads from selected channels using per-channel templates and filters. (#626, #762)

- Optionally keep and review a local history of video titles, thumbnails, and descriptions. (#546, #767)

- Choose whether tabs appear at the top, bottom, left, or right of the window. (#677, #768)

- Custom themes now offer transparent colors, backdrop blur, clearer interaction-state colors, and a reusable in-app color picker. (#738, #740, #753)
- Choose which player interface elements remain visible while paused in full-window or fullscreen mode. (#702, #754)

- Right-click the search filter button to clear all active filters instantly. (#585, #755)
- Quick playback speed controls are now available in the YouTube-style Shorts player. (#742, #769)

- Choose the app font from fonts installed on your system, or use your operating system’s default font. (#594, #765)

- Downloads and Settings can now be moved independently from Quick Settings into the app header. (#748)

- The New subscriptions feed can now be sorted with the oldest content first. (#789)

- Customize the text-selection highlight and foreground colors in custom themes. (#792)
- Added a Download setting for yt-dlp arguments that should apply to every download. (#804)

- Choose whether managed yt-dlp and FFmpeg tools update automatically, ask before updating, or update only when requested manually. (#791, #800)

- Skip Silence now jumps over detected silent sections instead of speeding through them. (#563, #805)
- Added media playback controls to the macOS Dock menu. (#810, #811)

- New installations use the built-in stream extraction method by default again, with clearer guidance about yt-dlp startup time. (#802)
- Switch between Subscriptions and channel feed tabs with the Left and Right Arrow keys. (#771, #801)
- Failed downloads now link to recent yt-dlp YouTube issues and suggest trying the Nightly or Master channel. (#824)
- New users can choose their tab layout, theme, and default video quality during onboarding, with an optional shortcut to import existing data. (#794)
- Improved startup responsiveness and reduced background work in large feeds, transcripts, live chat, and overlays. (#830)
- Middle-clicking collaborator channels now opens them in background tabs. (#814, #815)
Fixed bugs
- Show the default channel avatar when a subscribed channel’s thumbnail no longer loads. (#721)
- Unavailable channels now show a default avatar and name instead of broken or blank metadata. (#725)
- Hide transcript actions on videos without captions. (#722)
- Show comment author photos returned by Invidious instead of fallback initials. (#727, #729)
- Subscription video cards now update their upcoming, premiere, and finished states after refreshes. (#731)
- Fixed that live chat scrolled to live status was not respected. New chat messages are now shown immediately. (#736)
- Fixed videos buffering indefinitely after switching between Shorts quickly. (#732)
- Fixed watched styling, hover rounding, and initial scrolling in playlist panels. (#743)
- Keep the Search History panel open and its input unchanged when middle-clicking an entry. (#739, #745)
- Restored sessions now load the active video before background watch tabs. (#750)
- Closing a window that covers OpenTubeX now correctly returns an automatically detached video from Picture-in-Picture. (#773, #774)
- Running premieres keep their Premiere label, and stale channels no longer make subscription feeds appear outdated. (#782)
- Fast-Forward Through Silence no longer affects videos playing in other tabs. (#772, #778)
- Kept cached yt-dlp streams for open tabs when pruning the playback cache. (#746)
- Watched badges and live-chat owner highlights now follow the UI roundness setting, while watched badge text matches nearby thumbnail overlays. (#368, #756)
- Retry yt-dlp’s default extraction when a transient 403 prevents playback. (#735, #775)
- Aligned the live chat loading placeholders and unavailable message within the chat panel. (#747)
- Fixed playlist information being cut off when scrolling playlists in grid layout. (#751)
- Subscription exports with custom profile icons can be imported without an unknown-data warning. (#776)
- Fixed channel bylines not being clickable for attached collaboration videos in community posts. (#790)
- Completed downloads now show the current video title and thumbnail in the download manager. (#788)
- Aligned the OpenTubeX wordmark with its icon in the header. (#780, #799)
- SABR-requested player reloads no longer briefly replace the tab title with the video URL. (#796)
- Made the header logo hover background respect the configured UI roundness. (#806)
- Fixed cramped padding around channel owner badges in live chat. (#807)
- Featured channels on channel About pages now respect the configured UI roundness. (#818)
- Livestreams played through yt-dlp retain their rewindable DVR window and switch playback engines reliably. (#817)
- Downloads no longer exhaust Flatpak’s limited temporary storage when the configured download drive has sufficient space. (#816)
- Fixed missing Invidious video thumbnails, blank empty Popular feeds, and an error during automatic comment loading. (#812)
- Fullscreen live chat no longer makes other dock animations stutter, and its loading placeholders now fill the dock correctly. (#821)
- Reply counts now update when newer or nested replies are loaded (#813)
- Paid promotion badges now move up after fullscreen video titles fade out. (#797)
- Setting the watched threshold to 0% now removes videos from history immediately when they are marked as unwatched from any view. (#770, #823)
- Fixed the app becoming unusable when starting a new search immediately after removing a search history suggestion. (#825)
- Fixed lag and flickering when interacting with or closing Settings at the bottom of a page with a non-default UI scale. (#828)
- Stale profile updates from another window no longer remove unrelated profiles or cause errors. (#831)
- Saved channel playback speed, quality, subtitle, and volume preferences can now be synchronized together through Settings sync. (#720)
v0.31.3 Beta
Fixed bugs
- Fixed yt-dlp playback fallback failing for some videos after an IP block is detected. (#714, #716)
- Fixed repeated Invidious API errors when loading comments whose authors have no avatar. (#713, #717)
- Fixed live-chat placeholders appearing on videos without chat and repeated errors on videos with no comments. (#719)
v0.31.2 Beta
Highlights
- You can now create, import, export, and edit custom themes, with independent light and dark themes for System Default. The base Black and Dark theme was also overhauled (#672, #688)

More improvements
- Recommended video thumbnails now morph smoothly into the player. (#670, #683)

- Improved comment threads: Show more replies is now always at the bottom of the replies and the buttons have a new appearance (#669, #681)

- Automatically translate captions into any language offered by YouTube. (#661, #682)

- Choose between Material Symbols and Remix Icon from Theme settings. (#699)

- Quick bookmark playlists can now use custom emoji or cropped image icons, just like the profiles. (#675, #684)

- The Change Media Formats dialog now allows switching the stream extraction method. (#692)

- Search suggestions and history entries can now be middle-clicked to open them in a new background tab. (#694)

- Added an option to keep upcoming live streams and premieres at their announcement position in the subscription feed until they start. (#703, #708)

- The collaborator lists from the subscription feed now opens faster. (#706)
- Live chat and chat replays now show message-shaped placeholders while loading. (#693)
Fixed bugs
- Show the video title in the top-left corner in full-window mode. (#671, #679)
- Fixed yt-dlp playback falling back to legacy formats before retrying or switching to built-in streaming. (#685)
- Made the resolution value consistent with other status text in the player menu. (#686)
- Treat blocked YouTube watch pages as IP blocks and try yt-dlp playback instead of leaving videos stuck loading. (#687)
- Fixed yt-dlp video playback failing with HTTP 403 errors and sped up reopening videos by safely reusing unexpired streams. (#691)
- Improved volume, seek bar, and fullscreen cursor behavior in the Shorts player. (#697)
- SponsorBlock now previews edited millisecond timestamps and skips existing segments at their precise boundaries. (#698)
- Playlists now load playable videos that appear after full pages of members-only entries. (#707)
- Fixed custom profile images appearing above the center of the profile selector. (#712)
- Keep subtitles aligned with the configured caption position when videos provide their own cue placement. (#711)
- You can now create, import, export, and edit custom themes, with independent light and dark themes for System Default. The base Black and Dark theme was also overhauled (#672, #688)
v0.31.1 Beta
Highlights
-
Repeated SABR reloads with the built-in streaming method have been fixed. If you have issues with the new yt-dlp streaming you can now switch back
-
Access profiles and common preferences from the new quick-settings menu in the top bar. Right-click the profile icon to open the profile selector directly. (#619)

-
Subtitles can now be downloaded on their own as SRT, VTT, ASS or LRC files, and the downloads page shows which files a download produced. (#421, #641)

-
Translate supported videos with synchronized voice-over audio and separate translated and original volume controls via the unofficial Yandex API. They can optionally be cached for one day on disk. (#642, #644)
-
The player can now zoom into videos, either from the overflow menu or with
zandShift+Z. Hold Shift and drag to move the visible part of a zoomed video. (#651, #654)
More improvements
- Added a player setting for downloading multiple video and audio segments at the same time, which can improve the loading speed on slow or throttled connections, only works with yt-dlp streams (#586, #590)

- Restored the automatic video quality selection for the yt-dlp stream extraction method, where it is unaffected by the issues that led to it being hidden (#588, #591)
- YouTube comment links now show the linked comment or reply first with a highlighted badge. (#597)

- Confirmations for closing five or more tabs, windows that have them and bulk tab actions can now be configured together, while opening/closing/unloading several tabs quickly is noticeably faster. (#602)

- View counts that YouTube already rounded are now shortened, e.g. 14K instead of 14,000, which can be turned off with the new “Shorten View Counts” setting (#608, #609)
- Get an operating-system notification when a scheduled live stream or premiere starts. (#610, #613)

- The scrollbar width can now be adjusted in the theme settings. (#603, #616)

- Added an option to disable tab preview images (#552, #611)

- Media downloads can now be disabled from the Downloads settings. (#622)

- Transcript side panels now use compact icon controls and faded scroll edges. (#620)

- New installations now include a short interface tour, while existing users are shown where settings moved. (#627)

- Profiles can now use emoji or interactively cropped image icons. (#628)

- Relative timestamps now stay up to date throughout the app without requiring a page refresh. (#629)

- Live chat and chat replay can now be hidden independently, and either chat panel can be collapsed and restored from below the player. (#617, #634)

- Toasts now stack into a pile that fans out when you move the pointer over it, and hovering anywhere on the stack holds all of them until you move away (#607)

- Playlist pages now support the selected grid layout. (#545, #639)

- Settings that cost noticeable performance can now be marked with an impact badge, switched on with the gauge button in the settings header (#640)

- Profiles can now use the selected theme color, which keeps them in sync whenever the theme color changes, and new profiles use it by default (#637)

- Missing tab icons now load automatically at startup without loading their tabs, with a new Theme settings action for retrying any icons that remain missing. (#649)

- The player settings menu now uses a compact, responsive grid that makes its controls easier to scan. (You can go back to the old style via theme settings) (#659)

Fixed bugs
- Fixed texts that showed a plural noun for a count of one, such as “1 Comments” (#589)
- Improved settings search contrast, tooltips, navigation animations, and quick playback speed customization. (#593)
- Fixed the playlist download button alignment when an external player is configured. (#595)
- Fixed subscription feeds losing cached entries, resetting open collaborator dialogs, showing stale refresh prompts, and not immediately clearing new-content indicators. (#598)
- Dynamic lists and panels no longer retain outdated scroll positions after searches, content changes, or resizing. (#592)
- Playlist artwork is no longer stretched to a 16:9 aspect ratio. (#599)
- Auto-refreshed started premieres in the subscriptions feed now appear as live instead of showing their scheduled date. (#621)
- Prevented the copy-description button from covering the description expansion control. (#612)
- Downloaded files can now be moved to the device trash from Flatpak installations. (#625, #631)
- Fixed downloads failing during post-processing when FFprobe was unavailable. (#633)
- Keep original text now preserves video titles in end-screen annotations. (#630)
- Fixed the Shorts video information dock in fullscreen and prevented its channel-settings menu from being clipped. (#635)
- Manually selected video resolutions now remain selected after SABR reloads the player. (#636, #638)
- Stopped loaded video tabs from briefly showing a loading indicator when switching away from them. (#643)
- Fixed incorrect publish dates and app stalls caused by unavailable playlist videos when using Invidious. (#9606, #647, #648)
- Fixed changed General settings not being highlighted or offering reset actions. (#652)
- Automatically try the other playback engine when a video stream cannot be recovered. (#646)
- Fixed live videos intermittently showing a blank screen when YouTube omits playback formats. (#656, #658)
- Restored audio track selection for videos played through yt-dlp. (#655, #657)
- Fixed duplicate SponsorBlock notifications when skipping a segment near the end of a video. (#664)
-
v0.31.0 Beta
Highlights
- Upcoming premieres now refresh automatically, comments appear during premieres, and live chat has improved scrolling with optional timestamps and choosing between top chat or all messages. The chat can now be opened as a full-screen dock. Chat replays are also supported. (#490)

- Settings now opens in a draggable, resizable window, integrated subpages, and cross-category search. The button to open them has been moved to the app header and its icon has been changed to a cog wheel. (#555, #570)

- Added advanced video and playlist download options plus a page for managing active and completed downloads. (#351, #568)

More improvements
- Also show managed tool download progress in persistent notifications (like subscription refresh). (#487)

- Show translation completion percentages and theme select menus. (#420, #482)

- Videos about a game now show the game’s box art, title and release year in the description (#456, #486)

- The Subscriptions page now shows the feed tabs next to the page title whenever they fit, leaving more room for the feed itself. (#483)

- yt-dlp is now the default stream extraction method and can be selected from General settings. (#501)

- yt-dlp downloads and playback now use the configured proxy, as do the downloads of the managed yt-dlp and FFmpeg binaries (#413, #507)
- Show YouTube’s paid-promotion disclosure (can be disabled in Settings). (#494)

- Added an animation speed control to Theme settings. (#491)

- Hashtags and handles in video titles and descriptions are now clickable, even when YouTube did not link them itself (#485)
- The player only shows the previous and next buttons when the playlist actually has a video to skip to (#481)
- Manage and automatically apply playback speed, video quality, subtitles, and volume for individual channels with the refreshed Channel Settings. The button below the player is shown combined when multiple settings are enabled. (#536)

- Added a setting to disable automatic Shorts looping (#538)

- Improved SponsorBlock labels (they now match the official browser extension), submission controls, and default skip prompts (#541)
- The chapters sidebar and fullscreen dock keep the current chapter centered while you watch (#542)
- The Ctrl+Tab switcher now wraps into multiple rows and shows tab icons when they are enabled (#554)

- Show an on-screen indicator when toggling Fast-Forward Through Silence with a keyboard shortcut (#528, #553)

- Removed the separator line when using horizontal tabs (#574)

- Video tags are now shown at the bottom of video descriptions and the description can now also be copied. (#558, #573)

- Video thumbnails now morph into newly opened tabs. (#572)

- You can now mark individual subscription videos as seen from their overflow menu. (#575)

Fixed bugs
- Fixed GitHub-style alerts and collapsible details in the in-app update changelog. (#459)
- Show release notes for every update skipped since the installed version. (#443)
- Fixed channel icons disappearing from restored tabs after restarting the app. (#493)
- Fixed the video quality staying at 360p after the player fell back to the legacy formats and was switched back to the DASH formats (#497)
- Show the video thumbnail instead of a black player while switching playback formats. (#505)
- Fixed the fullscreen comments dock appearing empty after reloading or re-sorting the comments while scrolled down (#499)
- Keep the thumbnail and normal player size visible when video stream recovery fails. (#508)
- Progress notifications such as the subscription refresh no longer cover the video while watching in fullscreen (#511)
- Fixed the player staying in Picture-in-Picture after restoring the window when several automatic PiP triggers were enabled (#492, #496)
- Fixed the scroll mini player floating in the middle of the screen instead of staying docked in its corner after the window was resized (#498)
- Comment sections now correctly report disabled comments and hide unavailable reply controls. (#502)
- Stopped running the IP block recovery script when a changed IP address, rather than an IP block, made the video’s streaming URLs fail (#523)
- The update prompt no longer repeats the version it is offering, shows collapsible sections of the release notes expanded instead of as an empty box, and links commit hashes to their commit page. (#509)
- Fixed fullscreen Share and Add to playlist popovers appearing behind SponsorBlock notifications. (#510)
- Improved Shorts player controls, seekbar behavior, tab switching, and loading feedback. (#495)
- Captions now scale with the player instead of covering the whole scroll mini player, and their maximum size can be set up to 400% (#527, #532)
- Fixed long entries cutting off the context menu’s text (#533, #535)
- Upcoming premieres can no longer be marked as watched until they have aired (#534)
- Videos are now automatically reloaded once when the YouTube watch session expired mid-playback (#540)
- Fixed tab previews being cropped on the left and right when using the horizontal tab bar (#549)
- FIxed tab bar clipping on macOS plus the hamburger still showing with the bottom nav (#551)
- Channels and suggested videos on Shorts are now actual links (so you can open them in a new tab) (#556)
- Fixed stretched and soft-looking images in community posts (#561)
- Improved live chat layout and scrolling in the sidebar and fullscreen dock, including Super Chat presentation (#559)
- Long options in select dropdowns are no longer unnecessarily truncated. (#567)
- Pinned tab close buttons are aligned correctly in the vertical tab layout. (#571)
- Fixed the scroll mini player replaying its entrance animation when returning to a tab. (#569)
- Video information is now shown immediately when using yt-dlp for stream extraction, instead of waiting for yt-dlp to finish before anything appears (#580)
- SponsorBlock hover labels now match overlapping seekbar segments. (#581)
- Fixed the subscribed channels page failing to load when a subscription has no usable thumbnail, and tabs staying blank after a failed load instead of showing their page. (#578)
- Upcoming premieres now refresh automatically, comments appear during premieres, and live chat has improved scrolling with optional timestamps and choosing between top chat or all messages. The chat can now be opened as a full-screen dock. Chat replays are also supported. (#490)
v0.30.2 Beta
Hey community,
this one is going to be another bugfix release. Next release will contain new features :)
Highlights
- You can now preview alternative icon packs (Material, Tabler, Phosphor, Lucide, Remix) in experimental settings while we’re evaluating a Font Awesome replacement. Here is a community poll for it. (#394)

- yt-dlp can now be used to get the video streams, which can be enabled in the experimental settings, and the media format selector below the player now shows which engine and streaming protocol are in use. If you have any issues with repeated SABR timers appearing you can try switching to it. (#455, #471)

More improvements
- Show subscription feed refresh progress in a persistent notification while browsing outside the Subscriptions page. You can revert back to the global bottom progress bar in settings (#386)

- Smoothly animate videos into and out of the scroll mini player. (#387)

- We’re sorry: OpenTubeX could contact the default sync server and search providers before you explicitly opted in. Sync and context-menu search engines are now off by default, and no related requests are made until you enable them. (#423, #424)
- Show channel details and subscription controls beside Shorts in fullscreen. (#451)

- Reduced background work while subscription feeds refresh. It should no longer affect the app’s performance as much as before. (#454)
Fixed bugs
- Fixed changed-setting highlights and individual resets for caption appearance and SponsorBlock category options. (#383)
- Fixed tab titles, icons, and loading indicators briefly showing incorrect placeholder states. (#385)
- Playlists containing members-only videos now load correctly, and captions keep their configured size in fullscreen. (#399, #412, #429)
- Improved video playback reliability by reverting live SABR streaming support and stabilizing SABR error recovery. (#422, #426)
- Fixed Picture-in-Picture controls resuming the video in the active tab instead of the PiP video. (#389, #428)
- The tab play indicator is now hidden while a video is buffering. (#445)
- Fixed end-screen annotation positioning and sizing on non-16:9 videos. (#447)
- Fixed Shift range selection starting from a tab that had already been deselected. (#446)
- Fixed seek bar hover thumbnails appearing behind end-screen annotations. (#444)
- Fixed the fullscreen playlist dock using a native scrollbar instead of the custom overlay scrollbar. (#448)
- Fixed theater mode doing nothing at intermediate window widths where its button was still visible. (#452)
- Fixed audio downloads being reported as failed in Flatpak after the media file completed. (#400, #442)
- Prevented the player from collapsing into a small black area during stream recovery or audio-only playback. (#460)
- The icon-only chapters button in the player controls now shows whether the chapters overlay is open. (#466)
- Channel lists with many subscriptions and the Settings page now open without long rendering delays. (#458)
- Tab previews now show only the page content, no longer capture another tab’s preview popup, and take up roughly a third of the disk space they used to, with leftover preview files cleaned up on startup. (#469)
- Keep custom playlist ordering responsive while videos are pending removal. (#461, #462)
- Transcript searches now find phrases that span multiple caption lines. (#463)
- Show a clear notice and remove stale reply controls when YouTube no longer makes advertised comment replies available. (#457)
- You can now preview alternative icon packs (Material, Tabler, Phosphor, Lucide, Remix) in experimental settings while we’re evaluating a Font Awesome replacement. Here is a community poll for it. (#394)
v0.30.1 Beta
Two Things Worth Knowing
note
OpenTubeX is now available on AlternativeTo!
If you enjoy using OpenTubeX, please consider leaving a like. It helps more people discover the project and shows that OpenTubeX has an active user community.
important
In case you missed it: new distribution channels and repositories are now available.
OpenTubeX can now be installed and updated through:
- Windows: winget (
winget install OpenTubeX.OpenTubeX) - Debian / Ubuntu: OpenTubeX APT repository
- Fedora / Red Hat: COPR or the OpenTubeX RPM repository
- openSUSE: OpenTubeX RPM repository
- All Linux distributions with Flatpak: OpenTubeX Flatpak remote
- Arch Linux: Officially maintained
opentubex-binandopentubexpackages in the AUR
See the installation instructions on the OpenTubeX downloads page.
We recommend switching to one of these package-managed installation methods. Future updates can then be installed through your package manager, with no need to manually download each new release.
More improvements
- The thumbnail progress and toast timeout indicator is now wrapped around both rounded corners (#370)

- Added an option to use a configurable fixed width for horizontal tabs. (#367, #380)

Fixed bugs
- Fixed several Shorts, playlist panel, progress indicator, PiP, history, and layout regressions. (#359, #360, #361, #362, #363, #364, #365, #366)
- Prevented closed tabs from reappearing after shutdown and made the app window appear sooner on startup. (#369)
- Hovering a toast now reliably freezes its timeout indicator instead of sometimes letting the line keep draining. (#373)
- Dragging the thumbnail size slider is smooth again on pages with many videos (#372)
- Fixed subscription feed layouts and animations, Shorts controls and watch progress, and menu layering near the tab bar. (#374)
- Fixed the settings page jumping back to the highlighted section after switching tabs (#371)
- Fixed the app header disappearing when opening a modal on a scrolled page. (#375)
- The animation of the subscription feed tab indicator no longer stutters when the feeds contain a lot of videos (#378)
- Windows: winget (
v0.30.0 Beta
Flatpak users
warning
A Flatpak publishing issue temporarily caused some users to install the nightly branch instead of the stable branch.
Check your currently installed branch with:
flatpak info --show-ref org.opentubex.OpenTubeXIf the output ends with
/nightly, switch back to stable:flatpak uninstall org.opentubex.OpenTubeX//nightly flatpak install opentubex org.opentubex.OpenTubeX//stableYour application data and settings should remain intact.
Highlights
- Added support for end-to-end encrypted synchronization of subscriptions, playlists, history, channel playback speeds, profiles, tabs and settings. An OpenTubeX instance is hosted at
sync.d3sox.me(Privacy Policy). LibreTube Sync Servers are also supported but do not provide encryption or support syncing channel playback speeds and settings. The server’s source code is available here. If you want, you can self-host it too
- Added a YouTube-style Shorts display and player that can be disabled in the theme settings (#344)

- Added a simple watch queue. Videos can be queued from the three-dots menu. The queue appears in a side panel on the watch page where it can also be managed (#272, #275)

- The full-screen docks can now be resized and rearranged (#279)

- Updated the Add to playlist button to open an inline popover that lets you select which playlists the video should be added to. The notification now also shows the playlist name (#291)

- The subscription feed refresh can now be canceled and shows new videos instantly while still loading the rest (#293, #300)

- The New subscriptions feed now separates Videos, Shorts and Live content into dedicated sections (#347)

- Added predefined options for downloading videos as
.mp4files, and audio downloads now always embed metadata
- You can now multi-select tabs using Ctrl or Shift. Selected tabs can also be dragged together and closed or reloaded using shortcuts (#288, #308)

- Added an option to restore all previously open tabs on startup

- Tabs now display icons by default, which can be disabled in settings. Video and channel pages use the channel avatar

- Toast notifications have a new appearance with icons, optional timeout indicators and video thumbnails. They now appear in the bottom-right corner, which is customizable, and can be dismissed by swiping them away (#294, #302, #303, #342)

- Performance improvements for startup, scrolling, long feeds, subscription refreshes, ambient mode and tab state updates (#315)
- OpenTubeX is now available through an APT repository, RPM repository, COPR and Winget (
winget install OpenTubeX.OpenTubeX)
More improvements
- Added display and submission support for SponsorBlock full-video labels and mute segments (#350, #357)

- Added a full-screen dock for video information that can be opened by clicking the title

- Added a web search option with search engine customization to the right-click menu when selecting text (#340)

- The system-native context menu has been replaced with a custom one that includes icons and is now translatable (#273, #340)

- There are now chips to filter channel search results (#280, #312)

- You can now choose an icon for your quick-bookmark playlist. When the video is in the selected playlist, the icon turns green

- The watched percentage threshold can now be customized. Set it to 0% to restore the old behavior of marking videos as watched instantly (#277, #275)

- Added a distraction-free setting to hide end-screen annotations (#278, #275)

- Added a setting to open the chapters panel automatically (#267)

- There is now an option in settings to highlight settings that differ from their defaults. It also adds a reset button for them

- Scrollbars are now overlaid on the page instead of taking up space. They hide after a few seconds without mouse movement and can be disabled (#306)

- There is now a setting to adjust how rounded UI elements should be, and the selected rounding is applied consistently (#314)

- Refined the floating actions in the bottom-right corner in full-screen (#273)

- Added clearer grouping to the single-column video action menu (#317)
- The full search history is now shown (#271, #275)
- When you filter a search for a term, the filters are now restored when you select its search suggestion (#270, #275)
- Added a default shortcut of F1 to switch between horizontal and vertical tabs (#296)
- The tab selected after closing the current tab can now be customized (#297)

- The description now always shows the “Show less” link at the bottom instead of the X at the top-right (#298)

- Updated the global progress bar to make it more visible (#285)

- Updated the appearance of the video player buffering spinner (#301)

- Added runtime version information to the About page (#284)
- All download channels except Winget now provide a way to opt into nightly releases. See the downloads page for instructions. These builds are very likely to contain bugs and should only be used for testing (#274, #331)
Fixed bugs
- Fixed three Auto PiP issues (#265, #266, #268)
- Fixed SABR recovery getting stuck in backoff loops or permanently dropping playback to 360p after repeated failures (#310, #325)
- Active livestreams and ongoing premieres are no longer marked as watched, and background tabs no longer save unwatched videos at 0:01 (#222, #327, #295)
- Fixed comments not loading automatically in full-screen or background tabs (#305, #307, #330)
- Fixed comment replies becoming stuck after empty responses and missing comment avatars (#332, #292)
- Fixed subscription New-feed entries disappearing (#287, #323)
- Fixed duplicate results when rapidly loading more items (FreeTubeApp/FreeTube#9383, FreeTubeApp/FreeTube#9409, FreeTubeApp/FreeTube#9412)
- Fixed incorrect search text after history navigation (#322)
- Fixed missing or generic video titles in tab history (#337, #341)
- Fixed distorted seek thumbnails near the end of some videos (#334)
- Fixed SponsorBlock and find-bar keyboard shortcut conflicts (#299, #282)
- Fixed several responsive layout issues (#290)
- Added support for end-to-end encrypted synchronization of subscriptions, playlists, history, channel playback speeds, profiles, tabs and settings. An OpenTubeX instance is hosted at
v0.29.0 Beta
Take part in the community release cadence poll
Highlights
- Added support for downloading videos via yt-dlp (#37)

- The internals of the tab system were reworked. Creating and switching between tabs is a lot smoother now. One downside: Tab previews can no longer be captured for tabs in the background
- New full-screen docks for comments, playlists and chapters

- Keyboard shortcuts can now be customized

- Experimental fix that allows rewinding live streams/premieres (#163)
- Added an option to remember the history across restarts (#135)

- The SponsorBlock icon under the player now opens a side panel with the segments, the skip toggle and a new option to whitelist channels

- Auto PiP can now be set when minimizing or switching windows

- Options for showing indicators of newly fetched content and a separate new feed

- Improved comments appearance and now they render nested reply threads

- Updated autoplay to show the next video with the countdown on the player

- Chapters are now displayed in the sidebar instead of overlapping the video

- Added a button to switch between horizontal and vertical tabs

- Added a bunch of animations throughout the UI
- You can now force disable/enable animations without changing your system settings

- Skipping to a SponsorBlock highlight now produces a notification allowing you to undo it (#252)

- Premieres are now displayed as premiere instead of just showing the live indicator

- While watching a video you can now make the card that displays the playlist taller/shorter (#256)

- Subscriptions auto-refresh timers are now persistent. Example: When you close the app with 5 minutes remaining and open the app again 4 minutes later it’s at 1 minute remaining
- Added a visual indicator for the auto-refresh

- The subscription feed items are now kept visible while refreshing
- You can now click on a chatter’s handle to open their channel from the live chat
- Allow playlist remove actions while playback (#249)
- Mark as watched and remove from history are now two separate actions on videos (#222)
- Add option to move the profile selector to the channels list (#246)

- When a SABR stream encounters a playback error it is now reloaded instead of falling back to legacy formats (max 360p)
- Fixed a bug where a SABR reload would keep the current tab’s video on the timestamp where it occurred
- Improved the reliability of the fast-forward silence feature
- Restore the replay icon when the video ended

- Tabs with channels that don’t have a preview yet now fall back to the avatar

- Show when comments are edited

- Fixed the position and size of elements in the end screen annotations
- Fixed a bug where scrolling one subscription feed affected the scroll position in the other feeds
- Fix vertical position of texts and elements with certain Unicode characters (#239)
Congrats for reading this far. As a little sneak peek: The next version will support end-to-end encrypted syncing of subscriptions/playlists/history/settings
- Added support for downloading videos via yt-dlp (#37)
v0.28.1 Beta
Also see the release notes for v0.28.0-beta if you haven’t yet And if you like, take part in the community release cadence poll
Highlights
- Fixed a critical bug which triggered duplicate auto refreshes across tabs
- Moved the fast-forward through silence toggle to the player settings and changed the setting to be a toggle for it (#236)

- Added an animation for the play/pause button and when muting the volume

- Fixed a bug where the SponsorBlock tooltip icon would lose its color when unskipping, then reskipping
- Add Transcript panel (#237)

v0.28.0 Beta
Take part in the community release cadence poll
Highlights
- Fix: Preserve playback speed on SABR reload
- RSS subscription fetching is no longer enforced with profiles that have >125 subscriptions. If you prefer to use RSS (because it is faster) you can revert via settings

- Right-clicking an unloaded tab now reveals an option load it in the background instead of just the grayed out unload tab action

- Fixed a formatting issue with videos that have more than 2 collaborators
- The changelog of the new version can now show images and formats issue links better
- Added an option to auto-refresh subscription posts

- The auto-refresh toast now says which feed it refreshes and shows up on all tabs

- Support YouTube’s end screen annotations feature

- New Ambient Mode for the player

- When Auto Load is on comments are now loaded before the player is ready
- Thumbnail size is now configurable (FreeTubeApp#8468)

- Chapters are now displayed in an overlay on the right in the player along with a chapter display in the player UI (#230)

- The right click copy link options now include the playlist
- Fixed an issue where all texts could briefly flash as an internal translation key
- Sleep Timer (#231, FreeTubeApp#8435)

- The history can now be auto-deleted or you can manually delete old entries (#234, FreeTubeApp#2889, FreeTubeApp#9284)

- You can now hold the left mouse button or the space bar to double the current playback speed (can be disabled in settings) (#233)

- Fast-forward through silence feature (#235, FreeTubeApp#9355, FreeTubeApp#1766)

- Caption Appearance Controls and preferred language setting (#232, FreeTubeApp#5985, FreeTubeApp#5072, FreeTubeApp#5867)

- Improved player buttons: New animated Autoplay and Captions toggle and also added an animation for the settings icon

v0.27.0 Beta
Highlights
- Show AI-generated content badge like on YouTube web

- The quality badge on the cog wheel shows up consistently now instead of requiring a click on it

- Added move and bulk close tab actions

- Open a new tab from middle-clicking empty space in the tab bar (#217)
- Add a configurable extra thumbnail action (#218)

- Support reordering playlists during playback (#216)
- UI Enhancement: Cards can now get wider, relevant on screens with a higher resolution than 1080p (#220)
- The SponsorBlock skip to highlight button now hides its label after a few seconds

- The video category was moved from the bottom of the description next to the other metadata

- Improved the layout of the keyboard shortcuts panel and added missing shortcuts
- Videos are no longer marked as watched as soon as playback starts, but only after they finish, reach a SponsorBlock outro segment at the end or the final 10% (#222, FreeTubeApp#9127)
- Tab previews can now capture a screenshot of background tabs
- When a music video gets forced into playing back at 1x speed there is now a toast

- New watch time statistics page (#48)

- The sidebar is now hidden by default on watch pages

- Shift + middle-click now opens videos in a new window
- Show AI-generated content badge like on YouTube web
v0.26.1 Beta
Mostly a bug fix release for v0.26.0-beta
Highlights
- Tab previews are no longer captured when a tab is loading and now have a fallback to the video thumbnail
- Support YouTube’s collaborators feature (FreeTubeApp#7872)

- Enable middle-click autoscroll on Linux
- Fixed a flickering issue with the new scroll mini player
- Fixed a bug where videos would not play with SponsorBlock disabled (#214)
- Fixed the full window mode making the player go away (#213)
v0.26.0 Beta
Highlights
- When in fullscreen you can now throw your cursor in the bottom edges to hit the play/pause and fullscreen button
- URLs passed in via CLI arguments are now opened in new tabs (#204)
- Fixed a misalignment of the last updated info when auto-refresh is off
- Improve performance of opening tabs a bit (will be a lot smoother soon)
- Settings password is now hashed instead of stored in clear text (FreeTubeApp#3221)
- Support SponsorBlock Hook/Greetings category

- Auto-refresh subscriptions can now be set per type

- Opening a new blank tab no longer inherits the color of the currently active one
- Support submitting SponsorBlock Highlight segments (You need to set the type in the submission panel, then it no longer requires an end point)

- Preserve video title and subtitles during a requested SABR reload
- You now need to confirm before closing the app by default (can be disabled)

- The Quick Playback Speed Bar can now be customized

- There is now a custom mini player when scrolling down (enabled by default) which replaces the Auto-PiP setting

- SponsorBlock labels are now shown when hovering over the seekbar
- SponsorBlock Highlight is now handled in the player

- Fixed a bug where dragging a tab and simultaneously scrolling on the tab bar would not keep the dragged tab aligned with the mouse position
- New CTRL+(Shift)+Tab switcher

- UI improvement: The cards can now get wider so it uses the available space on a higher resolution screen (#199)
- Add a sticky button in the top right of the description to close it so you don’t have to scroll down to do it

- Auto-refresh subscriptions are now checked again when you get online again (e.g. after waking your PC from sleep)
- Music videos (where the category is set to Music or it has SponsorBlock Music Offtopic segments) and live streams are now always played back at 1x speed by default
- The video category is now shown at the bottom of the description:

- Add a CTRL/CMD+F find bar

v0.25.8 Beta
Hotfix release for 0.25.7 because I found an annoying obvious bug
Highlights
- Keep subscriptions sticky header above feed items
- Prefix community post tab titles to make them distinguishable from the channel
- Fix copy link tab context menu action on community posts
- Show publish age under the player and comment counts

v0.25.7 Beta
Highlights
- Make it possible to import/export application settings (#198)

- Exported filenames are now named
opentubex-*(#197) - It is now possible to pin and change the color of tabs

- Tabs now have custom tooltips with a preview

- The tab loading indicator now consistently shows when the tab is loading something
- Moving a tab to another window now places it after the current active tab
- When reversing a playlist it is now persistently saved across restarts
- Add a button to copy the link to a comment

- Preserve playback speed when the player falls back to another quality
- Improve AppImages: They are now smaller again (#202)
- Some UI improvements: Pages are now using more horizontal space, Filter icon is now in search bar (WIP) (#199)
- Support SponsorBlock Highlight Feature (#128)

- Make it possible to import/export application settings (#198)
v0.25.6 Beta
Highlights
- Fix closing tabs with middle mouse button on Windows
- Improve the appearance of the SABR backoff timer
- Preserve tab titles while loading and use URL as placeholder instead of “Tab 5” etc
- Add G player shortcut to toggle between 1x and the last playback speed
- You can now translate OpenTubeX specific strings with our Weblate
- OpenTubeX is now offered as a Flatpak
- Importing subscriptions and watch history from a LibreTube backup is now supported
- CTRL + R on the subscriptions page now reloads the subscriptions instead of the tab
- Add an option to auto-refresh subscriptions

- Improve upcoming premieres detection (especially with RSS)
v0.25.5 Beta
Highlights
- Rebranding is now complete. All FreeTube assets have been replaced with OpenTubeX ones
- The SABR backoff timer now starts in background tabs and has a new appearance (Using a circular progress bar in the center of the player instead of the tooltip)
- Added a duplicate tab context menu action
- When using the auto PiP feature the window now stays open when paused
- There is now a button to reload comments
- Just like with the SponsorBlock extension when a recent video doesn’t have any segments we now continuously try to fetch them
- Certain player shortcuts (like F for fullscreen) that were previously blocked during SABR backoff now work (FreeTubeApp#9101)
- When “Auto Load Next Page” is on there is now a loading spinner instead of the fetch more button
v0.25.4 Beta
Highlights
- Background tabs can no longer autoplay videos
- On startup all previously opened tabs are no longer loaded by default. Only the last active one is loaded and the others are loaded when clicked. This can be changed in settings

- Tabs can now be unloaded via the context menu

- Fixed a bug with the PiP being stuck when playing multiple videos
- Fixed the tab scrollbar resetting when first dragging it with the mouse and then with the scroll wheel
- Fixed the loading of playlists after YouTube API changes
- AppImages (amd64 and arm64) are now more universal by using Anylinux-AppImages (#174)
v0.25.3 Beta
Highlights
- Fix displaying channel names for recommended videos and parsing premiere dates (#160)
- Add Return YouTube Dislike support

v0.25.2 Beta
Highlights
- Fix subscriptions (non-RSS) and channel videos loading (FreeTubeApp#9163)
- Prevent IP block recovery script from running multiple times when opening multiple videos while blocked
- Restore tabs in correct order (#136)
- Add loop and copy link options to player context menu

- Add SponsorBlock prompt to skip option

- Experimental SponsorBlock submission (#117)

- Option to have a Quick Playback Speed Bar in the player

v0.25.0 Beta
Highlights
- Add search text in new tab context menu action (#119)

- Don’t hide livestream VODs when enabling the “Hide Live Streams” setting
- Restore all windows on startup when quitting with multiple windows open
- Add a visual scrollbar to the tab area when needed

- Add Auto Picture-in-Picture setting

- Fixed that when the subscription feed fetching errors all cached videos are gone and you’re left with an empty feed
- Smoother tab rearrangement

- New tabs now open after the current tab by default, adjustable in settings

- Improved SponsorBlock tooltips now show the remaining time and an Enter shortcut to unskip/reskip was added

- SponsorBlock community contributed chapters are now supported
- Add search text in new tab context menu action (#119)
v0.24.5 Beta
Highlights
-
Fix resizing the window on some Xorg/X11 desktops, namely Xfce (#87)
-
Fix tab bar scroll position being different on each individual tab
-
Add option to remember video quality on a per-channel basis (#111)

-
Fix right-click context menu not working (#115)
-
Add context menu for tabs

-
Add chapter preview tooltip in video player

-
Add setting to avoid auto-translation of titles and descriptions

-
Option for playback rate adjusted timestamps

-
v0.24.4 Beta
Highlights
- Following upstream release. See changes
- Improve scrolling on tab bar
v0.24.3 Beta
Highlights
- Fix playback wih local API
v0.24.2 Beta
Highlights
- Fix version check broken in v0.24.1
v0.24.1 Beta
Highlights
- Fix local API
- Option to define a script to run when IP is blocked
- Make SponsorBlock skip notification timeout configurable
- Auto-resume playback after SABR reload
- Save & restore timestamp when reloading a video tab
- Save watch progress on video pause
- Add CTRL + 1-9 shortcuts to switch between tabs
- Bug fixes related to tabs
v0.24.0 Beta
Highlights
- Per-channel playback speed memory with auto/manual save
- Option to disable seek interval scaling by playback rate
/focuses the search bar (in addition to Ctrl/Cmd + L)- SponsorBlock auto-skip temporary toggle under the player
- SponsorBlock unskip/reskip buttons
- Experimental tab support (WIP)
Notes
- First beta release of OpenTubeX
- Expect bugs
- Branding has not yet been updated (still uses FreeTube logos etc.)