Summary
The worker and the proxy sit at opposite ends of the same QUIC connection and are pinned six minor versions apart, both behind current.
| Module |
quic-go |
src/libraries/go/worker (client side) |
v0.53.0 |
src/invocation-plane-services/grpc-proxy (server side) |
v0.59.1 |
src/compute-plane-services/worker-utils |
v0.53.0, indirect via the worker library |
| latest |
v0.61.0 |
Why now
This surfaced while investigating stateful session failures. It is not a suspected cause of that incident: the release notes between v0.54 and v0.61 contain no idle-timeout or keep-alive fix, and no public API for path migration or changing a connection's local address.
The reason to do it is the skew itself. Client and server on the same connection should not be six versions apart, and the gap only widens.
Prerequisite is already met
v0.60 and later require Go 1.25. All three modules already declare go 1.25.0, so unification on v0.61.0 is unblocked.
Summary
The worker and the proxy sit at opposite ends of the same QUIC connection and are pinned six minor versions apart, both behind current.
src/libraries/go/worker(client side)src/invocation-plane-services/grpc-proxy(server side)src/compute-plane-services/worker-utilsWhy now
This surfaced while investigating stateful session failures. It is not a suspected cause of that incident: the release notes between v0.54 and v0.61 contain no idle-timeout or keep-alive fix, and no public API for path migration or changing a connection's local address.
The reason to do it is the skew itself. Client and server on the same connection should not be six versions apart, and the gap only widens.
Prerequisite is already met
v0.60 and later require Go 1.25. All three modules already declare
go 1.25.0, so unification on v0.61.0 is unblocked.