This page summarizes the changes between official stable releases of Go. The change log has the full details.

To update to a specific release, use:

    git pull
    git checkout release-branch

## Release Policy

Each major Go release is supported until there are two newer major releases. For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release. We fix critical problems, including critical security problems, in supported releases as needed by issuing minor revisions (for example, Go 1.6.1, Go 1.6.2, and so on).

## go1.12 (released 2019/02/25)

Go 1.12 is a major release of Go. Read the Go 1.12 Release Notes for more information.

### Minor revisions

go1.12.1 (released 2019/03/14) includes fixes to cgo, the compiler, the go command, and the `fmt`, `net/smtp`, `os`, `path/filepath`, `sync`, and `text/template` packages. See the Go 1.12.1 milestone on our issue tracker for details.

go1.12.2 (released 2019/04/05) includes fixes to the compiler, the go command, the runtime, and the `doc`, `net`, `net/http/httputil`, and `os` packages. See the Go 1.12.2 milestone on our issue tracker for details.

go1.12.3 (released 2019/04/08) was accidentally released without its intended fix. It is identical to go1.12.2, except for its version number. The intended fix is in go1.12.4.

go1.12.4 (released 2019/04/11) fixes an issue where using the prebuilt binary releases on older versions of GNU/Linux led to failures when linking programs that used cgo. Only Linux users who hit this issue need to update.

go1.12.5 (released 2019/05/06) includes fixes to the compiler, the linker, the go command, the runtime, and the `os` package. See the Go 1.12.5 milestone on our issue tracker for details.

go1.12.6 (released 2019/06/11) includes fixes to the compiler, the linker, the go command, and the `crypto/x509`, `net/http`, and `os` packages. See the Go 1.12.6 milestone on our issue tracker for details.

## go1.11 (released 2018/08/24)

Go 1.11 is a major release of Go. Read the Go 1.11 Release Notes for more information.

### Minor revisions

go1.11.1 (released 2018/10/01) includes fixes to the compiler, documentation, go command, runtime, and the `crypto/x509`, `encoding/json`, `go/types`, `net`, `net/http`, and `reflect` packages. See the Go 1.11.1 milestone on our issue tracker for details.

go1.11.2 (released 2018/11/02) includes fixes to the compiler, linker, documentation, go command, and the `database/sql` and `go/types` packages. See the Go 1.11.2 milestone on our issue tracker for details.

go1.11.3 (released 2018/12/12) includes three security fixes to "go get" and the `crypto/x509` package. See the Go 1.11.3 milestone on our issue tracker for details.

go1.11.4 (released 2018/12/14) includes fixes to cgo, the compiler, linker, runtime, documentation, go command, and the `net/http` and `go/types` packages. It includes a fix to a bug introduced in Go 1.11.3 that broke `go` `get` for import path patterns containing "`...`". See the Go 1.11.4 milestone on our issue tracker for details.

go1.11.5 (released 2019/01/23) includes a security fix to the `crypto/elliptic` package. See the Go 1.11.5 milestone on our issue tracker for details.

go1.11.6 (released 2019/03/14) includes fixes to cgo, the compiler, linker, runtime, go command, and the `crypto/x509`, `encoding/json`, `net`, and `net/url` packages. See the Go 1.11.6 milestone on our issue tracker for details.

go1.11.7 (released 2019/04/05) includes fixes to the runtime and the `net` packages. See the Go 1.11.7 milestone on our issue tracker for details.

go1.11.8 (released 2019/04/08) was accidentally released without its intended fix. It is identical to go1.11.7, except for its version number. The intended fix is in go1.11.9.

go1.11.9 (released 2019/04/11) fixes an issue where using the prebuilt binary releases on older versions of GNU/Linux led to failures when linking programs that used cgo. Only Linux users who hit this issue need to update.

go1.11.10 (released 2019/05/06) includes fixes to the runtime and the linker. See the Go 1.11.10 milestone on our issue tracker for details.

