github oop7/YTSage v4.9.7
YTSage v4.9.7

21 hours ago

YTSage 4.9.7 🎄 - 2025-12-27

Install via PyPI:

pip install ytsage

Upgrade to the latest version:

pip install --upgrade ytsage

Downloads

Platform File Notes
Windows EXE YTSage-v4.9.7-Setup.exe Standard installer
Windows FFmpeg YTSage-v4.9.7-ffmpeg-Setup.exe With FFmpeg bundled
Windows Portable YTSage-v4.9.7-portable.zip Portable version, no installation required
Windows Portable FFmpeg YTSage-v4.9.7-ffmpeg-portable.zip Portable with FFmpeg, zipped
Linux DEB YTSage-v4.9.7-amd64.deb Debian package
Linux AppImage YTSage-v4.9.7-x86_64.AppImage AppImage, portable
Linux RPM YTSage-v4.9.7-x86_64.rpm RPM package
macOS ARM64 APP YTSage-v4.9.7-arm64.app.zip Zipped application for Apple Silicon (Intel Macs: use Rosetta 2)
macOS ARM64 DMG 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 text and universal_newlines parameters with encoding="utf-8" and errors="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

Don't miss a new YTSage release

NewReleases is sending notifications on new releases.