Changed - Streamlined HTTP client initialization and enhanced file info fetching logic - Improved code readability by adjusting indentation in download_with_buffer_worker - Updated RemoteFileInfo size type to allow "unknown" and improved URL validation - Simplified Makefile commands and updated help text - Updated project description to emphasize optimization features
Added - Inactivity timeout configuration for HTTP client and improved timeout handling - Updated default HTTP headers for enhanced content negotiation and security - Reset_buffer method to ChunkBuffer for better memory management - UnidentifiedFileSizeError exception for handling unknown file sizes
Fixed - Reduced maximum RAM usage constant from 30% to 20% for better system compatibility
Dependencies - Updated ruff to version 0.11.0 - Updated pytest to version 8.3.5 - Updated typer to version 0.15.2
0.5.0
Changed - Migrated to httpx library for improved HTTP/2 support - Optimized chunk size calculations for better performance - Enhanced error handling and recovery mechanisms - Improved progress bar responsiveness - Updated dependencies and requirements
Added - Advanced retry mechanisms with exponential backoff - Adaptive chunk size based on connection speed - Enhanced error messages and debugging information - New connection pooling system
Fixed - Memory management issues with large files - Progress bar flickering during high-speed downloads - Connection timeout handling - Thread synchronization issues - File corruption during interrupted downloads
Changed - Moved all constants to a dedicated constants.py file - Updated chunk buffer values - Enhanced code typings - Improved max connections calculator
Added - Demo option for Makefile - Signal handlers for graceful exit - .turbodownload suffix to incomplete downloads - DownloadInterruptedError exception - Demo CLI gif for documentation
Fixed - Hash checker improvements - Wrong file path handling - Various gitignore configurations - Test files structure - Code formatting with ruff linter - Changed minimum "max connections" to 2 instead of 4 - Enhanced chunk range generator - Increased keepalive time and reduced max connections to 24 - Various CLI options and configurations
0.3.4
Changed - Updated documentation by adding a demo gif demonstrating the TurboDL functionality