v0.2.0
Release Changelog v0.2.0
🚀 Major Features
HTTP/2 Support
- Added native HTTP/2 support with
http2=Trueparameter for Client() and Session() - Per-request HTTP/2 override capability
- Full httpx-compatible API design
- 35 comprehensive test cases covering HTTP/2 functionality
Async API (Native asyncio)
- Complete async/await support with AsyncClient class
- Event-driven async request manager with buffer pooling
- Async convenience functions (async_get, async_post, etc.)
- Windows IOCP implementation for true async I/O on Windows
- Linux/Mac non-blocking socket support
Windows Platform Support
- Full Windows compatibility with MSVC compiler
- Comprehensive POSIX-to-Windows compatibility layer
- IOCP (I/O Completion Ports) dispatcher for async operations
- All 323 tests passing on Windows
Connection Pooling Optimizations
- Removed expensive validation overhead (eliminates 4+ system calls per request)
- Simplified pool validation to reduce fcntl() and recv() overhead
- TLS fingerprint persistence for pooled connections
- Automatic retry for stale pooled connections
Architecture Refactor
- Split monolithic core into specialized modules (client, network, TLS, HTTP1/2, proxy, cookies, compression)
- Added buffer pooling for improved concurrency
- Centralized version management in pyproject.toml
🔧 Bug Fixes
- Fixed SSL_shutdown blocking on proxy/stale connections
- Fixed async HTTP connection state transitions under concurrent load
- Fixed TLS information returning None on connection reuse
- Fixed BoringSSL MD5 compatibility
- Fixed Windows C++ compilation with explicit type casts
- Fixed Docker build issues with nghttp2 detection
- Improved connection error detection (30s → 100ms)
- Fixed proxy routing to distinguish HTTP vs HTTPS destinations
📚 Documentation
- Added ReadTheDocs documentation with Sphinx
- Created quickstart guide and API reference
- Added comprehensive benchmark results
- Debug output control with HTTPMORPH_DEBUG flag
🧪 Testing
- 311+ tests passing (8 skipped as expected)
- Added real proxy integration tests
- Added async test suite
- CI improvements with proper timeout handling
Files Changed: 40+ files | Additions: 4,000+ lines | Deletions: 380+ lines