| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-09-24 | 1.4 kB | |
| v2.8.0 source code.tar.gz | 2026-09-24 | 531.0 kB | |
| v2.8.0 source code.zip | 2026-09-24 | 601.2 kB | |
| Totals: 3 Items | 1.1 MB | 0 | |
HTTP v2.8.0
HTTP 2.8.0 preserves caller spelling for outgoing HTTP/1 header names and matches names case-insensitively. canonicalize_headers=true restores the opt-in canonical spelling. HTTP/2 still sends lowercase names; received headers keep canonical spelling. Code that compares stored caller-supplied names or entire Headers collections exactly can observe this change.
This release also fixes request Host display, makes HTTP/2 received-trailer merging linear, and waits for split trailer blocks to finish before reporting request-body EOF. Small fixed-length HTTP/1 stream responses use one transport write, with safe connection closure after partial-write failures.
Other changes since 2.7.1 preserve empty header values in get, accept tuples of header entries, honor copyheaders=false ownership, and bound buffered upload allocations.
Included PRs: [#1373], [#1374], [#1375], [#1376], [#1378], [#1379], [#1380].
Merged pull requests:
- Preserve empty header values in get (#1373) (@quinnj)
- Preserve owned headers and bound buffered transfer allocations (#1374) (@quinnj)
- Accept tuples of header entries (#1375) (@quinnj)
- Coalesce small fixed-length HTTP/1 stream responses (#1376) (@quinnj)
- Show the Host line the HTTP/1 writer sends when displaying a request (#1379) (@quinnj)