$ the-wire · showcase
GO 1.27 RELEASE NOTES FINALIZED, TYPEPARAMS DEPRECATION BEGINS
By RepoJournal · Filed · About Go · Composed from the cited sources · methodology
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