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
This was referenced Aug 21, 2026
Merged
Merged
Merged
Merged
Merged
Merged
This was referenced Aug 23, 2026
This was referenced Sep 2, 2026
Merged
chore: Bump golang.org/x/tools v0.38.0 -> v0.49.0 for Go 1.27 compatibility
go-critic/go-critic#1538
Merged
7 of 8 tasks
4 of 7 tasks
social4hyq
pushed a commit
to social4hyq/homebrew-core
that referenced
this pull request
Sep 20, 2026
dolt 2.2.2 Created-by: HarmonybrewBot Commit-by: HarmonybrewBot Merged-by: HarmonybrewBot Description: Created by `brew bump` --- Created with `brew bump-formula-pr`.<details> <summary>release notes</summary> <pre># Merged PRs ## dolt * [11332](dolthub/dolt#11332): /go/cmd/dolt/cli: only emit backspace characters in a tty The CLI's progress spinners (dolt push, pull, fetch, assist, and import/sql progress output) redraw themselves in place by writing backspace control characters. This was done unconditionally, with no check for whether output was going to a terminal. When stdout/stderr is captured to a file or pipe — a script, a CI job, dolt push > push.log 2>&1 — those backspaces become literal bytes in the log instead of cursor movements. Rendering the log then "erases" the surrounding text. The worst case: an error is printed while the spinner is active, and the spinner's trailing backspaces overwrite the error text, so the captured log looks empty exactly when something went wrong. This PR fixes this so that TTY is detected and redraw is gated on it. * [11327](dolthub/dolt#11327): Add support for functional indexes with multiple expressions Picks up support for functional indexes with multiple expressions from GMS (dolthub/go-mysql-server#3634) and adds additional tests for Dolt. Depends on: dolthub/go-mysql-server#3634 * [11326](dolthub/dolt#11326): unsafe adaptive value * [11325](dolthub/dolt#11325): gitblobstore: fix premature flush and prune of pending write that was not referenced in current manifest CheckAndPut("manifest") flushed all queued pendingWrites into the commit, regardless of whether the manifest being written referenced them. That commits a table file into the git tree as an unreferenced entry, which a later manifest flush then legitimately prunes and evicts from the in-memory cache — while the file is still live (about to be added, or being re-read by addTableFiles' refCheckAllSources retry loop). The result is Blob not found. Stale pendingWrites from earlier failed pushes in the same process keep the condition sticky, which is why a restart clears it. This PR only flushes the pending writes the manifest actually references. Unreferenced writes stay pending until a manifest that references them is written, so they're committed and referenced atomically. After this change a live table file is always either pending and cached (not in the tree, so unprunable) or committed and referenced (never pruned) — an unreferenced tree entry can no longer coexist with being live. * [11320](dolthub/dolt#11320): go: sql_server_driver: Fix a race on *SqlServer.Cmd access. Start the command before we spawn its wait goroutine. * [11316](dolthub/dolt#11316): go: sqle/cluster: Improve dolt_cluster_ack_writes_timeout_secs circuit breaker behavior. Previously, the circuit breaker only had an open and a closed state. It would only go from open to closed when the replication thread fully quiesced. This PR adds a half-open state, where it lets a single commit probe for replication success within the configured timeout. If that wait succeeds, the circuit breaker closes. This lets high write throughput use cases reenable their configured replication waits even when writes arrive more requently than their typical replication delay. * [11314](dolthub/dolt#11314): go: sqle/cluster: controller.go: Make DROP DATABASE replication participate in dolt_cluster_ack_writes_timeout_secs. * [11313](dolthub/dolt#11313): go: Fix some data races surfaced by running go-sql-server-driver tests under -race. * [11312](dolthub/dolt#11312): go/store/nbs: Fix a race between the journal persister and PruneTableFiles. When PruneTableFiles runs, it is willing to delete the journal file if there is no longer a reference to it in the manifest. This can race with bootstrapJournal making a new journal file. The journal file can be on disk, and seen by PruneTableFiles and thus selected for removal, before the journal has been added to the chunk store proper. This change makes the journal writer participate in the retained files machinery, same as the table file persister, so that the journal is correctly considered not-safe-for-delete-by-PruneTableFiles before it is ever created on disk and potentially selected for deletion by PruneTableFiles. * [11305](dolthub/dolt#11305): fix stats functions to include schema We lookup stats with empty string for schema. Since this is not always the case, we sometimes miss stats. * [11290](dolthub/dolt#11290): Bump golang.org/x/net v0.54.0 => v0.55.0 for Go 1.27 compatibility Go 1.27 change: * golang/go#60746 * golang/go#67810 Problem found in * Homebrew/homebrew-core#288803 Build error: ``` $ go1.27rc1 build -v ./cmd/dolt google.golang.org/grpc/internal/transport # google.golang.org/grpc/internal/transport ../../../../go/pkg/mod/google.golang.org/grpc@v1.79.3/internal/transport/handler_server.go:271:18: undefined: http2.TrailerPrefix ``` `golang.org/x/net` upgrade ``` $ go get golang.org/x/net@v0.55.0 && go mod tidy go: upgraded golang.org/x/net v0.54.0 => v0.55.0 ``` Build successful: ``` $ go1.27rc1 build -v ./cmd/dolt ``` ## go-mysql-server * [3634](dolthub/go-mysql-server#3634): Add support for multiple expressions in functional indexes * [3627](dolthub/go-mysql-server#3627): fix stats functions to include schema We include the schema in the stats key, but only sometimes fill in the field. * [3626](dolthub/go-mysql-server#3626): Prevent index offset when comparing rows in `topRowsIter` Fixes dolthub/dolt#11300 Appending the row order number to the end of a `sql.Row` during a Top-N Heap Sort in `topRowsIter` was causing an index offset when evaluating SortFields that were subqueries, thus resulting in incorrect result. This PR - modifies `topRowsHeap` to instead take a `rowWithOrder` struct that separates out the `sql.Row` from the order number while still taking the order number into account when sorting the heap. - refactoring `Sorter.LesserRow` logic into a new `CompareRows` function to allow checking for row equality - moves top row(s) iterators to its own file as part of an effort to make our iterators more organized (#3620). This file also includes `topRowsHeap` since it is only ever used by `topRowIter` (see dolthub/go-mysql-server#3622 (comment) for next steps) - removes `ValueRowSorter`since it's actually never used anywhere and doesn't even fully implement `sort.Interface` * [3617](dolthub/go-mysql-server#3617): special case on extended type for getting compare type # Closed Issues * [11265](dolthub/dolt#11265): Dolt INSERT … SELECT with CTE + JSON_TABLE disconnects * [3622](dolthub/go-mysql-server#3622): Clean up: move sorters in `sql/expression/sort.go` out of `expression` package # Performance | Read Tests | MySQL | Dolt | Multiple | |:-----------------------:|:------:|:------:|:--------:| | covering\_index\_scan | 17.32 | 2.3 | 0.13 | | groupby\_scan | 134.9 | 142.39 | 1.06 | | index\_join | 3.43 | 1.89 | 0.55 | | index\_join\_scan | 4.18 | 1.32 | 0.32 | | index\_scan | 350.33 | 215.44 | 0.61 | | oltp\_point\_select | 0.19 | 0.25 | 1.32 | | oltp\_read\_only | 3.62 | 4.91 | 1.36 | | select\_random\_points | 0.35 | 0.51 | 1.46 | | select\_random\_ranges | 0.39 | 0.64 | 1.64 | | table\_scan | 350.33 | 200.47 | 0.57 | | types\_table\_scan | 746.32 | 467.3 | 0.63 | | reads\_mean\_multiplier | | | 0.88 | | Write Tests | MySQL | Dolt | Multiple | |:------------------------:|:-----:|:-----:|:--------:| | oltp\_delete\_insert | 7.7 | 6.21 | 0.81 | | oltp\_insert | 4.03 | 3.13 | 0.78 | | oltp\_read\_write | 8.74 | 11.24 | 1.29 | | oltp\_update\_index | 4.33 | 3.3 | 0.76 | | oltp\_update\_non\_index | 4.1 | 3.02 | 0.74 | | oltp\_write\_only | 5.18 | 6.21 | 1.2 | | types\_delete\_insert | 8.28 | 6.67 | 0.81 | | writes\_mean\_multiplier | | | 0.91 | | TPC-C TPS Tests | MySQL | Dolt | Multiple | |:---------------------:|:-----:|:-----:|:--------:| | tpcc-scale-factor-1 | 95.13 | 51.54 | 1.85 | | tpcc\_tps\_multiplier | | | 1.85 | | Overall Mean Multiple | 1.21 | |:---------------------:|:----:|</pre> <p>View the full release notes at <a href="https://github.com/dolthub/dolt/releases/tag/v2.2.2">https://github.com/dolthub/dolt/releases/tag/v2.2.2</a>.</p> </details> <hr> See merge request: Harmonybrew/homebrew-core!14844
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#1071 garble 0.18.0, unpin go@1.26 #312252golangci-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 1.0.0 release to include bump deps and exclude snippets from dependabot dagger/dagger#13638 dagger 0.21.9, pin go@1.26 #300766dolt(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.1 gascity: deny network access, fetch, http2legacy for Go 1.27 #307618gitsign(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 #300095 kapacitor: unpin go #312019kubeone(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/releases opentofu: build withgo@1.26#303914pvetui(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#5016 steampipe 2.4.6 #303216vulcain(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: move to git checkout 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 #299023 linkerd: deprecate due to checksum mismatch #312030 version-2.20 tag was moved at some point linkerd/linkerd2#15664Build 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 #299942 go.mod: update cockroachdb/swiss to fix build on Go 1.27 ethereum/go-ethereum#35568 ethereum 1.17.6, unpin go@1.26 #313007ipget(0.13.2) — all macOS ipget: pin go@1.26, deprecate #299943kubo(0.43.0) — all macOS kubo: pin go@1.26 #299944 chore: upgrade go-ds-pebble to v0.5.13 ipfs/kubo#11451 Release v0.43.1 ipfs/kubo#11456 kubo: unpin go #312428plakar(1.1.4) — all macOS plakar: pin go@1.26 #299945 bump cockroachdb/swiss so it supports go1.27 PlakarKorp/plakar#2340 plakar 1.1.5, unpin go@1.26 #302191pomerium(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#46742envoy 1.39.1, pin go@1.26 #300866
Runtime 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 yetcloudfoundry-cli 8.19.0, pin go@1.26 #301223 SermoDigital/jose panics at init under Go 1.27, breaking any binary that links the CLI cloudfoundry/cli#3851 cloudfoundry-cli: link upstream issue with go 1.27 #312430
panic: 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 there teleport: build with go@1.26 #311782panic: 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: chore: update goStdlib to go1.27 go-critic/go-critic#1530 go-critic 0.14.4 #289713 deps: bump golang.org/x/tools from 0.38.0 to 0.41.0 go-critic/go-critic#1523 go-critic: pin go@1.26 #301865 go-critic: patch for go 1.27, unpin go@1.26 #302095 chore: Bump golang.org/x/tools v0.38.0 -> v0.49.0 for Go 1.27 compatibility go-critic/go-critic#1538 https://github.com/go-critic/go-critic/releases/tag/v0.15.0 go-critic 0.15.0 #302150tfproviderlint(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:test for Go1.27 goplus/xgo#2851 needs release >v1.7.5
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 only grafana 13.2.0 #299419grafana-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.