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
+5-4Lines changed: 5 additions & 4 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
-
|`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. |
71
70
|`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). |
72
71
|`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. |
73
72
@@ -79,6 +78,8 @@ not relevant to httpx2.
79
78
80
79
### Skipped β already in httpx2 / open PR / fork-only
81
80
81
+
-`e88f30b` (h2 semaphore release on `NoAvailableStreamIDError`) β covered by open PR #1012 (port of encode/httpcore#1061).
82
+
-`e88f30b` (h2 stream-events race in `_response_closed`) β covered by open PR #1013 (port of encode/httpcore#1062). Note: fork bundled both #1061 and #1062 in this one commit; split into two httpx2 PRs to match the upstream split.
82
83
-`b192486` (close proxy connection when tunnel TLS handshake fails) β covered by open PR #1010.
83
84
-`0387930` (propagate timeout through SOCKS5 handshake) β covered by open PR #1009.
84
85
-`3058e2d` (RLock instead of Lock to prevent thread deadlock) β covered by open PR #1008.
@@ -91,10 +92,10 @@ not relevant to httpx2.
91
92
92
93
## Suggested next steps
93
94
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.
95
+
1.The httpxyz **redirect/transport/stream fixes** (`36420a4`, `3573282`, `e0030ea`) are small, isolated, and have upstream PRs to cite β good quick wins next.
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
+
3.`9d86b44` (lock contention in `PoolByteStream.close()`) β perf-shaped, requires care.
97
98
4.`6866277` (`keep_method_for_redirects`) is a public-API addition β worth opening as a discussion before a PR.
98
99
5.`91ad8ea` (`map_exceptions` retirement) is bigger and more opinionated β open an issue/discussion first.
0 commit comments