go1.11.11 (released 2019/06/11) includes a fix to the `crypto/x509` package. See the Go 1.11.11 milestone on our issue tracker for details.

## go1.10 (released 2018/02/16)

Go 1.10 is a major release of Go. Read the Go 1.10 Release Notes for more information.

### Minor revisions

go1.10.1 (released 2018/03/28) includes fixes to the compiler, runtime, and the `archive/zip`, `crypto/tls`, `crypto/x509`, `encoding/json`, `net`, `net/http`, and `net/http/pprof` packages. See the Go 1.10.1 milestone on our issue tracker for details.

go1.10.2 (released 2018/05/01) includes fixes to the compiler, linker, and go command. See the Go 1.10.2 milestone on our issue tracker for details.

go1.10.3 (released 2018/06/05) includes fixes to the go command, and the `crypto/tls`, `crypto/x509`, and `strings` packages. In particular, it adds minimal support to the go command for the vgo transition. See the Go 1.10.3 milestone on our issue tracker for details.

go1.10.4 (released 2018/08/24) includes fixes to the go command, linker, and the `net/http`, `mime/multipart`, `ld/macho`, `bytes`, and `strings` packages. See the Go 1.10.4 milestone on our issue tracker for details.

go1.10.5 (released 2018/11/02) includes fixes to the go command, linker, runtime and the `database/sql` package. See the Go 1.10.5 milestone on our issue tracker for details.

go1.10.6 (released 2018/12/12) includes three security fixes to "go get" and the `crypto/x509` package. It contains the same fixes as Go 1.11.3 and was released at the same time. See the Go 1.10.6 milestone on our issue tracker for details.

go1.10.7 (released 2018/12/14) includes a fix to a bug introduced in Go 1.10.6 that broke `go` `get` for import path patterns containing "`...`". See the Go 1.10.7 milestone on our issue tracker for details.

go1.10.8 (released 2019/01/23) includes a security fix to the `crypto/elliptic` package. See the Go 1.10.8 milestone on our issue tracker for details.

## go1.9 (released 2017/08/24)

Go 1.9 is a major release of Go. Read the Go 1.9 Release Notes for more information.

### Minor revisions

go1.9.1 (released 2017/10/04) includes two security fixes. See the Go 1.9.1 milestone on our issue tracker for details.

go1.9.2 (released 2017/10/25) includes fixes to the compiler, linker, runtime, documentation, `go` command, and the `crypto/x509`, `database/sql`, `log`, and `net/smtp` packages. It includes a fix to a bug introduced in Go 1.9.1 that broke `go` `get` of non-Git repositories under certain conditions. See the Go 1.9.2 milestone on our issue tracker for details.

go1.9.3 (released 2018/01/22) includes fixes to the compiler, runtime, and the `database/sql`, `math/big`, `net/http`, and `net/url` packages. See the Go 1.9.3 milestone on our issue tracker for details.

go1.9.4 (released 2018/02/07) includes a security fix to “go get”. See the Go 1.9.4 milestone on our issue tracker for details.

go1.9.5 (released 2018/03/28) includes fixes to the compiler, go command, and `net/http/pprof` package. See the Go 1.9.5 milestone on our issue tracker for details.

go1.9.6 (released 2018/05/01) includes fixes to the compiler and go command. See the Go 1.9.6 milestone on our issue tracker for details.

go1.9.7 (released 2018/06/05) includes fixes to the go command, and the `crypto/x509`, and `strings` packages. In particular, it adds minimal support to the go command for the vgo transition. See the Go 1.9.7 milestone on our issue tracker for details.

## go1.8 (released 2017/02/16)

Go 1.8 is a major release of Go. Read the Go 1.8 Release Notes for more information.

### Minor revisions

