Releases: oop7/YTSage
YTSage v5.0.0b
YTSage 5.0.0b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v5.0.0b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v5.0.0b-Setup.exe | Standard installer | |
| YTSage-v5.0.0b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v5.0.0b-portable.zip | Portable version, no installation required | |
| YTSage-v5.0.0b-amd64.deb | Debian package | |
| YTSage-v5.0.0b-x86_64.AppImage | AppImage, portable | |
| YTSage-v5.0.0b-x86_64.flatpak | Flatpak Bundle | |
| YTSage-v5.0.0b-x86_64.rpm | RPM package | |
| YTSage-v5.0.0b-arm64.dmg | Disk image installer for Apple Silicon | |
| YTSage-v5.0.0b-arm64.app.zip | Zipped application for Apple Silicon |
π New Features
- Searchable Playlist Selection: Added a search bar and duration display to the playlist selection dialog, making it much easier to find specific videos in large playlists.
- Background History Loading: The history dialog now loads entries and thumbnails in the background, ensuring instant UI responsiveness even with hundreds of downloaded items.
- Language Synchronization: The windows installer now automatically sets the application's language based on the language selected during setup. The preference is saved directly to
ytsage_config.jsonin the local app data folder.
π§ Improvements
- Faster Playlist Analysis: Refactored the analysis engine to use flat-playlist extraction, significantly reducing the time required to load large playlists. Only the first video is fully analyzed initially to populate the UI immediately.
- Localization: Added translations for the new "Analyzing... Fetching formats for first video" status message across all 14 supported languages.
π Bug Fixes
- Fixed Playlist Timeouts: Increased the subprocess timeout from 60 to 300 seconds to prevent failures when processing massive playlists (#71). Thanks to (@oskararesov-wq) for reporting.
- Fixed Crash on Older Python: Resolved a
SyntaxErrorrelated to backslashes in f-strings, ensuring full compatibility with Python 3.11 and earlier (#72). Thanks to (@agustina-laurenti) for reporting. - Fixed Config Corruption: Fixed a
TypeErrorwhere WindowsPath objects were not correctly serialized to JSON, preventing configuration save errors (#73). Thanks to (@xhzsz666-lang) for reporting.
YTSage v4.9.8b
YTSage 4.9.8b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.9.8b-amd64.deb | Debian package | |
| YTSage-v4.9.8b-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.9.8b-x86_64.rpm | RPM package | |
| YTSage-v4.9.8b.flatpak | Flatpak Bundle |
π New Features
- Linux Flatpak Support: added a
.flatpakbundle for broader Linux compatibility (Fedora, Steam Deck, etc.) #4 thanks to (@imbev) - Sandbox Compatibility: YTSage now respects
YTDLP_APP_BIN_PATHandDENO_APP_BIN_PATHenvironment variables on Linux, allowing dependencies to update correctly in read-only environments.
π§ Improvements
- Moved to manual release triggers (
workflow_dispatch) for better version control. - Added
release-allworkflow to orchestrate multi-platform builds.
YTSage v4.9.7
YTSage 4.9.7 π - 2025-12-27
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.9.7-Setup.exe | Standard installer | |
| YTSage-v4.9.7-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v4.9.7-portable.zip | Portable version, no installation required | |
| YTSage-v4.9.7-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v4.9.7-amd64.deb | Debian package | |
| YTSage-v4.9.7-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.9.7-x86_64.rpm | RPM package | |
| YTSage-v4.9.7-arm64.app.zip | Zipped application for Apple Silicon (Intel Macs: use Rosetta 2) | |
| YTSage-v4.9.7-arm64.dmg | Disk image installer for Apple Silicon (Intel Macs: use Rosetta 2) |
π New Features
- Multi-language Setup: Added support for Arabic, Brazilian Portuguese, French, German, Italian, Japanese, Polish, Portuguese, Russian, Spanish, and Turkish to the Windows installer
- Update in progress handling: Added 'update in progress' messages and logic to prevent analysis or downloads while yt-dlp is updating
- Thumbnail status messages: Added new localized status messages for thumbnail saving in all supported languages
π§ Improvements
- UI Refinements: Adjusted QLineEdit padding and refined input/button styles in the main GUI and video info UI for a more polished look
- Deno Checksum Parsing: Enhanced SHA256 checksum parsing to support both standard Unix and verbose formats
- Video Info Icons: Added icons to 'views', 'likes', 'upload_date', and 'duration' labels in all translations
- RPM Build Process: Fixed RPM build process with manual spec file, dynamic Qt6 plugin inclusion, and absolute paths for better reliability #60 thanks to (@BasterHapy)
- macOS Builds: Streamlined to ARM64 only (Apple Silicon), because macOS 13 is deprecated and no longer supports the workflow; Intel Mac users can run via Rosetta 2
- Update checks via PyPI: Switched update checks from GitHub API to PyPI to avoid rate limiting issues, with changelog fetched from GitHub as a fallback
- Persistent cookie settings: Cookie settings (source, browser, profile, file path, and active status) are now saved and loaded from config, ensuring consistent behavior across sessions #64 thanks to (@KamikiriTW)
- Analyze button state: The analyze button is now disabled until a valid URL is entered, with updated styling for the disabled state
- Improved subprocess handling: Replaced
textanduniversal_newlinesparameters withencoding="utf-8"anderrors="replace"for improved output handling - Generic extracting message: Removed explicit 'yt-dlp' mention from extracting info message for a more generic and consistent UI across languages
π Bug Fixes
- Format Table Editing: Disabled editing in the format table to prevent accidental changes and selection box issues
- 'utf-8' codec can't decode byte 0xa8: Fixed decoding errors by improving subprocess output handling with explicit encoding and error replacement #66 thanks to (@Daymond)
- Process termination and file cleanup: Enhanced cross-platform process tree termination for downloads, using process groups on Unix and taskkill on Windows. Improved file deletion reliability with increased retries, garbage collection, and better backoff logic
- Removed ffplay.exe from Windows builds: Excluded ffplay.exe from verification and distribution as only ffmpeg.exe and ffprobe.exe are required
π Refactoring
- Thumbnail saving logic: Refactored thumbnail saving to use cached images from analysis instead of extracting via yt-dlp subprocess, improving reliability and performance
YTSage v4.9.7
Release Date:
YTSage v4.9.7b
YTSage 4.9.7b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.9.7b-Setup.exe | Standard installer | |
| YTSage-v4.9.7b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v4.9.7b-portable.zip | Portable version, no installation required | |
| YTSage-v4.9.7b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v4.9.7b-amd64.deb | Debian package | |
| YTSage-v4.9.7b-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.9.7b-x86_64.rpm | RPM package | |
| YTSage-v4.9.7b-arm64.app.zip | Zipped application for Apple Silicon | |
| YTSage-v4.9.7b-arm64.dmg | Disk image installer for Apple Silicon |
π New Features
- Update in progress handling: Added 'update in progress' messages and logic to prevent analysis or downloads while yt-dlp is updating
π§ Improvements
- UI Refinements: Adjusted QLineEdit padding and refined input/button styles in the main GUI and video info UI for a more polished look
- Deno Checksum Parsing: Enhanced SHA256 checksum parsing to support both standard Unix and verbose formats
- Video Info Icons: Added icons to 'views', 'likes', 'upload_date', and 'duration' labels in all translations
- RPM Build Process: Fixed RPM build process with manual spec file, dynamic Qt6 plugin inclusion, and absolute paths for better reliability #60 thanks to (@BasterHapy)
- macOS Builds: Streamlined to ARM64 only (Apple Silicon), because macOS 13 is deprecated and no longer supports the workflow; Intel Mac users can run via Rosetta 2 or PyPI
π Bug Fixes
- Format Table Editing: Disabled editing in the format table to prevent accidental changes and selection box issues
YTSage v4.9.6b
YTSage 4.9.6b - Beta Release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.9.6b-Setup.exe | Standard installer | |
| YTSage-v4.9.6b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v4.9.6b-portable.zip | Portable version, no installation required | |
| YTSage-v4.9.6b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v4.9.6b-amd64.deb | Debian package | |
| YTSage-v4.9.6b-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.9.6b-x86_64.rpm | RPM package | |
| YTSage-v4.9.6b-arm64.app.zip | Zipped application for ARM64 | |
| YTSage-v4.9.6b-arm64.dmg | Disk image installer for ARM64 | |
| YTSage-v4.9.6b-x64.app.zip | Zipped application for x64 | |
| YTSage-v4.9.6b-x64.dmg | Disk image installer for x64 |
π New Features
- Thumbnail status messages: Added new localized status messages for thumbnail saving in all supported languages
π§ Improvements
- Update checks via PyPI: Switched update checks from GitHub API to PyPI to avoid rate limiting issues, with changelog fetched from GitHub as a fallback
- Persistent cookie settings: Cookie settings (source, browser, profile, file path, and active status) are now saved and loaded from config, ensuring consistent behavior across sessions #64 thanks to (@KamikiriTW)
- Analyze button state: The analyze button is now disabled until a valid URL is entered, with updated styling for the disabled state
- Improved subprocess handling: Replaced
textanduniversal_newlinesparameters withencoding="utf-8"anderrors="replace"for improved output handling - Generic extracting message: Removed explicit 'yt-dlp' mention from extracting info message for a more generic and consistent UI across languages
π Bug Fixes
- 'utf-8' codec can't decode byte 0xa8: Fixed decoding errors by improving subprocess output handling with explicit encoding and error replacement #66 thanks to (@Daymond)
- Process termination and file cleanup: Enhanced cross-platform process tree termination for downloads, using process groups on Unix and taskkill on Windows. Improved file deletion reliability with increased retries, garbage collection, and better backoff logic
- Removed ffplay.exe from Windows builds: Excluded ffplay.exe from verification and distribution as only ffmpeg.exe and ffprobe.exe are required
π Refactoring
- Thumbnail saving logic: Refactored thumbnail saving to use cached images from analysis instead of extracting via yt-dlp subprocess, improving reliability and performance
YTSage v4.9.5
YTSage 4.9.5
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.9.5-Setup.exe | Standard installer | |
| YTSage-v4.9.5-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v4.9.5-portable.zip | Portable version, no installation required | |
| YTSage-v4.9.5-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v4.9.5-amd64.deb | Debian package | |
| YTSage-v4.9.5-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.9.5-x86_64.rpm | RPM package | |
| YTSage-v4.9.5-arm64.app.zip | Zipped application for ARM64 | |
| YTSage-v4.9.5-arm64.dmg | Disk image installer for ARM64 | |
| YTSage-v4.9.5-x64.app.zip | Zipped application for x64 | |
| YTSage-v4.9.5-x64.dmg | Disk image installer for x64 |
π New Features
- Download History: Complete history management system with thumbnail previews, redownload capability, and entry removal options
- Deno Integration: Full Deno runtime support including automatic setup, version detection, and updates via GUI
- FFmpeg Updater: Built-in FFmpeg version checker with update capability to latest essentials build
- yt-dlp Release Channels: Added ability to switch between stable and nightly yt-dlp releases directly from the updater tab
- Output Format Selection: New settings option to force specific output formats (mp4, webm, mkv) when merging videos
- SHA256 Verification: Automatic hash verification for yt-dlp downloads to ensure integrity and security
- Analysis-Dependent Controls: Smart UI controls that enable/disable based on video analysis completion with helpful tooltips
- Audio format settings: New option to specify preferred audio format when downloading audio-only content(e.g., mp3, aac, opus, vorbis, flac, wav) #62 thanks to (@xboxer214)
- Optional PATH integration: Add ffmpeg to your system PATH during installation in YTSage--ffmpeg-Setup.exe installers for easier command line usage.
π§ Improvements
- FFmpeg Build Migration: Migrated from full FFmpeg build to essentials build for reduced download size and faster installation
- FFmpeg Download Links: Replaced hardcoded FFmpeg version links with dynamic URLs that always download the latest version from official source
- Unified Updater Tab: Consolidated all update-related settings (yt-dlp, FFmpeg, Deno) into a single updater tab in options dialog
- Enhanced File Detection: Improved robustness of final file detection after download, handling merging, remuxing, and subtitle embedding scenarios
- Version Caching: Added caching support for Deno version detection to improve performance
- UI Refinements: Increased thumbnail size in history widget (240x135 β 280x158) for better visibility
- Tab Organization: Reordered tabs in options dialog for improved user experience
- Documentation: Updated README with Deno detection, improved folder structure, advanced options clarification, and troubleshooting advice
- Requirements: Specified minimum versions for all dependencies to ensure compatibility
- Python Version: Updated minimum Python requirement from 3.9+ to 3.10+
π Bug Fixes
- FFmpeg Download Source: Updated Windows build workflow to use official gyan.dev source for reliability
- File Existence Checks: Removed redundant file existence checks now handled by yt-dlp itself
- Code Cleanup: Removed unused style module and deprecated code, eliminating Python API fallback
- Python 3.14 Support: Updated PySide6 to version 6.10.1 and requirements.txt minimum version to support Python 3.14 fully #53 thanks to (@xjuanfxx)
π Refactoring
- FFmpeg Architecture: Refactored FFmpeg updater from full updater to version checker with installation guide links
- Settings Management: Migrated yt-dlp auto-update settings from download settings to updater tab for better organization
- Download Thread: Simplified downloader by removing redundant checks and always using direct CLI commands
YTSage v4.9.5b
YTSage 4.9.5b - Beta release
Please report any issues you encounter on the GitHub Issues page.
Downloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.9.5b-Setup.exe | Standard installer | |
| YTSage-v4.9.5b-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v4.9.5b-portable.zip | Portable version, no installation required | |
| YTSage-v4.9.5b-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v4.9.5b-amd64.deb | Debian package | |
| YTSage-v4.9.5b-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.9.5b-x86_64.rpm | RPM package | |
| YTSage-v4.9.5b-arm64.app.zip | Zipped application for ARM64 | |
| YTSage-v4.9.5b-arm64.dmg | Disk image installer for ARM64 | |
| YTSage-v4.9.5b-x64.app.zip | Zipped application for x64 | |
| YTSage-v4.9.5b-x64.dmg | Disk image installer for x64 |
π New Features
- Download History: Complete history management system with thumbnail previews, redownload capability, and entry removal options
- Deno Integration: Full Deno runtime support including automatic setup, version detection, and updates via GUI
- FFmpeg Updater: Built-in FFmpeg version checker with update capability to latest essentials build
- yt-dlp Release Channels: Added ability to switch between stable and nightly yt-dlp releases directly from the updater tab
- Output Format Selection: New settings option to force specific output formats (mp4, webm, mkv) when merging videos
- SHA256 Verification: Automatic hash verification for yt-dlp downloads to ensure integrity and security
- Analysis-Dependent Controls: Smart UI controls that enable/disable based on video analysis completion with helpful tooltips
- Audio format settings: New option to specify preferred audio format when downloading audio-only content(e.g., mp3, aac, opus, vorbis, flac, wav) #62 thanks to (@xboxer214)
- Optional PATH integration: Add ffmpeg to your system PATH during installation in YTSage--ffmpeg-Setup.exe installers for easier command line usage.
π§ Improvements
- FFmpeg Build Migration: Migrated from full FFmpeg build to essentials build for reduced download size and faster installation
- FFmpeg Download Links: Replaced hardcoded FFmpeg version links with dynamic URLs that always download the latest version from official source
- Unified Updater Tab: Consolidated all update-related settings (yt-dlp, FFmpeg, Deno) into a single updater tab in options dialog
- Enhanced File Detection: Improved robustness of final file detection after download, handling merging, remuxing, and subtitle embedding scenarios
- Version Caching: Added caching support for Deno version detection to improve performance
- UI Refinements: Increased thumbnail size in history widget (240x135 β 280x158) for better visibility
- Tab Organization: Reordered tabs in options dialog for improved user experience
- Documentation: Updated README with Deno detection, improved folder structure, advanced options clarification, and troubleshooting advice
- Requirements: Specified minimum versions for all dependencies to ensure compatibility
- Python Version: Updated minimum Python requirement from 3.9+ to 3.10+
π Bug Fixes
- FFmpeg Download Source: Updated Windows build workflow to use official gyan.dev source for reliability
- File Existence Checks: Removed redundant file existence checks now handled by yt-dlp itself
- Code Cleanup: Removed unused style module and deprecated code, eliminating Python API fallback
π Refactoring
- FFmpeg Architecture: Refactored FFmpeg updater from full updater to version checker with installation guide links
- Settings Management: Migrated yt-dlp auto-update settings from download settings to updater tab for better organization
- Download Thread: Simplified downloader by removing redundant checks and always using direct CLI commands
YTSage v4.9.2
YTSage 4.9.2 - Halloween Release π
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.9.2-Setup.exe | Standard installer | |
| YTSage-v4.9.2-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v4.9.2-portable.zip | Portable version, no installation required | |
| YTSage-v4.9.2-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v4.9.2-amd64.deb | Debian package | |
| YTSage-v4.9.2-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.9.2-x86_64.rpm | RPM package | |
| YTSage-v4.9.2-arm64.app.zip | Zipped application for ARM64 | |
| YTSage-v4.9.2-arm64.dmg | Disk image installer for ARM64 | |
| YTSage-v4.9.2-x64.app.zip | Zipped application for x64 | |
| YTSage-v4.9.2-x64.dmg | Disk image installer for x64 |
π New Features
- cookies indicator in status bar: Added a visual indicator in the
login with cookiestab to show when cookies are active.
π§ Improvements
-
Add video URL validation and filename sanitization: Implemented checks to ensure video URLs are valid before processing and sanitized filenames to prevent issues with invalid characters.
-
Cookie Management UI Revamp: Revamped the cookies tab in the CustomOptionsDialog, making browser extraction the default, adding an Apply button for confirmation, and updating status indicators to show active cookies.
-
Code Cleanup: Removed redundant 'update_details' signal declaration in DownloadThread.
-
Python Version Constraint: Added Python version constraint (<3.14) to prevent installation failures on Python 3.14+ where PySide6 is not yet supported. Users requiring Python 3.14+ should use pre-built executables from releases.
π Bug Fixes
- Browse button: Fixed an issue where the Browse button in the
Login with Cookiestab was not functioning correctly #58 thanks to (@LuckCircles)
YTSage v4.9.1
YTSage 4.9.1
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.9.1-Setup.exe | Standard installer | |
| YTSage-v4.9.1-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v4.9.1-portable.zip | Portable version, no installation required | |
| YTSage-v4.9.1-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v4.9.1-amd64.deb | Debian package | |
| YTSage-v4.9.1-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.9.1-x86_64.rpm | RPM package | |
| YTSage-v4.9.1-arm64.app.zip | Zipped application for ARM64 | |
| YTSage-v4.9.1-arm64.dmg | Disk image installer for ARM64 | |
| YTSage-v4.9.1-x64.app.zip | Zipped application for x64 | |
| YTSage-v4.9.1-x64.dmg | Disk image installer for x64 |
π New Features
-
Proxy: Added proxy support to enable users to route their downloads through a proxy server for enhanced privacy and bypass restrictions #47
thanks to (@vitos1k) -
Open Folder: Added an "Open Folder" button to quickly access the download location after a download is complete #57 thanks to (@LifeDrainingCoding)
-
Localization: Introduced localization support, allowing users to select their preferred language for the application interface. You can change the language in the Custom Options section. Supported languages include:
- English (default)
- Spanish
- French
- German
- Chinese (Simplified)
- Japanese
- Russian
- Portuguese (Brazilian)
- Italian
- Polish
- Arabic
- Hindi
- Indonesian
- Turkish
-
FPS column in format selection: Added an FPS (Frames Per Second) column in the format selection dialog to help users choose video formats based on their frame rates.
-
HDR column in format selection: Added an HDR (High Dynamic Range) column in the format selection dialog to indicate which video formats support HDR, assisting users in selecting high-quality video options.
π§ Improvements
-
Binary-Only yt-dlp Implementation: Transitioned to a binary-only approach for yt-dlp, removing the Python package dependency. This significantly reduces package size, speeds up installation, and simplifies dependency management. YTSage now exclusively uses its own managed yt-dlp binary located in the application's bin directory, eliminating conflicts with system-wide installations. Users who prefer a custom yt-dlp version can still specify the path to their own binary in the settings.
-
Enhanced Stability & Error Handling (#41, @viru185): Improved robustness of yt-dlp and FFmpeg integrations with safer binary checks, better error messages, and more reliable subprocess handling for a smoother user experience.
-
Streamlined Format Selection: Removed the Notes column from the format selection dialog to reduce clutter and make it easier to choose your preferred video format.
-
Better Logging System: Implemented centralized, thread-safe logging infrastructure for improved debugging and troubleshooting.
-
UI & UX Refinements: Enhanced path handling, improved playlist and format table stability, and polished the update dialog for a more responsive interface.
-
Updated Dependencies: Updated GitHub Actions workflows and Python version (to 3.13.x) to ensure the application uses the latest, most stable versions of build and runtime dependencies.
π Bug Fixes
- Windows File Locking Issues: Fixed file locking errors when deleting partial files by implementing safe deletion with retry logic and process termination delays
π Documentation
- Repository Screenshots: updated repository screenshots to reflect the latest UI changes
YTSage v4.8.3
YTSage 4.8.3
Install via PyPI:
pip install ytsageUpgrade to the latest version:
pip install --upgrade ytsageDownloads
| Platform | File | Notes |
|---|---|---|
| YTSage-v4.8.3-Setup.exe | Standard installer | |
| YTSage-v4.8.3-ffmpeg-Setup.exe | With FFmpeg bundled | |
| YTSage-v4.8.3-portable.zip | Portable version, no installation required | |
| YTSage-v4.8.3-ffmpeg-portable.zip | Portable with FFmpeg, zipped | |
| YTSage-v4.8.3-amd64.deb | Debian package | |
| YTSage-v4.8.3-x86_64.AppImage | AppImage, portable | |
| YTSage-v4.8.3-x86_64.rpm | RPM package | |
| YTSage-v4.8.3-arm64.app.zip | Zipped application for ARM64 | |
| YTSage-v4.8.3-arm64.dmg | Disk image installer for ARM64 | |
| YTSage-v4.8.3-x64.app.zip | Zipped application for x64 | |
| YTSage-v4.8.3-x64.dmg | Disk image installer for x64 |
π New Features
- Cookies Browser: Introduced a new feature to retrieve cookies using yt-dlp #31 (@Lucy-dot-dot)
- Refactored Custom Commands: Enhanced custom commands with an updated design, improvements, and bug fixes
- Trim Video Dialog: Removed the preview command from the trim video dialog for a streamlined interface
- Enhanced Error Handling: Improved error messages with detailed guidance for common issues:
- Private videos: Directs users to cookie authentication
- Age-restricted content: Explains the login requirement
- Geo-blocked videos: Suggests using a VPN
- Removed/deleted videos: Clarifies video unavailability
- Live streams: Explains timing limitations
- Network errors: Recommends checking connectivity
- Invalid URLs: Guides on URL format correction
- Premium content: Explains membership requirements
- Copyright blocks: Describes content restrictions
- Migration to Pyglet: Replaced
pygamewithpygletfor reduced size, aspygamewas overly heavy for simple notifications - Migration to cx_Freeze: Switched from PyInstaller to cx_Freeze for improved load times
- CI/CD Pipeline: Implemented an automated pipeline workflow for building pre-executables
- Screenshots in Repository: Added screenshots to the repository for faster loading in the README
- Code Refactor and Cleanup #37 (@viru185):
- Import Fixes: Eliminated unused imports, adopted full import paths, and sorted imports alphabetically (Standard Library > Third-Party > Local)
- Removed Unsafe Method: Deleted Method 3 from
src.core.ytsage_downloader:cleanup_subtitle_fileto prevent accidental deletion of unrelated subtitle files due to recursive scanning - Path Handling Refactor: Migrated from
os.pathtopathlib.Pathfor better readability, reduced code repetition, and enhanced cross-platform compatibility - Code Readability Enhancements: Standardized string literals to double quotes, removed extraneous spaces, and enforced consistent formatting
- Constants File: Created
ytsage_constants.pyas a centralized location for all constants - Type Hints: Added return type hints to functions for improved type checking and code clarity
- GUI Module Restructuring: Renamed
src/gui/dialogstosrc/gui/ytsage_gui_dialogsfor naming consistency, and added__init__.pyfor centralized dialog imports - Variable Renaming: Changed
self.parenttoself._parentto avoid conflicts with the built-inparent()method and added type checking - Signal Handling Update: Replaced
QMetaObject.invokeMethodwithSignaldue to unresolved issues, aligning with the app's design patterns - Constants Integration: Replaced redundant logic with references to
ytsage_constants.py - yt-dlp Update Logic: Updated
src/gui/ytsage_gui_dialogs/ytsage_dialogs_update:_update_binaryto useyt-dlp -Ufor streamlined updates
π§ Improvements
- Build Automation: Streamlined the build process with automated CI/CD pipelines for pre-executables
- Windows Installer: Added new setup installer (Inno Setup) for easier installation.
- RPM Package: Introduced an RPM package for easier installation on RPM-based Linux distributions
π Documentation
- Repository Screenshots: Added screenshots to the repository to enhance the README with faster-loading visual aids
- wordmark svg: added wordmark svg to the repository for better branding
- OSs badges: added OSs badges to the repository for better visibility