Introduces src/core/ytsage_logging.py to provide structured logging for the YTSage application using loguru. Includes multiple output handlers for console and file logging, robust fallbacks for environments without loguru, and safe initialization to replace print statements with consistent logging.
Introduces a SponsorBlock section to the video info UI, allowing users to select categories via a dialog. Refactors print statements to use the logger for consistency. Updates imports and improves UI feedback for subtitle and SponsorBlock selections.
Introduces src/gui/dialogs/__init__.py to organize and re-export dialog classes for the YTSage GUI. This file provides a structured overview of available dialogs and maintains backward compatibility by re-exporting all relevant classes.
Moved ytsage_gui_main.py to src/gui/ and updated imports for new module structure. Replaced print statements with structured logging using the logger. Added 'Embed Chapters' checkbox and related state handling. SponsorBlock selection is now managed via a dialog and category list instead of a simple checkbox. Updated version to 4.7.0 and improved resource path handling for icons and sounds.
Refactored dialog-related code by splitting ytsage_gui_dialogs.py into multiple modular files under src/gui/dialogs/. Added new files for base, custom, ffmpeg, selection, and settings dialogs, improving code organization and maintainability. Removed the old monolithic ytsage_gui_dialogs.py.
Replaced all print statements with logger calls for improved logging consistency and error handling. Updated imports to use relative paths and added logger import. This change enhances maintainability and integrates better with the application's logging system.
Moved ytsage_yt_dlp.py to src/core/ and improved the YtdlpSetupDialog UI with better layout, styling, and accessibility. Replaced print statements with logger calls, added a check_ytdlp_installed() utility, and refined icon path resolution. These changes improve user experience and maintainability.
Moved ytsage_ffmpeg.py to src/core and refactored for improved logging and error handling. Added SHA-256 verification for downloads, updated FFmpeg URLs to 7.1.1, and implemented fallback extraction methods. Introduced get_ffmpeg_path utility and replaced print statements with logger calls for better integration.
Replaced print statements with logger calls for improved logging. Added support for sponsorblock categories and chapter embedding. Updated imports to use relative paths and improved command building logic for yt-dlp.
Enhanced the README with a new 'Why YTSage?' section, improved installation instructions, added troubleshooting steps, and expanded feature descriptions. Updated project structure, acknowledgments, and star history sections for better clarity and navigation. Improved formatting and added advanced usage notes for cross-platform support.
Updated import paths to use src.gui and src.core modules. Integrated logger for improved error and status reporting throughout application startup and error handling.
Added rules to ignore virtual environment directories (venv, .venv) and test artifact files (*.test, *.tmp) to prevent them from being tracked in the repository.