go1.8.1 (released 2017/04/07) includes fixes to the compiler, linker, runtime, documentation, `go` command and the `crypto/tls`, `encoding/xml`, `image/png`, `net`, `net/http`, `reflect`, `text/template`, and `time` packages. See the Go 1.8.1 milestone on our issue tracker for details.

go1.8.2 (released 2017/05/23) includes a security fix to the `crypto/elliptic` package. See the Go 1.8.2 milestone on our issue tracker for details.

go1.8.3 (released 2017/05/24) includes fixes to the compiler, runtime, documentation, and the `database/sql` package. See the Go 1.8.3 milestone on our issue tracker for details.

go1.8.4 (released 2017/10/04) includes two security fixes. It contains the same fixes as Go 1.9.1 and was released at the same time. See the Go 1.8.4 milestone on our issue tracker for details.

go1.8.5 (released 2017/10/25) includes fixes to the compiler, linker, runtime, documentation, `go` command, and the `crypto/x509` and `net/smtp` packages. It includes a fix to a bug introduced in Go 1.8.4 that broke `go` `get` of non-Git repositories under certain conditions. See the Go 1.8.5 milestone on our issue tracker for details.

go1.8.6 (released 2018/01/22) includes the same fix in `math/big` as Go 1.9.3 and was released at the same time. See the Go 1.8.6 milestone on our issue tracker for details.

go1.8.7 (released 2018/02/07) includes a security fix to “go get”. It contains the same fix as Go 1.9.4 and was released at the same time. See the Go 1.8.7 milestone on our issue tracker for details.

## go1.7 (released 2016/08/15)

Go 1.7 is a major release of Go. Read the Go 1.7 Release Notes for more information.

### Minor revisions

go1.7.1 (released 2016/09/07) includes fixes to the compiler, runtime, documentation, and the `compress/flate`, `hash/crc32`, `io`, `net`, `net/http`, `path/filepath`, `reflect`, and `syscall` packages. See the Go 1.7.1 milestone on our issue tracker for details.

go1.7.2 should not be used. It was tagged but not fully released. The release was deferred due to a last minute bug report. Use go1.7.3 instead, and refer to the summary of changes below.

go1.7.3 (released 2016/10/19) includes fixes to the compiler, runtime, and the `crypto/cipher`, `crypto/tls`, `net/http`, and `strings` packages. See the Go 1.7.3 milestone on our issue tracker for details.

go1.7.4 (released 2016/12/01) includes two security fixes. See the Go 1.7.4 milestone on our issue tracker for details.

go1.7.5 (released 2017/01/26) includes fixes to the compiler, runtime, and the `crypto/x509` and `time` packages. See the Go 1.7.5 milestone on our issue tracker for details.

go1.7.6 (released 2017/05/23) includes the same security fix as Go 1.8.2 and was released at the same time. See the Go 1.8.2 milestone on our issue tracker for details.

## go1.6 (released 2016/02/17)

Go 1.6 is a major release of Go. Read the Go 1.6 Release Notes for more information.

### Minor revisions

go1.6.1 (released 2016/04/12) includes two security fixes. See the Go 1.6.1 milestone on our issue tracker for details.

go1.6.2 (released 2016/04/20) includes fixes to the compiler, runtime, tools, documentation, and the `mime/multipart`, `net/http`, and `sort` packages. See the Go 1.6.2 milestone on our issue tracker for details.

go1.6.3 (released 2016/07/17) includes security fixes to the `net/http/cgi` package and `net/http` package when used in a CGI environment. See the Go 1.6.3 milestone on our issue tracker for details.

go1.6.4 (released 2016/12/01) includes two security fixes. It contains the same fixes as Go 1.7.4 and was released at the same time. See the Go 1.7.4 milestone on our issue tracker for details.

## go1.5 (released 2015/08/19)

Go 1.5 is a major release of Go. Read the Go 1.5 Release Notes for more information.

### Minor revisions

