| # Go 1.3 is released |
| 18 Jun 2014 |
| Summary: Go 1.3 adds better performance, static analysis in godoc, and more. |
| |
| Andrew Gerrand |
| |
| ## |
| |
| Today we are happy to announce the release of [Go 1.3](https://golang.org/doc/go1.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 [downloads page](https://golang.org/dl/) and |
| find the full list of improvements and fixes in the |
| [release notes](https://golang.org/doc/go1.3). |
| What follows are some highlights. |
| |
| [Godoc](https://godoc.org/code.google.com/p/go.tools/cmd/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 [the documentation](https://golang.org/lib/godoc/analysis/help.html) 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 |
| [Playground](https://blog.golang.org/playground). |
| To set up NaCl on your system see the [NativeClient wiki page](https://golang.org/wiki/NativeClient). |
| |
| 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 |
| [install from source](https://golang.org/doc/install/source). |
| |
| Changes to the runtime have improved the |
| [performance](https://golang.org/doc/go1.3#performance) of Go binaries, |
| with an improved garbage collector, a new |
| ["contiguous" goroutine stack management strategy](https://golang.org/s/contigstacks), |
| a faster race detector, and improvements to the regular expression engine. |
| |
| As part of the general [overhaul](https://golang.org/s/go13linker) 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 [garbage collector](https://golang.org/doc/go1.3#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 [release notes](https://golang.org/doc/go1.3#garbage_collector) |
| 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 [downloads page](https://golang.org/dl/) and start hacking. |