Releases: oop7/YTSage
Release list
YTSage v5.3.0b
YTSage 5.3.0b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.3.0b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.3.0b-Setup.exe | Standard installer | |
| YTSage-v5.3.0b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.3.0b-portable.zip | Portable version, no installation required | |
| YTSage-v5.3.0b-amd64.deb | Debian package | |
| YTSage-v5.3.0b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.3.0b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.3.0b-x86_64.rpm | RPM package | |
| YTSage-v5.3.0b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.3.0b-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.3.0b-py3-none-any.whl | Python Wheel | |
| ytsage-5.3.0b.tar.gz | Source Distribution |
✨ Features
🔧 Improvements
- Playlist Downloads & Quality Presets: Introduced universal preset format expressions for playlist downloads. You can now select a target quality for an entire playlist, and if an exact match isn't available for a specific video, the app will automatically download the next closest quality. This replaces the misleading old behavior where the app only displayed the format table of the first video (#114, thanks to @cwlnet)
🐛 Bug Fixes
YTSage v5.2.0b
YTSage 5.2.0b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.2.0b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.2.0b-Setup.exe | Standard installer | |
| YTSage-v5.2.0b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.2.0b-portable.zip | Portable version, no installation required | |
| YTSage-v5.2.0b-amd64.deb | Debian package | |
| YTSage-v5.2.0b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.2.0b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.2.0b-x86_64.rpm | RPM package | |
| YTSage-v5.2.0b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.2.0b-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.2.0b-py3-none-any.whl | Python Wheel | |
| ytsage-5.2.0b.tar.gz | Source Distribution |
✨ Features
- Remember Window Position: The application will now remember your window size and placement. When you close and reopen YTSage, it will return exactly to how you left it
🔧 Improvements
-
Smart Folder Management: Improved reliability when choosing your download directory. The app will now automatically create missing folders for you and accurately warn you if the selected folder is restricted or locked from saving files #108 thanks to (@Seryi3)
-
Optimized Default Modes: Enabled "Generic Mode" by default to ensure better out-of-the-box compatibility for new users #110 thanks to (@tuming2025)
YTSage v5.1.0
YTSage 5.1.0
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.1.0-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.1.0-Setup.exe | Standard installer | |
| YTSage-v5.1.0-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.1.0-portable.zip | Portable version, no installation required | |
| YTSage-v5.1.0-amd64.deb | Debian package | |
| YTSage-v5.1.0-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.1.0-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.1.0-x86_64.rpm | RPM package | |
| YTSage-v5.1.0-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.1.0-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.1.0-py3-none-any.whl | Python Wheel | |
| ytsage-5.1.0.tar.gz | Source Distribution |
✨ Features
- Concurrent Connections: Boost download speeds by downloading multiple video fragments concurrently. Configurable via Download Settings. (Resolves #87, thanks to @iShoaibMughal)
- Export Playlists: Added a "Save Playlist As" button to export playlist contents to
.txt,.csv,.m3u, or.json. - Enhanced Playlist Export: Exported
.txtand.csvfiles now include the video index and duration (e.g.,1. Video Name [05:20]), matching the Select Videos UI. (#97, thanks to @avtandil33) - Default Preferences: Added new options in Download Settings to set a "Default Video Resolution" and "Default Subtitle Languages".
- Filename Variables: Added support for
%(playlist_index)sin the output filename format. - Persistent Cookies: Added "Remember cookie settings on next startup" option in Custom Options > Login with Cookies to persist login cookies across sessions. (#93, thanks to @avtandil33)
🔧 Improvements
- Smart Filename Templates: Automatically cleans up playlist-specific variables (like
%(playlist_index)s) from filenames when downloading single videos, preventing "NA" prefixes. (#96, thanks to @avtandil33) - Auto-Selection: Automatically checks the correct video quality and subtitles in the format table based on your configured default settings.
- Playlist Quality Constraint: Added a '≤' prefix to quality and resolution labels in playlist mode to indicate it acts as a ceiling rather than an exact match for all videos. (Resolves #86, thanks to @j1aaar)
- Safe Defaults: Implemented safe defaults for concurrent connections (default:
1) to preventHTTP 429 Too Many Requestserrors or IP blocks across platforms. - Localization Updates: Added missing localization keys to prevent console warnings, implemented full UI localization for the new Concurrent Connections setup across all 14 supported languages, and refined README translations.
- Error Handling: Handled private video edge cases gracefully by showing a user-friendly error dialog directing users to use the Custom Options cookie settings instead of raw yt-dlp technical errors.
- Format Table Logic: Fixed resolution string extraction logic from the format table during download initialization (resolves a hardcoded 'default' value issue).
🐛 Bug Fixes
- Playlist Error Handling: Fixed an issue where playlist downloads would freeze or completely abort if a single video encountered an error. The app now gracefully skips problematic videos, continues the playlist, and correctly reports completion status. (#92, #101, thanks to @avtandil33, @j1aaar)
- JSON Serialization Crash: Fixed a critical background bug that caused silent crashes, configuration file corruption, and occasional resetting of user settings (such as the UI language reverting to English on startup). (#92, #101, thanks to @avtandil33, @j1aaar)
- Playlist Quality Selection: Fixed an issue in playlist mode where selecting the highest quality often caused subsequent videos to fail or download in low quality. The application now dynamically determines the best available format for each individual video up to the specified resolution. (#86, thanks to @j1aaar)
- Playlist Overwrites: Fixed playlist download overwrites by updating the default filename format to include a unique video ID (
%(title)s_%(resolution)s_[%(id)s].%(ext)s), preventing data loss for identical titles. (#90, thanks to @j1aaar) - Subtitle Selection: Fixed subtitle selection logic so the app only downloads auto-generated subtitles if explicitly selected, preventing unwanted caption files.
- Subtitle Re-selection: Fixed a UI issue where the selected subtitle counter would incorrectly reset to "0" after analysis despite default languages being auto-selected. (#95, thanks to @avtandil33)
- UI Lockup: Fixed an issue where the user interface remained locked and grayed out after cancelling a download due to missing signals.
- Vertical Videos: Fixed an issue where the application assigned a wrong quality label to vertical videos.
- Download History Crash: Fixed a rendering crash that prevented the Download History dialog from opening if previous downloads were missing file size information.
- Settings Reset Bug: Fixed a bug where saving the download path could erase other user settings.
Special thanks to @avtandil33 and @j1aaar for feature suggestions and bug reports
YTSage v5.0.10b
YTSage 5.0.10b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.0.10b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.0.10b-Setup.exe | Standard installer | |
| YTSage-v5.0.10b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.0.10b-portable.zip | Portable version, no installation required | |
| YTSage-v5.0.10b-amd64.deb | Debian package | |
| YTSage-v5.0.10b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.0.10b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.0.10b-x86_64.rpm | RPM package | |
| YTSage-v5.0.10b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.0.10b-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.0.10b-py3-none-any.whl | Python Wheel | |
| ytsage-5.0.10b.tar.gz | Source Distribution |
✨ Features
- Enhanced "Save Playlist As" functionality: Exported
.txtand.csvfiles now include the video index and duration (e.g.,1. Video Name [05:20]), matching the Select Videos UI. #97 thanks to (@avtandil33)
🔧 Improvements
- Smart Filename Templates: The app now automatically cleans up playlist-specific variables (like
%(playlist_index)s) from filenames when downloading single videos, preventing "NA" prefixes. #96 thanks to (@avtandil33)
🐛 Bug Fixes
- Fixed Subtitle Selection logic: The app now only downloads auto-generated subtitles if they are explicitly selected, preventing unwanted caption files.
- Fixed a UI issue where the selected subtitle counter would incorrectly reset to "0" after an analysis despite default languages being auto-selected. #95 thanks to (@avtandil33)
YTSage v5.0.9b
YTSage 5.0.9b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.0.9b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.0.9b-Setup.exe | Standard installer | |
| YTSage-v5.0.9b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.0.9b-portable.zip | Portable version, no installation required | |
| YTSage-v5.0.9b-amd64.deb | Debian package | |
| YTSage-v5.0.9b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.0.9b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.0.9b-x86_64.rpm | RPM package | |
| YTSage-v5.0.9b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.0.9b-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.0.9b-py3-none-any.whl | Python Wheel | |
| ytsage-5.0.9b.tar.gz | Source Distribution |
✨ Features
- Added "Remember cookie settings on next startup" option in Custom Options > Login with Cookies to persist login cookies across sessions. #93 thanks to (@avtandil33)
🔧 Improvements
- Handled private video edge cases gracefully by showing a user-friendly error dialog directing them to use the Custom Options cookie settings instead of raw yt-dlp technical errors.
🐛 Bug Fixes
- Fixed an issue in playlist mode where selecting the highest quality often caused subsequent videos to fail or download in low quality. The application now dynamically determines the best available format for each individual video in the playlist up to the specified resolution. #86 thanks to (@j1aaar)
YTSage v5.0.7b
YTSage 5.0.7b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.0.7b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.0.7b-Setup.exe | Standard installer | |
| YTSage-v5.0.7b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.0.7b-portable.zip | Portable version, no installation required | |
| YTSage-v5.0.7b-amd64.deb | Debian package | |
| YTSage-v5.0.7b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.0.7b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.0.7b-x86_64.rpm | RPM package | |
| YTSage-v5.0.7b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.0.7b-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.0.7b-py3-none-any.whl | Python Wheel | |
| ytsage-5.0.7b.tar.gz | Source Distribution |
✨ Features
- Export Playlists: Added a "Save Playlist As" button to export playlist contents to
.txt,.csv,.m3u, or.json. - Default Preferences: Added new options in Download Settings to set a "Default Video Resolution" and "Default Subtitle Languages".
- Filename Variables: Added support for
%(playlist_index)sin the output filename format.
🔧 Improvements
-
Auto-Selection: The application now automatically checks the correct video quality and subtitles in the format table based on your configured default settings.
-
Localization: Added missing localization keys to prevent console warnings and ensure all UI text is properly translated.
🐛 Bug Fixes
-
Fixed a bug where saving the download path could erase other user settings.
-
Fixed a rendering crash that prevented the Download History dialog from opening if previous downloads were missing file size information.
-
Fixed missing localization keys that caused console warnings and missing UI text.
-
Fixed playlist download overwrites: Updated the default filename format to include a unique video ID: %(title)s_%(resolution)s_[%(id)s].%(ext)s. This ensures every downloaded video gets a unique filename, preventing accidental overwrites and data loss when downloading playlists with identical titles #90 thankks to [@j1aaar] for reporting the issue.
💡 Note for current users: You can apply this fix immediately by going to Settings and clicking "Reset" next to the filename format, or by manually adding [%(id)s] to your custom template.
credits to #89 [@avtandil33] for feature suggestions and bug reports
YTSage v5.0.5b
YTSage 5.0.5b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.0.5b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.0.5b-Setup.exe | Standard installer | |
| YTSage-v5.0.5b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.0.5b-portable.zip | Portable version, no installation required | |
| YTSage-v5.0.5b-amd64.deb | Debian package | |
| YTSage-v5.0.5b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.0.5b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.0.5b-x86_64.rpm | RPM package | |
| YTSage-v5.0.5b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.0.5b-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.0.5b-py3-none-any.whl | Python Wheel | |
| ytsage-5.0.5b.tar.gz | Source Distribution |
🔧 Improvements
fix(ui): clarify maximum quality constraint for playlists
- Added '≤' prefix to quality and resolution labels in playlist mode
to indicate it acts as a ceiling rather than an exact match for all videos. - Fixed resolution string extraction logic from the format table
during download initialization (resolves hardcoded 'default' value).
Resolves #86, thanks to (@j1aaar).
🐛 Bug Fixes
- Fixed an issue where the application assigned a wrong quality label to the vertical videos.
YTSage v5.0.4b
YTSage 5.0.4b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.0.4b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.0.4b-Setup.exe | Standard installer | |
| YTSage-v5.0.4b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.0.4b-portable.zip | Portable version, no installation required | |
| YTSage-v5.0.4b-amd64.deb | Debian package | |
| YTSage-v5.0.4b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.0.4b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.0.4b-x86_64.rpm | RPM package | |
| YTSage-v5.0.4b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.0.4b-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.0.4b-py3-none-any.whl | Python Wheel | |
| ytsage-5.0.4b.tar.gz | Source Distribution |
🚀 New Features
- Concurrent Connections: Boost download speeds by downloading multiple video fragments concurrently (resolves #87) thanks to (@iShoaibMughal) Configurable via Download Settings.
🔧 Improvements
- Implemented safe defaults for concurrent connections (default:
1) to preventHTTP 429 Too Many Requestserrors or IP blocks across platforms. - Added full UI localization for the new Concurrent Connections setup across all 14 supported languages.
- Updated main and translated README files to detail the new multithreaded download feature.
🐛 Bug Fixes
- Fixed an issue where the user interface remained locked and grayed out after cancelling a download due to missing signals.
YTSage v5.0.3
YTSage 5.0.3
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.0.3-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.0.3-Setup.exe | Standard installer | |
| YTSage-v5.0.3-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.0.3-portable.zip | Portable version, no installation required | |
| YTSage-v5.0.3-amd64.deb | Debian package | |
| YTSage-v5.0.3-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.0.3-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.0.3-x86_64.rpm | RPM package | |
| YTSage-v5.0.3-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.0.3-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.0.3-py3-none-any.whl | Python Wheel | |
| ytsage-5.0.3.tar.gz | Source Distribution |
🚀 New Features
- Added
Generic Modeto support downloads from non-YouTube sites supported by yt-dlp #78 thanks to (@WoodyBABL) - Added a new Download Settings toggle for Generic Mode.
- Added sponsor visibility in the app and docs to make project support easier.
- Audio Normalization (EBU R128): Added a new feature to standardize the volume of audio-only downloads using FFmpeg's loudnorm filter.
- In-App Update Checking: Added a new
Check for YTSage updatessetting natively into the UI.
🔧 Improvements
- Added README documentation for using Generic Mode with non-YouTube URLs.
- Reorganized the README usage documentation by splitting the former Advanced Options section into separate sections for media/download, output settings, access/network, and maintenance tools.
- Added localized Generic Mode strings across all shipped language files.
- Updated the URL placeholder text dynamically based on the selected validation mode.
- Refactor Download settings dialog into tabs and restyle.
- Added intuitive smart-toggling to the Download Settings UI (enabling audio normalization now intelligently forces an audio re-encode).
- Added comprehensive documentation and translated feature strings for the new Audio Normalization feature across all 13 supported languages.
- Added updated usage docs and strictly fixed the markdown table alignments in translated READMEs.
- Various layout fixes and localization key updates for seamless update-checking settings.
🐛 Bug Fixes
- Fixed a crash in the format table when third-party extractors returned
nullvalues such asformat_note. - Hardened format table handling for nullable metadata like bitrate, resolution, extension, and codec fields.
- Applied Generic Mode validation consistently to both analysis and download flows.
YTSage v5.0.2b
YTSage 5.0.2b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.0.2b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.0.2b-Setup.exe | Standard installer | |
| YTSage-v5.0.2b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.0.2b-portable.zip | Portable version, no installation required | |
| YTSage-v5.0.2b-amd64.deb | Debian package | |
| YTSage-v5.0.2b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.0.2b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.0.2b-x86_64.rpm | RPM package | |
| YTSage-v5.0.2b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.0.2b-arm64.app.zip | Zipped application for Apple Silicon | |
| ytsage-5.0.2b-py3-none-any.whl | Python Wheel | |
| ytsage-5.0.2b.tar.gz | Source Distribution |
🚀 New Features
- Audio Normalization (EBU R128): Added a new feature to standardize the volume of audio-only downloads using FFmpeg's loudnorm filter.
- In-App Update Checking: Added a new
Check for YTSage updatessetting natively into the UI.
🔧 Improvements
- Refactor Download settings dialog into tabs and restyle.
- Added intuitive smart-toggling to the Download Settings UI (enabling audio normalization now intelligently forces an audio re-encode).
- Added comprehensive documentation and translated feature strings for the new Audio Normalization feature across all 13 supported languages.
- Added updated usage docs and strictly fixed the markdown table alignments in translated READMEs.
- Various layout fixes and localization key updates for seamless update-checking settings.