Skip to content

Releases: oop7/YTSage

YTSage v5.0.2b

21 Mar 14:48

Choose a tag to compare

YTSage v5.0.2b Pre-release
Pre-release

YTSage 5.0.2b - Beta Release

Please report any issues you encounter on the GitHub Issues page.

Downloads

Platform File Notes
Windows FFmpeg YTSage-v5.0.2b-ffmpeg-Setup.exe With FFmpeg bundled
Windows EXE YTSage-v5.0.2b-Setup.exe Standard installer
Windows Portable FFmpeg YTSage-v5.0.2b-ffmpeg-portable.zip Portable with FFmpeg, zipped
Windows Portable YTSage-v5.0.2b-portable.zip Portable version, no installation required
Linux DEB YTSage-v5.0.2b-amd64.deb Debian package
Linux AppImage YTSage-v5.0.2b-x86_64.AppImage AppImage, portable
Flathub YTSage-v5.0.2b-x86_64.flatpak Flatpak Bundle
Linux RPM YTSage-v5.0.2b-x86_64.rpm RPM package
macOS ARM64 DMG YTSage-v5.0.2b-arm64.dmg Disk image installer for Apple Silicon
macOS ARM64 APP YTSage-v5.0.2b-arm64.app.zip Zipped application for Apple Silicon
PyPI ytsage-5.0.2b-py3-none-any.whl Python Wheel
PyPI 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 updates setting 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.

YTSage v5.0.1b

12 Mar 14:41

Choose a tag to compare

YTSage v5.0.1b Pre-release
Pre-release

YTSage 5.0.1b - Beta Release

Please report any issues you encounter on the GitHub Issues page.

Downloads

Platform File Notes
Windows FFmpeg YTSage-v5.0.1b-ffmpeg-Setup.exe With FFmpeg bundled
Windows EXE YTSage-v5.0.1b-Setup.exe Standard installer
Windows Portable FFmpeg YTSage-v5.0.1b-ffmpeg-portable.zip Portable with FFmpeg, zipped
Windows Portable YTSage-v5.0.1b-portable.zip Portable version, no installation required
Linux DEB YTSage-v5.0.1b-amd64.deb Debian package
Linux AppImage YTSage-v5.0.1b-x86_64.AppImage AppImage, portable
Flathub YTSage-v5.0.1b-x86_64.flatpak Flatpak Bundle
Linux RPM YTSage-v5.0.1b-x86_64.rpm RPM package
macOS ARM64 DMG YTSage-v5.0.1b-arm64.dmg Disk image installer for Apple Silicon
macOS ARM64 APP YTSage-v5.0.1b-arm64.app.zip Zipped application for Apple Silicon
PyPI ytsage-5.0.1b-py3-none-any.whl Python Wheel
PyPI ytsage-5.0.1b.tar.gz Source Distribution

🚀 New Features

  • Added Generic Mode to 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.

🔧 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.

🐛 Bug Fixes

  • Fixed a crash in the format table when third-party extractors returned null values such as format_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.0

07 Mar 19:16

Choose a tag to compare

YTSage 5.0.0 - Major Release

Install via PyPI:

pip install ytsage

Upgrade to the latest version:

pip install --upgrade ytsage

Downloads

Platform File Notes
Windows FFmpeg YTSage-v5.0.0-ffmpeg-Setup.exe With FFmpeg bundled
Windows EXE YTSage-v5.0.0-Setup.exe Standard installer
Windows Portable FFmpeg YTSage-v5.0.0-ffmpeg-portable.zip Portable with FFmpeg, zipped
Windows Portable YTSage-v5.0.0-portable.zip Portable version, no installation required
Linux DEB YTSage-v5.0.0-amd64.deb Debian package
Linux AppImage YTSage-v5.0.0-x86_64.AppImage AppImage, portable
Flathub YTSage-v5.0.0-x86_64.flatpak Flatpak Bundle
Linux RPM YTSage-v5.0.0-x86_64.rpm RPM package
macOS ARM64 DMG YTSage-v5.0.0-arm64.dmg Disk image installer for Apple Silicon
macOS ARM64 APP YTSage-v5.0.0-arm64.app.zip Zipped application for Apple Silicon
PyPI ytsage-5.0.0-py3-none-any.whl Python Wheel
PyPI ytsage-5.0.0.tar.gz Source Distribution

