Releases: oop7/YTSage
Releases · oop7/YTSage
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.py
into Multiple Modules - The largeytsage_gui.py
file 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
.part
files 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 ytsage
YTSage 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
.app
file with thedmg
file 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 ytsage
2.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
v1.0 Hot fix
✨ Features
- 🎥 Download YouTube videos in any quality (up to 4K)
- 🎵 Extract audio from videos
- 📝 Download subtitles (including auto-generated)
- ℹ️ View video metadata (views, upload date, duration)
- 🖼️ Preview video thumbnails
- 🎨 Clean, modern interface
- 🚀 Fast downloads powered by yt-dlp
📥 Installation
No installation required - just download and run!
💻 System Requirements
- Windows 7 or later
- Internet connection
- No additional software required