| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-07-30 | 2.1 kB | |
| v3.60.0 Release source code.tar.gz | 2026-07-30 | 478.0 kB | |
| v3.60.0 Release source code.zip | 2026-07-30 | 557.2 kB | |
| Totals: 3 Items | 1.0 MB | 0 | |
Breaking Changes
SetTLSFingerprintSpecAPI change — The signature changed fromSetTLSFingerprintSpec(spec *utls.ClientHelloSpec)toSetTLSFingerprintSpec(fn func() utls.ClientHelloSpec). This fixes a bug where reusing the same spec across multiple TLS handshakes caused the second handshake to fail (#504). The factory function ensures a fresh spec is generated per connection. PR [#507] by @1992w.
New Features
-
SetMaxResponseSize— Limit response body size at the client or request level. When Content-Length is known and exceeds the limit, the body is closed without reading. For chunked responses, a streaming limit reader stops at the configured size and returnsErrResponseBodyTooLarge. Closes [#406]. PR [#512] by @ManuelReschke. -
SOCKS4 and SOCKS4a proxy support —
socks4://andsocks4a://proxy URLs are now supported. SOCKS4 resolves domain names locally to IPv4; SOCKS4a sends the domain name to the proxy for remote resolution. Closes [#473]. PR [#510] by @ManuelReschke. -
HTTP QUERY method — Added
Request.Query(url)andRequest.MustQuery(url)for the HTTP QUERY method defined in RFC 10008 (Proposed Standard, June 2026). PR [#508] by @thatwasyahya. -
Retry on before-request errors — Retry logic now covers errors from before-request middleware, not just transport errors. PR [#499] by @bao-io.
Bug Fixes
- Stream multipart uploads without buffering files — Multipart uploads now stream directly to the HTTP transport via
io.Pipeinstead of building the complete body in abytes.Buffer. Memory usage is bounded for large file uploads. Fixes [#433]. PR [#505] by @ManuelReschke.
Dependencies
- quic-go v0.60.0 → v0.61.0
- klauspost/compress v1.18.2 → v1.19.1
- icholy/digest v1.1.0 → v1.2.0
- google/go-querystring v1.1.0 → v1.2.0
- andybalholm/brotli v1.2.0 → v1.2.2
- golang.org/x/net v0.55.0 → v0.57.0
- golang.org/x/text v0.37.0 → v0.40.0
- golang.org/x/crypto v0.51.0 → v0.54.0 (indirect)
- golang.org/x/sys v0.45.0 → v0.47.0 (indirect)