Repository navigation
v2.3.0-rc.2
Pre-releasev2.3.0-rc.2
[2.3.0-rc.2] - 2026-10-02
Changed
-
Building from source now needs Go 1.27.
go.mod'sgoline moves from 1.26.0 to 1.27.0 becausesigstore/sigstorev1.10.10 requires it, and the toolchain line moves to go1.27.1. Release binaries and images have been built with Go 1.27 since 2.2.1, so this only affects people who compile sockguard themselves.scripts/local-fuzz.sh --dockerdefaults togolang:1.27.1, because the oldgolang:1.26.2image can no longer build the module. -
BuildKit mediation runs on
net/http's HTTP/2 instead ofgolang.org/x/net/http2. x/net v0.59.0 deprecates the per-connection API (http2.Server.ServeConn,http2.Transport.NewClientConn) that both tunnel legs and the frontend runner were built on, and under Go 1.27 that API was already a wrapper aroundnet/http. The newinternal/h2connpackage serves and dials prior-knowledge HTTP/2 on an already-established connection withhttp.Serverandhttp.Transport, sogolang.org/x/netis now only an indirect dependency. Stream limits, idle and ping timeouts, the 10 second preface timeout, denial handling and audit events are unchanged. Two edges differ: sockguard waits for the peer's client preface before sending its own SETTINGS (every gRPC client sends the preface first), andGODEBUG=http2server=0now turns off the server side of a mediated tunnel, the wayhttp2client=0already turned off the client side. -
Go dependency bumps.
go-containerregistryv0.21.9 to v0.22.1,sigstore/sigstorev1.10.9 to v1.10.10 andgolang.org/x/netv0.58.0 to v0.59.0, with their indirect updates (golang.org/x/{crypto,mod,sync,sys,term,text},docker/cli,go-securesystemslib,klauspost/compress). What changes for sockguard: go-containerregistry now parsessha384andsha512digest references and single-character repository names, so aremap_imagerule or result of that shape passes the reference check it used to fail, and image-trust resolution no longer stops at a registry that answers with asha512manifest digest (a trusted signature still has to bind that digest). Its redirect and token-realm guards also reject non-canonical private IP literals. sigstore's key loader accepts ML-DSA public keys. The key fingerprint callsx509.MarshalPKIXPublicKeydirectly now that sigstore deprecates its one-line wrapper. -
The Docker builder image moves from
golang:1.27.0-alpine3.23togolang:1.27.1-alpine3.23, pinned by digest, so the image andgo.mod's toolchain line name the same Go patch. -
Security: Gosec SASTruns the gosec 2.29.0 image directly. The gosec action's v2.29.0 tag still runs the 2.28.0 image, which is built with Go 1.26 and setsGOTOOLCHAIN=local. Against a module whosegoline is 1.27 it loads no packages and exits 1 with an empty SARIF and no error in the log, which is how the check failed on the Renovate PR that first raised thegoline. 2.29.0 is the first image built with Go 1.27. -
The validated Docker Engine API ceiling moves from 1.55 to 1.56, which turns the monthly Upstream API Watch green again. The 1.56 changelog adds a
GET /containers/jsonannotationfilter andHostConfig.UmaskonPOST /containers/create. Neither needs a filter change: the annotation filter can only narrow a list that owner and visibility filtering have already scoped, and a umask grants no host access, mounts or capabilities, so the create inspector passes it through like any other field it does not gate.
Fixed
- The website and docs builds no longer fetch Google Fonts. IBM Plex is now self-hosted with
next/font/local, so a build no longer fails when Google answers the font request with URLs Turbopack can't resolve.