| 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. |