| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 3.2.0 source code.tar.gz | 2026-02-21 | 324.2 kB | |
| 3.2.0 source code.zip | 2026-02-21 | 396.4 kB | |
| README.md | 2026-02-21 | 1.3 kB | |
| Totals: 3 Items | 721.9 kB | 0 | |
Refactor
- Replace all cowlib modules with hackney-native implementations
- Remove
src/libs/directory (all modules moved tosrc/)
Performance
- HTTP/2 state machine optimizations:
- Stream caching for recently accessed streams
- gb_sets for lingering streams (O(log N) vs O(N) lookups)
- IOList accumulation for header fragments
- HPACK and QPACK header compression with O(1) static table lookups
- WebSocket: use
rand:bytes/1instead ofcrypto:strong_rand_bytes/1for mask keys
Added
- h2spec HTTP/2 compliance testing (95% pass rate - 139/146 tests)
h2spec_server.erl: Minimal HTTP/2 server for compliance testingh2spec_SUITE.erl: CT suite for running h2spec tests- Makefile target:
make h2spec-test - HTTP/3 E2E tests against real servers
hackney_http3_e2e_SUITE.erl: Tests against Cloudflare, Google, quic.tech- Makefile targets:
make http3-e2e-test,make all-e2e-test - HTTP/2 machine benchmarks (
hackney_http2_machine_bench.erl)
Bug Fixes
- Fix HTTP/2 flow control for body sending (use
send_or_queue_data/4) - Fix async 204/304/HEAD responses not sending
donemessage - Fix unknown HTTP/2 frame types not being ignored (RFC 7540 4.1)
- Fix HTTP/2 frame size validation