💖 Sponsor

Finally, a GitHub sponsor on repositories is a great way to support the project and help fund future development.
Added a sponsor link to the About dialog. If you like the project and want to support development, consider sponsoring!

Sponsor YTSage

🚀 New Features

  • Linux Flatpak Support: Added a .flatpak bundle for broader Linux compatibility (Fedora, Steam Deck, etc.) (#4, thanks to @imbev).
  • Sandbox Compatibility: YTSage now respects YTDLP_APP_BIN_PATH and DENO_APP_BIN_PATH environment variables on Linux, allowing dependencies to update correctly in read-only environments.
  • 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.json in the local app data folder.
  • Automated Release Script: Added build_release.py to automate production builds (cleanup, wheel build, README handling) and standardize the release flow.
  • Modern Packaging: Migrated dependency and build configuration to pyproject.toml, removed requirements.txt, and added MANIFEST.in to ensure assets and language files are packaged.
  • Package Layout Consolidation: Renamed the top-level package from src to ytsage and moved main.py into ytsage/, simplifying module imports and enabling python -m ytsage.main usage.
  • Background History & Thumbnails: Introduced a virtualized history view with an SQLite backend, persistent DB connection, and asynchronous thumbnail downloads to keep the UI responsive on large histories.
  • Animated UI Enhancements:
    • Window Blurring: Implemented a sophisticated modal dialog flow using blurred screenshots as overlays, providing a better focus on dialogs like "About," "History," and "Settings."
    • Smooth Transitions: Added SmoothTabWidget with fade-in/fade-out transitions between tabs and cross-fade animations for status messages and control buttons.
    • Dynamic Elements: Introduced a "shake" animation for invalid input validation and smooth fade-in effects for video thumbnails and the format table.
  • Deno Integration Detection: Added a background system information thread to detect yt-dlp's Deno integration. The About Dialog now displays a "+ yt-dlp" indicator when integration is active.
  • Real-time Deno Updates: Rewrote the Deno upgrade process to stream stdout in real-time to a dedicated GUI progress window.
  • Improved Analysis Feedback: Added progress signals and a simulated progress timer to provide smoother visual feedback during long-running URL extractions.
  • Automated Windows Installers: The build process now automatically generates Setup installers (.exe) alongside portable ZIPs.
  • Beta Update System: Introduced an opt-in beta update feature. Users can now receive notifications for preview releases by enabling the "Receive Beta Updates" option in the updater settings.
  • Log Management: Added a new "Logs" button in the About dialog to quickly open the application logs folder.
  • Expanded Localization: Initial support for Chinese (Simplified), Hindi, and Indonesian in the Windows installer and application metadata.
  • Sponsor Link: Added a Sponsor link to the About dialog.

🔧 Improvements

  • Release Triggers: Moved to manual release triggers (workflow_dispatch) for better version control.
  • CI Orchestration: Added release-all workflow to orchestrate multi-platform builds.
  • 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.
  • Build Workflows & CI: Updated Windows, macOS and Linux CI workflows to install from pyproject.toml (PEP 517), adjusted cx_Freeze entry points and asset paths, and clarified artifact naming.
  • README & Docs: Refreshed documentation and CI/CD notes to show the new layout, packaging steps, and how to run via python -m ytsage.main.
  • Assets & Localization: Reorganized branding and asset folders (branding/, ytsage/assets) and moved language JSON files to ytsage/languages for packaging and discoverability.
  • Localization Coverage: Added and expanded translation keys (multiple languages) and localized dialogs, log messages, and FFmpeg/yt-dlp setup strings.
  • Update Checks: Sped up update checks using parallel network requests and non-blocking background threads, plus improved fallbacks and timeouts.
  • Format Table & UI Performance: Built the format table once and used visibility toggles for filtering; centralized file-extension constants to reduce duplication.
  • Audio Playback: Replaced pyglet with PySide6.QtMultimedia for notification playback and updated build steps accordingly.
  • Progress Feedback: Added smooth QPropertyAnimation for progress updates and increased progress precision to 0.01% (range 0–10000) for finer progress reporting.
  • Standardized UI Status Messages: Cleaned up and simplified status messages across all 14 supported languages, removing progress percentages in favor of concise action-oriented text.
  • Aggressive Build Optimization:
    • Cross-Platform Distributions: Significantly reduced bundle sizes by pruning unused Qt modules (Web, Pdf, Qml, Quick), PDB debug files, and extra translations for Windows, Linux, and macOS.
    • Optimized Bytecode: Switched to python -OO for all builds to ensure faster startup and execution.
  • Revamped CI & Packaging:
    • Windows: Improved PowerShell cleanup scripts to handle duplicate Qt DLLs robustly.
    • Linux: Shifted to a manual AppImage build process to ensure a cleaner layout and fix "encodings" mo...
Read more

YTSage v5.0.0b5

10 Feb 13:14

Choose a tag to compare

YTSage v5.0.0b5 Pre-release
Pre-release

YTSage 5.0.0b5 - Beta Release

Please report any issues you encounter on the GitHub Issues page.

Downloads

Platform File Notes
Windows FFmpeg YTSage-v5.0.0b5-ffmpeg-Setup.exe With FFmpeg bundled
Windows EXE YTSage-v5.0.0b5-Setup.exe Standard installer
Windows Portable FFmpeg YTSage-v5.0.0b5-ffmpeg-portable.zip Portable with FFmpeg, zipped
Windows Portable YTSage-v5.0.0b5-portable.zip Portable version, no installation required
Linux DEB YTSage-v5.0.0b5-amd64.deb Debian package
Linux AppImage YTSage-v5.0.0b5-x86_64.AppImage AppImage, portable
Flathub YTSage-v5.0.0b5-x86_64.flatpak Flatpak Bundle
Linux RPM YTSage-v5.0.0b5-x86_64.rpm RPM package
macOS ARM64 DMG YTSage-v5.0.0b5-arm64.dmg Disk image installer for Apple Silicon
macOS ARM64 APP YTSage-v5.0.0b5-arm64.app.zip Zipped application for Apple Silicon
PyPI ytsage-5.0.0b5-py3-none-any.whl Python Wheel
PyPI ytsage-5.0.0b5.tar.gz Source Distribution

🚀 New Features

  • Beta Update System: Introduced an opt-in beta update feature. Users can now receive notifications for preview releases by enabling the "Receive Beta Updates" option in the updater settings.
  • Log Management: Added a new "Logs" button in the About dialog to quickly open the application logs folder.
  • Expanded Localization: Initial support for Chinese (Simplified), Hindi, and Indonesian in the Windows installer and application metadata.

🐛 Bug Fixes

  • UI Rendering: Removed the 🔄 emoji from the System Info loading message to resolve potential rendering issues on certain systems.

🔧 Improvements

  • About/System Info:
    • Refined the "System Info" loading text style (updated color to #888888 and removed italics for better readability).
    • Updated version refresh icons and localized "Open Logs" tooltips across all 14 supported languages.
  • Diagnostics & Reporting:
    • Simplified the GitHub Bug Report template to leverage the new one-click log access.
  • Workflow:
    • Implemented a automated PyPI build workflow (build-pypi.yml) to generate Python Wheel and Source distributions.
    • Integrated PyPI artifact generation into the master release pipeline.
  • Update Logic: Optimised the update thread to prioritize GitHub Beta releases when opted-in, preventing version conflicts with PyPI releases.

YTSage v5.0.0b4

07 Feb 17:37

Choose a tag to compare

YTSage v5.0.0b4 Pre-release
Pre-release

YTSage 5.0.0b4 - Beta Release

Please report any issues you encounter on the GitHub Issues page.

Downloads

Platform File Notes
Windows FFmpeg YTSage-v5.0.0b4-ffmpeg-Setup.exe With FFmpeg bundled
Windows EXE YTSage-v5.0.0b4-Setup.exe Standard installer
Windows Portable FFmpeg YTSage-v5.0.0b4-ffmpeg-portable.zip Portable with FFmpeg, zipped
Windows Portable YTSage-v5.0.0b4-portable.zip Portable version, no installation required
Linux DEB YTSage-v5.0.0b4-amd64.deb Debian package
Linux AppImage YTSage-v5.0.0b4-x86_64.AppImage AppImage, portable
Flathub YTSage-v5.0.0b4-x86_64.flatpak Flatpak Bundle
Linux RPM YTSage-v5.0.0b4-x86_64.rpm RPM package
macOS ARM64 DMG YTSage-v5.0.0b4-arm64.dmg Disk image installer for Apple Silicon
macOS ARM64 APP YTSage-v5.0.0b4-arm64.app.zip Zipped application for Apple Silicon

🚀 New Features

  • Output Filename Template: Added option to customize the output filename format in download settings (e.g. %(title)s.%(ext)s) #75 thanks to @Daymond.

  • Automated Windows Installers: The build process now automatically generates Setup installers (.exe) alongside portable ZIPs.

🐛 Bug Fixes

  • Format Table Update Issue: Fixed a bug where the download format list would not update when analyzing a new video after a previous one, causing the previous video's formats to persist #74, special thanks to @bachig26, and @xhzsz666-lang for reporting.

YTSage v5.0.0b3

03 Feb 18:21

Choose a tag to compare

YTSage v5.0.0b3 Pre-release
Pre-release

YTSage 5.0.0b3 - Beta Release

Please report any issues you encounter on the GitHub Issues page.

Downloads

Platform File Notes
Windows FFmpeg YTSage-v5.0.0b3-ffmpeg-Setup.exe With FFmpeg bundled
Windows EXE YTSage-v5.0.0b3-Setup.exe Standard installer
Windows Portable FFmpeg YTSage-v5.0.0b3-ffmpeg-portable.zip Portable with FFmpeg, zipped
Windows Portable YTSage-v5.0.0b3-portable.zip Portable version, no installation required
Linux DEB YTSage-v5.0.0b3-amd64.deb Debian package
Linux AppImage YTSage-v5.0.0b3-x86_64.AppImage AppImage, portable
Flathub YTSage-v5.0.0b3-x86_64.flatpak Flatpak Bundle
Linux RPM YTSage-v5.0.0b3-x86_64.rpm RPM package
macOS ARM64 DMG YTSage-v5.0.0b3-arm64.dmg Disk image installer for Apple Silicon
macOS ARM64 APP YTSage-v5.0.0b3-arm64.app.zip Zipped application for Apple Silicon

🚀 New Features

  • Animated UI Enhancements:
    • Window Blurring: Implemented a sophisticated modal dialog flow using blurred screenshots as overlays, providing a better focus on dialogs like "About," "History," and "Settings."
    • Smooth Transitions: Added SmoothTabWidget with fade-in/fade-out transitions between tabs and cross-fade animations for status messages and control buttons.
    • Dynamic Elements: Introduced a "shake" animation for invalid input validation and smooth fade-in effects for video thumbnails and the format table.
  • Deno Integration Detection: Added a background system information thread to detect yt-dlp's Deno integration. The About Dialog now displays a "+ yt-dlp" indicator when integration is active.
  • Real-time Deno Updates: Rewrote the Deno upgrade process to stream stdout in real-time to a dedicated GUI progress window.
  • Improved Analysis Feedback: Added progress signals and a simulated progress timer to provide smoother visual feedback during long-running URL extractions.

🔧 Improvements

  • Standardized UI Status Messages: Cleaned up and simplified status messages across all 14 supported languages, removing progress percentages in favor of concise action-oriented text.
  • Aggressive Build Optimization:
    • Cross-Platform Distributions: Significantly reduced bundle sizes by pruning unused Qt modules (Web, Pdf, Qml, Quick), PDB debug files, and extra translations for Windows, Linux, and macOS.
    • Optimized Bytecode: Switched to python -OO for all builds to ensure faster startup and execution.
  • Revamped CI & Packaging:
    • Windows: Improved PowerShell cleanup scripts to handle duplicate Qt DLLs robustly.
    • Linux: Shifted to a manual AppImage build process to ensure a cleaner layout and fix "encodings" module errors.
    • macOS: Consolidated bundle trimming and automated the creation of DMG and ZIP artifacts.
  • Style Consistency: Updated QPushButton styles with explicit pressed-state padding and unified visual feedback across the application.
  • Plugin Management: Maintained QtDBus and QtSvg support across all platforms to ensure D-Bus integration and proper SVG rendering.

🐛 Bug Fixes

  • Enhanced Error Reporting: Implemented a yt-dlp error buffer to capture and display the last two lines of specific "ERROR:" output when a command fails, replacing generic return-code messages with actionable information. #70 thanks to (@xhzsz666-lang)
  • Build Script Stability: Added error suppression to Windows pruning scripts to prevent failures when optional files (like specific translations) are missing.
  • macOS Rendering: Corrected an issue where SVG and PDF rendering plugins were accidentally removed during the trimming pass.

YTSage v5.0.0b2

25 Jan 14:32

Choose a tag to compare

YTSage v5.0.0b2 Pre-release
Pre-release

YTSage 5.0.0b2 - Beta Release

Please report any issues you encounter on the GitHub Issues page.

Downloads

Platform File Notes
Windows FFmpeg YTSage-v5.0.0b2-ffmpeg-Setup.exe With FFmpeg bundled
Windows EXE YTSage-v5.0.0b2-Setup.exe Standard installer
Windows Portable FFmpeg YTSage-v5.0.0b2-ffmpeg-portable.zip Portable with FFmpeg, zipped
Windows Portable YTSage-v5.0.0b2-portable.zip Portable version, no installation required
Linux DEB YTSage-v5.0.0b2-amd64.deb Debian package
Linux AppImage YTSage-v5.0.0b2-x86_64.AppImage AppImage, portable
Flathub YTSage-v5.0.0b2-x86_64.flatpak Flatpak Bundle
Linux RPM YTSage-v5.0.0b2-x86_64.rpm RPM package
macOS ARM64 DMG YTSage-v5.0.0b2-arm64.dmg Disk image installer for Apple Silicon
macOS ARM64 APP YTSage-v5.0.0b2-arm64.app.zip Zipped application for Apple Silicon

🚀 New Features

  • Automated release script: Add build_release.py to automate production builds (cleanup, wheel build, README handling) and standardize the release flow.
  • Modern packaging: Migrate dependency and build configuration to pyproject.toml, remove requirements.txt, and add MANIFEST.in to ensure assets and language files are packaged.
  • Package layout consolidation: Rename the top-level package from src to ytsage and move main.py into ytsage/, simplifying module imports and enabling python -m ytsage.main usage.
  • Background history & thumbnails: Introduce a virtualized history view with an SQLite backend, persistent DB connection, and asynchronous thumbnail downloads to keep the UI responsive on large histories.

🔧 Improvements

  • Build workflows & CI: Update Windows, macOS and Linux CI workflows to install from pyproject.toml (PEP 517), adjust cx_Freeze entry points and asset paths, and clarify artifact naming.
  • README & docs: Refresh documentation and CI/CD notes to show the new layout, packaging steps, and how to run via python -m ytsage.main.
  • Assets & localization: Reorganize branding and asset folders (branding/, ytsage/assets) and move language JSON files to ytsage/languages for packaging and discoverability.
  • Localization coverage: Add and expand translation keys (multiple languages) and localize dialogs, log messages, and FFmpeg/yt-dlp setup strings.
  • Update checks: Speed up update checks using parallel network requests and non-blocking background threads, plus improved fallbacks and timeouts.
  • Format table & UI performance: Build the format table once and use visibility toggles for filtering; centralize file-extension constants to reduce duplication.
  • Audio playback: Replace pyglet with PySide6.QtMultimedia for notification playback and update build steps accordingly.
  • Progress feedback: Add smooth QPropertyAnimation for progress updates and increase progress precision to 0.01% (range 0–10000) for finer progress reporting.

🐛 Bug Fixes

  • Build fixes: Fix Linux build configuration and correct icon paths used by build scripts; update Windows workflow paths and packaging excludes.

🔄 Refactoring

  • Package & imports: Move src/core, src/gui, and src/utils into ytsage/ and update imports to relative module paths across the codebase.
  • GUI organization: Extract analysis logic into AnalysisMixin, centralize stylesheet handling in ytsage_stylesheet.py, and reorganize GUI dialogs and modules for clarity.
  • Threading and stability: Replace manual threading with QThread-based classes for analysis and updater checks, add cancellation and safer UI signaling.
  • History backend: Migrate history storage from JSON to SQLite with a persistent connection, add indexes for fast search, and implement a virtualized QListView for large histories.
  • Config & constants: Introduce ConfigManager and centralize file-extension constants in ytsage_constants.py to reduce duplication and improve maintainability.

Known Issues

GitHub workflows on main: CI/Actions in the main branch are not reflecting the repository refactor (file paths and updated workflow files live on the beta branch). GitHub only reads workflow files from the default branch, so builds/workflows will not work until the refactor/workflow updates are merged into main.

Installation Notes

  • Clean install recommended: Due to the package refactor (srcytsage) and updated packaging/workflows, a clean reinstall is recommended. A dirty update may work in many cases, but if you encounter import/module errors or missing assets, uninstall and perform a fresh install. Try a dirty update first, then perform a clean reinstall if problems occur

YTSage v5.0.0b

17 Jan 21:03

Choose a tag to compare

YTSage v5.0.0b Pre-release
Pre-release

YTSage 5.0.0b - Beta Release

Please report any issues you encounter on the GitHub Issues page.

Downloads

Platform File Notes
Windows FFmpeg YTSage-v5.0.0b-ffmpeg-Setup.exe With FFmpeg bundled
Windows EXE YTSage-v5.0.0b-Setup.exe Standard installer
Windows Portable FFmpeg YTSage-v5.0.0b-ffmpeg-portable.zip Portable with FFmpeg, zipped
Windows Portable YTSage-v5.0.0b-portable.zip Portable version, no installation required
Linux DEB YTSage-v5.0.0b-amd64.deb Debian package
Linux AppImage YTSage-v5.0.0b-x86_64.AppImage AppImage, portable
Flathub YTSage-v5.0.0b-x86_64.flatpak Flatpak Bundle
Linux RPM YTSage-v5.0.0b-x86_64.rpm RPM package
macOS ARM64 DMG YTSage-v5.0.0b-arm64.dmg Disk image installer for Apple Silicon
macOS ARM64 APP 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.json in 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 SyntaxError related 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 TypeError where WindowsPath objects were not correctly serialized to JSON, preventing configuration save errors (#73). Thanks to (@xhzsz666-lang) for reporting.

YTSage v4.9.8b

06 Jan 15:51

Choose a tag to compare

YTSage v4.9.8b Pre-release
Pre-release

YTSage 4.9.8b - Beta Release

Please report any issues you encounter on the GitHub Issues page.

Downloads

Platform File Notes
Linux DEB YTSage-v4.9.8b-amd64.deb Debian package
Linux AppImage YTSage-v4.9.8b-x86_64.AppImage AppImage, portable
Linux RPM YTSage-v4.9.8b-x86_64.rpm RPM package
Flathub YTSage-v4.9.8b.flatpak Flatpak Bundle

🚀 New Features

  • Linux Flatpak Support: added a .flatpak bundle for broader Linux compatibility (Fedora, Steam Deck, etc.) #4 thanks to (@imbev)
  • Sandbox Compatibility: YTSage now respects YTDLP_APP_BIN_PATH and DENO_APP_BIN_PATH environment 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-all workflow to orchestrate multi-platform builds.

YTSage v4.9.7

26 Dec 22:09

Choose a tag to compare

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

YTSage v4.9.7

Release Date: