github oop7/YTSage v5.0.0b2
YTSage v5.0.0b2

pre-release4 hours ago

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

Don't miss a new YTSage release

NewReleases is sending notifications on new releases.