Skip to content

Commit d03a82c

Browse files
committed
note PRs pydantic#1012 and pydantic#1013 cover the h2 fixes (split from fork's e88f30b)
1 parent c7a8fc5 commit d03a82c

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

β€Žmissing-from-httpxyz.mdβ€Ž

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ not relevant to httpx2.
6767

6868
| Fork commit | Title | Notes |
6969
|---|---|---|
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. |
7170
| `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). |
7271
| `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. |
7372

@@ -79,6 +78,8 @@ not relevant to httpx2.
7978

8079
### Skipped β€” already in httpx2 / open PR / fork-only
8180

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.
8283
- `b192486` (close proxy connection when tunnel TLS handshake fails) β†’ covered by open PR #1010.
8384
- `0387930` (propagate timeout through SOCKS5 handshake) β†’ covered by open PR #1009.
8485
- `3058e2d` (RLock instead of Lock to prevent thread deadlock) β†’ covered by open PR #1008.
@@ -91,10 +92,10 @@ not relevant to httpx2.
9192

9293
## Suggested next steps
9394

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.
9596
2. `c4e9340` (close async generators to prevent Trio warnings) β€” bigger diff, benefits trio users mainly.
96-
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.
9798
4. `6866277` (`keep_method_for_redirects`) is a public-API addition β€” worth opening as a discussion before a PR.
9899
5. `91ad8ea` (`map_exceptions` retirement) is bigger and more opinionated β€” open an issue/discussion first.
99100

100-
Already underway: `3058e2d` β†’ PR #1008 (RLock), `0387930` β†’ PR #1009 (SOCKS5 timeout), `b192486` β†’ PR #1010 (CONNECT tunnel TLS close).
101+
Already underway: `3058e2d` β†’ PR #1008 (RLock), `0387930` β†’ PR #1009 (SOCKS5 timeout), `b192486` β†’ PR #1010 (CONNECT tunnel TLS close), `e88f30b` β†’ PR #1012 (h2 semaphore release) + PR #1013 (h2 stream-events race).

0 commit comments

Comments
Β (0)