Snatch v1.4.0
New Features and Enhancements
Improved Error Handling & Automatic Retry Logic:
Added robust error handling during downloads.
Implemented automatic retry with exponential backoff for failed download attempts.
Enhanced Caching with LRU Eviction:
Integrated an LRU cache mechanism to manage repeated downloads efficiently.
Automatically evicts the least recently used cache entries when storage limits are exceeded.
Download Session Management & Resume Capability:
Introduced a session manager to track and resume interrupted downloads.
Session data is stored in a JSON file for persistent progress tracking.
Enhanced Metadata Extraction & File Organization:
Improved extraction of media metadata (e.g., upload date, title).
Added functionality to automatically organize downloaded files into subdirectories based on metadata.
Enhanced Logging & Debugging:
Upgraded logging system to include both console and file logging with multiple log levels (DEBUG, INFO, etc.).
Enhanced error messages and troubleshooting output when using the --verbose flag.
Network Connectivity Verification:
Added a preliminary network check to ensure connectivity before starting downloads.
Accurate Progress Reporting:
Updated progress bar logic to accurately show the real percentage of remaining download.
File Naming Cleanup:
Fixed an issue where redundant file extensions (e.g., ".wav.flac") were appended.
Now cleans up the file name to display only the correct final extension.
FFmpeg Audio Conversion Improvements:
Updated FFmpeg parameters to default to Opus (instead of MP3) for audio conversions.
Added interactive prompt to allow users to select between stereo (2 channels) or 7.1 surround sound.
Fixed FLAC conversion metadata handling issues.
Thumbnail Download and Embedding:
Enabled thumbnail downloading with audio downloads.
Embedded the downloaded thumbnail as cover art in the audio file.
Bug Fixes
Resolved issues with file naming that caused redundant extensions.
Fixed problems with FLAC metadata not being copied properly during conversion.
Corrected progress bar calculations to reflect actual download progress.
CLI Enhancements
Added and improved functionality for several CLI options:
--version: Displays the current version.
--resume: Resumes interrupted downloads.
--stats: Shows download statistics.
--system-stats: Displays system resource stats.
--format-id : Allows selection of specific format IDs.
--no-cache: Skips using cached media information.
--no-retry: Disables automatic retry logic.
--throttle : Limits the download speed.
--aria2c: Uses aria2c as the download engine.
--verbose: Enables detailed debugging output.