go1.5.1 (released 2015/09/08) includes bug fixes to the compiler, assembler, and the `fmt`, `net/textproto`, `net/http`, and `runtime` packages. See the Go 1.5.1 milestone on our issue tracker for details.

go1.5.2 (released 2015/12/02) includes bug fixes to the compiler, linker, and the `mime/multipart`, `net`, and `runtime` packages. See the Go 1.5.2 milestone on our issue tracker for details.

go1.5.3 (released 2016/01/13) includes a security fix to the `math/big` package affecting the `crypto/tls` package. See the release announcement for details.

go1.5.4 (released 2016/04/12) includes two security fixes. It contains the same fixes as Go 1.6.1 and was released at the same time. See the Go 1.6.1 milestone on our issue tracker for details.

## go1.4 (released 2014/12/10)

Go 1.4 is a major release of Go. Read the Go 1.4 Release Notes for more information.

### Minor revisions

go1.4.1 (released 2015/01/15) includes bug fixes to the linker and the `log`, `syscall`, and `runtime` packages. See the Go 1.4.1 milestone on our issue tracker for details.

go1.4.2 (released 2015/02/17) includes bug fixes to the `go` command, the compiler and linker, and the `runtime`, `syscall`, `reflect`, and `math/big` packages. See the Go 1.4.2 milestone on our issue tracker for details.

go1.4.3 (released 2015/09/22) includes security fixes to the `net/http` package and bug fixes to the `runtime` package. See the Go 1.4.3 milestone on our issue tracker for details.

## go1.3 (released 2014/06/18)

Go 1.3 is a major release of Go. Read the Go 1.3 Release Notes for more information.

### Minor revisions

go1.3.1 (released 2014/08/13) includes bug fixes to the compiler and the `runtime`, `net`, and `crypto/rsa` packages. See the change history for details.

go1.3.2 (released 2014/09/25) includes bug fixes to cgo and the crypto/tls packages. See the change history for details.

go1.3.3 (released 2014/09/30) includes further bug fixes to cgo, the runtime package, and the nacl port. See the change history for details.

## go1.2 (released 2013/12/01)

Go 1.2 is a major release of Go. Read the Go 1.2 Release Notes for more information.

### Minor revisions

go1.2.1 (released 2014/03/02) includes bug fixes to the `runtime`, `net`, and `database/sql` packages. See the change history for details.

go1.2.2 (released 2014/05/05) includes a security fix that affects the tour binary included in the binary distributions (thanks to Guillaume T).

## go1.1 (released 2013/05/13)

Go 1.1 is a major release of Go. Read the Go 1.1 Release Notes for more information.

### Minor revisions

go1.1.1 (released 2013/06/13) includes several compiler and runtime bug fixes. See the change history for details.

go1.1.2 (released 2013/08/13) includes fixes to the `gc` compiler and `cgo`, and the `bufio`, `runtime`, `syscall`, and `time` packages. See the change history for details. If you use package syscall's `Getrlimit` and `Setrlimit` functions under Linux on the ARM or 386 architectures, please note change 11803043 that fixes issue 5949.

## go1 (released 2012/03/28)

Go 1 is a major release of Go that will be stable in the long term. Read the Go 1 Release Notes for more information.

It is intended that programs written for Go 1 will continue to compile and run correctly, unchanged, under future versions of Go 1. Read the Go 1 compatibility document for more about the future of Go 1.

The go1 release corresponds to `weekly.2012-03-27`.

### Minor revisions

go1.0.1 (released 2012/04/25) was issued to fix an escape analysis bug that can lead to memory corruption. It also includes several minor code and documentation fixes.

go1.0.2 (released 2012/06/13) was issued to fix two bugs in the implementation of maps using struct or array keys: issue 3695 and issue 3573. It also includes many minor code and documentation fixes.

go1.0.3 (released 2012/09/21) includes minor code and documentation fixes.

See the go1 release branch history for the complete list of changes.

## Older releases

See the Pre-Go 1 Release History page for notes on earlier releases.