ProxyBroker2 v2.0.0b1 - Production Ready Beta 🚀
Pre-release
Pre-release
🎉 Major Milestone: ProxyBroker2 is Production-Ready!
This beta release represents a complete modernization and stabilization of ProxyBroker, making it ready for production use with zero critical bugs and comprehensive test coverage.
✨ Key Highlights
🔧 Critical Bug Fixes
- ✅ Fixed ProxyPool heap corruption - Proper min-heap maintenance with
avg_resp_timepriority - ✅ Added timeout/retry limits - Prevents infinite loops in proxy import operations
- ✅ Deterministic protocol selection - Clear priority order (SOCKS5 → SOCKS4 → CONNECT → HTTPS → HTTP)
- ✅ Signal handler cleanup - Proper memory management prevents leaks
- ✅ Modern SSL handling - Uses
asyncio.start_tls()instead of deprecated patterns - ✅ Exception chaining - Proper error propagation with
raise ... from err
🚀 Production-Ready Status
- Zero critical bugs - All signal handler leaks, deadlocks, and heap corruption fixed
- 100% test suite pass rate - All 131 tests passing with comprehensive coverage
- Python 3.10-3.13 support - Full compatibility with latest Python versions
- Modern async patterns - Updated from deprecated asyncio patterns
🛠️ API Improvements
- Proxy.types setter - Direct assignment and update operations with type validation
- Cache invalidation - Schemes properly refresh when types change
- Async context managers - Server lifecycle management
- Resource cleanup - Comprehensive connection and SSL cleanup
🧪 Modern Testing Philosophy
- Behavior-focused tests - Contract-based testing protects APIs during refactoring
- 131 passing tests - Comprehensive coverage across all components
- Mock infrastructure - Realistic testing without external dependencies
- Integration tests - End-to-end workflow validation
🔄 Updated Dependencies (May 2025)
- aiohttp 3.10.11 → 3.12.0 (asyncio deprecation fixes)
- aiodns 3.1.1 → 3.4.0 (DNS resolution improvements)
- attrs 22.1.0 → 25.3.0 (Python 3.10+ optimizations)
- pytest 7.1.2 → 8.3.5 (modern testing framework)
📚 Enhanced Documentation
- Updated architecture guide with clear component explanations
- Modern toolchain documentation (ruff, pytest, poetry)
- Migration guide for smooth transition from v1.x
- Auto-generated API reference from high-quality docstrings
🎯 Perfect for Production Use
Web Scraping & Automation
import asyncio
from proxybroker import Broker
async def main():
proxies = asyncio.Queue()
broker = Broker(proxies)
await broker.find(types=['HTTP', 'HTTPS'], limit=10)
asyncio.run(main())Proxy Server Deployment
import asyncio
from proxybroker import Broker
async def main():
proxies = asyncio.Queue()
broker = Broker(proxies)
await broker.serve(host='127.0.0.1', port=8888, types=['HTTP', 'HTTPS'])
asyncio.run(main())🔄 Migration from v1.x
ProxyBroker2 maintains API compatibility while adding modern features:
- All existing code continues to work
- New type validation provides better error messages
- Enhanced async patterns improve performance
- Modern Python 3.10+ support
📦 Installation
# Install from GitHub (recommended)
pip install git+https://github.com/bluet/proxybroker2.git
# Or with Poetry
poetry add git+https://github.com/bluet/proxybroker2.git🤝 Contributing
ProxyBroker2 is ready for community contributions! See CONTRIBUTING.md for guidelines.
Ready to use ProxyBroker2 in production? This beta release provides a stable, thoroughly tested foundation for your proxy needs.
🤖 Generated with Claude Code