Go
LanguageGo 1.27 is the newest actively maintained release, currently at patch 1.27.1. 2 of 18 tracked cycles remain supported.
Support pattern
How Go has behaved across the cycles tracked here, rather than what its policy documents state. Useful for judging how much runway a version is likely to have before you commit to it.
Support windows have stayed consistent across the tracked history, so past cycles are a reasonable guide to what a new one will get.
Computed from release and end-of-life dates tracked for Go. Medians are used rather than averages so one unusually short or long release does not skew the figure. Cycles with no recorded end-of-life date are excluded from the support window.
How Go versioning, EOL & security support work
Go ships a new major release roughly once or twice a year, each adding a new minor version number such as 1.25 or 1.26. Go's release policy is notably narrower than most runtimes about how many versions it supports at once: each release is supported until there are two newer major releases. That means only the current release and the one immediately before it are ever under support.
Security bugs in Go are reported privately by email to [email protected], and confirmed issues are fixed only in the two currently supported releases before disclosure. Go also maintains a public Go Vulnerability Database, queried by the govulncheck tool. Because Go supports only two majors at a time, falling behind by even one extra release means running a version the Go team will no longer patch.
Sources: Go Release Policy, Go Vulnerability Management
Release lifecycle
Get an email when Go ships a release, announces an end-of-life date, or moves a date it already announced.
Get Go alerts