The Wire · Showcase
GO 1.27 RELEASE NOTES FINALIZED, TYPEPARAMS DEPRECATION BEGINS
By RepoJournal · Filed · About Go
Go 1.27 documentation shipped to x/website this morning with cleaned-up release notes, and the team is moving fast to deprecate legacy typeparams APIs before the next major version.
The release notes consolidation is complete [1] [2], with malformed net package links fixed [3] and documentation TODOs cleaned up [4]. This clears the decks for 1.27 RC1, which the team is preparing for with test infrastructure upgrades [5] [6]. Over in x/exp, typeparams aliases are being deprecated and inlined [7] to push users toward standard library equivalents, a migration path that will be codified with go fix after 1.27 ships and 1.26 becomes the minimum supported version. The copy builtin now correctly enforces that its first argument must never be nil [8], closing a type-checking gap that could have caused subtle runtime failures. Meanwhile, gopls is shipping targeted fixes: a new sql.Rows.Err analyzer [9] catches a common error handling bug, LSP client telemetry got more accurate [10], and a repro for a coherency violation in file caching was added [11]. Parser generation also got a critical fix: goyacc now uses math.MinInt16 instead of -1000 as a sentinel, which prevented it from handling large grammars where -1000 became a valid value [12].
Action items
- → Update typeparams imports to use go/types aliases - deprecation warnings will appear in next release golang/exp [plan]
- → Run TestRelease/rc locally before 1.27 RC1 lands to validate release automation golang/build [immediate]
- → Add sql.Rows.Err checks to your code review checklists - this analyzer will catch them in gopls golang/tools [monitor]
References
- [1] doc/next: delete golang/go
- [2] _content/doc: add merged go1.27.md golang/website
- [3] doc: format net package release note golang/go
- [4] doc: inserted TODOs into 9-todo.md golang/go
- [5] internal/relui: unskip TestRelease/rc test golang/build
- [6] internal/relui: only run TestRelease/major on 1.26 and newer golang/build
- [7] typeparams: deprecate and inline aliased functions golang/exp
- [8] go/types, types2: first argument to copy must never be nil golang/go
- [9] go/analysis/passes/sqlrowserr: report missing sql.Rows.Err calls golang/tools
- [10] gopls/internal/server: add more LSP clients to telemetry mapping golang/tools
- [11] gopls/internal/test: add skipped repro for golang/go#64235 golang/tools
- [12] cmd/goyacc: use math.MinInt16 as sentinel value for large grammars golang/tools
FAQ
- What changed in Go on May 29, 2026?
- Go 1.27 documentation shipped to x/website this morning with cleaned-up release notes, and the team is moving fast to deprecate legacy typeparams APIs before the next major version.
- What should Go teams do about it?
- Update typeparams imports to use go/types aliases - deprecation warnings will appear in next release • Run TestRelease/rc locally before 1.27 RC1 lands to validate release automation • Add sql.Rows.Err checks to your code review checklists - this analyzer will catch them in gopls
- Which Go repositories shipped on May 29, 2026?
- golang/go, golang/website, golang/build, golang/exp, golang/tools