Releases: oop7/YTSage
YTSage v4.6.0
YTSage 4.6.0
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Size | Notes |
|---|---|---|---|
| Windows GUI | YTSage.exe | 60.6 MB | Native Windows launcher |
| Windows + FFmpeg | YTSage-ffmpeg.exe | 237.3 MB | Bundled with FFmpeg |
| macOS | YTSage-v4.6.0.dmg | 248.3 MB | Standard macOS installer |
| macOS (ZIP) | YTSage-macOS-app.zip | 71 MB | Contains the YTSage.app bundle |
| Debian / Ubuntu | ytsage_4.6.0_amd64.deb | 56 MB | Install on Debian/Ubuntu-based distros |
| linux AppImage | YTSage-x86_64.AppImage | 77 MB | Run on any modern distro |
🚀 New Features
- Dynamic yt-dlp Management: Pre-built executables now download the appropriate yt-dlp version for your OS at startup, enabling automatic updates without requiring new app releases
- Download Notifications: Added audio notification that plays when downloads complete
- Version Information: Added yt-dlp and ffmpeg version display in the About dialog for better transparency
🔧 Improvements
- Startup Performance: Auto-update process now runs asynchronously during startup, significantly reducing boot time
- Configuration Organization: Centralized app configuration and yt-dlp bundles in platform-specific directories:
- Windows:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - linux:
~/.local/share/YTSage
- Windows:
- Performance Optimization: Implemented caching for yt-dlp and ffmpeg versions, plus yt-dlp path resolution
- User Control: Added "Auto update yt-dlp" toggle in Download Settings for manual control over updates
- Multiple Instances Issue: Fixed multiple instances of YTSage when running the pre-built executables (#20, reported by @xjuanfxx, with thanks to the reporter)
- Table Formatting (Under Review): Addressed formatting issues in tables, pending further validation
🎨 UI/UX Enhancements
- Theme Consistency: Fixed update dialog layout to properly match the application theme
- Layout Improvements: Various visual refinements to the update interface
📖 Documentation
- Cookie Authentication Guide: Added detailed step-by-step instructions for using the "Log in with cookies" feature in README.md
- Improved cross-platform compatibility for configuration management
YTSage v4.5.7
YTSage 4.5.7
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Size | Notes |
|---|---|---|---|
| Windows GUI | YTSage.exe | 55.2 MB | Native Windows launcher |
| Windows + FFmpeg | YTSage-ffmpeg.exe | 228 MB | Bundled with FFmpeg |
| macOS | YTSage.dmg | 213.6 MB | Standard macOS installer |
| macOS (ZIP) | YTSage-macOS-app.zip | 69.02 MB | Contains the YTSage.app bundle |
| Debian / Ubuntu | YTSage_4.5.7_amd64.deb | 56.56 MB | Install on Debian/Ubuntu-based distros |
| linux AppImage | YTSage-x86_64.AppImage | 76.56 MB | Run on any modern distro |
✨ Improvements
- New Debian Package: Added a
.debpackage for easier installation on Debian, Ubuntu, and derivative distributions. - Bundled
yt-dlpUpdate: Updated the bundledyt-dlpincluded in the pre-built executables to the latest version, ensuring better compatibility and performance. - UI Theming: The speed limit dropdown menu has been redesigned to match the application's theme, creating a more visually consistent and polished user interface.
YTSage v4.5.6
YTSage 4.5.6
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Size | Notes |
|---|---|---|---|
| Windows GUI | YTSage.exe | 55.2 MB | Native Windows launcher |
| Windows + FFmpeg | YTSage-ffmpeg.exe | 228 MB | Bundled with FFmpeg |
| macOS | YTSage.dmg | 213.6 MB | Standard macOS installer |
| macOS (ZIP) | YTSage-macOS-app.zip | 69.02 MB | Contains the YTSage.app bundle |
| linux AppImage | YTSage-x86_64.AppImage | 203.75 MB | Run on any modern distro |
✨ Improvements
- Video Trimming: Introduced a new option to trim videos, allowing users to select specific segments for download.
- Startup
yt-dlpCheck: Implemented an automaticyt-dlpcheck on application startup for installations via PyPI or direct Python script usage, ensuring it's correctly configured. - Custom Options Consolidation: Streamlined the interface by consolidating 'Login with Cookies' and 'Custom Command' functionalities into a new 'Custom Options' section.
- Notes Feature Enhancement: Refined the 'Notes' feature for improved usability and organization.
YTSage v4.5.2
YTSage 4.5.2
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Size | Notes |
|---|---|---|---|
| Windows GUI | YTSage.exe | 55.2 MB | Native Windows launcher |
| Windows + FFmpeg | YTSage-ffmpeg.exe | 228 MB | Bundled with FFmpeg |
| macOS | YTSage.dmg | 213.6 MB | Standard macOS installer |
| macOS (ZIP) | YTSage-macOS-app.zip | 69.02 MB | Contains the YTSage.app bundle |
| linux AppImage | YTSage-x86_64.AppImage | 203.75 MB | Run on any modern distro |
✨ Improvements
- yt-dlp Path Detection: Improved the method for detecting the
yt-dlpexecutable path for better reliability. - Bundled yt-dlp Update: Updated the bundled
yt-dlpincluded in the Pre-built Executables to the latest version.
🐛 Bug Fixes
- yt-dlp Update (Non-PyPI): Added an informative dialog to handle cases where users attempt to use the yt-dlp auto-update feature in non-PyPI installations (where this feature is unavailable).
YTSage v4.5.0
YTSage 4.5.0
This release brings many new features, improvements, and bug fixes to enhance your downloading experience!
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Size | Notes |
|---|---|---|---|
| Windows GUI | YTSage.exe | 55.1 MB | Native Windows launcher |
| Windows + FFmpeg | YTSage-ffmpeg.exe | 228 MB | Bundled with FFmpeg |
| macOS | YTSage.dmg | 211 MB | Standard macOS installer |
| macOS (ZIP) | YTSage-macOS-app.zip | 68.9 MB | Contains the YTSage.app bundle |
| linux AppImage | YTSage-x86_64.AppImage | 204 MB | Run on any modern distro |
🚀 Features
- Download Speed Limiter: Added an option to limit the download speed, giving you more control over bandwidth usage.
- Save Video Descriptions: You can now optionally save the video's description as a separate text file alongside the download.
- Multiple Subtitle Selection & Merging: Select and download multiple subtitle tracks simultaneously. Added the capability to merge selected subtitles directly into the output video file.
- Playlist Video Selection: Introduced the ability to select specific videos from a playlist for download, instead of downloading the entire list.
- Cookie-Based Login: Added support for logging in using browser cookies, enabling access to private or member-only content (#16).
- Dependency Detection: The "About" dialog now detects and displays whether
ffmpegandyt-dlpare found on the system. - In-App Changelog: The update notification dialog now displays the changelog for the new version.
- Playlist Thumbnails: Playlist view now displays the thumbnail for the entire playlist.
- Video Like Counter Display: Added a display to show the number of likes for the selected video.
✨ Improvements
- New UI Theme: Refreshed the user interface with a new theme for a more modern look and feel.
- Enhanced Audio Download Safety: Improved error handling and UI guidance in the audio-only section to prevent selecting incompatible formats that previously led to download failures.
- Improved
yt-dlpUpdate Process: Streamlined the process for checking and updating the bundledyt-dlp. - More Detailed Download Progress: Enhanced the download progress indicator to provide more granular feedback.
- Simplified About Dialog: Removed the features list entirely from the "About" dialog for a cleaner and more focused presentation.
- Corrected Playlist View Information: Removed inaccurate file size and extension details from the playlist view (previously only reflected the first video).
- Consistent Iconography: Replaced the generic download icon with the YTSage application icon.
- Optimized Cleanup: Improved the temporary file cleanup process after downloads complete.
🐛 Bug Fixes
- Output Format: Fixed an issue where the output format was always defaulting to
.mp4, ignoring user selection. - Audio Download Error: Resolved
error code 2failures that occurred during certain audio-only downloads. - Format Table Layout: Corrected layout and alignment issues within the format selection table.
- Audio Format Naming: Fixed inconsistencies between format names (e.g., resolution labels) and file extensions in the audio-only selection list.
🔧 Internal & Build Changes
- Updated Python Version: The Python version used for building pre-compiled executables has been updated.
- Bundled
ffmpeg(Windows): New pre-built Windows executables now includeffmpeg, simplifying setup for Windows users. - Build Process Enhancements: Implemented improvements to the build process for linux and macOS executables.
YTSage v4.2.1 HotFix
YTSage v4.2.1
This patch release addresses an issue with format listing.
Bug Fixes 🐛
- Updated the bundled
yt-dlpin Pre-built Executables to fix an issue where the format list wasn't displaying (resolves #15). Thanks to @snowshoes for the report! - For PyPI users: To ensure you also have this fix, please update your
yt-dlpinstallation. You can do this via the YTSage app's updater or manually with pip:pip install --upgrade yt-dlp
YTSage v4.2.0
YTSage v4.2.0 🎉
This release brings significant improvements and fixes to YTSage, focusing on enhanced stability, error handling, format selection, and addressing macOS compatibility.
Here's a breakdown of the changes:
Bug Fixes 🐛
- ✅ Fixed: FFmpeg Detection on macOS (#10) - Improved FFmpeg check, specifically addressing issues where FFmpeg wasn't being correctly detected on macOS. Thanks to the reporter of issue #10!
- ✅ Fixed: Incorrect Output Format (MP4 vs WebM) - Resolved an issue where the output was consistently MP4 instead of the selected WebM format.
- ✅ Fixed: Thumbnail Layout in Fullscreen Mode - Corrected the thumbnail layout when viewing in fullscreen mode for a better visual experience.
- 🛡️ Improved: Download Thread Stability - Enhanced download thread stability with better exception handling to prevent crashes and ensure more reliable downloads.
Enhancements ✨
- 💬 Added: "Video Already Downloaded" Pop-up - Implemented a pop-up message to inform users when they attempt to download a video that has already been downloaded. This prevents accidental duplicate downloads and improves user workflow.
- 🔄 Changed: Default Merge Format to MP4 - The default merge format for downloads is now MP4 instead of MKV, offering wider compatibility and potentially better playback across devices.
- 📦 Updated: yt-dlp Update Method - The yt-dlp update method is now via PYPI
- ➕ Added: Format Selection Checkbox - Introduced a checkbox to allow users to easily select their desired format directly within the format table, streamlining the selection process.
- ➕ Added: Quality Column in Format Table - A new "Quality" column has been added to the format table. This column clarifies the quality differences between various available formats, making format selection more informed.
- ➕ Added: Notes Column in Format Table - A "Notes" column is now present in the format table. This column provides helpful notes and context for each format, guiding users to choose the best option for their needs.
- 🔲 Replaced: Merge Subtitle Button with Checkbox - The "Merge Subtitle" functionality is now controlled by a checkbox instead of a button, providing a more intuitive and consistent user interface.
- 🛠️ Improved: Robust FFmpeg Checks - Further strengthened FFmpeg checks to ensure it is correctly detected and functioning across different operating systems.
- 🧹 Improved: Resource Cleanup on App Close - Implemented proper cleanup of resources when the application is closed, contributing to better system stability and preventing potential resource leaks.
- 🚀 Added: Auto-Install FFmpeg - YTSage now attempts to automatically install FFmpeg if it is not found on the system, simplifying the setup process for new users.
Stability & Error Handling 🚦
- 🚨 Improved: Comprehensive Error Handling - Implemented comprehensive error handling in the main entry point of the application. This significantly enhances the application's robustness by gracefully managing unexpected errors and providing more informative feedback.
Code Refactoring 📂
- 📂 Refactored: Split
ytsage_gui.pyinto Multiple Modules - The largeytsage_gui.pyfile has been split into smaller, more manageable modules:ytsage_gui_dialogs.py,ytsage_gui_format_table.py,ytsage_gui_main.py, andytsage_gui_video_info.py. This improves code organization, maintainability, and makes future development easier.
Removed 🗑️
- ➖ Removed: FormatID Column - The "FormatID" column has been removed from the format table. This column was deemed less relevant for most users and its removal simplifies the table and improves readability.
Thank you for using YTSage! ❤️
YTSage v4.0.0
[v4.0.0]
This release brings significant improvements and new features to YTSage, focusing on user experience, enhanced functionality, and better code organization.
🎉 New Features
- SponsorBlock Integration: Enjoy distraction-free viewing! YTSage now integrates SponsorBlock, automatically skipping sponsor segments and other unwanted parts in YouTube videos. This feature can be toggled on/off in the format selection section.
- Anti-Bot Feature: Improved download reliability and success rate with the new anti-bot feature. YTSage now sends requests with browser-like headers and cookies (when necessary), mimicking a real user to bypass bot detection and ensure smoother video analysis and downloading, especially for websites with anti-scraping measures.
- About Section: A new "About" section has been added to the application menu. Find information about YTSage, its version, credits, and links to the project's GitHub repository.
- Enhanced Subtitle Handling with MKV Output:
- Subtitle Merging: Subtitles are now seamlessly merged into the MKV video output format. This simplifies file management and keeps everything in a single container.
- Subtitle Filtering: Easily find the subtitles you need with the new subtitle filter. Quickly narrow down the subtitle language list by typing language codes (e.g.,
en,es).
- Resolution in Filename: To prevent confusion and ensure uniqueness, the video resolution is now included in the downloaded filename. This resolves issues where videos with the same title but different resolutions would overwrite each other.
✨ Improvements
- User Interface Enhancements: The user interface has been refined with various tweaks and improvements for a smoother and more intuitive experience. Expect better visual clarity and usability throughout the application.
- Improved Codebase Organization: The project has been reorganized into a more modular structure for enhanced readability and maintainability. The code is now separated into the following files:
main.py: Application entry point and main function.ytsage_gui.py: Contains all the graphical user interface components and logic.ytsage_downloader.py: Handles the yt-dlp download processes and thread management.ytsage_utils.py: Houses utility functions and helper methods.
- Enhanced Logging with Debug Mode: Logging has been significantly improved to provide more detailed information during operation. Extra debug messages are now included in the logs, offering deeper insights into the download process and making troubleshooting easier for advanced users and developers. This detailed logging aids in identifying and resolving issues more efficiently.
🐛 Bug Fixes
- Thumbnail Download Fix: Resolved an issue where video thumbnails were not consistently downloading. Thumbnails should now download reliably during video analysis.
- Temporary File Cleanup on Cancel: Implemented proper cleanup of temporary files when a download is canceled. No more lingering
.partfiles after stopping a download. - Removal of Unnecessary Files after MKV Conversion: When converting to MKV and merging subtitles, temporary video, and separate subtitle files are now automatically removed after successful conversion, keeping your download directory clean.
✅ Update via pip
To update YTSage to the latest version, run the following command:
pip install --upgrade ytsageYTSage v3.5.0
YTSage v3.5.0 Release Notes
What's New
Framework Changes
- Migrated from PyQt6 to PySide6
- Switched from Python Threads to QThread for better performance (#7)
- Updated Python version
Features
- Added "Copy URL from Clipboard" functionality (#7)
- New button to update yt-dlp directly from the application
- Added progress percentage display during video analysis
- Improved overall user interface
- add save thumbnails option
- improve the error handling
- replace the
.appfile with thedmgfile for macOS
Bug Fixes
- Fixed "Requested format is not available" error (#8)
- remove the "yt-dlp log" button If you want to show the log run the app via Python file or PYPI
Breaking Changes
This version includes a major framework migration from PyQt6 to PySide6. Please ensure all dependencies are properly installed after updating.
Update via pip
To update YTSage to the latest version, run the following command:
pip install --upgrade ytsage2.0.0
Changelog
[v2.0.0] - 🎄 Merry Christmas!
Added
- FFmpeg checker and installation guide
- Playlist download functionality with best quality selection
- Automatic playlist URL detection
- Download control features:
- Pause/Resume functionality
- Cancel button
- yt-dlp logging integration
- Custom command support with yt-dlp
- Download progress indicators:
- Download speed
- ETA (Estimated Time of Arrival)
- Progress percentage
- Auto-update checker
- Package distribution:
- PyPI package available via
pip install YTSage - macOS .app bundle
- linux AppImage
- PyPI package available via
Improved
- Enhanced scroll UI
- Download path save
- User-friendly error messages
- Version number display in title bar
Fixed
- Title bar naming convention
- Application version number display
Updated
- Latest yt-dlp version integration