go 1.27.0, go@1.26 1.26.7 (new formula) - #288803
Merged
Merged
Conversation
This was referenced Jun 20, 2026
Open
This was referenced Jun 28, 2026
Merged
Contributor
Contributor
|
Caution Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch. |
Contributor
This was referenced Aug 21, 2026
Merged
Merged
Merged
Merged
Merged
Merged
This was referenced Aug 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Announcements:
Release notes:
Go 1.27 milestone:
(release blockers, commits, PRs)
Go release dashboard: https://dev.golang.org/release
Downloads: https://go.dev/dl/
This PR also adds
go@1.26(1.26.7) as a new formula, keeping the previous major available for formulae not yet compatible with Go 1.27.Related/similar previous major releases:
Builds:
rc1: https://github.com/Homebrew/homebrew-core/actions/runs/27823992819?pr=288803(failing due to premature staticcheck revision bump)Note on rc3 coverage:
macOS 14-x86_64 (deps)was cancelled after ~36 h (2026-08-14 00:05 → 2026-08-15 12:06) rather than finishing, stopping partway through the alphabet attfmigrateand emitting nofailed stepssummary. Sotfproviderlint,tgpt,trivy,vuls,wireguard-go,xeolandxgowere never exercised on macOS x86_64, and their platform notes below reflect arm64/Linux only. (pomeriumwas reached and correctly skipped — it isarch: :arm64only.)This PR's own formulae
The non-
(deps)jobs fail on a single, transient step:go@1.26(1.26.6):brew audit --formula go@1.26 --online --new→Stable: The source URL https://fossies.org/linux/misc/go1.26.6.src.tar.gz is not reachable (HTTP status code 410)— Fossies had not mirrored 1.26.6 yet when the run started; the URL now returns HTTP 200, so this only needs a re-run.errcheck,golangci-lintandgovulncheck(revision bumps included here) pass on all platforms.solodneeds its revision bump pushed to this branch as well (see below).What would unblock the most formulae
Root causes ranked by how many failing formulae each one accounts for, after checking each project's current
go.mod/upstream state:golang.org/x/net< v0.55.0 (http2.TrailerPrefix)x/netto >= v0.55.0, orgrpc>= 1.83.0 which requires itapptainerbigquery-emulatordaggergascitykapacitorlocalaiopentofusteampipevulcaincockroachdb/swissnot enabled for Go 1.27ethereumipgetkuboplakarpomeriumgo-json-experiment/jsonnot synced to Go 1.27encoding/json/v2dagusing-boxtrivyvulsgolang.org/x/sysfrom 2019-2021 crashes on darwin/amd64x/sysbumpleafpgetregterraform-lspgolang.org/x/toolstoo old to read Go 1.27 export datax/toolsbumpgo-critictfproviderlintgrafanagrafana-alloymesheryctlAlready fixed on upstream's master and only waiting for a release:
apptainer,dagger,opentofu,vulcain,teleport.Problematic formulae
Test failure - Needs revision bump
errcheckfails withpackage requires newer Go version go1.27 (application built with go1.26) -: This application uses version go1.26 of the source-processing packages but runs version go1.27 of 'go list'. It may fail to process source files that rely on newer language features. If so, rebuild the application using a newer version of Go.garble(0.17.0_1) (once supported upstream https://github.com/burrowers/garble in main.go)Go version "go1.27rc3" is too new; Go linker patches aren't available for go1.27 or later yetsearch upstream for 1.27 — all platforms. The gate is theunsupportedGo = "go1.27"constant inmain.go(identical in v0.17.0 and master, and there is still no upstream issue or PR for 1.27) — nothing to wait for yet garble: pin go@1.26 #299758 drop Go 1.26, support Go 1.27 burrowers/garble#1071golangci-lintgoresym(3.4) test failure:Failed to parse file: no valid pclntab found(Go 1.27 pclntab format change) — all macOS. v3.4 (2026-07-01) is the newest release and does not contain a fix; issue Add Go 1.27 support mandiant/GoReSym#90 is still open goresym: pin go@1.26 #300093govulnchecksolod(0.3.0) test failure:so run: packages contain errors/This application uses version go1.26 of the source-processing packages but runs version go1.27 of 'go list'— all platforms; revision bump prepared, still to be pushed to this branchstaticcheck(2026.1_6) test failure:JSON::ParserError: unexpected token at end of stream '{"code":"compile","severity":"er' at line 2 column 1- Tracking issue for Go 1.27 / internal data version bump dominikh/go-tools#1711 wait for 2026.2 (v0.8.0) release. 2026.2rc1 was tagged 2026-06-25 and the tracking issue is still being worked on (last updated 2026-08-15), so a final release looks close staticcheck 2026.2 #299834 staticcheck: revision bump (go 1.27.0) #299956Build failure due to bug in Go 1.27
Build failure
internal compiler error: bad live variablegrpcui(1.5.2) build failure:grpcui.go:897:3: internal compiler error: bad live variable at entry of getMethods: cfg (type *svcConfig)— all macOS arm64 cmd/compile: internal compiler error "bad live variable at entry" with map range, map lookup pointer, and optimized struct method call golang/go#80102, fixed in 1.27 (cmd/compile: internal compiler error "bad live variable at entry" with map range, map lookup pointer, and optimized struct method call golang/go#80102 (comment) after golang/go@31525e9); passes in rc3Build failure
undefined: http2.TrailerPrefixingoogle.golang.org/grpcmoduleUpstream:
The deciding dependency is
golang.org/x/net, notgrpc. Every formula below pinsgolang.org/x/net v0.54.0;v0.55.0is the first release that keepshttp2.TrailerPrefixdefined under Go 1.27.grpcstill references it atinternal/transport/handler_server.go:271in v1.83.0 too — bumping grpc only helps because of what itsgo.modrequires:x/netgascity)So, fixable by any of:
golang.org/x/netto >=v0.55.0(smallest change;grep 'golang.org/x/net' go.modtells you instantly whether a formula is affected),google.golang.org/grpcto >= 1.83.0 (pullsx/netv0.55.0 in), or-tags=http2legacy.Formulae issues:
apptainer(1.5.3) build failure:vendor/google.golang.org/grpc/internal/transport/handler_server.go:271:18: undefined: http2.TrailerPrefix— Linux only (macOS is not supported by the formula). Already fixed upstream: master has grpc v1.83.0 / x/net v0.57.0; 1.5.3 (2026-07-21) predates it → wait for the next release > 1.5.3 containing build(deps): bump golang.org/x/crypto from 0.52.0 to 0.53.0 apptainer/apptainer#3563 apptainer: pin go@1.26 #299756astro(1.43.1): chore(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 astronomer/astro-cli#2195 astro 1.44.0 #297425azcopy(10.32.4): Bump Go 1.25.11 and security-relevant dependencies Azure/azure-storage-azcopy#3486 azcopy 10.32.6 #292246bigquery-emulator(0.8.1) build failure:google.golang.org/grpc@v1.81.1 undefined: http2.TrailerPrefix— all macOS. Master still pins grpc v1.81.1 / x/net v0.54.0, so nothing to wait for yet: Bump golang.org/x/net from 0.54.0 to 0.56.0 for Go 1.27 compatibility goccy/bigquery-emulator#497 Bump golang.org/x/net from 0.54.0 to 0.55.0 in the go_modules group across 1 directory goccy/bigquery-emulator#499 bigquery-emulator: pin go@1.26 #299839cilium-cli(0.19.4): Prepare for v0.19.5 release cilium/cilium-cli#3260 cilium-cli 0.19.5 #289768dagger(0.21.8) build failure:google.golang.org/grpc@v1.80.0 undefined: http2.TrailerPrefix— all macOS. Already fixed upstream: master has x/net v0.56.0; 0.21.8 (2026-07-29) pins v0.54.0 → wait for the next release: bump deps and exclude snippets from dependabot dagger/dagger#13638 https://github.com/dagger/dagger/releasesdolt(2.1.8): Bump golang.org/x/net v0.54.0 => v0.55.0 for Go 1.27 compatibility dolthub/dolt#11290 dolt 2.2.2 #294457flyctl(0.4.59): chore(deps): bump github.com/containerd/containerd/v2 from 2.2.4 to 2.2.5 superfly/flyctl#4939 flyctl 0.4.63 #290665gascity(1.4.0) build failure:google.golang.org/grpc@v1.82.1 undefined: http2.TrailerPrefix— all macOS (new in rc3). This is the datapoint proving grpc 1.82.1 is still affected (it requires only x/net v0.53.0); needs an x/net or grpc 1.83.0 bump upstream fix: align native Beads v59 schema handling gastownhall/gascity#5030 needs release > 1.4.1gitsign(0.16.1): Bump the gomod group across 1 directory with 7 updates sigstore/gitsign#839 gitsign 0.17.1 #296022kafkactl(5.19.0): chore(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 deviceinsight/kafkactl#330 update dependencies deviceinsight/kafkactl#335 kafkactl 5.20.0 #296111kapacitor(1.8.6) build failure:google.golang.org/grpc@v1.81.1 undefined: http2.TrailerPrefix— all macOS. Master still pins grpc v1.82.1, which is not enough → build(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 influxdata/kapacitor#2902 kapacitor: pin go@1.26 #300095kubeone(1.13.5): Support for Kubernetes v1.36 kubermatic/kubeone#4096 kubeone 1.14.0 #295547localai(4.8.2) build failure:google.golang.org/grpc@v1.80.0 undefined: http2.TrailerPrefix— all macOS; chore(deps): bump golang.org/x/net to v0.55.0 mudler/LocalAI#11544 localai 4.9.0 #299860mmctl(11.8.3): Bump golang.org/x/net to v0.56.0 mattermost/mattermost#37293 mmctl 11.9.0 #293476opentofu(1.12.5) build failure:google.golang.org/grpc@v1.79.3 undefined: http2.TrailerPrefix— all macOS. Already fixed upstream: master has grpc v1.83.0 / x/net v0.57.0; 1.12.5 (2026-07-21) still has grpc v1.79.3 → wait for 1.13.0: go.mod: Upgrade golang.org/x/* dependencies for net v0.55.0 opentofu/opentofu#4127 https://github.com/opentofu/opentofu/releasespvetui(1.4.2): deps(deps): bump github.com/getsops/sops/v3 from 3.13.1 to 3.13.2 devnullvoid/pvetui#135 pvetui 1.4.3 #293545skopeo(1.23.0): Update module golang.org/x/net to v0.55.0 [SECURITY] podman-container-tools/skopeo#2907 skopeo 1.24.0 #296197steampipe(2.4.5) build failure:google.golang.org/grpc@v1.79.3 undefined: http2.TrailerPrefix— all macOS (new in rc3). Master is only at grpc v1.82.1, still short of 1.83.0; [dep][go](deps): Bump golang.org/x/net from 0.54.0 to 0.55.0 turbot/steampipe#5016vulcain(1.4.2) build failure:google.golang.org/grpc@v1.81.1 undefined: http2.TrailerPrefix— all macOS arm64. Already fixed upstream: master has x/net v0.58.0; 1.4.2 (2026-07-18) pins v0.54.0 → wait for the next release: chore: bump deps dunglas/vulcain#182 vulcain 1.4.3 #298990Formula reports different checksum
Gitea unstable checksum:
gitea-mcp-server(1.3.0): gitea-mcp-server: update checksum for 1.3.0 release #288966 gitea-mcp-server: use git instead of archive #290371gitea-runner(1.0.8): gitea-runner: update checksum for 1.0.8 release #288967 gitea-runner: use git instead of archive #290372tea(0.14.1): tea 0.14.2 #290079Others
cozypkg(1.4.4): cozypkg: update checksum for 1.4.4 release #288964 cozypkg 1.5.0 #289264firefly(1.4.0): firefly: update homepage and checksum for 1.4.0 release #292774git-hooks-go(1.3.1): git-hooks-go: deprecate #288965git-pages(0.9.1): regressed again in rc3 —Formula reports different checksum: 1976bad8d2d1f24034c554430ae34716e42c0dc25d777c1378cc953fe4b4d9f8— all macOS. Same class as the Gitea entries above: the URL is a Codeberg (Gitea)archive/v0.9.1.tar.gz, which is regenerated on demand and not byte-stable, so re-sha256-ing only papers over it until the next regeneration; a release asset or git checkout would be durable (previously git-pages: update checksum for 0.9.1 release #292775) git-pages: use release tarball #299025git-pages-cli(1.10.0): git-pages-cli: update checksum for 1.10.0 release #292776ijq(1.3.0): ijq: update checksum for 1.3.0 release #292788kraftkit(0.12.14): kraftkit: update checksum for 0.12.14 release #292819noti(3.8.0): noti: update checksum for 3.8.0 release #292827nova-fairwinds(3.12.0): nova-fairwinds: update checksum for 3.12.0 release #289178ocm(1.0.15): ocm: update checksum for 1.0.15 release #289181percona-toolkit(3.7.1): percona-toolkit: update checksum for 3.7.1 release #289183 percona-toolkit 3.7.1-4, livecheck #291217picoclaw(0.3.1): picoclaw: update checksum for 0.3.1 release #292825pixlet(0.53.0): pixlet: update checksum for 0.53.0 release #289296pluto(5.24.0): pluto: update checksum for 5.24.0.release #289553ratify(1.4.1): ratify: add livecheck, update checksum for 1.4.1 release #289565 ratify 1.4.2 #289608 ratify: add livecheck #289638reposurgeon(5.9) reposurgeon: update checksum for 5.9 release #294229 reposurgeon 5.10 #297383sing-box(1.13.13): sing-box: update checksum for 1.13.13 release #289765 sing-box 1.13.14 #289778terramaid(2.15.3): terramaid: update checksum for 2.15.3 release #290269 terramaid: disable autobump #290729 terramaid: deprecate #291278treefmt(2.5.0): treefmt: update checksum for 2.5.0 release #290119wireguard-go(0.0.20250522):Formula reports different checksum: c698fb9f…vs downloadedc7eeffb1…— all macOS arm64. The URL is a cgitsnapshot/tarball, regenerated per request and likewise not byte-stable: wireguard-go: update checksum for 0.0.20250522 release #290649Upstream tag moved
linkerd(2.20) fetch failure:version-2.20 tag should be 7977d505fc3d9ae7dddddd11779a82f813e405ac— all macOS (new in rc3; unrelated to Go 1.27). Upstream force-moved the tag:version-2.20now resolves toeadc1acf79ad2e766afbdceadb77f1594296fd77, while the formula still pinsrevision: "7977d505fc3d9ae7dddddd11779a82f813e405ac". linkerd: move git revison for 2.20 release #299023Build failure
undefined: json.SkipFunc/undefined: json.DiscardUnknownMembersCaused by
github.com/go-json-experiment/jsonmodule being incompatible with Go 1.27's new stdlibencoding/json/v2. Upstream:go-json-experiment/jsonmirrors the stdlibencoding/json/v2API; its last sync commit is from 2026-06-23, before the Go 1.27 rename, and no upstream issue is filed for this yet — filing one there is probably the highest-leverage action, since it unblocks all four formulae at once.Formulae:
dagu(2.13.0) build failure:go-json-experiment/json alias.go:618:21: undefined: json.SkipFunc/alias.go:957:14: undefined: json.DiscardUnknownMembers— all macOS build: upgrade to Go 1.27 and JSON v2 dagucloud/dagu#2597 dagu 2.15.0 #300044 dagu 2.15.1 #300153sing-box(1.13.18) build failure: same as above — all macOS Dependency Dashboard SagerNet/sing-box#353 [dependencies] Update golang Docker tag to v1.27 SagerNet/sing-box#4182 sing-box: pin go@1.26 #300128trivy(0.73.0) build failure:github.com/aquasecurity/trivy pkg/x/json/json.go:109:16: undefined: json.SkipFuncCannot build with `go install` with 1.27rc2 aquasecurity/trivy#10897 — all macOS arm64 chore: bump Go to 1.27 aquasecurity/trivy#11127 trivy: pin go@1.26 #300118vuls(0.40.1) build failure:trivy@v0.72.0 pkg/x/json/json.go:109:16: undefined: json.SkipFunc(transitive dep on trivy) — all macOS arm64 vuls: pin go@1.26 #300127Build failure
undefined: checkMapABIingithub.com/pingcap/tidbdumpling(26.3.10) build failure:pkg/util/hack/hack.go:41:2: undefined: checkMapABI— all macOS. Upstream Build fails with Go 1.27 pingcap/tidb#70069 is open (last updated 2026-07-25); no fix released dumpling: pin go@1.26 #299840Build failure
undefined: hashFn/getRuntimeHasher/fastrand64incockroachdb/swisscockroachdb/swissgates its runtime-internal hooks on an explicit per-release build-tag list, so each new Go major needs a one-line enablement:runtime_go1.20.gois currently//go:build (go1.20 && !go1.27) || untested_go_version.None of the five formulae use
swissdirectly — each gets it as an indirect dependency ofcockroachdb/pebble/v2, so this cannot be fixed in the formulae or in their own upstreams; it has to come fromswissorpebble.swiss.Mapwith a custom cgo allocator so the GC does not have to scan the large block-cache maps, which the builtin map cannot express. So the realistic fix is the build-tag bump, not dropping the dependency.Checked locally against
go1.27rc3(macOS arm64): swiss's own test suite passes with-tags untested_go_version— plain, under-race, and withswiss_invariants— andipget0.13.2 then builds and runs. So the breakage is the version gate itself rather than a real Go 1.27 incompatibility, which suggests the one-line bump is safe.Formulae (all with
cockroachdb/swiss@v0.0.0-20251224182025-b0f6560f979b):ethereum(1.17.5) build failure:map.go:286:7: undefined: hashFn/getRuntimeHasher/fastrand64— all macOS (new in rc3) ethereum: pin go@1.26 #299942ipget(0.13.2) — all macOS ipget: pin go@1.26, deprecate #299943kubo(0.43.0) — all macOS kubo: pin go@1.26 #299944plakar(1.1.4) — all macOS plakar: pin go@1.26 #299945pomerium(0.33.0) — all macOS arm64 pomerium: pin go@1.26 #299946Build failure
link: invalid reference to runtime.nanotime1Go 1.27 removed/renamed
runtime.nanotime1. Needs upstreamtailscale.com/tstime/monoupdate.codercannot move until Tailscale ships thisFormulae:
coder(2.35.3) build failure:link: tailscale.com/tstime/mono: invalid reference to runtime.nanotime1— all macOS uses outdated fork of tailscale coder: pin go@1.26 #300129tailscale(1.98.8) build failure:./build_dist.sh shellvars exited with 1— passes in rc3Build failure
flag provided but not defined: -no-canonical-prefixes(rules_go + Go 1.27)envoy(1.39.0) build failure:GoCompilePkg external/org_golang_x_tools/internal/fastwalk/fastwalk.a [for tool] failed→flag provided but not defined: -no-canonical-prefixes/compilepkg: error running subcommand .../pkg/tool/*/cgo: exit status 2— all macOS in rc3 (was macOS 15 arm64 only in rc2, and there a C++/SDK failure). Root cause and fix are known. Go 1.27 changed how the cgo ldflags response file is parsed, so toolchain flags such as-no-canonical-prefixesnow reachcgo's own flag parser (rules_go#4640). It is fixed by rules_go#4641, released in rules_go v0.62.0 (2026-07-23).envoy 1.39.0 pins
io_bazel_rules_go0.60.0 inbazel/repository_locations.bzl→ bumping that to >= 0.62.0 upstream should fix the build. Note rules_go#4681 (nogoincompatible with Go 1.27) is still open and may surface next.Newer release available
io_bazel_rules_go: v0.62.0 (current: v0.61.1) envoyproxy/envoy#46365Newer release available
io_bazel_rules_go: v0.63.0 (current: v0.61.1) envoyproxy/envoy#46742Runtime panic / crash
macOS x86_64 crash in old
golang.org/x/sysioctl (SIGBUS/SIGSEGV) — new in rc3Binaries built with Go 1.27 that pull in a pre-2022
golang.org/x/syscrash immediately on macOS x86_64 when callingIoctlGetTermios(isatty/terminal detection). The faulting PC equals the signal address, i.e. the libc trampoline call fromsyscall.syscall/syscall.syscalln(runtime/sys_darwin.go:27) jumps somewhere non-executable. macOS arm64 and Linux are unaffected.This is consistent with Go 1.27's change to the darwin libc trampoline calling convention (
9b4244e9runtime: return the error code as a return value insyscallN_trampoline), and it is the same shape as the earlier golang/go#71302 (runtime, x/sys/unix: Connectx is broken on darwin/amd64), which needed a matchingx/sysfix and was backported. No Go 1.27 issue is filed for this yet — worth reporting upstream, since it silently breaks previously working binaries at runtime rather than at build time.Per-formula the fix is an upstream
golang.org/x/sysbump to anything recent (current is v0.47.0); the four pins below are 4-7 years old. The x86_64 log contains exactly 8 such crashes (4 formulae × 2--retryattempts), so these are the full set within the range that job covered before it was cancelled.leaf(1.3.0) test failure:SIGSEGV: segmentation violationviax/sys@v0.0.0-20200223170610→ssh/terminal.IsTerminal— macOS 14 x86_64 leaf: don't build for x86_64 on MacOS #300274pget(0.2.1) test failure:SIGBUS: bus errorviax/sys@v0.0.0-20210403161142→go-isatty.IsTerminal— macOS 14 x86_64 pget: don't build on intel MacOS, deprecate #300284reg(0.16.1) test failure:SIGBUS: bus errorviax/sys@v0.0.0-20190507160741→logrus.isTerminal— macOS 14 x86_64 reg: don't build on intel MacOS, deprecate #300286terraform-lsp(0.0.12) test failure:SIGSEGV: segmentation violationviax/sys@v0.0.0-20190804053845→ssh/terminal.IsTerminal— macOS 14 x86_64 (new in rc3). Upstream juliosueiras/terraform-lsp was last pushed 2023-03-06 terraform-lsp: don't build on intel MacOS, deprecate #300289panic: crypto: RegisterHash of unknown hash functionin https://go.dev/src/crypto/crypto.go#:~:text=crypto%3A%20RegisterHash%20of%20unknown%20hash%20function
cloudfoundry-cli(8.18.4) test failure:panic: crypto: RegisterHash of unknown hash function— all macOS. Panics in aninit(), so everycfinvocation dies, not just the test. Exact frame:SermoDigital/joseis pinned to a 2016 commit and registers a non-existent "none" hash, which Go 1.27 now rejects. Needs upstream to drop or replace that dependency; no upstream issue filed yetpanic: strcase.UnicodeVersion "15.0.0" != unicode.Version "17.0.0"Needs rebuild with updated
strcasemodule matching Go 1.27's Unicode 17.0.0 tables, pendingFormulae:
moor(2.15.1): mod: update charlievieth/strcase to v0.0.6 walles/moor#446 moor 2.15.2 #295372teleport(18.10.0) test failure:panic: strcase.UnicodeVersion "15.0.0" != unicode.Version "17.0.0"— all macOS arm64 mod: update charlievieth/strcase to v0.0.6 gravitational/teleport#68786 Update charlievieth/strcase to v0.0.6 gravitational/teleport#68801, already fixed upstream: teleport master'sgo.modnow hasgithub.com/charlievieth/strcase v0.0.6(released 2026-07-18); 18.10.0 was cut 2026-07-09, just before it → needs any release carrying the bump release. On macOS 14 x86_64 it fails earlier and for an unrelated reason —Error: Corepack is not installed, cannot enable pnpm→make: *** [ensure-webassets] Error 2— so it never reaches the panic therepanic: jsontext: invalid nil io.Readerencoding/json.NewDecoder(nil)now panics. In Go <= 1.26 a nilio.Readerwas accepted and only failed on first read; in Go 1.27encoding/jsonis backed byjsontext, which panics inReset. Any formula callingjson.NewDecoderwith a nil reader will hit this, so it is worth watching for beyondgrpcurl.grpcurl(1.9.3) test failure:panic: jsontext: invalid nil io.Reader— all macOS: grpcurl: pin go@1.26 #300105grpcurlpasses a nil reader when the command needs no request body (describe). v1.9.3 (2025-03-11) is still the newest release and upstream already has an open request for a new release; the fix is upstream skipping the decoder for nil input. Worth reporting to golang/go as well, as it is a silent runtime behaviour changeGo 1.27 internal error —
package "X" without types was importedanubisbuild failure:stringer: internal error: package "errors" without types was imported from "github.com/TecharoHQ/anubis/internal/dnsbl"— passes in rc3This error class comes from an outdated
golang.org/x/tools: Go 1.27 bumped the export-data format (pkgbits V3/V4), which oldergo/packagescannot read. It has been the same fix every Go cycle — cf. mockery#914, containerd#12098, go-callvis#212. Currentx/toolsis v0.49.0.go-critic(0.14.4) test failure:internal error: package "fmt" without types was imported from "command-line-arguments"— all platforms. #1530 is merged and shipped in 0.14.4, but it only updated the stdlib package list — master still pinsgolang.org/x/tools v0.38.0, which is the actual blocker: go-critic 0.14.4 #289713tfproviderlint(0.31.0_1) test failure:internal error: package "log" without types was imported from "github.com/russellcardullo/terraform-provider-pingdom/pingdom"— all platforms. Master pinsgolang.org/x/tools v0.30.0andgo 1.22.0; the repo looks dormant tfproviderlint crashes under Go 1.27 withpackage "context" without typesbflad/tfproviderlint#345 tfproviderlint: pin go@1.26 #300208Go 1.27 runtime analysis failure
go-size-analyzer(1.13.1) test failure:the length of module data section is to big: address 0x50f940, base 0x50f940, length 0xffffffffffaf6960— Linux x86_64/arm64 only. Go 1.27 changed the module data layout the tool parses; no upstream issue filed for 1.27 yet (Zxilly/go-size-analyzer) feat: support Go 1.27 Zxilly/go-size-analyzer#594 go-size-analyzer 1.14.0 #300048xgo(1.7.5) test failure:panic: runtime error: invalid memory address or nil pointer dereference— all macOS arm64 + Linux x86_64/arm64. Crash is in thegogendependency, reached from dependency checking:Various other build failures
argobuild failure: panic ink8s.io/code-generator deepcopy-gen— passes in rc3checkmake(0.3.2) build failure:golangci-lintgoconstissues (string 'list-rules' has 3 occurrences, make it a constant, …) →make: *** [golangci-lint] Error 1— all macOS. Not a Go 1.27 problem: upstream's newest release is v0.3.2 (2026-01-10) and itsmaketarget runs an unpinnedgolangci-lint, so newer linter defaults fail the build. Homebrew-side options are dropping the lint step from the build or getting upstream to pin the linterffmate(2.0.18) build failure:ERR_PNPM_IGNORED_BUILDS— passes in rc3kubetail(0.18.0) build failure:[ERROR] Cannot verify the identity of the @pnpm/exe.darwin-x64 native binary: it is missing from pnpm-lock.yaml→make: *** [build-dashboard-ui] Error 1— macOS 14 x86_64 only; unrelated to Go 1.27. Upstream switched to a pinned pnpm + frozen lockfile in #1169, andcli/v0.18.0is the newest release, so the shippedpnpm-lock.yamlsimply has nodarwin-x64entry — needs an upstream lockfile regenerated on/for x86_64 macOSparcabuild failure:ERR_PNPM_LOCKFILE_CONFIG_MISMATCH— passes in rc3syncthing(2.1.3) build failure:runtime go1.27rc3 not found incompat.yaml— all macOS. Trivial upstream fix:compat.yamllists runtimes only up togo1.26(whose entry is just# no changes from 1.25), so a- runtime: go1.27block mirroring it is all that is neededterracognitabuild failure:no space left on device— passes in rc3CI runner out of disk (
no space left on device)Not Go 1.27 related; the runner's disk fills up after the large
envoy/grafanabuilds on the same machine.grafana(13.1.3) build failure:ENOSPC: no space left on deviceduring webpack →Command failed: yarn nx run grafana:"build"— macOS 14 arm64 onlygrafana-alloy(1.18.1) build failure:compile: writing output: … no space left on device— macOS 26 arm64 onlymesheryctl(1.0.66) build failure:no space left on device— macOS 15/26 arm64 only. OK in mesheryctl 1.0.67 #300322Test failure
fjira(1.5.3) test failure:mkdir .../.config/fjira: no such file or directoryfjira 1.5.6 #291846gastown(1.1.0) test failure:BuildError: Failed executing: .../gt install/Dolt port 3307 is already in usegastown: pick free port for test #292635github-markdown-toc(2.0.1) test failure:Expected /\* \[Header\]\(#header\)/— TOC output empty/changed github-markdown-toc: flush file in test #292659go-bindata(4.0.2) test failure: gzip output changed in Go 1.27 go-bindata: improve test #292590Test failure — assertion mismatch (needs test fix)
fdroidcl(0.8.1) test failure:Expected [...] to include "Games"— F-Droid removed "Games" category: fdroidcl: fix test #292773glider(0.16.4) test failure: brew.sh tagline changed: glider: test fix #292780granted(0.39.0) test failure:Expected /Required flags "name, url" not set/→mkdir .config/granted: no such file or directory— all macOS. granted: test fix #298988jprq(2.4) test failure:Expected /authentication failed/→jprq is now invite-only service: jprq: fix test #292815plow(1.4.0) test failure:Expected /2xx/→ httpbin.org returned5xx— passes in rc3q(0.19.12) test failure: DNS now returnsns1.dnsimple-edge.com.q: fix test #294231GitHub API rate limit (CI environment issue)
github-release(0.11.0): passes in rc3pinact(4.1.0): passes in rc3External resource unavailable (CI environment issue)
amass(5.1.1) test failure:Failed to create a session with the Amass engine: createSession: status=500 Internal Server Error— all macOScurlie(1.8.2) test failure:503 Service Temporarily Unavailablefrom httpbin.org — macOS 14 x86_64 (new in rc3)netdata: passes in rc3restish(2.3.0) test failure:503 Service Temporarily Unavailablefrom httpbin.org — macOS 14 x86_64 only; passed on all arm64 runners, and it is the same httpbin.org outage that hitcurliein the same jobsquealer: passes in rc3tgpt(2.13.0) test failure:Some error has occurred. Statuscode: 429/FreeUsageLimitError— macOS 26 arm64 (new in rc3){"type":"error","error":{"type":"ModelError","message":"Free promotion has ended for DeepSeek V4 Flash Free. You can continue using the model by subscribing to OpenCode Go - https://opencode.ai/go"}}wormhole-william: passes in rc3xeol(0.10.8) test failure:the eol database was built 1 year ago (max allowed age is 12 weeks)— macOS 14/15 arm64. The hosted EOL database itself has stopped being refreshed upstream, so no Go/formula change can make this pass; only a test change or an upstream DB refresh willFailed to download resource (404/403)
difi(0.2.30): difi: downgrade 0.2.30 to 0.2.11 #292821goredo(2.9.1):https://goredo.dabase.com/download/goredo-2.9.1.tar.zst— HTTP 403 goredo: deprecate, moved to new URL #290944kuzco(1.9.1): archive tarball — HTTP 404 kuzco: deprecate #291143v2ray(5.49.0): geosite resourcedlc.dat— HTTP 404 v2ray: resource update #291144HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>?brew test <formula>?brew audit --strict <formula>(after doingHOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it passbrew audit --new <formula>?AI (Claude Opus 5 via Claude Code) was used only to triage the CI logs of run 31753313820 and to maintain the failure list above: it downloaded the six
(deps)job logs, extracted each failing step and its error, grouped them by root cause, and then checked each affected project's upstreamgo.mod, releases and issue tracker to record what is already fixed and what is still blocked. The formula changes in this PR were written and verified by me. Build/test results quoted above come from Homebrew's CI, except thecockroachdb/swiss/ipgetcheck againstgo1.27rc3, which the AI ran locally on my machine at my request.