Skip to content

Releases: henrique-coder/turbodl

🎉 TurboDL 0.7.0 - Critical Bug Fixes & Code Quality Improvements

19 Aug 18:39
c3c4be8
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager designed to optimize your downloading experience.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

Changed

  • Build system updated to use uv_build for improved package building
  • Development instructions enhanced with prerequisite information for repository cloning
  • README format improved with better organization and enhanced keywords
  • Makefile updated to use uv run for lint and format commands consistently
  • Ruff command ordering optimized in format target for improved functionality
  • Install command updated to include --upgrade flag for better dependency management
  • Demo GIF asset refreshed with updated visual demonstration

Added

  • uvicorn added to development dependencies for enhanced development server support
  • .env file extension added to .gitignore to prevent environment file tracking

Fixed

  • Critical download functionality restored by resolving URL validation and connection issues
  • Invalid URL format corrections in download tests for proper test execution
  • Default connection speed configuration corrected in downloader fixture
  • StreamSnapper object casing standardized throughout codebase
  • Test file updates and invalid URL format corrections for reliability
  • README instruction ordering improved for better user clarity
  • StreamSnapper source updated to latest commit hash for compatibility

Removed

  • Python 3.14 classifier and optional CLI dependency removed for stability
  • CLI interface installation instructions removed from README for consistency
  • Version constraints removed from StreamSnapper dependency for flexibility

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.6.2 - Critical CLI Resolution & Python Versioning Update

14 May 14:24
a86b2dd
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager designed to optimize your downloading experience.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

Changed

  • CI Python test matrix adjusted to support versions 3.10 through 3.13
  • CI workflow steps and environment variable handling improved for clarity
  • Version constraints for Typer and development dependencies loosened for flexibility
  • Release job timeout in CI workflow reduced for security and stability

Fixed

  • Critical CLI operational issues resolved by correcting Pydantic dependency version and configuration

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.6.1 - CLI Stability & Python 3.14 Support

14 May 13:10
097904b
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager designed to optimize your downloading experience.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

Added

  • Support for Python 3.14 development versions in CI test matrix
  • Python 3.14 classifier added to pyproject.toml for future compatibility

Changed

  • CLI demo command updated to use uv run for operational consistency
  • Demo GIF and link for CLI updated in documentation with a new version

Fixed

  • Critical CLI functionality restored by updating click dependency to version 8.1.8
  • Formatting of OS matrix in CI workflow configuration corrected

Dependencies

  • click (transitive via typer) updated to version 8.1.8

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.6.0 - New YouTube Support, `uv` Migration & Enhancements

13 May 20:08
cc3d2dc
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager designed to optimize your downloading experience.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

Added

  • New YouTube download support leveraging StreamSnapper for optimal stream selection
  • Full project migration to uv for dependency and environment management (uv.lock)
  • Optional installation extra: [cli] for CLI support
  • New .python-version file specifying Python 3.13 for consistent development

Changed

  • Build system transitioned from Poetry-core to Hatchling for package building
  • Project source code fully consolidated into src/turbodl directory structure
  • Makefile commands streamlined and help text improved for better usability
  • README updated with YouTube feature details and improved installation instructions
  • Internal comment terminology standardized to "Local modules" for code clarity
  • streamsnapper dependency is now a core requirement for all installations
  • typer dependency for CLI made optional, managed via the new [cli] extra

Fixed

  • Internal module import paths standardized to src.turbodl for consistency
  • Error handling improved for missing optional CLI dependencies at runtime
  • Connection calculation logic in calculate_max_connections optimized
  • Unused expected_hash parameter removed from download_single_file method
  • Default Python interpreter in Makefile set to python for wider compatibility
  • File hashes for urllib3 dependency updated to ensure integrity
  • Linting and formatting rules in ruff.toml updated and refined

Dependencies

  • ruff updated to version ^0.11.9
  • typer updated to version ^0.15.3 (now optional via [cli] extra)
  • urllib3 (transitive) updated to version 2.4.0 via direct resolution

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.5.2 - Enhanced HTTP Features & Connection Management

03 Apr 14:16
863dcfb
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager designed to optimize your downloading experience.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

Changed

  • Streamlined HTTP client initialization and enhanced file info fetching logic
  • Updated RemoteFileInfo size type to allow "unknown" and improved URL validation
  • Simplified argument annotations for better code clarity
  • Enhanced documentation for clarity and consistency

Added

  • Inactivity timeout option to download command for improved connection management
  • Enhanced timeout configuration for HTTP client with better handling of stalled connections
  • Updated default HTTP headers for improved content negotiation and security
  • Memory optimization feature added through ChunkBuffer's reset_buffer method
  • UnidentifiedFileSizeError exception for more graceful handling of unknown file sizes

Fixed

  • Reduced maximum RAM usage constant from 30% to 20% for better system compatibility
  • Enhanced file size input handling in download method
  • Updated installation instructions for clarity
  • Simplified downloader functionality for reliability

Dependencies

  • Updated ruff to version 0.11.3
  • Updated rich package to version 14.0.0
  • Updated typing-extensions to version 4.13.0
  • Updated pytest to version 8.3.5
  • Updated typer to version 0.15.2
  • Updated tenacity to version 9.1.2
  • Updated pydantic to version 2.11.1
  • Updated dependencies for anyio and iniconfig

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.5.1 - Performance Enhancements & Stability Improvements

17 Mar 20:23
2c3ac12
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager designed to optimize your downloading experience.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

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

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.5.0 - Major Improvements & New Features

26 Feb 21:33
1007267
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager with several automations.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

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

Removed

  • Legacy HTTP client implementation
  • Deprecated connection handling methods
  • Obsolete retry mechanisms
  • Logger functionality

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.3.6 - Bug Fixes & Performance Improvements

12 Feb 19:24
fc46b97
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager with several automations.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

Changed

  • Updated CLI demo gif
  • Updated Makefile

Added

  • Added a new logger system (always log everything to a file, located at {TEMP_DIR}/turbodl.log)

Fixed

  • Size formatting issues

Removed

  • Unused constants
  • --save-log-file CLI option
  • assets directory

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.3.5 - Performance & Stability Improvements

06 Feb 00:12
f3a63f6
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager with several automations.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

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

📋 Commit History:

📊 Compare Changes

View all changes

🎉 TurboDL 0.3.4 - Hotfixes

03 Feb 16:06
4b4dd75
Compare
Choose a tag to compare

📦 Summary

TurboDL is an extremely smart, fast, and efficient download manager with several automations.

❇️ Available for automatic installation at PyPI and manual installation at GitHub.

📋 Changes in this version:

Changed

  • Updated documentation by adding a demo gif demonstrating the TurboDL functionality

Added

  • Missing hash verification feature
  • Automatic retries on connection errors

Fixed

  • Fixed release workflow
  • Fixed CLI argument names and their values

📋 Commit History:

📊 Compare Changes

View all changes