🚀 Telegram Media Downloader v3.0.0 - Major Framework Migration & Compatibility Enhancement
We're excited to announce the release of Telegram Media Downloader v3.0.0, featuring a complete migration from pyrogram to telethon framework along with comprehensive compatibility improvements!
⚠️ Breaking Changes
This release contains breaking changes due to the framework migration from pyrogram to telethon.
Migration Required
- Framework Migration: Complete switch from pyrogram to telethon
- API Changes: Configuration options may need updates
- Python Version: Minimum requirement increased to Python 3.8+
Quick Migration Guide
- Backup your
config.yaml
and downloaded media - Use
make install
for automatic dependency installation - Test with a small channel to verify functionality
- Report any issues in our repository
✨ What's New
🔧 Framework Migration
- Complete Telethon Integration: Migrated from pyrogram to the more actively maintained telethon framework
- Enhanced Stability: Improved connection handling and reliability
- Future-Proof Architecture: Better long-term maintainability and community support
🐍 Python Version Support
- Expanded Compatibility: Support for Python 3.8 through 3.13
- Automatic Detection: Makefile automatically selects appropriate dependencies
- Version-Specific Requirements: Optimized packages for each Python version
- Dependency Resolution: Eliminated compatibility conflicts across versions
📦 Dependency Management
- Smart Version Ranges: Implemented compatible release syntax (
~=X.Y
) and version bounds (<Z.W>
) - Security Updates: Updated all packages to address known vulnerabilities
- Cross-Platform: Seamless installation across different Python environments
🔄 CI/CD Improvements
- Modernized Pipeline: Updated testing and linting tools to latest compatible versions
- Enhanced Speed: Faster CI execution with improved error reporting
- Developer Experience: Better code quality tools and automated checks
🛠️ Technical Improvements
Package Updates
- pytest:
7.0.1
→8.3.5
(latest compatible) - black:
22.6.0
→24.8.0
(version-appropriate) - mypy:
0.971
→1.14.1
(compatible version) - pylint:
2.14.5
→2.17.7
(compatible version) - pre-commit:
2.20.0
→3.5.0
(compatible version)
Compatibility Fixes
- Rich Version Conflict: Resolved flask-limiter compatibility with rich 14.x
- Pre-commit Version: Fixed non-existent version 4.3.0 → 3.5.0
- Makefile Enhancement: Added Python version detection and automatic requirements selection
📋 Installation & Usage
For New Users (Recommended)
git clone https://github.com/Dineshkarthik/telegram_media_downloader.git
cd telegram_media_downloader
make install # Automatically detects your Python version
python3 media_downloader.py
For Existing Users (Migration)
# Backup your configuration
cp config.yaml config.yaml.backup
# Install with new framework
make install
# Test with a small channel first
python3 media_downloader.py
📊 Impact Assessment
- Risk Level: Medium (Breaking change with clear migration path)
- Testing Coverage: 86% maintained
- Performance Impact: Positive (improved stability and speed)
- Maintenance Burden: Significantly reduced (automated dependency management)
🐛 Bug Fixes
- Fixed dependency conflicts across Python versions
- Resolved installation failures for various Python environments
- Improved error handling for framework-specific issues
📚 Documentation Updates
- Comprehensive Migration Guide: Step-by-step upgrade instructions
- Python Version Compatibility: Clear documentation of supported versions
- Installation Instructions: Enhanced with framework-specific guidance
- Breaking Changes: Prominent warnings and migration assistance
🤝 Contributing
Contributors now benefit from:
- Automatic Python Detection: No manual version selection needed
- Version-Specific Requirements: Optimized development environments
- Modernized CI Tools: Latest linting and testing frameworks
- Enhanced Code Quality: Improved formatting and type checking
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Community: Telegram Community
Ready to experience the improved Telegram Media Downloader! 🎉
Full changelog available in the repository
Tags: v3.0.0
, breaking-change
, telethon
, compatibility
, python-versions