Paul Krill
Editor at Large

Google green-lights Go 1.6

news
Feb 18, 20162 mins

The new version features HTTP/2 support, improved garbage collection, and ports to Android and Linux

Google has released version 1.6 of the Go open source programming language, featuring improvements to HTTP/2 backing and garbage collection.

“Go 1.6 adds transparent support in net/http package for the new HTTP2/protocol,” release notes state. “Go clients and servers will automatically use HTTP/2 as appropriate when using HTTPS.”

In a blog post, Google’s Andrew Gerrand called the HTTP/2 support “the most significant change” in the release, with the revision bringing the new protocol’s benefits to projects like the Go-based Caddy Web server. He otherwise described the upgrade, the seventh major stable release of the language, as more incremental than Go 1.5, which was released last August.

The team has tinkered with garbage collection, featuring lower pauses than version 1.5, particularly for large programs, but programs may not necessarily run faster. “As always, the changes are so general and varied that precise statements about performance are difficult to make. Some programs may run faster, some slower,” according to release notes.

Gerrand further noted that “performance of Go programs built with Go 1.6 remains similar to those built with Go 1.5.” The runtime, meanwhile, has added lightweight detection of concurrent misuse of maps, to prevent multiple goroutines from writing to a map concurrently.

The cgo capability, promoting interoperability between C and Go code, also gets attention. “Users of cgo should be aware of major changes to the rules for sharing pointers between Go and C code,” Gerrand said The rules are designed to ensure that such C code can coexist with Go’s garbage collector and are checked during program execution, so code may require changes to avoid crashes.”

Version 1.6 also features experimental ports to the Android platform on 32-bit x86 processors and Linux on the 64-bit Mips platform. Google has been experimenting with the use of Go for building Android and iOS applications via NDK (Native Development Kit). There are no changes to the language specification itself in Go 1.6, but Google maintains its promise of compatibility with prior releases.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author