Golang’s Upcoming 1.6 Release

Mark Holton
2 min readJan 5, 2016

The Go 1.6 beta is expected in February 2016. Proactively, the Go team releases the draft of the release notes — worth a look if you’re interested in seeing what’s coming soon:

Here are the three updates from the upcoming 1.6 release which I am most looking forward to:

In the Go 1.6 Release:

1. Vendoring support is no longer considered experimental

Go 1.5 introduced experimental support for vendoring, enabled by setting the GO15VENDOREXPERIMENT environment variable to 1. Go 1.6 keeps the vendoring support, no longer considered experimental, and enables it by default. It can be disabled explicitly by setting the GO15VENDOREXPERIMENT environment variable to 0. Go 1.7 will remove support for the environment variable.

For details about vendoring, see the documentation for the go command and the design document.

Core Library:

2. HTTP/2 protocol support

Go 1.6 adds transparent support in the net/http package for the new HTTP/2 protocol. Go clients and servers will automatically use HTTP/2 as appropriate when using HTTPS. There is no exported API specific to details of the HTTP/2 protocol handling, just as there is no exported API specific to HTTP/1.1.

3. Runtime detection of concurrent misuse of maps

As always, if one goroutine is writing to a map, no other goroutine should be reading or writing the map concurrently. If the runtime detects this condition, it prints a diagnosis and crashes the program. The best way to find out more about the problem is to run the program under the race detector, which will more reliably identify the race and give more detail.

--

--

Mark Holton

Principal Member of Technical Staff at Salesforce. Husband & father of 2. IL State Golf Champ, 6x Marathoner. www.linkedin.com/in/markholtonsoftware