You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: missing-from-httpxyz.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,7 +67,6 @@ not relevant to httpx2.
67
67
68
68
| Fork commit | Title | Notes |
69
69
|---|---|---|
70
-
|`b192486`| Close proxy connection when tunnel TLS handshake fails | CONNECT-tunnel TLS failure currently leaves the TCP connection ACTIVE in the pool until `max_connections` is exhausted. Port of encode/httpcore#1049 (baizhu). |
71
70
|`e88f30b`| Release h2 semaphore/streams on error + fix stream-events race | Two related deadlock/race fixes: release the max-streams semaphore on `NoAvailableStreamIDError`, and move `del self._events[stream_id]` inside `_state_lock`. Ports encode/httpcore#1061 and #1062. |
72
71
|`c4e9340`| Explicitly close async generators to prevent Trio warnings | Adds `safe_async_iterate()` / `safe_iterate()` context managers and applies them across `connection_pool.py`, `http11.py`, `http2.py`, `_models.py`. Port of encode/httpcore#1019 (Alex GrΓΆnholm). |
73
72
|`9d86b44`| Reduce lock contention in `PoolByteStream.close()`| Marks pool requests closed outside the lock, cleans up inside `_assign_requests_to_connections()`. Also adds `Origin.__hash__`. Port of encode/httpcore#1038. |
@@ -80,6 +79,7 @@ not relevant to httpx2.
80
79
81
80
### Skipped β already in httpx2 / open PR / fork-only
82
81
82
+
-`b192486` (close proxy connection when tunnel TLS handshake fails) β covered by open PR #1010.
83
83
-`0387930` (propagate timeout through SOCKS5 handshake) β covered by open PR #1009.
84
84
-`3058e2d` (RLock instead of Lock to prevent thread deadlock) β covered by open PR #1008.
85
85
-`d3db03d` + `237ac4d` (FQDN trailing-dot SNI fix + `Origin.normalized_host`) β covered by open PR #1007.
@@ -91,7 +91,10 @@ not relevant to httpx2.
91
91
92
92
## Suggested next steps
93
93
94
-
1. The **httpcorexyz bug-fix block** (`b192486`, `e88f30b`, `c4e9340`) is the most valuable β each is an upstream-reviewed httpcore fix that httpx2 currently lacks, and each ports cleanly with `unasync.py` already in place. (`3058e2d` RLock fix β PR #1008; `0387930` SOCKS5 timeout β PR #1009.)
95
-
2. The httpxyz **redirect/transport/stream fixes** (`36420a4`, `3573282`, `e0030ea`) are small, isolated, and have upstream PRs to cite.
96
-
3.`6866277` (`keep_method_for_redirects`) is a public-API addition β worth opening as a discussion before a PR if you're unsure whether the httpx2 maintainers want it.
97
-
4.`91ad8ea` (`map_exceptions` retirement) is bigger and more opinionated β open an issue/discussion first.
94
+
1.**`e88f30b`** (h2 semaphore/streams + stream-events race) β next priority. Real HTTP/2 hang/race fixes that affect a mainstream code path; bigger surface than the proxy fixes, so worth careful review.
3. The httpxyz **redirect/transport/stream fixes** (`36420a4`, `3573282`, `e0030ea`) are small, isolated, and have upstream PRs to cite β good "quick wins" alongside the h2 work.
97
+
4.`6866277` (`keep_method_for_redirects`) is a public-API addition β worth opening as a discussion before a PR.
98
+
5.`91ad8ea` (`map_exceptions` retirement) is bigger and more opinionated β open an issue/discussion first.
0 commit comments