aboutsummaryrefslogtreecommitdiff
path: root/content/go1.6.article
diff options
context:
space:
mode:
Diffstat (limited to 'content/go1.6.article')
-rw-r--r--content/go1.6.article55
1 files changed, 28 insertions, 27 deletions
diff --git a/content/go1.6.article b/content/go1.6.article
index a9fd603..4ecd9f8 100644
--- a/content/go1.6.article
+++ b/content/go1.6.article
@@ -1,38 +1,39 @@
-Go 1.6 is released
+# Go 1.6 is released
17 Feb 2016
+Summary: Today we release [Go version 1.6](https://golang.org/doc/go1.6), the seventh major stable release of Go. You can grab it right now from the [download page](https://golang.org/dl/). Although [the release of Go 1.5](https://blog.golang.org/go1.5) six months ago contained dramatic implementation changes, this release is more incremental.
Andrew Gerrand
adg@golang.org
-* Introduction
+##
-Today we release [[https://golang.org/doc/go1.6][Go version 1.6]],
+Today we release [Go version 1.6](https://golang.org/doc/go1.6),
the seventh major stable release of Go.
-You can grab it right now from the [[https://golang.org/dl/][download page]].
-Although [[https://blog.golang.org/go1.5][the release of Go 1.5]] six months ago
+You can grab it right now from the [download page](https://golang.org/dl/).
+Although [the release of Go 1.5](https://blog.golang.org/go1.5) six months ago
contained dramatic implementation changes,
this release is more incremental.
-The most significant change is support for [[https://http2.github.io/][HTTP/2]]
-in the [[https://golang.org/pkg/net/http/][net/http package]].
+The most significant change is support for [HTTP/2](https://http2.github.io/)
+in the [net/http package](https://golang.org/pkg/net/http/).
HTTP/2 is a new protocol, a follow-on to HTTP that has already seen
widespread adoption by browser vendors and major websites.
-In Go 1.6, support for HTTP/2 is [[https://golang.org/doc/go1.6#http2][enabled by default]]
+In Go 1.6, support for HTTP/2 is [enabled by default](https://golang.org/doc/go1.6#http2)
for both servers and clients when using HTTPS,
-bringing [[https://http2.github.io/faq/][the benefits]] of the new protocol
+bringing [the benefits](https://http2.github.io/faq/) of the new protocol
to a wide range of Go projects,
-such as the popular [[https://caddyserver.com/download][Caddy web server]].
+such as the popular [Caddy web server](https://caddyserver.com/download).
The template packages have learned some new tricks,
-with support for [[https://golang.org/pkg/text/template/#hdr-Text_and_spaces][trimming spaces around template actions]]
+with support for [trimming spaces around template actions](https://golang.org/pkg/text/template/#hdr-Text_and_spaces)
to produce cleaner template output,
-and the introduction of the [[https://golang.org/pkg/text/template/#hdr-Actions][`{{block}}` action]]
+and the introduction of the [`{{block}}` action](https://golang.org/pkg/text/template/#hdr-Actions)
that can be used to create templates that build on other templates.
-A [[https://github.com/golang/example/tree/master#template-godoc][new template example program]] demonstrates these new features.
+A [new template example program](https://github.com/golang/example/tree/master#template-godoc) demonstrates these new features.
-Go 1.5 introduced [[https://golang.org/s/go15vendor][experimental support]]
+Go 1.5 introduced [experimental support](https://golang.org/s/go15vendor)
for a “vendor” directory that was enabled by an environment variable.
-In Go 1.6, the feature is now [[https://golang.org/doc/go1.6#go_command][enabled by default]].
+In Go 1.6, the feature is now [enabled by default](https://golang.org/doc/go1.6#go_command).
Source trees that contain a directory named “vendor” that is not used in accordance with the new feature
will require changes to avoid broken builds (the simplest fix is to rename the directory).
@@ -40,25 +41,25 @@ The runtime has added lightweight, best-effort detection of concurrent misuse of
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 it under the
-[[https://blog.golang.org/race-detector][race detector]],
+[race detector](https://blog.golang.org/race-detector),
which will more reliably identify the race and give more detail.
The runtime has also changed how it prints program-ending panics.
It now prints only the stack of the panicking goroutine, rather than all existing goroutines.
This behavior can be configured using the
-[[https://golang.org/pkg/runtime/#hdr-Environment_Variables][GOTRACEBACK]] environment variable
-or by calling the [[https://golang.org/pkg/runtime/debug/#SetTraceback][debug.SetTraceback]] function.
+[GOTRACEBACK](https://golang.org/pkg/runtime/#hdr-Environment_Variables) environment variable
+or by calling the [debug.SetTraceback](https://golang.org/pkg/runtime/debug/#SetTraceback) function.
Users of cgo should be aware of major changes to the rules for sharing pointers between Go and C code.
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.
-See the [[https://golang.org/doc/go1.6#cgo][release notes]] and
-[[https://golang.org/cmd/cgo/#hdr-Passing_pointers][cgo documentation]] for the details.
+See the [release notes](https://golang.org/doc/go1.6#cgo) and
+[cgo documentation](https://golang.org/cmd/cgo/#hdr-Passing_pointers) for the details.
The compiler, linker, and go command have a new `-msan` flag
analogous to `-race` and only available on linux/amd64,
that enables interoperation with the
-[[http://clang.llvm.org/docs/MemorySanitizer.html][Clang MemorySanitizer]].
+[Clang MemorySanitizer](http://clang.llvm.org/docs/MemorySanitizer.html).
This is useful for testing a program containing suspect C or C++ code.
You might like to try it while testing your cgo code with the new pointer rules.
@@ -68,24 +69,24 @@ but this is particularly noticeable for programs using large amounts of memory.
With regard to the performance of the compiler tool chain,
build times should be similar to those of Go 1.5.
-The algorithm inside [[https://golang.org/pkg/sort/#Sort][sort.Sort]]
+The algorithm inside [sort.Sort](https://golang.org/pkg/sort/#Sort)
was improved to run about 10% faster,
but the change may break programs that expect a specific ordering
of equal but distinguishable elements.
Such programs should refine their `Less` methods to indicate the desired ordering
-or use [[https://golang.org/pkg/sort/#Stable][sort.Stable]]
+or use [sort.Stable](https://golang.org/pkg/sort/#Stable)
to preserve the input order for equal values.
And, of course, there are many more additions, improvements, and fixes.
-You can find them all in the comprehensive [[https://golang.org/doc/go1.6][release notes]].
+You can find them all in the comprehensive [release notes](https://golang.org/doc/go1.6).
To celebrate the release,
-[[https://github.com/golang/go/wiki/Go-1.6-release-party][Go User Groups around the world]]
+[Go User Groups around the world](https://github.com/golang/go/wiki/Go-1.6-release-party)
are holding release parties on the 17th of February.
Online, the Go contributors are hosting a question and answer session
-on the [[https://reddit.com/r/golang][golang subreddit]] for the next 24 hours.
+on the [golang subreddit](https://reddit.com/r/golang) for the next 24 hours.
If you have questions about the project, the release, or just Go in general,
-then please [[https://www.reddit.com/r/golang/comments/46bd5h/ama_we_are_the_go_contributors_ask_us_anything/][join the discussion]].
+then please [join the discussion](https://www.reddit.com/r/golang/comments/46bd5h/ama_we_are_the_go_contributors_ask_us_anything/).
Thanks to everyone that contributed to the release.
Happy hacking.