Skip to content

fix: migrate HTTP/2 transport to the standard library - #1190

Merged
ryanfowler merged 1 commit into
mainfrom
fix/http2-transport-deprecation
Sep 14, 2026
Merged

ryanfowler merged 1 commit into
mainfrom
fix/http2-transport-deprecation

Conversation

@ryanfowler

Copy link
Copy Markdown
Owner

Summary

  • Replace deprecated golang.org/x/net/http2.Transport usage with Go 1.27 net/http.Transport HTTP/2 protocol configuration.
  • Preserve direct HTTPS HTTP/2, h2c, CONNECT proxying, proxy selection, custom dialing, TLS/ECH, and scheme validation behavior.
  • Add end-to-end coverage for direct and proxied HTTPS HTTP/2 and h2c.
  • Bump golang.org/x/net to 0.59.0 as required by PR chore(deps): bump golang.org/x/net from 0.58.0 to 0.59.0 #1188.

Why

Staticcheck reports SA1019 for the deprecated x/net/http2.Transport in PR #1188. The standard library transport is the supported replacement in Go 1.27.

Validation

  • go test -v -parallel 8 ./...
  • go test -race -count=1 -parallel 8 ./internal/client ./internal/fetch ./internal/grpc ./internal/pager ./internal/resolver ./internal/ws
  • staticcheck ./...
  • go mod verify
  • native and CGO-disabled release builds for Linux, macOS, and Windows targets

Independent review found no correctness defects.

@ryanfowler
ryanfowler merged commit c0389bc into main Sep 14, 2026
12 checks passed
@ryanfowler
ryanfowler deleted the fix/http2-transport-deprecation branch September 14, 2026 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant