Go 1.3 is released
18 Jun 2014

Andrew Gerrand

* Go 1.3 is released

Today we are happy to announce the release of [[https://golang.org/doc/go1.3][Go 1.3]].
This release comes six months after our last major release and provides better
performance, improved tools, support for running Go in new environments, and more.
All Go users should upgrade to Go 1.3.
You can grab the release from our [[https://golang.org/dl/][downloads page]] and
find the full list of improvements and fixes in the
[[https://golang.org/doc/go1.3][release notes]].
What follows are some highlights.

[[https://godoc.org/code.google.com/p/go.tools/cmd/godoc][Godoc]],
the Go documentation server, now performs static analysis.
When enabled with the -analysis flag, analysis results are presented
in both the source and package documentation views, making it easier
than ever to navigate and understand Go programs.
See [[https://golang.org/lib/godoc/analysis/help.html][the documentation]] for the details.

The gc toolchain now supports the Native Client (NaCl) execution sandbox on the
32- and 64-bit Intel architectures.
This permits the safe execution of untrusted code, useful in environments such as the
[[https://blog.golang.org/playground][Playground]].
To set up NaCl on your system see the [[https://golang.org/wiki/NativeClient][NativeClient wiki page]].

Also included in this release is experimental support for the DragonFly BSD,
Plan 9, and Solaris operating systems. To use Go on these systems you must
[[https://golang.org/doc/install/source][install from source]].

Changes to the runtime have improved the
[[https://golang.org/doc/go1.3#performance][performance]] of Go binaries,
with an improved garbage collector, a new
[[https://golang.org/s/contigstacks]["contiguous" goroutine stack management strategy]],
a faster race detector, and improvements to the regular expression engine.

As part of the general [[https://golang.org/s/go13linker][overhaul]] of the Go
linker, the compilers and linkers have been refactored. The instruction
selection phase that was part of the linker has been moved to the compiler.
This can speed up incremental builds for large projects.

The [[https://golang.org/doc/go1.3#garbage_collector][garbage collector]] is now
precise when examining stacks (collection of the heap has been precise since Go
1.1), meaning that a non-pointer value such as an integer will never be
mistaken for a pointer and prevent unused memory from being reclaimed. This
change affects code that uses package unsafe; if you have unsafe code you
should read the [[https://golang.org/doc/go1.3#garbage_collector][release notes]]
carefully to see if your code needs updating.

We would like to thank the many people who contributed to this release;
it would not have been possible without your help.

So, what are you waiting for?
Head on over to the [[https://golang.org/dl/][downloads page]] and start hacking.
