Skip to content

v1.10.0 - Expanded Connection Pooling

Choose a tag to compare

@33xception 33xception released this 26 Apr 09:48
· 13 commits to master since this release

🔗 Expanded Connection Pooling – HTTP/2, HTTP/3, and DoQ

Connection pooling now extends beyond TCP/TLS to cover all modern protocols: HTTP/2, HTTP/3 (DoH3), and QUIC (DoQ). Connections are reused transparently, reducing handshake overhead and improving performance for every upstream type.


✨ Added

  • Pooling for HTTP/2 – httpx.AsyncClient instances are kept and reused.
  • Pooling for HTTP/3 – QUIC connections with H3 sessions are pooled per upstream.
  • Pooling for DoQ – QUIC connections are reused for raw DNS‑over‑QUIC queries.
  • New tests – 3 tests verify reuse of HTTP/2 clients, error‑handling, and DoQ connection pooling. Total test suite: 119 tests.

🛠️ Changed

  • pool_max_size and pool_idle_timeout now apply to all pooled protocols (TCP, TLS, HTTP/2, HTTP/3, DoQ). No new configuration keys required.
  • _forward_https2, _forward_https3, and _forward_quic borrow/return connections via the new ClientPool class.
  • Internal pool cleanup closes idle connections and frees resources automatically.

📦 Upgrading

  • Update: ./installer.sh --update then systemctl restart phantomd
  • Fresh install: ./installer.sh

Full Changelog: v1.9.0...v1.10.0