aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--content/go12.article76
1 files changed, 76 insertions, 0 deletions
diff --git a/content/go12.article b/content/go12.article
new file mode 100644
index 0000000..ca3a777
--- /dev/null
+++ b/content/go12.article
@@ -0,0 +1,76 @@
+Go 1.2 is released
+1 Dec 2013
+
+Andrew Gerrand
+
+* Introduction
+
+We are pleased to announce the release of Go 1.2, the latest stable version of
+the Go Programming Language.
+
+Binary distributions may be downloaded from the
+[[http://golang.org/doc/install][usual place]] or if you prefer to
+[[http://golang.org/doc/install/source][compile from source]] you should use
+the `release` or `go1.2` tags.
+
+This new release comes nearly seven months after the release of Go 1.1 in May,
+a much shorter period than the 14 months between 1.1 and 1.0.
+We anticipate a comparable interval between future major releases.
+
+[[http://golang.org/doc/go1.2#encoding][Go 1.2]] includes a couple of minor
+language changes, several improvements to the language implementation and
+tools, some performance improvements, and many additions and
+(backward-compatible) changes to the standard library.
+
+Please read the [[http://golang.org/doc/go1.2#encoding][release notes]] for all
+the details, as some changes may affect the behavior of existing (buggy) programs.
+What follows is the highlights of the release.
+
+A new [[http://golang.org/doc/go1.2#three_index][three-index slice syntax]]
+adds the ability to specify capacity as well as length. This allows the
+programmer to pass a slice value that can only access a limited portion of the
+underlying array, a technique that previously required the use of the unsafe
+package.
+
+A major new feature of the tool chain is the facility to compute and display
+[[http://golang.org/doc/go1.2#cover][test coverage results]].
+See the [[http://golang.org/cmd/go/#hdr-Description_of_testing_flags][`go`test`]]
+and [[http://godoc.org/code.google.com/p/go.tools/cmd/cover/][cover tool]]
+documentation for details. Later this week we will publish an article that
+discusses this new feature in detail.
+
+Goroutines are now [[http://golang.org/doc/go1.2#preemption][pre-emptively scheduled]],
+in that the scheduler is invoked occasionally upon entry to a function.
+This can prevent busy goroutines from starving other goroutines on the same
+thread.
+
+An increase to the default goroutine stack size should improve the
+performance of some programs. (The old size had a tendency to introduce
+expensive stack-segment switching in performance-critical sections.)
+On the other end, new restrictions on
+[[http://golang.org/doc/go1.2#stack_size][stack sizes]] and
+[[http://golang.org/doc/go1.2#thread_limit][the number of operating system threads]]
+should prevent misbehaving programs from consuming all the resources of a
+machine. (These limits may be adjusted using new functions in the
+[[http://golang.org/pkg/runtime/][`runtime` package]].)
+
+Finally, among the [[http://golang.org/doc/go1.2#library][many changes to the standard library]],
+significant changes include
+the new [[http://golang.org/doc/go1.2#encoding][`encoding` package]],
+[[http://golang.org/doc/go1.2#fmt_indexed_arguments][indexed arguments]] in `Printf` format strings, and
+some [[http://golang.org/doc/go1.2#text_template][convenient additions]] to the template packages.
+
+As part of the release, the [[http://play.golang.org/][Go Playground]] has been
+updated to Go 1.2. This also affects services that use the Playground, such as
+[[http://tour.golang.org/][the Go Tour]] and this blog.
+The update also adds the ability to use threads and the `os`, `net`, and
+`unsafe` packages inside the sandbox, making it more like a real Go environment.
+
+To everyone who helped make this release possible, from the many users who
+submitted bug reports to the 116 (!) contributors who committed more than 1600
+changes to the core: Your help is invaluable to the project. Thank you!
+
+_This_blog_post_is_the_first_of_the_
+[[http://blog.gopheracademy.com/go-advent-2013][Go Advent Calendar]],
+_a_series_of_daily_articles_presented_by_the_
+[[http://gopheracademy.com/][Gopher Academy]] _from_December_1_to_25._