content/static/doc: copy Release History pages from Go repo

The Release History, Pre-Go 1 Release History, and Weekly Snapshot
History pages are copied from Go master as of 2019/12/10 (commit
golang/go@931fe39400006e6c272d13f2a4d46de2a6736761, CL 210717).

Updates golang/go#36075
Updates golang/go#29206

Change-Id: I24d24d6346405df2d3d657ea2b4aa049182d5141
Reviewed-on: https://go-review.googlesource.com/c/website/+/210797
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
diff --git a/content/static/doc/devel/pre_go1.html b/content/static/doc/devel/pre_go1.html
new file mode 100644
index 0000000..813e23c
--- /dev/null
+++ b/content/static/doc/devel/pre_go1.html
@@ -0,0 +1,455 @@
+<!--{
+	"Title": "Pre-Go 1 Release History"
+}-->
+
+<p>
+This page summarizes the changes between stable releases of Go prior to Go 1.
+See the <a href="release.html">Release History</a> page for notes on recent releases.
+</p>
+
+<h2 id="r60">r60 (released 2011/09/07)</h2>
+
+<p>
+The r60 release corresponds to 
+<code><a href="weekly.html#2011-08-17">weekly.2011-08-17</a></code>.
+This section highlights the most significant changes in this release.
+For a more detailed summary, see the
+<a href="weekly.html#2011-08-17">weekly release notes</a>.
+For complete information, see the
+<a href="//code.google.com/p/go/source/list?r=release-branch.r60">Mercurial change list</a>.
+</p>
+
+<h3 id="r60.lang">Language</h3>
+
+<p>
+An "else" block is now required to have braces except if the body of the "else"
+is another "if". Since gofmt always puts those braces in anyway,
+gofmt-formatted programs will not be affected.
+To fix other programs, run gofmt.
+</p>
+
+<h3 id="r60.pkg">Packages</h3>
+
+<p>
+<a href="/pkg/http/">Package http</a>'s URL parsing and query escaping code
+(such as <code>ParseURL</code> and <code>URLEscape</code>) has been moved to
+the new <a href="/pkg/url/">url package</a>, with several simplifications to
+the names. Client code can be updated automatically with gofix.
+</p>
+
+<p>
+<a href="/pkg/image/">Package image</a> has had significant changes made to the
+<code>Pix</code> field of struct types such as
+<a href="/pkg/image/#RGBA">image.RGBA</a> and
+<a href="/pkg/image/#NRGBA">image.NRGBA</a>.
+The <a href="/pkg/image/#Image">image.Image</a> interface type has not changed,
+though, and you should not need to change your code if you don't explicitly
+refer to <code>Pix</code> fields. For example, if you decode a number of images
+using the <a href="/pkg/image/jpeg/">image/jpeg</a> package, compose them using
+<a href="/pkg/image/draw/">image/draw</a>, and then encode the result using
+<a href="/pkg/img/png">image/png</a>, then your code should still work as
+before.
+If your code <i>does</i> refer to <code>Pix</code> fields see the 
+<a href="/doc/devel/weekly.html#2011-07-19">weekly.2011-07-19</a>
+snapshot notes for how to update your code.
+</p>
+
+<p>
+<a href="/pkg/template/">Package template</a> has been replaced with a new
+templating package (formerly <code>exp/template</code>). The original template
+package is still available as <a href="/pkg/old/template/">old/template</a>.
+The <code>old/template</code> package is deprecated and will be removed.
+The Go tree has been updated to use the new template package. We encourage
+users of the old template package to switch to the new one. Code that uses
+<code>template</code> or <code>exp/template</code> will need to change its
+import lines to <code>"old/template"</code> or <code>"template"</code>,
+respectively.
+</p>
+
+<h3 id="r60.cmd">Tools</h3>
+
+<p>
+<a href="/cmd/goinstall/">Goinstall</a> now uses a new tag selection scheme.
+When downloading or updating, goinstall looks for a tag or branch with the
+<code>"go."</code> prefix that corresponds to the local Go version. For Go
+<code>release.r58</code> it looks for <code>go.r58</code>. For
+<code>weekly.2011-06-03</code> it looks for <code>go.weekly.2011-06-03</code>.
+If the specific <code>go.X</code> tag or branch is not found, it chooses the
+closest earlier version. If an appropriate tag or branch is found, goinstall
+uses that version of the code. Otherwise it uses the default version selected
+by the version control system. Library authors are encouraged to use the
+appropriate tag or branch names in their repositories to make their libraries
+more accessible.
+</p>
+
+<h3 id="r60.minor">Minor revisions</h3>
+
+<p>
+r60.1 includes a 
+<a href="//golang.org/change/1824581bf62d">linker
+fix</a>, a pair of
+<a href="//golang.org/change/9ef4429c2c64">goplay</a>
+<a href="//golang.org/change/d42ed8c3098e">fixes</a>,
+and a <code>json</code> package
+<a href="//golang.org/change/d5e97874fe84">fix</a> and
+a new
+<a href="//golang.org/change/4f0e6269213f">struct tag
+option</a>.
+</p>
+
+<p>
+r60.2
+<a href="//golang.org/change/ff19536042ac">fixes</a>
+a memory leak involving maps.
+</p>
+
+<p>
+r60.3 fixes a
+<a href="//golang.org/change/01fa62f5e4e5">reflect bug</a>.
+</p>
+
+<h2 id="r59">r59 (released 2011/08/01)</h2>
+
+<p>
+The r59 release corresponds to 
+<code><a href="weekly.html#2011-07-07">weekly.2011-07-07</a></code>.
+This section highlights the most significant changes in this release.
+For a more detailed summary, see the
+<a href="weekly.html#2011-07-07">weekly release notes</a>.
+For complete information, see the
+<a href="//code.google.com/p/go/source/list?r=release-branch.r59">Mercurial change list</a>.
+</p>
+
+<h3 id="r59.lang">Language</h3>
+
+<p>
+This release includes a language change that restricts the use of
+<code>goto</code>.  In essence, a <code>goto</code> statement outside a block
+cannot jump to a label inside that block. Your code may require changes if it
+uses <code>goto</code>.
+See <a href="//golang.org/change/dc6d3cf9279d">this
+changeset</a> for how the new rule affected the Go tree.
+</p>
+
+<h3 id="r59.pkg">Packages</h3>
+
+<p>
+As usual, <a href="/cmd/gofix/">gofix</a> will handle the bulk of the rewrites
+necessary for these changes to package APIs.
+</p>
+
+<p>
+<a href="/pkg/http">Package http</a> has a new
+<a href="/pkg/http/#FileSystem">FileSystem</a> interface that provides access
+to files. The <a href="/pkg/http/#FileServer">FileServer</a> helper now takes a
+<code>FileSystem</code> argument instead of an explicit file system root. By
+implementing your own <code>FileSystem</code> you can use the
+<code>FileServer</code> to serve arbitrary data.
+</p>
+
+<p>
+<a href="/pkg/os/">Package os</a>'s <code>ErrorString</code> type has been
+hidden. Most uses of <code>os.ErrorString</code> can be replaced with
+<a href="/pkg/os/#NewError">os.NewError</a>.
+</p>
+
+<p>
+<a href="/pkg/reflect/">Package reflect</a> supports a new struct tag scheme
+that enables sharing of struct tags between multiple packages.
+In this scheme, the tags must be of the form:
+</p>
+<pre>
+	`key:"value" key2:"value2"`
+</pre>
+<p>
+The <a href="/pkg/reflect/#StructField">StructField</a> type's Tag field now
+has type <a href="/pkg/reflect/#StructTag">StructTag</a>, which has a
+<code>Get</code> method. Clients of <a href="/pkg/json">json</a> and
+<a href="/pkg/xml">xml</a> will need to be updated. Code that says
+</p>
+<pre>
+	type T struct {
+		X int "name"
+	}
+</pre>
+<p>
+should become
+</p>
+<pre>
+	type T struct {
+		X int `json:"name"`  // or `xml:"name"`
+	}
+</pre>
+<p>
+Use <a href="/cmd/govet/">govet</a> to identify struct tags that need to be
+changed to use the new syntax.
+</p>
+
+<p>
+<a href="/pkg/sort/">Package sort</a>'s <code>IntArray</code> type has been
+renamed to <a href="/pkg/sort/#IntSlice">IntSlice</a>, and similarly for
+<a href="/pkg/sort/#Float64Slice">Float64Slice</a> and
+<a href="/pkg/sort/#StringSlice">StringSlice</a>.
+</p>
+
+<p>
+<a href="/pkg/strings/">Package strings</a>'s <code>Split</code> function has
+itself been split into <a href="/pkg/strings/#Split">Split</a> and
+<a href="/pkg/strings/#SplitN">SplitN</a>.
+<code>SplitN</code> is the same as the old <code>Split</code>.
+The new <code>Split</code> is equivalent to <code>SplitN</code> with a final
+argument of -1.
+</p>
+
+<a href="/pkg/image/draw/">Package image/draw</a>'s
+<a href="/pkg/image/draw/#Draw">Draw</a> function now takes an additional
+argument, a compositing operator.
+If in doubt, use <a href="/pkg/image/draw/#Op">draw.Over</a>.
+</p>
+
+<h3 id="r59.cmd">Tools</h3>
+
+<p>
+<a href="/cmd/goinstall/">Goinstall</a> now installs packages and commands from
+arbitrary remote repositories (not just Google Code, Github, and so on).
+See the <a href="/cmd/goinstall/">goinstall documentation</a> for details.
+</p>
+
+<h2 id="r58">r58 (released 2011/06/29)</h2>
+
+<p>
+The r58 release corresponds to 
+<code><a href="weekly.html#2011-06-09">weekly.2011-06-09</a></code>
+with additional bug fixes.
+This section highlights the most significant changes in this release.
+For a more detailed summary, see the
+<a href="weekly.html#2011-06-09">weekly release notes</a>.
+For complete information, see the
+<a href="//code.google.com/p/go/source/list?r=release-branch.r58">Mercurial change list</a>.
+</p>
+
+<h3 id="r58.lang">Language</h3>
+
+<p>
+This release fixes a <a href="//golang.org/change/b720749486e1">use of uninitialized memory in programs that misuse <code>goto</code></a>.
+</p>
+
+<h3 id="r58.pkg">Packages</h3>
+
+<p>
+As usual, <a href="/cmd/gofix/">gofix</a> will handle the bulk of the rewrites
+necessary for these changes to package APIs.
+</p>
+
+<p>
+<a href="/pkg/http/">Package http</a> drops the <code>finalURL</code> return
+value from the <a href="/pkg/http/#Client.Get">Client.Get</a> method. The value
+is now available via the new <code>Request</code> field on <a
+href="/pkg/http/#Response">http.Response</a>.
+Most instances of the type map[string][]string in have been
+replaced with the new <a href="/pkg/http/#Values">Values</a> type.
+</p>
+
+<p>
+<a href="/pkg/exec/">Package exec</a> has been redesigned with a more
+convenient and succinct API.
+</p>
+
+<p>
+<a href="/pkg/strconv/">Package strconv</a>'s <a href="/pkg/strconv/#Quote">Quote</a>
+function now escapes only those Unicode code points not classified as printable
+by <a href="/pkg/unicode/#IsPrint">unicode.IsPrint</a>.
+Previously Quote would escape all non-ASCII characters.
+This also affects the <a href="/pkg/fmt/">fmt</a> package's <code>"%q"</code>
+formatting directive. The previous quoting behavior is still available via
+strconv's new <a href="/pkg/strconv/#QuoteToASCII">QuoteToASCII</a> function.   
+</p>
+
+<p>
+<a href="/pkg/os/signal/">Package os/signal</a>'s
+<a href="/pkg/os/#Signal">Signal</a> and 
+<a href="/pkg/os/#UnixSignal">UnixSignal</a> types have been moved to the
+<a href="/pkg/os/">os</a> package.
+</p>
+
+<p>
+<a href="/pkg/image/draw/">Package image/draw</a> is the new name for
+<code>exp/draw</code>. The GUI-related code from <code>exp/draw</code> is now
+located in the <a href="/pkg/exp/gui/">exp/gui</a> package.
+</p>
+
+<h3 id="r58.cmd">Tools</h3>
+
+<p>
+<a href="/cmd/goinstall/">Goinstall</a> now observes the GOPATH environment
+variable to build and install your own code and external libraries outside of
+the Go tree (and avoid writing Makefiles).
+</p>
+
+
+<h3 id="r58.minor">Minor revisions</h3>
+
+<p>r58.1 adds 
+<a href="//golang.org/change/293c25943586">build</a> and
+<a href="//golang.org/change/bf17e96b6582">runtime</a>
+changes to make Go run on OS X 10.7 Lion.
+</p>
+
+<h2 id="r57">r57 (released 2011/05/03)</h2>
+
+<p>
+The r57 release corresponds to 
+<code><a href="weekly.html#2011-04-27">weekly.2011-04-27</a></code>
+with additional bug fixes.
+This section highlights the most significant changes in this release.
+For a more detailed summary, see the
+<a href="weekly.html#2011-04-27">weekly release notes</a>.
+For complete information, see the
+<a href="//code.google.com/p/go/source/list?r=release-branch.r57">Mercurial change list</a>.
+</p>
+
+<p>The new <a href="/cmd/gofix">gofix</a> tool finds Go programs that use old APIs and rewrites them to use
+newer ones.  After you update to a new Go release, gofix helps make the
+necessary changes to your programs. Gofix will handle the http, os, and syscall
+package changes described below, and we will update the program to keep up with
+future changes to the libraries. 
+Gofix can’t
+handle all situations perfectly, so read and test the changes it makes before
+committing them.
+See <a href="//blog.golang.org/2011/04/introducing-gofix.html">the gofix blog post</a> for more
+information.</p>
+
+<h3 id="r57.lang">Language</h3>
+
+<p>
+<a href="/doc/go_spec.html#Receive_operator">Multiple assignment syntax</a> replaces the <code>closed</code> function.
+The syntax for channel
+receives allows an optional second assigned value, a boolean value
+indicating whether the channel is closed. This code:
+</p>
+
+<pre>
+	v := &lt;-ch
+	if closed(ch) {
+		// channel is closed
+	}
+</pre>
+
+<p>should now be written as:</p>
+
+<pre>
+	v, ok := &lt;-ch
+	if !ok {
+		// channel is closed
+	}
+</pre>
+
+<p><a href="/doc/go_spec.html#Label_scopes">Unused labels are now illegal</a>, just as unused local variables are.</p>
+
+<h3 id="r57.pkg">Packages</h3>
+
+<p>
+<a href="/pkg/gob/">Package gob</a> will now encode and decode values of types that implement the
+<a href="/pkg/gob/#GobEncoder">GobEncoder</a> and
+<a href="/pkg/gob/#GobDecoder">GobDecoder</a> interfaces. This allows types with unexported
+fields to transmit self-consistent descriptions; examples include 
+<a href="/pkg/big/#Int.GobDecode">big.Int</a> and <a href="/pkg/big/#Rat.GobDecode">big.Rat</a>.
+</p>
+
+<p>
+<a href="/pkg/http/">Package http</a> has been redesigned.
+For clients, there are new
+<a href="/pkg/http/#Client">Client</a> and <a href="/pkg/http/#Transport">Transport</a>
+abstractions that give more control over HTTP details such as headers sent
+and redirections followed.  These abstractions make it easy to implement
+custom clients that add functionality such as <a href="//code.google.com/p/goauth2/source/browse/oauth/oauth.go">OAuth2</a>.
+For servers, <a href="/pkg/http/#ResponseWriter">ResponseWriter</a>
+has dropped its non-essential methods.
+The Hijack and Flush methods are no longer required;
+code can test for them by checking whether a specific value implements
+<a href="/pkg/http/#Hijacker">Hijacker</a> or <a href="/pkg/http/#Flusher">Flusher</a>.
+The RemoteAddr and UsingTLS methods are replaced by <a href="/pkg/http/#Request">Request</a>'s
+RemoteAddr and TLS fields.
+The SetHeader method is replaced by a Header method;
+its result, of type <a href="/pkg/http/#Header">Header</a>,
+implements Set and other methods.
+</p>
+
+<p>
+<a href="/pkg/net/">Package net</a>
+drops the <code>laddr</code> argument from <a href="/pkg/net/#Conn.Dial">Dial</a>
+and drops the <code>cname</code> return value
+from <a href="/pkg/net/#LookupHost">LookupHost</a>.
+The implementation now uses <a href="/cmd/cgo/">cgo</a> to implement
+network name lookups using the C library getaddrinfo(3)
+function when possible.  This ensures that Go and C programs
+resolve names the same way and also avoids the OS X 
+application-level firewall.
+</p>
+
+<p>
+<a href="/pkg/os/">Package os</a>
+introduces simplified <a href="/pkg/os/#File.Open">Open</a>
+and <a href="/pkg/os/#File.Create">Create</a> functions.
+The original Open is now available as <a href="/pkg/os/#File.OpenFile">OpenFile</a>.
+The final three arguments to <a href="/pkg/os/#Process.StartProcess">StartProcess</a>
+have been replaced by a pointer to a <a href="/pkg/os/#ProcAttr">ProcAttr</a>.
+</p>
+
+<p>
+<a href="/pkg/reflect/">Package reflect</a> has been redesigned.
+<a href="/pkg/reflect/#Type">Type</a> is now an interface that implements
+all the possible type methods.
+Instead of a type switch on a Type <code>t</code>, switch on <code>t.Kind()</code>.
+<a href="/pkg/reflect/#Value">Value</a> is now a struct value that
+implements all the possible value methods.
+Instead of a type switch on a Value <code>v</code>, switch on <code>v.Kind()</code>.
+Typeof and NewValue are now called <a href="/pkg/reflect/#Type.TypeOf">TypeOf</a> and <a href="/pkg/reflect/#Value.ValueOf">ValueOf</a>
+To create a writable Value, use <code>New(t).Elem()</code> instead of <code>Zero(t)</code>.
+See <a href="//golang.org/change/843855f3c026">the change description</a>
+for the full details.
+The new API allows a more efficient implementation of Value
+that avoids many of the allocations required by the previous API.
+</p>
+
+<p>
+Remember that gofix will handle the bulk of the rewrites
+necessary for these changes to package APIs.
+</p>
+
+<h3 id="r57.cmd">Tools</h3>
+
+<p><a href="/cmd/gofix/">Gofix</a>, a new command, is described above.</p>
+
+<p>
+<a href="/cmd/gotest/">Gotest</a> is now a Go program instead of a shell script.
+The new <code>-test.short</code> flag in combination with package testing's Short function
+allows you to write tests that can be run in normal or &ldquo;short&rdquo; mode;
+all.bash runs tests in short mode to reduce installation time.
+The Makefiles know about the flag: use <code>make testshort</code>.
+</p>
+
+<p>
+The run-time support now implements CPU and memory profiling.
+Gotest's new 
+<a href="/cmd/gotest/"><code>-test.cpuprofile</code> and
+<code>-test.memprofile</code> flags</a> make it easy to
+profile tests.
+To add profiling to your web server, see the <a href="/pkg/http/pprof/">http/pprof</a>
+documentation.
+For other uses, see the <a href="/pkg/runtime/pprof/">runtime/pprof</a> documentation.
+</p>
+
+<h3 id="r57.minor">Minor revisions</h3>
+
+<p>r57.1 fixes a <a href="//golang.org/change/ff2bc62726e7145eb2ecc1e0f076998e4a8f86f0">nil pointer dereference in http.FormFile</a>.</p>
+<p>r57.2 fixes a <a href="//golang.org/change/063b0ff67d8277df03c956208abc068076818dae">use of uninitialized memory in programs that misuse <code>goto</code></a>.</p>
+
+<h2 id="r56">r56 (released 2011/03/16)</h2>
+
+<p>
+The r56 release was the first stable release and corresponds to
+<code><a href="weekly.html#2011-03-07">weekly.2011-03-07.1</a></code>.
+The numbering starts at 56 because before this release,
+what we now consider weekly snapshots were called releases.
+</p>
diff --git a/content/static/doc/devel/release.html b/content/static/doc/devel/release.html
new file mode 100644
index 0000000..c3f77f3
--- /dev/null
+++ b/content/static/doc/devel/release.html
@@ -0,0 +1,758 @@
+<!--{
+	"Title": "Release History"
+}-->
+
+<p>This page summarizes the changes between official stable releases of Go.
+The <a href="//golang.org/change">change log</a> has the full details.</p>
+
+<p>To update to a specific release, use:</p>
+
+<pre>
+git pull
+git checkout <i>release-branch</i>
+</pre>
+
+<h2 id="policy">Release Policy</h2>
+
+<p>
+Each major Go release is supported until there are two newer major releases.
+For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was
+supported until the Go 1.8 release.
+We fix critical problems, including <a href="/security">critical security problems</a>,
+in supported releases as needed by issuing minor revisions
+(for example, Go 1.6.1, Go 1.6.2, and so on).
+</p>
+
+<h2 id="go1.13">go1.13 (released 2019/09/03)</h2>
+
+<p>
+Go 1.13 is a major release of Go.
+Read the <a href="/doc/go1.13">Go 1.13 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.13.minor">Minor revisions</h3>
+
+<p>
+go1.13.1 (released 2019/09/25) includes security fixes to the
+<code>net/http</code> and <code>net/textproto</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.13.1+label%3ACherryPickApproved">Go
+1.13.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.13.2 (released 2019/10/17) includes security fixes to the
+<code>crypto/dsa</code> package and the compiler.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.13.2+label%3ACherryPickApproved">Go
+1.13.2 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.13.3 (released 2019/10/17) includes fixes to the go command,
+the toolchain, the runtime, <code>syscall</code>, <code>net</code>,
+<code>net/http</code>, and <code>crypto/ecdsa</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.13.3+label%3ACherryPickApproved">Go
+1.13.3 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.13.4 (released 2019/10/31) includes fixes to the <code>net/http</code> and
+<code>syscall</code> packages. It also fixes an issue on macOS 10.15 Catalina
+where the non-notarized installer and binaries were being
+<a href="https://golang.org/issue/34986">rejected by Gatekeeper</a>.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.13.4+label%3ACherryPickApproved">Go
+1.13.4 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.13.5 (released 2019/12/04) includes fixes to the go command, the runtime,
+the linker, and the <code>net/http</code> package. See the
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.13.5+label%3ACherryPickApproved">Go
+1.13.5 milestone</a> on our issue tracker for details.
+</p>
+
+<h2 id="go1.12">go1.12 (released 2019/02/25)</h2>
+
+<p>
+Go 1.12 is a major release of Go.
+Read the <a href="/doc/go1.12">Go 1.12 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.12.minor">Minor revisions</h3>
+
+<p>
+go1.12.1 (released 2019/03/14) includes fixes to cgo, the compiler, the go
+command, and the <code>fmt</code>, <code>net/smtp</code>, <code>os</code>,
+<code>path/filepath</code>, <code>sync</code>, and <code>text/template</code>
+packages. See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.1+label%3ACherryPickApproved">Go
+1.12.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.2 (released 2019/04/05) includes fixes to the compiler, the go
+command, the runtime, and the <code>doc</code>, <code>net</code>,
+<code>net/http/httputil</code>, and <code>os</code> packages. See the
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.2+label%3ACherryPickApproved">Go
+1.12.2 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.3 (released 2019/04/08) was accidentally released without its
+intended fix. It is identical to go1.12.2, except for its version
+number. The intended fix is in go1.12.4.
+</p>
+
+<p>
+go1.12.4 (released 2019/04/11) fixes an issue where using the prebuilt binary
+releases on older versions of GNU/Linux
+<a href="https://golang.org/issues/31293">led to failures</a>
+when linking programs that used cgo.
+Only Linux users who hit this issue need to update.
+</p>
+
+<p>
+go1.12.5 (released 2019/05/06) includes fixes to the compiler, the linker,
+the go command, the runtime, and the <code>os</code> package. See the
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.5+label%3ACherryPickApproved">Go
+1.12.5 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.6 (released 2019/06/11) includes fixes to the compiler, the linker,
+the go command, and the <code>crypto/x509</code>, <code>net/http</code>, and
+<code>os</code> packages. See the
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.6+label%3ACherryPickApproved">Go
+1.12.6 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.7 (released 2019/07/08) includes fixes to cgo, the compiler,
+and the linker.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.7+label%3ACherryPickApproved">Go
+1.12.7 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.8 (released 2019/08/13) includes security fixes to the
+<code>net/http</code> and <code>net/url</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.8+label%3ACherryPickApproved">Go
+1.12.8 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.9 (released 2019/08/15) includes fixes to the linker,
+and the <code>os</code> and <code>math/big</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.9+label%3ACherryPickApproved">Go
+1.12.9 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.10 (released 2019/09/25) includes security fixes to the
+<code>net/http</code> and <code>net/textproto</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.10+label%3ACherryPickApproved">Go
+1.12.10 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.11 (released 2019/10/17) includes security fixes to the
+<code>crypto/dsa</code> package.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.11+label%3ACherryPickApproved">Go
+1.12.11 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.12 (released 2019/10/17) includes fixes to the go command,
+runtime, <code>syscall</code> and <code>net</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.12+label%3ACherryPickApproved">Go
+1.12.12 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.12.13 (released 2019/10/31) fixes an issue on macOS 10.15 Catalina
+where the non-notarized installer and binaries were being
+<a href="https://golang.org/issue/34986">rejected by Gatekeeper</a>.
+Only macOS users who hit this issue need to update.
+</p>
+
+<p>
+go1.12.14 (released 2019/12/04) includes a fix to the runtime. See
+the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.14+label%3ACherryPickApproved">Go
+1.12.14 milestone</a> on our issue tracker for details.
+</p>
+
+<h2 id="go1.11">go1.11 (released 2018/08/24)</h2>
+
+<p>
+Go 1.11 is a major release of Go.
+Read the <a href="/doc/go1.11">Go 1.11 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.11.minor">Minor revisions</h3>
+
+<p>
+go1.11.1 (released 2018/10/01) includes fixes to the compiler, documentation, go
+command, runtime, and the <code>crypto/x509</code>, <code>encoding/json</code>,
+<code>go/types</code>, <code>net</code>, <code>net/http</code>, and
+<code>reflect</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.1+label%3ACherryPickApproved">Go
+1.11.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.2 (released 2018/11/02) includes fixes to the compiler, linker,
+documentation, go command, and the <code>database/sql</code> and
+<code>go/types</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.2+label%3ACherryPickApproved">Go
+1.11.2 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.3 (released 2018/12/12) includes three security fixes to "go get" and
+the <code>crypto/x509</code> package.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.3+label%3ACherryPickApproved">Go
+1.11.3 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.4 (released 2018/12/14) includes fixes to cgo, the compiler, linker,
+runtime, documentation, go command, and the <code>net/http</code> and
+<code>go/types</code> packages.
+It includes a fix to a bug introduced in Go 1.11.3 that broke <code>go</code>
+<code>get</code> for import path patterns containing "<code>...</code>".
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.4+label%3ACherryPickApproved">Go
+1.11.4 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.5 (released 2019/01/23) includes a security fix to the
+<code>crypto/elliptic</code> package.  See
+the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.5+label%3ACherryPickApproved">Go
+1.11.5 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.6 (released 2019/03/14) includes fixes to cgo, the compiler, linker,
+runtime, go command, and the <code>crypto/x509</code>, <code>encoding/json</code>,
+<code>net</code>, and <code>net/url</code> packages. See the
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.6+label%3ACherryPickApproved">Go
+1.11.6 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.7 (released 2019/04/05) includes fixes to the runtime and the
+<code>net</code> packages. See the
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.7+label%3ACherryPickApproved">Go
+1.11.7 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.8 (released 2019/04/08) was accidentally released without its
+intended fix. It is identical to go1.11.7, except for its version
+number. The intended fix is in go1.11.9.
+</p>
+
+<p>
+go1.11.9 (released 2019/04/11) fixes an issue where using the prebuilt binary
+releases on older versions of GNU/Linux
+<a href="https://golang.org/issues/31293">led to failures</a>
+when linking programs that used cgo.
+Only Linux users who hit this issue need to update.
+</p>
+
+<p>
+go1.11.10 (released 2019/05/06) includes fixes to the runtime and the linker.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.10+label%3ACherryPickApproved">Go
+1.11.10 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.11 (released 2019/06/11) includes a fix to the <code>crypto/x509</code> package.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.11+label%3ACherryPickApproved">Go
+1.11.11 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.12 (released 2019/07/08) includes fixes to the compiler and the linker.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.12+label%3ACherryPickApproved">Go
+1.11.12 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.11.13 (released 2019/08/13) includes security fixes to the
+<code>net/http</code> and <code>net/url</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.11.13+label%3ACherryPickApproved">Go
+1.11.13 milestone</a> on our issue tracker for details.
+</p>
+
+<h2 id="go1.10">go1.10 (released 2018/02/16)</h2>
+
+<p>
+Go 1.10 is a major release of Go.
+Read the <a href="/doc/go1.10">Go 1.10 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.10.minor">Minor revisions</h3>
+
+<p>
+go1.10.1 (released 2018/03/28) includes fixes to the compiler, runtime, and the
+<code>archive/zip</code>, <code>crypto/tls</code>, <code>crypto/x509</code>,
+<code>encoding/json</code>, <code>net</code>, <code>net/http</code>, and
+<code>net/http/pprof</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.1+label%3ACherryPickApproved">Go
+1.10.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.10.2 (released 2018/05/01) includes fixes to the compiler, linker, and go
+command.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.2+label%3ACherryPickApproved">Go
+1.10.2 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.10.3 (released 2018/06/05) includes fixes to the go command, and the
+<code>crypto/tls</code>, <code>crypto/x509</code>, and <code>strings</code> packages.
+In particular, it adds <a href="https://go.googlesource.com/go/+/d4e21288e444d3ffd30d1a0737f15ea3fc3b8ad9">
+minimal support to the go command for the vgo transition</a>.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.3+label%3ACherryPickApproved">Go
+1.10.3 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.10.4 (released 2018/08/24) includes fixes to the go command, linker, and the
+<code>net/http</code>, <code>mime/multipart</code>, <code>ld/macho</code>,
+<code>bytes</code>, and <code>strings</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.4+label%3ACherryPickApproved">Go
+1.10.4 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.10.5 (released 2018/11/02) includes fixes to the go command, linker, runtime
+and the <code>database/sql</code> package.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.5+label%3ACherryPickApproved">Go
+1.10.5 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.10.6 (released 2018/12/12) includes three security fixes to "go get" and
+the <code>crypto/x509</code> package.
+It contains the same fixes as Go 1.11.3 and was released at the same time.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.6+label%3ACherryPickApproved">Go
+1.10.6 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.10.7 (released 2018/12/14) includes a fix to a bug introduced in Go 1.10.6
+that broke <code>go</code> <code>get</code> for import path patterns containing
+"<code>...</code>".
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.7+label%3ACherryPickApproved">
+Go 1.10.7 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.10.8 (released 2019/01/23) includes a security fix to the
+<code>crypto/elliptic</code> package.  See
+the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.10.8+label%3ACherryPickApproved">Go
+1.10.8 milestone</a> on our issue tracker for details.
+</p>
+
+<h2 id="go1.9">go1.9 (released 2017/08/24)</h2>
+
+<p>
+Go 1.9 is a major release of Go.
+Read the <a href="/doc/go1.9">Go 1.9 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.9.minor">Minor revisions</h3>
+
+<p>
+go1.9.1 (released 2017/10/04) includes two security fixes.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.1+label%3ACherryPickApproved">Go
+1.9.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.9.2 (released 2017/10/25) includes fixes to the compiler, linker, runtime,
+documentation, <code>go</code> command,
+and the <code>crypto/x509</code>, <code>database/sql</code>, <code>log</code>,
+and <code>net/smtp</code> packages.
+It includes a fix to a bug introduced in Go 1.9.1 that broke <code>go</code> <code>get</code>
+of non-Git repositories under certain conditions.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.2+label%3ACherryPickApproved">Go
+1.9.2 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.9.3 (released 2018/01/22) includes fixes to the compiler, runtime,
+and the <code>database/sql</code>, <code>math/big</code>, <code>net/http</code>,
+and <code>net/url</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.3+label%3ACherryPickApproved">Go
+1.9.3 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.9.4 (released 2018/02/07) includes a security fix to “go get”.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.4+label%3ACherryPickApproved">Go
+1.9.4</a> milestone on our issue tracker for details.
+</p>
+
+<p>
+go1.9.5 (released 2018/03/28) includes fixes to the compiler, go command, and
+<code>net/http/pprof</code> package.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.5+label%3ACherryPickApproved">Go
+1.9.5 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.9.6 (released 2018/05/01) includes fixes to the compiler and go command.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.6+label%3ACherryPickApproved">Go
+1.9.6 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.9.7 (released 2018/06/05) includes fixes to the go command, and the
+<code>crypto/x509</code>, and <code>strings</code> packages.
+In particular, it adds <a href="https://go.googlesource.com/go/+/d4e21288e444d3ffd30d1a0737f15ea3fc3b8ad9">
+minimal support to the go command for the vgo transition</a>.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.9.7+label%3ACherryPickApproved">Go
+1.9.7 milestone</a> on our issue tracker for details.
+</p>
+
+
+<h2 id="go1.8">go1.8 (released 2017/02/16)</h2>
+
+<p>
+Go 1.8 is a major release of Go.
+Read the <a href="/doc/go1.8">Go 1.8 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.8.minor">Minor revisions</h3>
+
+<p>
+go1.8.1 (released 2017/04/07) includes fixes to the compiler, linker, runtime,
+documentation, <code>go</code> command and the <code>crypto/tls</code>,
+<code>encoding/xml</code>, <code>image/png</code>, <code>net</code>,
+<code>net/http</code>, <code>reflect</code>, <code>text/template</code>,
+and <code>time</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.8.1">Go
+1.8.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.8.2 (released 2017/05/23) includes a security fix to the
+<code>crypto/elliptic</code> package.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.8.2">Go
+1.8.2 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.8.3 (released 2017/05/24) includes fixes to the compiler, runtime,
+documentation, and the <code>database/sql</code> package.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.8.3">Go
+1.8.3 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.8.4 (released 2017/10/04) includes two security fixes.
+It contains the same fixes as Go 1.9.1 and was released at the same time.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.8.4">Go
+1.8.4 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.8.5 (released 2017/10/25) includes fixes to the compiler, linker, runtime,
+documentation, <code>go</code> command,
+and the <code>crypto/x509</code> and <code>net/smtp</code> packages.
+It includes a fix to a bug introduced in Go 1.8.4 that broke <code>go</code> <code>get</code>
+of non-Git repositories under certain conditions.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.8.5">Go
+1.8.5 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.8.6 (released 2018/01/22) includes the same fix in <code>math/big</code>
+as Go 1.9.3 and was released at the same time.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.8.6">Go
+1.8.6 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.8.7 (released 2018/02/07) includes a security fix to “go get”.
+It contains the same fix as Go 1.9.4 and was released at the same time.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.8.7">Go
+1.8.7</a> milestone on our issue tracker for details.
+</p>
+
+<h2 id="go1.7">go1.7 (released 2016/08/15)</h2>
+
+<p>
+Go 1.7 is a major release of Go.
+Read the <a href="/doc/go1.7">Go 1.7 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.7.minor">Minor revisions</h3>
+
+<p>
+go1.7.1 (released 2016/09/07) includes fixes to the compiler, runtime,
+documentation, and the <code>compress/flate</code>, <code>hash/crc32</code>,
+<code>io</code>, <code>net</code>, <code>net/http</code>,
+<code>path/filepath</code>, <code>reflect</code>, and <code>syscall</code>
+packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.7.1">Go
+1.7.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.7.2 should not be used. It was tagged but not fully released.
+The release was deferred due to a last minute bug report.
+Use go1.7.3 instead, and refer to the summary of changes below.
+</p>
+
+<p>
+go1.7.3 (released 2016/10/19) includes fixes to the compiler, runtime,
+and the <code>crypto/cipher</code>, <code>crypto/tls</code>,
+<code>net/http</code>, and <code>strings</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.7.3">Go
+1.7.3 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.7.4 (released 2016/12/01) includes two security fixes.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.7.4">Go
+1.7.4 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.7.5 (released 2017/01/26) includes fixes to the compiler, runtime,
+and the <code>crypto/x509</code> and <code>time</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.7.5">Go
+1.7.5 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.7.6 (released 2017/05/23) includes the same security fix as Go 1.8.2 and
+was released at the same time.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.8.2">Go
+1.8.2 milestone</a> on our issue tracker for details.
+</p>
+
+<h2 id="go1.6">go1.6 (released 2016/02/17)</h2>
+
+<p>
+Go 1.6 is a major release of Go.
+Read the <a href="/doc/go1.6">Go 1.6 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.6.minor">Minor revisions</h3>
+
+<p>
+go1.6.1 (released 2016/04/12) includes two security fixes.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.6.1">Go
+1.6.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.6.2 (released 2016/04/20) includes fixes to the compiler, runtime, tools,
+documentation, and the <code>mime/multipart</code>, <code>net/http</code>, and
+<code>sort</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.6.2">Go
+1.6.2 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.6.3 (released 2016/07/17) includes security fixes to the
+<code>net/http/cgi</code> package and <code>net/http</code> package when used in
+a CGI environment.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.6.3">Go
+1.6.3 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.6.4 (released 2016/12/01) includes two security fixes.
+It contains the same fixes as Go 1.7.4 and was released at the same time.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.7.4">Go
+1.7.4 milestone</a> on our issue tracker for details.
+</p>
+
+<h2 id="go1.5">go1.5 (released 2015/08/19)</h2>
+
+<p>
+Go 1.5 is a major release of Go.
+Read the <a href="/doc/go1.5">Go 1.5 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.5.minor">Minor revisions</h3>
+
+<p>
+go1.5.1 (released 2015/09/08) includes bug fixes to the compiler, assembler, and
+the <code>fmt</code>, <code>net/textproto</code>, <code>net/http</code>, and
+<code>runtime</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.5.1">Go
+1.5.1 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.5.2 (released 2015/12/02) includes bug fixes to the compiler, linker, and
+the <code>mime/multipart</code>, <code>net</code>, and <code>runtime</code>
+packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.5.2">Go
+1.5.2 milestone</a> on our issue tracker for details.
+</p>
+
+<p>
+go1.5.3 (released 2016/01/13) includes a security fix to the <code>math/big</code> package
+affecting the <code>crypto/tls</code> package.
+See the <a href="https://golang.org/s/go153announce">release announcement</a> for details.
+</p>
+
+<p>
+go1.5.4 (released 2016/04/12) includes two security fixes.
+It contains the same fixes as Go 1.6.1 and was released at the same time.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.6.1">Go
+1.6.1 milestone</a> on our issue tracker for details.
+</p>
+
+<h2 id="go1.4">go1.4 (released 2014/12/10)</h2>
+
+<p>
+Go 1.4 is a major release of Go.
+Read the <a href="/doc/go1.4">Go 1.4 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.4.minor">Minor revisions</h3>
+
+<p>
+go1.4.1 (released 2015/01/15) includes bug fixes to the linker and the <code>log</code>, <code>syscall</code>, and <code>runtime</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.4.1">Go 1.4.1 milestone on our issue tracker</a> for details.
+</p>
+
+<p>
+go1.4.2 (released 2015/02/17) includes bug fixes to the <code>go</code> command, the compiler and linker, and the <code>runtime</code>, <code>syscall</code>, <code>reflect</code>, and <code>math/big</code> packages.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.4.2">Go 1.4.2 milestone on our issue tracker</a> for details.
+</p>
+
+<p>
+go1.4.3 (released 2015/09/22) includes security fixes to the <code>net/http</code> package and bug fixes to the <code>runtime</code> package.
+See the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.4.3">Go 1.4.3 milestone on our issue tracker</a> for details.
+</p>
+
+<h2 id="go1.3">go1.3 (released 2014/06/18)</h2>
+
+<p>
+Go 1.3 is a major release of Go.
+Read the <a href="/doc/go1.3">Go 1.3 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.3.minor">Minor revisions</h3>
+
+<p>
+go1.3.1 (released 2014/08/13) includes bug fixes to the compiler and the <code>runtime</code>, <code>net</code>, and <code>crypto/rsa</code> packages.
+See the <a href="https://github.com/golang/go/commits/go1.3.1">change history</a> for details.
+</p>
+
+<p>
+go1.3.2 (released 2014/09/25) includes bug fixes to cgo and the crypto/tls packages.
+See the <a href="https://github.com/golang/go/commits/go1.3.2">change history</a> for details.
+</p>
+
+<p>
+go1.3.3 (released 2014/09/30) includes further bug fixes to cgo, the runtime package, and the nacl port.
+See the <a href="https://github.com/golang/go/commits/go1.3.3">change history</a> for details.
+</p>
+
+<h2 id="go1.2">go1.2 (released 2013/12/01)</h2>
+
+<p>
+Go 1.2 is a major release of Go.
+Read the <a href="/doc/go1.2">Go 1.2 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.2.minor">Minor revisions</h3>
+
+<p>
+go1.2.1 (released 2014/03/02) includes bug fixes to the <code>runtime</code>, <code>net</code>, and <code>database/sql</code> packages.
+See the <a href="https://github.com/golang/go/commits/go1.2.1">change history</a> for details.
+</p>
+
+<p>
+go1.2.2 (released 2014/05/05) includes a
+<a href="https://github.com/golang/go/commits/go1.2.2">security fix</a>
+that affects the tour binary included in the binary distributions (thanks to Guillaume T).
+</p>
+
+<h2 id="go1.1">go1.1 (released 2013/05/13)</h2>
+
+<p>
+Go 1.1 is a major release of Go.
+Read the <a href="/doc/go1.1">Go 1.1 Release Notes</a> for more information.
+</p>
+
+<h3 id="go1.1.minor">Minor revisions</h3>
+
+<p>
+go1.1.1 (released 2013/06/13) includes several compiler and runtime bug fixes.
+See the <a href="https://github.com/golang/go/commits/go1.1.1">change history</a> for details.
+</p>
+
+<p>
+go1.1.2 (released 2013/08/13) includes fixes to the <code>gc</code> compiler
+and <code>cgo</code>, and the <code>bufio</code>, <code>runtime</code>,
+<code>syscall</code>, and <code>time</code> packages.
+See the <a href="https://github.com/golang/go/commits/go1.1.2">change history</a> for details.
+If you use package syscall's <code>Getrlimit</code> and <code>Setrlimit</code>
+functions under Linux on the ARM or 386 architectures, please note change
+<a href="//golang.org/cl/11803043">11803043</a>
+that fixes <a href="//golang.org/issue/5949">issue 5949</a>.
+</p>
+
+<h2 id="go1">go1 (released 2012/03/28)</h2>
+
+<p>
+Go 1 is a major release of Go that will be stable in the long term.
+Read the <a href="/doc/go1.html">Go 1 Release Notes</a> for more information.
+</p>
+
+<p>
+It is intended that programs written for Go 1 will continue to compile and run
+correctly, unchanged, under future versions of Go 1.
+Read the <a href="/doc/go1compat.html">Go 1 compatibility document</a> for more
+about the future of Go 1.
+</p>
+
+<p>
+The go1 release corresponds to
+<code><a href="weekly.html#2012-03-27">weekly.2012-03-27</a></code>.
+</p>
+
+<h3 id="go1.minor">Minor revisions</h3>
+
+<p>
+go1.0.1 (released 2012/04/25) was issued to
+<a href="//golang.org/cl/6061043">fix</a> an
+<a href="//golang.org/issue/3545">escape analysis bug</a>
+that can lead to memory corruption.
+It also includes several minor code and documentation fixes.
+</p>
+
+<p>
+go1.0.2 (released 2012/06/13) was issued to fix two bugs in the implementation
+of maps using struct or array keys:
+<a href="//golang.org/issue/3695">issue 3695</a> and
+<a href="//golang.org/issue/3573">issue 3573</a>.
+It also includes many minor code and documentation fixes.
+</p>
+
+<p>
+go1.0.3 (released 2012/09/21) includes minor code and documentation fixes.
+</p>
+
+<p>
+See the <a href="https://github.com/golang/go/commits/release-branch.go1">go1 release branch history</a> for the complete list of changes.
+</p>
+
+<h2 id="pre.go1">Older releases</h2>
+
+<p>
+See the <a href="pre_go1.html">Pre-Go 1 Release History</a> page for notes
+on earlier releases.
+</p>
+
diff --git a/content/static/doc/devel/weekly.html b/content/static/doc/devel/weekly.html
new file mode 100644
index 0000000..e17461d
--- /dev/null
+++ b/content/static/doc/devel/weekly.html
@@ -0,0 +1,6200 @@
+<!--{
+	"Title": "Weekly Snapshot History"
+}-->
+
+<p>This page summarizes the changes between tagged weekly snapshots of Go.
+Such snapshots are no longer created. This page remains as a historical reference only.</p>
+
+<p>For recent information, see the <a href="//golang.org/change">change log</a> and <a href="//groups.google.com/group/golang-dev/">development mailing list</a>.</p>
+
+<h2 id="2012-03-27">2012-03-27 (<a href="release.html#go1">Go 1</a>)</h2>
+
+<pre>
+* cmd/dist: fix detection of go1 version.
+* cmd/go: add missing error check (thanks Evan Shaw),
+	allow underscores in tool name (thanks Shenghou Ma),
+	bug fixes,
+	copy tag_test.go from goinstall,
+	explain versions better,
+	respect $GOBIN always,
+	update for go1 tag format.
+* cmd/godoc: canonicalize custom path redirects,
+	fix app engine version,
+	use virtual filesystem to implement -templates flag.
+* codewalk/sharemem.xml: fix references to files.
+* crypto/tls: don't select ECC ciphersuites with no mutual curve.
+* doc: add JSON-RPC: a tale of interfaces article (thanks Francisco Souza),
+	describe the Windows MSI installer as experimental,
+	link to Go Project Dashboard from package list,
+	update wiki tutorial templates and template discussion,
+	and many minor fixes.
+* exp/types: generalized GCImporter API.
+* go/build: cgoEnabled is not known to cmd/dist anymore (thanks Shenghou Ma),
+	fix import check.
+* godoc: make 'Overview' section collapsible.
+* misc/dist: many fixes and tweaks.
+* misc/emacs: fix indentation bug.
+* misc/goplay: fix error on IE8 (thanks Yasuhiro Matsumoto).
+* net: ignore ECONNABORTED from syscall.Accept (thanks Devon H. O'Dell).
+* os: add missing byte to FileMode buffer (thanks Stefan Nilsson).
+* path/filepath: convert drive letter to upper case in windows EvalSymlinks (thanks Alex Brainman),
+	correct comment in EvalSymlinks (thanks Alex Brainman),
+	use windows GetShortPathName api to force GetLongPathName to do its work (thanks Alex Brainman),
+	windows drive letter cannot be a digit (thanks Alex Brainman).
+* run.bash: compile the codewalks.
+* runtime: restore deadlock detection in the simplest case (thanks Rémy Oudompheng),
+	work around false negative in deadlock detection.
+* text/template: fix typo in package comment.
+* windows: installer fixes (thanks Joe Poirier).
+</pre>
+
+<h2 id="2012-03-22">2012-03-22 (Go 1 Release Candidate 2)</h2>
+
+<pre>
+As with last week's snapshot, this snapshot is another Go 1 release candidate.
+A notable change in this snapshot are Windows installer fixes.
+
+Changes in this snapshot:
+* 5l, 6l, 8l: fix stack split logic for stacks near default segment size.
+* archive/zip: move r.zip off disk, into reader_test.go.
+* build: catch API changes during build,
+	do more during windows build (thanks Alex Brainman),
+	lengthen timeout for the lengthy runtime test (thanks Shenghou Ma),
+	unset GOPATH before tests (thanks Shenghou Ma).
+* cmd/cgo: add support for function export for gccgo (thanks Rémy Oudompheng),
+	fix handling of errno for gccgo.
+* cmd/go: add -fno-common by default on Darwin (thanks Shenghou Ma),
+	don't add detail to errPrintedOutput,
+	fix directory->import path conversion,
+	make build errors more visible,
+	use .o, not .{5,6,8}, for gccgo created object files,
+	work around occasional ETXTBSY running cgo.
+* cmd/godoc: add toys, tour button to playground,
+	inform users that the playground doesn't work via local godoc,
+	style example headings like links,
+	use *goroot as base path in zip file,
+	use FormatText for formating code in html template,
+	use shorter titles for tabs.
+* cmd/gofmt: show ascii in usage (thanks Yasuhiro Matsumoto).
+* cmd/pack: also recognize '\\' as path separator in filenames (thanks Shenghou Ma).
+* crypto/tls: always send a Certificate message if one was requested.
+* doc/install: remove reference to "Go Tutorial" (thanks Shenghou Ma).
+* doc/play: use []rune instead of []int (thanks Yasuhiro Matsumoto).
+* doc: add Go Concurrency Patterns: Timing out, moving on article (thanks Francisco Souza),
+	add Go image/draw package article and convert code snippets to Go1,
+	add Gobs of data article (thanks Francisco Souza),
+	add Godoc: documenting Go code article (thanks Francisco Souza),
+	add JSON and Go article (thanks Francisco Souza),
+	general update of gccgo installation instructions,
+	minor updates to most docs.
+* flag: add examples.
+* gc: fix struct and array comparisons for new bool rules (thanks Anthony Martin),
+	use quoted string format in import error,
+	when expanding append inline, preserve arguments.
+* go/build: clarify why we exclude files starting with '_' or '.' (thanks Shenghou Ma),
+	clearer argument name for Import (src -> srcDir),
+	do not report Target for local imports,
+	fix match.
+* go/printer, gofmt: fix multi-line logic.
+* html/template: add Templates and XXXEscape functions,
+	fix nil pointer bug,
+	fix panic on Clone.
+* io/ioutil: fix crash when Stat fails.
+* make.bat: fix for old files (thanks Christopher Redden),
+	don't show error message if old generated files do not exist (thanks Shenghou Ma),
+	properly handle directories with spaces (thanks Alex Brainman).
+* misc/cgo/gmp: update for Go 1 (thanks Shenghou Ma).
+* misc/dashboard: remove old python package dashboard.
+* misc/dist: don't ship cmd/cov or cmd/prof,
+	force modes to 0755 or 0644 in tarballs,
+	remove exp and old before building.
+* misc/vim: restore fileencodings (thanks Yasuhiro Matsumoto).
+* net/http: couple more triv.go modernizations,
+	ensure triv.go compiles and runs (thanks Robert Hencke).
+* net: drop unnecessary type assertions and fix leak in test (thanks Mikio Hara).
+* os: IsNotExist() should also consider ERROR_PATH_NOT_FOUND on Windows (thanks Shenghou Ma),
+	do not assume syscall.Write will write everything,
+	remove document duplication in error predicate functions (thanks Shenghou Ma),
+	return some invented data from Stat(DevNull) on windows (thanks Alex Brainman).
+* path/filepath: implement Match and Glob on windows (thanks Alex Brainman).
+* reflect: document PkgPath, Method, StructField,
+	panic if MakeSlice is given bad len/cap arguments.
+* run.bat: disable test in test\bench\go1 to fix build (thanks Alex Brainman).
+* runtime/cgo: darwin signal masking (thanks Mikio Hara),
+	linux signal masking (thanks Mikio Hara).
+* runtime: do not handle signals before configuring handler,
+	manage stack by ourselves for badcallback on windows/amd64 (thanks Shenghou Ma),
+	remove unused goc2c.c (thanks Shenghou Ma).
+* sort: add time complexity to doc (thanks Stefan Nilsson),
+	fix computation of maxDepth to avoid infinite loop (thanks Stefan Nilsson).
+* spec: delete references to unsafe.Reflect,Typeof,Unreflect.
+* syscall: Test SCM_CREDENTIALS, SO_PASSCRED on Linux (thanks Albert Strasheim),
+	add a test for passing an fd over a unix socket,
+	delete passfd_test.go.
+* test: use testlib in a few more cases (thanks Shenghou Ma).
+* text/template: fix a couple of parse bugs around identifiers,
+	variables do not take arguments.
+</pre>
+
+<h2 id="2012-03-13">2012-03-13 (Go 1 Release Candidate 1)</h2>
+
+<pre>
+This weekly snapshot is very close to what we expect will be the contents of
+the Go 1 release. There are still a few minor documentation issues to resolve,
+and a handful of bugs that should be addressed before the release, but the vast
+majority of Go programs should be completely unaffected by any changes we make
+between now and the full release.
+
+If you're interested in helping us test, eager to try out Go 1, or just
+curious, this weekly snapshot is the one to try. We'll issue a new App Engine
+Go 1 beta SDK very soon, so if you're an App Engine user you can try it there
+too.
+
+To help us focus on any remaining bugs and avoid introducing new ones, we will
+restrict our attention to critical fixes and issues marked Go1-Must in the
+issue tracker. Everything non-essential will be held until after the Go 1
+release is cut and in the field for a while.
+
+Changes in this snapshot:
+* archive/zip: verify CRC32s in non-streamed files,
+	write data descriptor signature for OS X; fix bugs reading it.
+* build: build correct cmd/dist matching GOHOSTARCH (thanks Shenghou Ma),
+	re-enable some broken tests in run.bash (thanks Shenghou Ma),
+	remove some references to Make.inc etc.
+	use run.go for running tests.
+* builder: use short test for subrepos (thanks Shenghou Ma).
+* cgo, runtime: diagnose callback on non-Go thread.
+* cmd/api: set compiler for all build contexts,
+	work on Windows again, and make gccgo files work a bit more.
+* cmd/cgo: document CGO_LDFLAGS and CGO_CFLAGS,
+	silence const warnings.
+* cmd/dist, cmd/go: move CGO_ENABLED from 'go tool dist env' to 'go env' (thanks Shenghou Ma).
+* cmd/dist: fix build for Linux/ARM (thanks Shenghou Ma),
+	use correct hg tag for go version (thanks Alex Brainman).
+* cmd/fix: add rules for net/http -> net/http/httputil renames.
+* cmd/gc: allow ~ in import paths,
+	delete old map delete in walk,
+	do not confuse unexported methods of same name,
+	if $GOROOT_FINAL is set, rewrite file names in object files,
+	implement len(array) / cap(array) rule,
+	import path cannot start with slash on Windows (thanks Shenghou Ma),
+	must not inline panic, recover,
+	show duplicate key in error,
+	unnamed struct types can have methods.
+* cmd/go: add -compiler,
+	add env command, use to fix misc/cgo/testso,
+	allow go get with arbitrary URLs,
+	allow ssh tunnelled bzr, git and svn (thanks Ingo Oeser),
+	always provide .exe suffix on windows (thanks Shenghou Ma),
+	document import path meta tag discovery in go help remote,
+	honor buildflags in run, test (thanks Rémy Oudompheng),
+	local import fixes,
+	make go get new.code/... work,
+	rebuild external test package dependencies,
+	respect $GOBIN always,
+	support -compiler for go list, fix isStale for gccgo (thanks Rémy Oudompheng).
+* cmd/godoc: add support for serving templates.
+	fix codewalk handler (thanks Francisco Souza).
+	remove extra / in paths (thanks Ugorji Nwoke),
+	support $GOPATH, simplify file system code,
+	switch on +1 buttons.
+* cmd/gofmt: fix race in long test (thanks Mikio Hara).
+* codereview: fix for Mercurial 2.1.
+* crypto/x509: allow server gated crypto in windows systemVerify (thanks Mikkel Krautz),
+	do not forget to free cert context (thanks Alex Brainman),
+	don't include empty additional primes in PKCS#1 private key,
+	enforce path length constraint,
+	new home for root fetchers; build chains using Windows API (thanks Mikkel Krautz).
+* csv: clarify what a negative FieldsPerRecord means.
+* database/sql: add docs about connection state, pooling,
+	ensure Stmts are correctly closed (thanks Gwenael Treguier),
+	fix double connection free on Stmt.Query error,
+	fix typo bug resulting in double-Prepare.
+* database/sql: add ErrBadConn.
+* doc/go1: template packages have changed since r60.
+* doc/go_mem: init-created goroutine behavior changes for Go 1 (thanks Shenghou Ma).
+* doc/gopher: flip frontpage gopher's eyes.
+* doc: add "About the go command" article,
+	add C? Go? Cgo! article (thanks Francisco Souza),
+	add Go's declaration syntax article (thanks Francisco Souza),
+	add more gophers,
+	add note about import . to Go 1 compatibility notes,
+	several doc fixes and improvements,
+	update Effective Go init section,
+	update progs/run (thanks Shenghou Ma),
+	update reference gopher,
+	web site tweaks.
+* encoding/asn1: handle UTCTime before the year 2000.
+* encoding/binary: improve package comment (thanks Stefan Nilsson).
+* encoding/gob: fix memory corruption.
+* encoding/json: document that nil slice encodes as `null`.
+* exp/wingui: moved to code.google.com/p/gowingui.
+* expvar: add locking to String, and use RWMutex properly throughout,
+	add missing locking in String methods.
+* fmt, log: stop using unicode.
+* fmt: minor tweak of package doc to show headings in godoc (thanks Volker Dobler).
+* go/build, cmd/go: add support for .syso files.
+* go/build: add NoGoError,
+	add dependency test,
+	do not parse .syso files (thanks Alex Brainman).
+* go/parser: avoid endless loop in case of internal error,
+	better error synchronization.
+* go/printer, gofmt: nicer formatting of multi-line returns.
+* go/printer: example for Fprint.
+* go/scanner: better panic diagnostic.
+* go spec: no known implementation differences anymore,
+	fix inaccuracy in type identity definition.
+* io: better document WriterAt.
+* misc/dashboard: remove obsolete package builder code.
+* misc/dist: add source archive support,
+	add windows installer and zip support,
+	minimum target requirement is 10.6 for Darwin (thanks Shenghou Ma).
+* misc/emacs: fix extra indentation after comments that end with a period.
+* misc/xcode: example install of language spec for Xcode 4.x (thanks Emil Hessman).
+* net, net/rpc, reflect, time: document concurrency guarantees.
+* net/http: fix crash with Transport.CloseIdleConnections,
+	return appropriate errors from ReadRequest.
+* net: add skip message to test (thanks Mikio Hara),
+	disable use of external listen along with other external network uses,
+	do not use reflect for DNS messages (thanks Rémy Oudompheng),
+	document ReadMsgUnix, WriteMsgUnix,
+	fix TestDialTimeout on windows builder,
+	improve server and file tests (thanks Mikio Hara),
+	make Dial and Listen behavior consistent across over platforms (thanks Mikio Hara),
+	remove dependence on bytes, fmt, strconv,
+	silence another epoll print,
+	use IANA reserved port to test dial timeout (thanks Mikio Hara).
+* os: document FileInfo.Size as system-dependent for irregular files,
+	fix SameFile to work for directories on windows (thanks Alex Brainman).
+* path/filepath/path_test.go: repair and enable TestAbs.
+* path/filepath: disable AbsTest on windows,
+	retrieve real file name in windows EvalSymlinks (thanks Alex Brainman).
+* runtime/pprof: disable test on Leopard 64-bit.
+* runtime: add Compiler,
+	fix windows/amd64 exception handler (thanks Alex Brainman),
+	inline calls to notok,
+	move runtime.write back to C,
+	print error on receipt of signal on non-Go thread,
+	remove unused runtime·signame and runtime·newError,
+	try extending arena size in 32-bit allocator (thanks Rémy Oudompheng),
+	wait for main goroutine before setting GOMAXPROCS (thanks Rémy Oudompheng).
+* strconv: add table-based isPrint, remove dependence on bytes, unicode, and strings.
+* sync/atomic: disable store and load test on a single processor machine (thanks Mikio Hara).
+* syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM (thanks Shenghou Ma).
+* test/run: use all available cores on ARM system (thanks Shenghou Ma).
+* test: actually run them on windows (thanks Alex Brainman),
+	add inherited interface test to ddd.go,
+	enable method expression tests in ddd.go,
+	invoke go command in run.go,
+	match gccgo error messages for bug388.go,
+	skip . files in directory.
+* testing: do not print 'no tests' when there are examples.
+* time: during short test, do not bother tickers take longer than expected (thanks Shenghou Ma),
+	mention receiver in Unix, UnixNano docs.
+* unicode/utf16: remove dependence on package unicode.
+* unicode/utf8: remove dependence on unicode.
+* windows: make background of gopher icon transparent (thanks Volker Dobler).
+</pre>
+
+<h2 id="2012-03-04">2012-03-04</h2>
+
+<pre>
+This snapshot includes a major re-design of the go/build package.
+Its FindTree, ScanDir, Tree, and DirInfo types have been replaced with the
+Import and Package types. There is no gofix. Code that uses go/build will need
+to be updated manually to use the package's new interface.
+
+Other changes:
+* 6a/6l: add IMUL3Q and SHLDL.
+* all: remove unused unexported functions and constants (thanks Rémy Oudompheng).
+* build: add GO_ prefix to LDFLAGS and GCFLAGS (thanks Gustavo Niemeyer).
+* cmd/cc: fix an out of bounds array access (thanks Anthony Martin),
+	grow some global arrays.
+* cmd/dist: force line-buffering stdout/stderr on Unix (thanks Shenghou Ma),
+	recognize CC="ccache clang" as clang.
+* cmd/go: avoid repeated include dirs (thanks Rémy Oudompheng),
+	fix -I flag for gc command (thanks Gustavo Niemeyer),
+	fix verbose command displaying (thanks Gustavo Niemeyer),
+	fixes for gccgo (thanks Rémy Oudompheng),
+	many fixes,
+	test -i should not disable -c (thanks Shenghou Ma).
+* cmd/vet: don't give error for Printf("%+5.2e", x) (thanks Shenghou Ma).
+* cmd/yacc/units.y: update comment, give better error messages when $GOROOT not set (thanks Shenghou Ma).
+* crypto/tls: force OS X target version to 10.6 for API compatibility (thanks Mikkel Krautz).
+* crypto/x509: fix typo in Verify documentation (thanks Mikkel Krautz).
+* dist: treat CC as one unit (thanks Scott Lawrence).
+* doc/go1: add justification discussions to major changes,
+	minor corrections and updates.
+* doc: describe API changes to go/build,
+	elaborate available checks for cmd/vet (thanks Shenghou Ma),
+	expand code.html to discuss the go tool in more depth,
+	instruct FreeBSD/Linux users to rm the old version first,
+	remove Go for C++ Programmers,
+	remove roadmap document,
+	remove tutorial,
+	update codelab/wiki to Go 1 (thanks Shenghou Ma),
+* encoding/gob: fix "// +build" comment for debug.go (thanks Shenghou Ma),
+	more hardening for lengths of input strings.
+* encoding/json: drop MarshalForHTML; gofix calls to Marshal,
+	escape output from Marshalers.
+* encoding/xml: fix anonymous field Unmarshal example (thanks Gustavo Niemeyer),
+	fix xml test tag usage (thanks Gustavo Niemeyer).
+* gc: disallow absolute import paths,
+	fix escape analysis + inlining + closure bug,
+	fix string comparisons for new bool rules (thanks Anthony Martin),
+	reject import paths containing special characters (thanks Anthony Martin).
+* go/ast: examples for ast.Print, ast.Inspect.
+* go/doc, godoc: fix range of type declarations.
+* go/parser: check import path restrictions,
+	expand test cases for bad import.
+* go/printer, gofmt: improved comment placement.
+* go/printer: fix printing of variadic function calls (thanks Anthony Martin),
+	fix test for new import path restrictions (thanks Anthony Martin),
+	replace multiline logic,
+	simpler exprList code, more tests.
+* godoc: add Examples link to top-level index,
+	bring back highlighting, selections, and alerts,
+	consistent placement of documentation sections,
+	don't show directories w/o packages in flat dir mode,
+	don't show testdata directories,
+	fix codewalks.
+* gotype: provide -comments flag.
+* html/template: make doctype check case-insensitive (thanks Scott Lawrence),
+	use correct method signature in introduction example (thanks Mike Rosset).
+* io: document that I/O is not necessarily safe for parallel access.
+* ld: allow more -L options (thanks Shenghou Ma),
+	fix alignment of rodata section.
+* misc: add zsh completion for go tool (thanks Rémy Oudompheng).
+* misc/bash: Completion for go tool (thanks Yissakhar Z. Beck).
+* misc/dashboard: fix bug in UI template,
+	record install counts for external packages.
+* misc/dist: implement binary distribution scripts in go.
+* misc/gobuilder: send commit time in RFC3339 format.
+* misc/xcode: move Xcode3 specific files into sub directory.
+* net/http/cgi: add an empty response test,
+	fix empty response.
+* net/http/httptest: make Server.Close wait for outstanding requests to finish.
+* net/http/httputil: fix DumpRequestOut on https URLs,
+	make https DumpRequestOut less racy.
+* net/http: add overlooked 418 status code, per RFC 2324,
+	fix ProxyFromEnvironment bug, docs, add tests,
+	make a test more paranoid & reliable on Windows.
+* net/rpc: silence read error on closing connection.
+* net: add stubs for NetBSD (thanks Benny Siegert),
+	make -external flag for tests default to true (thanks Mikio Hara),
+	reorganize test files (thanks Mikio Hara).
+* os: diagnose chdir error during StartProcess,
+	implement UserTime/SystemTime on windows (thanks Alex Brainman),
+	implement sameFile on windows (thanks Alex Brainman),
+	release process handle at the end of windows (*Process).Wait (thanks Alex Brainman),
+	sleep 5ms after process has exited on windows (thanks Alex Brainman).
+* path/filepath: note that SplitList is different from strings.Split,
+	steer people away from HasPrefix.
+* reflect: don't panic comparing functions in DeepEqual.
+	make Value.Interface return immutable data.
+* runtime/pprof: support OS X CPU profiling.
+* runtime: add sanity checks to the runtime-gdb.py prettyprinters,
+	check for ARM syscall failures (thanks Shenghou Ma),
+	darwin and linux signal masking,
+	run init on main thread,
+	size arena to fit in virtual address space limit.
+* spec: allow disallow of \uFFFD in import path,
+	apply method sets, embedding to all types, not just named types,
+	clarifications around exports, uniqueness of identifiers,
+	import path implementation restriction,
+	inside functions, variables must be evaluated,
+	use the term "lexical token" (rather then "lexical symbol").
+* sync: add Once example, remove old WaitGroup example.
+* test/bench/shootout: update post-Makefile.
+* test: add documentation, misc fixes.
+* testing: add -test.example flag to control execution of examples.
+* text/template: add example showing use of custom function,
+	add examples that use multiple templates,
+	fix redefinition bugs.
+* time: add a comment about how to use the Duration constants.
+</pre>
+
+<h2 id="2012-02-22">2012-02-22</h2>
+
+<pre>
+This weekly snapshot includes changes to the os and runtime packages.
+
+This should be the last of the significant incompatible changes before Go 1.
+
+There are no longer error constants such as EINVAL in the os package, since the
+set of values varied with the underlying operating system. There are new
+portable functions like IsPermission to test common error properties, plus a
+few new error values with more Go-like names, such as ErrPermission and
+ErrNoEnv.
+
+The os.Getenverror function has been removed. To distinguish between a
+non-existent environment variable and an empty string, use os.Environ or
+syscall.Getenv.
+
+The Process.Wait method has dropped its option argument and the associated
+constants are gone from the package. Also, the function Wait is gone; only the
+method of the Process type persists.
+
+The non-portable Waitmsg type has been replaced with the portable ProcessState.
+
+Much of the API exported by package runtime has been removed in favor of
+functionality provided by other packages. Code using the runtime.Type
+interface or its specific concrete type implementations should now use package
+reflect.  Code using runtime.Semacquire or runtime.Semrelease should use
+channels or the abstractions in package sync.
+
+The runtime.Alloc, runtime.Free, and runtime.Lookup functions, an unsafe API
+created for debugging the memory allocator, have no replacement.
+
+The runtime.Cgocalls and runtime.Goroutines functions have been renamed to
+runtime.NumCgoCall and runtime.NumGoroutine.
+
+The "go fix" command will update code to accommodate most of these changes.
+
+Other changes:
+* 5c, 6c, 8c, 6g, 8g: correct boundary checking (thanks Shenghou Ma).
+* 5g, 6g, 8g: flush modified globals aggressively.
+* 8a, 8l: add EMMS instruction (thanks Evan Shaw).
+* bufio: don't return errors from good Peeks.
+* build: add make.bash --no-clean option,
+	improve Windows support.
+* builder: reuse existing workspace if possible (thanks Shenghou Ma),
+	update for os.Wait changes.
+* bytes: document Compare/Equal semantics for nil arguments, and add tests.
+* cgo: fix definition of opaque types (thanks Gustavo Niemeyer).
+* cmd/api: record return type of functions for variable typecheck (thanks Rémy Oudompheng).
+* cmd/cgo: bug fixes.
+* cmd/dist: add clang specific -Wno options (thanks Bobby Powers),
+	fix install cmd/5g on non-arm system,
+	fix pprof permissions (thanks Bobby Powers),
+	make dir check in defaulttarg() more robust (thanks Shenghou Ma),
+	use correct package target when cross-compiling (thanks Alex Brainman).
+* cmd/gc: correctly typecheck expression lists in returns (thanks Rémy Oudompheng),
+	don't believe that variables mentioned 256 times are unused (thanks Rémy Oudompheng),
+	error on constant shift overflows (thanks Rémy Oudompheng),
+	fix comparison of struct with _ field.
+	fix error for floating-point constant %,
+	new, less strict bool rules.
+* cmd/go: add tool -n flag,
+	go test -i correctly handle cgo packages (thanks Shenghou Ma).
+* codereview: fix submit message for new clone URL (thanks Shenghou Ma).
+* database/sql/driver: API cleanups.
+* doc: many fixes and adjustments.
+* encoding/gob: cache engine for user type, not base type,
+	catch internal error when it happens,
+	fix mutually recursive slices of structs.
+* encoding/json: ignore anonymous fields.
+* go/doc: return Examples in name order.
+* go/parser: imaginary constants and ! may start an expression.
+* go/printer, gofmt: improved comma placement.
+* go/printer: don't lose relevant parentheses when rewriting selector expressions.
+* godoc: adjust line height in pre blocks,
+	don't print spurious suggestion when running "go doc foo",
+	fix absolute->relative mapping,
+	fix tag mismatch validation errors (thanks Scott Lawrence),
+	import example code support,
+	support flat directory view again.
+* html/template: add Clone and AddParseTree,
+	don't indirect past a Stringer,
+	minor tweak to docs to improve HTML typography.
+* image: add Decode example.
+* ld: add NOPTRBSS for large, pointer-free uninitialized data.
+* math/rand: Intn etc. should panic if their argument is <= 0.
+* misc/dist/windows: distro builder updates (thanks Joe Poirier).
+* misc/goplay: remain in work directory, build in temp directory.
+* net, os, syscall: delete os.EPLAN9 (thanks Mikio Hara).
+* net/http: add optional Server.TLSConfig field.
+* net/smtp: use EHLO then HELO.
+* net/textproto: accept bad MIME headers as browsers do.
+* net/url: regularise receiver names.
+* net: make LocalAddr on multicast return group address (thanks Mikio Hara),
+	make parseProcNetIGMP more robust (thanks Mikio Hara),
+	more selfConnect debugging: panic if ra == nil in internetSocket,
+	panic if sockaddrToTCP returns nil incorrectly,
+	other miscellaneous fixes.
+* path, path/filepath: polish documentation (thanks Rémy Oudompheng).
+* pprof: add Profile type.
+* runtime: avoid malloc during malloc,
+	define NSIG to fix plan 9 build (thanks David du Colombier),
+	fix FreeBSD signal handling around thread creation (thanks Devon H. O'Dell),
+	goroutine profile, stack dumps,
+	implement runtime.osyield on FreeBSD 386, amd64 (thanks Devon H. O'Dell),
+	permit default behavior of SIGTSTP, SIGTTIN, SIGTTOU,
+	release unused memory to the OS (thanks Sébastien Paolacci),
+	remove an obsolete file (thanks Mikio Hara).
+* spec: make all comparison results untyped bool,
+	refine the wording about variables in type switches,
+	struct comparison only compares non-blank fields.
+* syscall: Make Pdeathsig type Signal in SysProcAttr on Linux (thanks Albert Strasheim),
+	fix bounds check in Error,
+	force Windows to always use US English error messages (thanks Shenghou Ma).
+* test: migrated to new go-based testing framework.
+* text/template: evaluate function fields.
+* time: use Go distribution zoneinfo if system copy not found.
+</pre>
+
+<h2 id="2012-02-14">2012-02-14</h2>
+
+<pre>
+This release includes some package changes that require changes to client code.
+
+The flate, gzip and zlib's NewWriterXxx functions no longer return an error.
+The compiler will flag all affected code which must then be updated by hand.
+
+The os package's Exec and Time functions were removed.  Callers should use
+syscall.Exec and time.Now instead. The ShellExpand function was renamed to
+ExpandEnv. The NewFile function now takes a uintptr and the *File.Fd method
+returns a uintptr.
+
+The runtime package's Type type and its methods have been removed.
+Use the reflect package instead.
+
+Other changes:
+* 8a, 8l: add LFENCE, MFENCE, SFENCE (thanks Darren Elwood).
+* all.bat: report error code back to the gobuilder (thanks Alex Brainman).
+* archive/zip: hide Write method from *Writer type.
+* build: create the correct $GOTOOLDIR,
+	get rid of deps.bash (thanks Anthony Martin),
+	reject make.bash on Windows.
+* builder: set $GOBUILDEXIT for Windows (thanks Alex Brainman),
+* bytes: add Reader,
+	return error in WriteTo if buffer is not drained.
+* cgo: add support for returning errno with gccgo (thanks Rémy Oudompheng).
+* cmd/api: follow constant references.
+* cmd/cgo: omit //line in -godefs, -cdefs output.
+* cmd/dist: fixes (thanks Alex Brainman, Gustavo Niemeyer, Mikio Hara, Shenghou Ma).
+* cmd/fix: warn about exp, old, deleted packages.
+* cmd/gc: suspend safemode during typecheck of inlined bodies.
+* cmd/go: a raft of fixes,
+	connect os.Stdin for go run and go tool,
+	go get scheme detection (thanks Daniel Krech),
+	respect test -timeout flag.
+* cmd/vet: warn for construct 'Println(os.Stderr, ...)' (thanks Shenghou Ma).
+* compress/gzip: remove dead code (thanks Alex Brainman).
+* container/heap: add example.
+* dashboard: add gobuilder -fail mode.
+* database/sql: more tests,
+	remove Into from ScannerInto/ScanInto,
+	rename ErrTransactionFinished to ErrTxDone,
+	support ErrSkip in Tx.Exec (thanks Andrew Balholm),
+	treat pointers as nullable types as with encoding/json (thanks Andrew Pritchard).
+* debug/macho: drop terrifyingly monstrous URL from package comment.
+* dist: prevent recusive loop on windows when fatal() is called (thanks Daniel Theophanes).
+* doc: add App Engine docs to 'learn' and 'reference' pages,
+	add playground.js,
+	new document about compatibility of releases,
+	update install.html for binary distros, add install-source.html.
+* effective_go: use new map deletion syntax.
+* encoding/binary: add Size, to replace the functionality of the old TotalSize,
+	another attempt to describe the type of Read and Write's data,
+	slices are allowed; say so.
+* encoding/json: document buffering.
+* encoding/xml: add support for the omitempty flag (thanks Gustavo Niemeyer).
+* exp/norm: merged charinfo and decomposition tables.
+* exp/types: use build.FindTree in GcImporter (thanks James Whitehead).
+* flate: delete WrongValueError type.
+* fmt: diagnose invalid verb applied to pointer,
+	scan FALSE correctly.
+* gc: bug fixes, better error messages.
+* go/doc: handle recursive embedded types (thanks Gary Burd),
+	don't lose exported consts/vars with unexported type,
+	treat predeclared error interface like an exported type.
+* go/printer: implement SourcePos mode.
+* godoc: list examples in index,
+	new design,
+	regard lone examples as "whole file" examples.
+* html/template: added more words about examples and doc (thanks Bjorn Tipling).
+* log/syslog: return length of data provided by the user, not length of header.
+* make.bat: remove double quotes (thanks Alex Brainman).
+* math: fix gamma doc, link to OEIS.
+* mime: unexport some internal details.
+* misc/dist: add binary distribution packaging script for linux,
+	new hierarchy for binary distribution packaging scripts.
+* net/http: add ServeContent,
+	don't spin on temporary accept failure,
+	fix client goroutine leak with persistent connections,
+	fix reference to URL.RawPath in docs (thanks Bjorn Tipling),
+	panic on duplicate registrations,
+	use mtime < t+1s to check for unmodified (thanks Hong Ruiqi).
+* net: avoid Shutdown during Close,
+	avoid TCP self-connect,
+	disable TestDialTimeout on Windows,
+	disable multicast test on Alpha GNU/Linux,
+	disable wild use of SO_REUSEPORT on BSD variants (thanks Mikio Hara),
+	enable flags on stream for multicast listeners (thanks Mikio Hara),
+	make use of listenerBacklog (thanks Mikio Hara),
+	prefer an IPv4 listen if no address given (thanks Mikio Hara).
+* os/exec: add Cmd.Waitmsg.
+* os/signal: revive this package.
+* regexp/syntax: add package and Parse commentary.
+* regexp: allow substitutions in Replace, ReplaceString.
+* runtime, pprof: add profiling of thread creation.
+* runtime, time: accelerate tests in short mode (thanks Rémy Oudompheng).
+* runtime: exit early on OABI systems (thanks Shenghou Ma),
+	drop to 32 bit malloc if 64 bit will not work,
+	fix "SysReserve returned unaligned address" bug on 32-bit systems (thanks Shenghou Ma),
+	fix grsec support (thanks Gustavo Niemeyer),
+	on 386, fix FP control word on all threads, not just initial thread,
+	put lockorder before pollorder in Select memory block,
+	use startpanic so that only one thread handles an incoming SIGQUIT.
+* spec: add forward links from 'method set' to where it gets used,
+	clarify implementation restrictions on untyped floats,
+	disallow recursive embedded interfaces,
+	method names must be unique,
+	send on closed channel counts as "proceeding",
+	strings are more slices than arrays.
+* strconv: handle very large inputs.
+* strings: add Seek and ReadAt methods to Reader.
+* sync/atomic: disable hammer pointer tests on wrong size system.
+* testing: let runtime catch the panic.
+* text/template: refer HTML users to html/template.
+* text/template/parse: deep Copy method for nodes.
+* time: clean up MarshalJSON, add RFC3339 method,
+	use "2006-01-02 15:04:05.999999999 -0700 MST" as String format.
+</pre>
+
+<h2 id="2012-02-07">2012-02-07</h2>
+
+<pre>
+This weekly snapshot includes a re-organization of the Go tools.
+
+Only the go, godoc, and gofmt tools are installed to $GOROOT/bin (or $GOBIN).
+The remainder are installed to $GOROOT/bin/tool.
+This puts the lesser-used tools (6g, cgo, govet, etc.) outside the user PATH.
+Instead these tools may be called through the go tool with 'go tool command'.
+For example, to vet hello.go you would type 'go tool vet hello.go'.
+Type 'go tool' see the list of available tools.
+
+With the move, some tools were given simpler names:
+	6cov    -&gt; cov
+	6nm     -&gt; nm
+	goapi   -&gt; api
+	gofix   -&gt; fix
+	gopack  -&gt; pack
+	gopprof -&gt; pprof
+	govet   -&gt; vet
+	goyacc  -&gt; yacc
+
+The os/signal package has been moved to exp/signal.
+
+A new tool named 'dist' has been introduced to handle building the gc tool
+chain and to bootstrap the go tool. The old build scripts and make files
+have been removed.
+
+Other changes:
+* 5a, 6a, 8a, cc: check in y.tab.[ch].
+* 5l, 6l, 8l, ld: remove memory leaks (thanks Shenghou Ma).
+* 5l, 6l, 8l: implement -X flag.
+* 5l: make -v option output less nonessential clutter (thanks Shenghou Ma),
+	optimize the common case in patch() (thanks Shenghou Ma).
+* 8a, 8l: implement support for RDTSC instruction (thanks Shenghou Ma).
+* 8g: use uintptr for local pc.
+* archive/zip: support full range of FileMode flags (thanks Gustavo Niemeyer).
+* bufio: remove special error type, update docs.
+* build: move the "-c" flag into HOST_CFLAGS (thanks Anthony Martin),
+	remove unnecessary pragmas (thanks Anthony Martin).
+* builder: drop recover blocks.
+* bytes: API tweaks.
+* cgo: accept null pointers in gccgo flavour of C.GoString (thanks Rémy Oudompheng),
+	print line numbers in fatal errors when relevant (thanks Rémy Oudompheng).
+* cmd/dist: add GOBIN to env's output (thanks Gustavo Niemeyer),
+	fix bug in bsubst (thanks Alex Brainman),
+	fix build on openbsd (thanks Mikio Hara),
+	generate files for package runtime,
+	ignore file names beginning with . or _,
+	prevent race on VERSION creation (thanks Gustavo Niemeyer).
+* cmd/gc: another special (%hhS) case for method names,
+	describe debugging flags (thanks Anthony Martin),
+	diagnose \ in import path,
+	disallow switch _ := v.(type),
+	don't print implicit type on struct literal in export,
+	fix codegen reordering for expressions involving && and ||,
+	use octal escapes in mkopnames (thanks Anthony Martin).
+	use original constant expression in error messages (thanks Rémy Oudompheng).
+* cmd/go: add support for release tags via git branches (thanks Gustavo Niemeyer),
+	build: print import errors when invoked on files (thanks Kyle Lemons),
+	clean test directories as they complete,
+	fix error message on non-existing tools (thanks Rémy Oudompheng),
+	fix handling of gccgo standard library (thanks Rémy Oudompheng),
+	fixed panic on `go clean -n` and `go clean -x` (thanks Sanjay Menakuru),
+	introduce support for "go build" with gccgo (thanks Rémy Oudompheng),
+	make vcs command actually gather output (thanks Roger Peppe),
+	pass env CGO_CFLAGS to cgo (thanks Jeff Hodges),
+	record location of failed imports for error reporting (thanks Rémy Oudompheng).
+* cmd/goapi: expand embedded interfaces.
+* cmd/goinstall: remove now that 'go get' works (thanks Gustavo Niemeyer).
+* cmd/ld: fix gdbscript (thanks Wei Guangjing).
+* cmd/pack: change gopack to pack in error messages.
+* codereview: miscellaneous fixes and improvements.
+* crypto/elliptic: p224Contract could produce a non-minimal representation.
+* crypto/tls: better error message when connecting to SSLv3 servers.
+* crypto/x509: use case-insensitive hostname matching.
+* dashboard: support for sub-repositories, update to go1beta.
+* database/sql: permit scanning into interface{}.
+* doc: update go1.html for recent changes.
+* encoding/base32: add DecodeString and EncodeToString helper methods,
+	ignore new line characters during decode.
+* encoding/base64: ignore new line characters during decode.
+* encoding/gob: document CommonType.
+* encoding/hex: canonicalize error type names.
+* encoding/json: call (*T).MarshalJSON for addressable T values.
+* encoding/xml: fix decoding of xml.Name with sub-elements (thanks Gustavo Niemeyer),
+	fix documentation for Decoder.Skip.
+* exp/norm: Added some benchmarks for form-specific performance measurements,
+	a few minor changes in prepration for a table format change.
+* expvar: revise API.
+* fix: add image/{bmp,tiff} to go1pkgrename.
+* flag: allow a FlagSet to not write to os.Stderr,
+	describe valid input for Duration flags.
+* fmt: add test of NaN map keys,
+	fix caching bug in Scan.
+* go/build: put a space between 'generated by make' and package statement,
+	update syslist.go package comment.
+* go/doc: fix URL linking in ToHTML (thanks Gary Burd),
+	added error, rune to list of predeclared types,
+	don't lose factory functions of non-exported types,
+	don't show methods of exported anonymous fields,
+	enable AllMethods flag (and fix logic).
+* go/printer: don't print incorrect programs.
+* go/scanner: idiomatic receiver names.
+* go/spec: update language on map types.
+* go/token: remove dependency on encoding/gob.
+* gob: fuzz testing, plus a fix for very large type names.
+* gobuilder: use go tool to build and test sub-repositories.
+* godoc: add URL mode m=methods,
+	diagnostic for empty FS tree,
+	fix identifier search,
+	fix redirect loop for URL "/",
+	provide link to subdirectories, if any,
+	sort list of "other packages",
+	update metadata in appinit.go.
+* gophertool: fix link to the build status dashboard (thanks Jongmin Kim).
+* hgignore: add VERSION.cache (thanks Gustavo Niemeyer),
+	delete dregs, ignore tmpltohtml.
+* html: add package doc.
+* image: add package docs, rename s/UnknownFormatError/ErrFormat/ and,
+	delete the image.Repeated type,
+	remove image/bmp and image/tiff from std.
+* io/ioutil: document EOF behavior in ReadFile and ReadAll.
+* io: API tweaks.
+* libmach: add stubs for Plan 9 (thanks Anthony Martin).
+* make.bash: don't remove hgpatch.
+* math/big: add raw access to Int bits,
+	API and documentation cleanup.
+* misc/goplay: use go tool "run" (thanks Olivier Duperray).
+* misc/osx: don't set GOROOT or modify profile files,
+	update for dist tool, drop image.bash, update readme.
+* net, syscall: add IPv4 multicast helpers for windows (thanks Mikio Hara).
+* net/http/httputil: fix race in DumpRequestOut,
+	preserve query params in reverse proxy.
+* net/http: don't set Content-Type header for HEAD requests by default (thanks Patrick Mylund Nielsen),
+	fix nil pointer dereference in error case (thanks Volker Dobler),
+	close client fd sooner on response read error,
+	set cookies in client jar on POST requests (thanks Volker Dobler).
+* net/rpc: fix data race on Call.Error.
+* net: ListenMulticastUDP to listen concurrently across multiple listeners (thanks Mikio Hara),
+	disable normal multicast testing on linux/arm (thanks Mikio Hara),
+	fix Plan 9 build (thanks Anthony Martin),
+	fix windows build (thanks Alex Brainman),
+	move DNSConfigError to a portable file,
+	remove types InvalidConnError and UnknownSocketError,
+	replace error variable name e, errno with err (thanks Mikio Hara),
+	run TestDialTimeout on windows (thanks Alex Brainman),
+	update comments to remove redundant "net" prefix (thanks Mikio Hara).
+* os/exec: TestExtraFiles - close any leaked file descriptors,
+	make sure file is not closed early in leaked fd test.
+* os/signal: move to exp/signal.
+* os/user: windows implementation (thanks Alex Brainman).
+* os: Process.handle use syscall.Handle (thanks Wei Guangjing),
+	file windows use syscall.InvalidHandle instead of -1 (thanks Wei Guangjing),
+	remove SIGXXX signals variables,
+	turn FileStat.Sys into a method on FileInfo (thanks Gustavo Niemeyer).
+* path/filepath: repair and simplify the symlink test.
+* reflect: add comment about Type.Field allocation,
+	test that PtrTo returns types that match program types.
+* runtime: add runtime.cputicks() and seed fastrand with it (thanks Damian Gryski),
+	delete UpdateMemStats, replace with ReadMemStats(&stats) (thanks Rémy Oudompheng),
+	fix float64 hash,
+	use GOTRACEBACK to decide whether to show runtime frames,
+	use per-map hash seeds (thanks Damian Gryski).
+* spec: add number to the fibonacci sequence.
+* std: add struct field tags to untagged literals.
+* strings: add Fields example.
+* syscall: add Timeval.Nano, Timespec.Nano, for conversion to Duration,
+	cache environment variables on Plan 9 (thanks Anthony Martin),
+	fix // +build comments in types_*.go,
+	fix build directive in types_linux.go,
+	update bootstrap scripts to sync with new go command (thanks Mikio Hara).
+* test: add import test that caused an incorrect gccgo error,
+	add test for receiver named _,
+	add test of NaN in map,
+	add test which crashed gccgo compiler,
+	don't use package main for files without a main function,
+	fix bug headers,
+	float to integer test case,
+	make map nan timing test more robust,
+	match gccgo error messages,
+	test append with two different named types with same element type,
+	test method expressions with parameters, and with import,
+	test slice beyond len,
+	test that x := &lt;-c accepts a general expression.
+* testing: capture panics, present them, and mark the test as a failure.
+* unicode: document large var blocks and the SpecialCase vars.
+* vet: add a check for untagged struct literals.
+</pre>
+
+<h2 id="2012-01-27">2012-01-27</h2>
+
+<pre>
+This weekly snapshot renamed the html package to exp/html. The package will not
+be present in the Go 1 distribution, but will be installable from source.
+
+Error variables in the archive/tar, archive/zip, compress/gzip, compress/zlib,
+and crypto/bcrypt packages have been renamed from FooError to ErrFoo. 
+There is no gofix, but the compiler will flag code that needs updating.
+
+This weekly snapshot relocates many packages to sub-repositories of the main 
+Go repository. These are the old and new import paths:
+
+	crypto/bcrypt          code.google.com/p/go.crypto/bcrypt
+	crypto/blowfish        code.google.com/p/go.crypto/blowfish
+	crypto/cast5           code.google.com/p/go.crypto/cast5
+	crypto/md4             code.google.com/p/go.crypto/md4
+	crypto/ocsp            code.google.com/p/go.crypto/ocsp
+	crypto/openpgp         code.google.com/p/go.crypto/openpgp
+	crypto/openpgp/armor   code.google.com/p/go.crypto/openpgp/armor
+	crypto/openpgp/elgamal code.google.com/p/go.crypto/openpgp/elgamal
+	crypto/openpgp/errors  code.google.com/p/go.crypto/openpgp/errors
+	crypto/openpgp/packet  code.google.com/p/go.crypto/openpgp/packet
+	crypto/openpgp/s2k     code.google.com/p/go.crypto/openpgp/s2k
+	crypto/ripemd160       code.google.com/p/go.crypto/ripemd160
+	crypto/twofish         code.google.com/p/go.crypto/twofish
+	crypto/xtea            code.google.com/p/go.crypto/xtea
+	exp/ssh                code.google.com/p/go.crypto/ssh
+	net/dict               code.google.com/p/go.net/dict
+	net/websocket          code.google.com/p/go.net/websocket
+	exp/spdy               code.google.com/p/go.net/spdy
+	encoding/git85         code.google.com/p/go.codereview/git85
+	patch                  code.google.com/p/go.codereview/patch
+
+Gofix will update imports of these packages to use the new import paths.
+Installations that depend on these packages will need to install them using a
+'go get' command.
+
+Other changes:
+* 6c, 8c: make floating point code NaN-safe.
+* 6l, 8l: remove unused macro definition (thanks Shenghou Ma).
+* archive/tar: fix race in TestNonSeekable.
+* archive/zip: add functions to convert between os.FileInfo & FileHeader.
+* build: do not build all C compilers (thanks Shenghou Ma),
+	remove code now in subrepositories.
+* bytes: remove dead code, complete documentation,
+	restore panic on out-of-memory,
+	turn buffer size overflows into errors.
+* cgo: -cdefs should translate unsafe.Pointer to void * (thanks Shenghou Ma).
+* cmd/gc: forgotten recursion on ninit itself in order.c.
+* cmd/go: bug fixes, implement go get,
+	correctly handle -n and -x flags for 'go run' (thanks Shenghou Ma),
+	solve ambiguity of get lp.net/project/foo (thanks Gustavo Niemeyer),
+	update doc.go with text generated from the usage strings.
+* cmd/goapi: new tool for tracking exported API over time.
+* codereview: support for subrepositories.
+* compress/flate: fix a typo, improve compression rate by 3-4%,
+	increase the length of hash table from 1<<15 to 1<<17. 0%-16% speedup,
+	make lazy matching work,
+	reduce memory pressure at cost of additional arithmetic operation,
+	use append instead of slice+counter.
+* crypto: rename some FooError to ErrFoo.
+* dashboard: fix -commit for new xml package.
+* database/sql: add NullInt64, NullFloat64, NullBool (thanks James P. Cooper),
+	convert SQL null values to []byte as nil (thanks James P. Cooper),
+	fix Tx.Query (thanks Blake Mizerany).
+* doc: expand FAQ on GOMAXPROCS, update to Go 1.
+* doc/go1: add encoding/xml and net/url changes (thanks Gustavo Niemeyer),
+	add more info about hash and net changes, delete reference to html,
+	add flag, runtime, testing, image , mime, filepath.Walk,
+	document sub-repositories.
+* encoding/binary: document that PutVarint, PutUvarint may panic.
+* encoding/varint: deleted WriteXvarint.
+* encoding/xml: add docs for ignoring tag (thanks Gustavo Niemeyer),
+	bring API closer to other packages (thanks Gustavo Niemeyer),
+	improve []byte handling (thanks Gustavo Niemeyer),
+	remove Marshaler support (thanks Gustavo Niemeyer),
+	support ignoring fields with "-" (thanks Gustavo Niemeyer).
+* exp/ebnflint: test spec during 'go test'.
+* exp/norm: fixes a subtle bug introduced by change 10087: random offset.
+* gc, runtime: handle floating point map keys.
+* gc: avoid DOT in error messages,
+	do not try to add a key with incorrect type to a hash (thanks Jeff R. Allen),
+	fix order of evaluation,
+	fix recursion loop in interface comparison,
+	handle function calls in arguments to builtin complex operations,
+	missed typecheck in subscripting a const string,
+	permit unsafe.Pointer for inlined functions,
+	softer criteria for inlinability,
+	static implements check on typeswitches only applies to concrete case types,
+	test case for recursive interface bug.
+* go/ast: respect ImportSpec.EndPos (thanks Scott Lawrence).
+* go/build: add BuildTags to Context, allow !tag.
+* go/doc: rewrite and add lots of tests.
+* go/parser: use explicit parser.Mode type.
+* go/printer, gofmt: respect line breaks in signatures.
+* go/scanner: use explicit scanner.Mode type.
+* gob: annotate debug.go so it's not normally built,
+	reduce the maximum message size.
+* godoc: log node printing error,
+	move overview before API TOC,
+	update metadata upon launch.
+* gofix: add -debug flag for quicker diagnosis of internal errors,
+	handle xml.Unmarshal in xmlapi fix (thanks Gustavo Niemeyer),
+	update go1pkgrename for subrepositories.
+* goyacc: fix indexing bug when yydebug >= 2.
+* ld: fix Mach-O code signing for non-cgo binaries (thanks Mikkel Krautz).
+* libmach: cross compiling support (thanks Shenghou Ma).
+* math/big: assembly versions of bitLen for x86-64, 386, and ARM (thanks David G. Andersen),
+	return type of bitLen is an int; use MOVL on amd64 (thanks David G. Andersen),
+	add examples for Rat and Int's SetString and Scan methods,
+	slight improvement to algorithm used for internal bitLen function (thanks David G. Andersen),
+	test both bitLen and bitLen_g.
+* net/http: add Request.RequestURI field,
+	disabled test for Transport race / deadlock bug,
+	fix Transport deadlock (thanks Yoshiyuki Kanno),
+	make ParseForm ignore unknown content types (thanks Roger Peppe),
+	parse CONNECT requests (thanks Andrew Balholm).
+* net/rpc: fix data race in benchmark,
+	fix race in TestClientWriteError test,
+	log Call reply discard.
+* net: Dial, ListenPacket with "ip:protocol" network for raw IP sockets (thanks Mikio Hara),
+	actually reset deadline when time is zero,
+	consistent OpError message (thanks Mikio Hara),
+	fix dialing google test (thanks Mikio Hara),
+	make WriteTo fail when UDPConn is already connected (thanks Mikio Hara).
+* regexp: remove vestigial Error type.
+* runtime: add type algorithms for zero-sized types,
+	move NumCPU declaration into debug.go.
+* spec: function invocation, panic on *nil.
+* syscall: add NOTE_* constants on OS X (thanks Robert Figueiredo).
+* test: explicitly use variables to avoid gccgo "not used" error.
+* text/template: add example for Template.
+</pre>
+
+<h2 id="2012-01-20">2012-01-20</h2>
+
+<pre>
+This weekly snapshot renamed the exp/sql package to database/sql, and moved
+utf8.String from unicode/utf8 to exp/utf8string.
+
+Package net's SetTimeout methods were changed to SetDeadline.
+
+Many functions in package os now take a os.FileMode argument instead of a
+plain uint32. An os.ModeSticky constant is also now defined.
+
+The meaning of the first buffer element for image.YCbCr has changed to match
+the semantics of the other image types like image.RGBA.
+
+The NewMD5, NewSHA1 and NewSHA256 functions in crypto/hmac have been
+deprecated. Use New instead, explicitly passing the hash function.
+
+Other changes:
+* buildscripts: move to buildscript directory (thanks Shenghou Ma).
+* bytes: add the usual copyright notice to example_test.go (thanks Olivier Duperray).
+* cmd/go: remove mentions of 'gotest' from the documentation,
+	skip _obj directories in package scans.
+* container/heap: better package documentation.
+* crypto/elliptic: add constant-time P224.
+* crypto/hmac: Add HMAC-SHA224 and HMAC-SHA384/512 (thanks Luit van Drongelen),
+* crypto/tls: add FreeBSD root certificate location (thanks Shenghou Ma).
+* crypto/x509: remove explicit uses of rsa.
+* doc: various updates (thanks Jongmin Kim, Scott Lawrence, Shenghou Ma, Stefan Nilsson).
+* encoding/json: allow / and % in tag names,
+	document angle bracket escaping,
+	fix comments, tweak tests for tag names (thanks Mikio Hara).
+* encoding/xml: marshal/unmarshal xml.Name in field (thanks Gustavo Niemeyer).
+* exp/inotify: fix data race in linux tests.
+* exp/proxy: fix build after URL changes (thanks Gustavo Niemeyer).
+* exp/sql: copy when scanning into []byte by default,
+	rename NullableString to NullString and allow its use as a parameter.
+* exp/ssh: add marshal functions for uint32 and uint64 types,
+	handle versions with just '\n',
+	rename (some) fields (thanks Christopher Wedgwood).
+* exp/terminal: fix build on non-Linux using Makefiles.
+* fmt: enable and fix malloc test,
+* gc: don't emit pkgpath for error type,
+	don't fault on return outside function (thanks Scott Lawrence),
+	fieldnames in structliterals in exported inlines should not be qualified if they're embedded builtin types,
+	fix infinite recursion for embedded interfaces,
+	give esc.c's sink an orig so -mm diagnostics work again,
+	handle printing of string/arrayrune conversions.
+	remove redundant code (thanks Shenghou Ma).
+* go/build: no back slash in FindTree returned pkg name (thanks Alex Brainman).
+* go/doc: collect imports,
+	don't shadow receiver.
+	rewrote and completed test framework.
+	print only one newline between paragraphs
+* go/parser: expressions may have comments.
+* go/scanner: fix example (thanks Olivier Duperray).
+* go/token: replaced Files() with Iterate().
+* godoc: add anchors to cmd documentation headings,
+	remove "need more packages?" link,
+	specify HTML page metadata with a JSON blob,
+	support canonical Paths in HTML metadata.
+* html/template: fix docs after API changes (thanks Gustavo Niemeyer).
+* html: in foreign content, check for HTML integration points in breakout.
+* image/color: rename modelYCbCr to yCbCrModel (thanks Benny Siegert),
+	simplify documentation (thanks David Crawshaw).
+* image: add PixOffset methods.
+* math/rand: decrease test duration in short mode,
+	document default initial seed for global generator (thanks Scott Lawrence).
+* mime: make FormatMediaType take full type for consistency.
+* misc/cgo/test: make tests run on windows (thanks Alex Brainman).
+* net/http/cgi: increase a flaky test timeout.
+* net/http: change test to use override param instead of chan,
+	log handler panic before closing HTTP connection,
+	send cookies in jar on redirect (thanks Jeff Hodges),
+	the documentation should call NewRequest with the right signature (thanks Christoph Hack),
+	update the Client docs a bit.
+* net/url: cleaned up URL interface (v2) (thanks Gustavo Niemeyer).
+* net: consistent log format in test (thanks Mikio Hara),
+	various build fixes (thanks Mikio Hara),
+	use NewTimer, not NewTicker, in fd_windows.go.
+* old/netchan: fix data race on client hashmap.
+* os/exec: trivial allocation removal in LookPath (thanks Gustavo Niemeyer).
+* os: remove old note about NewSyscallError being special (thanks Alex Brainman),
+* path: added examples (thanks Sanjay Menakuru).
+* pkg: Add and fix Copyright of "hand generated" files (thanks Olivier Duperray),
+	add missing godoc comments to windows versions (thanks Alex Brainman).
+* regexp: add SubexpNames.
+* runtime: implement runtime.usleep for FreeBSD/386 and amd64 (thanks Shenghou Ma),
+	madvise and SysUnused for Darwin (thanks Dave Cheney).
+* sync/atomic: fix data race in tests.
+* syscall: add Unix method to TimeSpec, TimeVal,
+	fix plan9 build (thanks Mikio Hara).
+* test: change several tests to not print,
+	fix bug364 to actually run,
+	match gccgo error messages for bug345,
+	split golden.out into expected output per test.
+* testing: do not recover example's panic (thanks Shenghou Ma),
+	document examples.
+* text/template/parse: use human error prints.
+* text/template: fix nil error on redefinition.
+* time: add Since, which returns the time elapsed since some past time t.
+</pre>
+
+<h2 id="2012-01-15">2012-01-15</h2>
+
+<pre>
+This weekly snapshot includes two package changes that may require changes to
+client code.
+
+The image package's Tiled type has been renamed to Repeated.
+
+The encoding/xml package has been changed to make more idiomatic use of struct
+tags, among other things. If you use the xml package please read the change
+description to see if your code is affected:
+	http://code.google.com/p/go/source/detail?r=70e914beb409
+
+Function inlining is now enabled by default in the gc compiler.
+
+Other changes:
+* bytes: Buffer read of 0 bytes at EOF shouldn't be an EOF.
+* cgo: if value for constant did not parse, get it from DWARF info,
+	write _cgo_export.h to object directory, not source dir.
+* cmd/go: add -p flag for parallelism (like make -j),
+	add -v flag to build and install,
+	add ... patterns in import path arguments,
+	fix data race during build,
+	fix import directory list for compilation,
+	fix linker arguments,
+	handle cgo pkg-config pragmas,
+	handle path to cmd directory,
+	include test files in fmt, vet, and fix (thanks Sanjay Menakuru),
+	kill test processes after 10 minutes,
+	pass arguments to command for run (thanks Eric Eisner),
+	rely on exit code to tell if test passed,
+	use relative paths in go fix, go fmt, go vet output.
+* cmd/gofmt: fix simplify.go by running gofmt on cmd/gofmt (thanks Olivier Duperray).
+* crypto/openpgp: assorted cleanups,
+	truncate hashes before checking DSA signatures.
+* crypto/tls: improve TLS Client Authentication (thanks Jeff R. Allen),
+	update generate_cert.go for new time package.
+* dashboard: better caching, bug fixes.
+* doc: update "How to Write Go Code" to use the go tool.
+	fix broken function codewalk examples.
+* encoding/asn1: document support for *big.Int (thanks Florian Weimer).
+* encoding/gob: fix panic when decoding []byte to incompatible slice types (thanks Alexey Borzenkov).
+* encoding/json: don't marshal special float values (thanks Evan Shaw).
+* encoding/xml: major Go 1 fixup (thanks Gustavo Niemeyer).
+* exp/proxy: new package.
+* exp/sql:  add time.Time support,
+	close Rows on EOF,
+	fix potential corruption in QueryRow.Scan into a *[]byte.
+* exp/ssh: various small fixes (thanks Dave Cheney).
+* exp/terminal: add SetPrompt and handle large pastes,
+	add to level Makefile for the (non-Linux?) systems that need it.
+* flag: add Duration flag type,
+	change Set method Value interface to return error instead of bool.
+* gc: better errors messages,
+	avoid false positives when using scalar struct fields (thanks Rémy Oudompheng),
+	closure code gen improvements,
+	disallow declaration of variables outside package,
+	fix switch on interface values (thanks Rémy Oudompheng),
+	inlining bug fixes,
+	improve unsafe.Pointer type-check error messages (thanks Ryan Hitchman),
+	put limit on size of exported recursive interface (thanks Lorenzo Stoakes),
+* go-mode.el: fix syntax highlighting of backticks (thanks Florian Weimer).
+* go/ast: remove unnecessary result value from ast.Fprint/Print.
+* go/build: allow colon in #cgo flags,
+	pass CgoLDFLAGS at end of link command.
+* go/doc: new API, don't ignore anonymous non-exported fields, initial testing support.
+* go/parser: remove unused Parse* functions. Simplified ParseExpr signature.
+* go/printer: don't crash if AST contains BadXXX nodes.
+* go/scanner: 17% faster scanning, remove InsertSemis mode.
+* goinstall: use correct checkout URL for Google Code svn repos.
+* gotest: make _testmain.go conform to gofmt rules (thanks Benny Siegert).
+* goyacc: fix units.y build breakage (thanks Shenghou Ma).
+* html/template: reenable testcases and fix mis-escaped sequences (thanks Mike Samuel).
+* html: "in select in table" insertion mode (thanks Andrew Balholm),
+	adjust foreign attributes,
+	foreign element HTML integration points, tag name adjustment,
+	parse <frameset> inside body (thanks Andrew Balholm),
+	propagate foreign namespaces only when adding foreign content.
+* json: better error messages when the ,string option is misused.
+* ld: parse but do not implement -X flag.
+* log/syslog: add Alert method (thanks Vadim Vygonets).
+* make.bash: remove old dregs (thanks Alex Brainman).
+* math/big: simplify fast string conversion.
+* math: fix typo in all_test.go (thanks Charles L. Dorian).
+* misc/windows: add src/pkg/runtime/z* files to installation script (thanks Alex Brainman).
+* net/http: don't ignore Request.Write's Flush error,
+	allow cookies with negative Max-Age attribute as these are (thanks Volker Dobler).
+* net/textproto: avoid corruption when reading a single header.
+* net: add IP-level socket option helpers for Unix variants (thanks Mikio Hara),
+	fix incorrect mode on ListenIP, ListenUDP (thanks Mikio Hara),
+	make use of the kernel state to listen on TCP, Unix (thanks Mikio Hara),
+	platform-dependent default socket options (thanks Mikio Hara).
+* os: add ModeCharDevice.
+* runtime: add NumCPU,
+	delete duplicate implementation of pcln walker,
+	distinct panic message for call of nil func value,
+	enable runtime.ncpu on FreeBSD (thanks Devon H. O'Dell),
+	make garbage collector faster by deleting code,
+	regenerate defs_darwin_{386,amd64}.h (thanks Dave Cheney),
+	runtime.usleep() bugfix on darwin/amd64 and linux/arm (thanks Shenghou Ma).
+* spec: pointer comparison for pointers to 0-sized variables,
+	change the wording regarding select statement choice.
+* strconv: fix round up corner case,
+	faster FormatFloat(x, *, -1, 64) using Grisu3 algorithm (thanks Rémy Oudompheng),
+	implement fast path for rounding already short numbers (thanks Rémy Oudompheng),
+	return ErrSyntax when unquoting illegal octal sequences.
+* syscall: linux-only support for parent death signal (thanks Albert Strasheim),
+	make Environ return original order.
+* testing: fix defer race,
+	use flag.Duration for -timeout flag.
+* text/template: handle panic values that are not errors (thanks Rémy Oudompheng),
+	for range on a map, sort the keys if feasible.
+* time: add ParseDuration,
+	fix docs for After and NewTicker.
+* windows: use ArbitraryUserPointer as TLS slot (thanks Wei Guangjing).
+</pre>
+
+<h2 id="2011-12-22">2011-12-22</h2>
+
+<pre>
+This snapshot includes changes to the images/ycbcr and testing packages, and
+changes to the build system.
+
+The types for managing Y'CbCr images in the image/ycbcr have been moved to the
+image and image/color packages. A gofix module will rewrite affected code.
+
+The testing package's B type (used when running benchmarks) now has the same
+methods as T (used in tests), such as Print, Error, and Fatal.
+
+This weekly adds a new command named 'go' for building and testing go programs.
+For Go 1, the go command will replace the makefile-based approach that we have
+been using. It is not yet ready for general use, but all.bash does use it to
+build the tree. If you have problems building the weekly, you can 'export
+USE_GO_TOOL=false' before running all.bash to fall back to the makefiles.
+
+Other changes:
+* archive/zip: add SetModTime method to FileHeader.
+* build: make use of env (thanks Mikio Hara),
+	fixes to make "go install" work on windows (thanks Alex Brainman).
+* bytes: add two Buffer examples.
+* cgo: support export for built-in types (thanks Maxim Pimenov).
+* cmd/go: avoid infinite loop with package specific flags (thanks Mikio Hara),
+	fixes to build standard library,
+	implement test command,
+	make sure use of pthread for gcc-4.5 and beyond (thanks Mikio Hara),
+	respect $GCFLAGS,
+	use spaces consistently in help message (thanks Roger Peppe),
+	many other improvements.
+* codereview: initialize "found" in codereview.py (thanks Miki Tebeka).
+* crypto/mime/net/time: add netbsd to +build tags (thanks Joel Sing).
+* crypto/tls: don't assume an RSA private key in the API.
+* crypto/x509: don't crash with nil receiver in accessor method.
+* doc/effective_go: discuss redeclaration.
+* doc: delete go course notes,
+	refer to http://build.golang.org/ where applicable (thanks Robert Hencke),
+	suggest code.google.com/p/go instead of go.googlecode.com/hg.
+* encoding/binary: add Write and Read examples,
+	add more benchmarks (thanks Roger Peppe).
+* encoding/gob: arrays are zero only if their elements are zero.
+* encoding/json: cleanup leftover variables in array decoding (thanks Rémy Oudompheng),
+	examples for Marshal and Unmarshal.
+* exp/ssh: rename ClientAuthPublicKey helper ClientAuthKeyring (thanks Dave Cheney),
+	simplify Stdin/out/errPipe methods (thanks Dave Cheney).
+* fmt: speed up floating point print, clean up some code,
+	make the malloc test check its counts.
+* gc: allow use of unsafe.Pointer in generated code,
+	avoid unsafe in defn of package runtime,
+	better linenumbers for inlined functions,
+	better loopdepth analysis for labels,
+	implement and test \r in raw strings,
+	inlining, allow empty bodies, fix _ arguments,
+	omit argument names from function types in error messages.
+* go/ast, parser: remember short variable decls. w/ correspoding ident objects.
+* go/build: add new +build tags 'cgo' and 'nocgo'.
+* go/doc, godoc: move export filtering into go/doc
+* go/printer, gofmt: fine tuning of line spacing.
+* go/scanner: strip CRs from raw literals.
+* gob: isZero for struct values.
+* godoc: allow examples for methods (thanks Volker Dobler),
+	show methods of anonymous fields.
+* goinstall: only suggest -fix for bad imports when appropriate.
+* govet: add checking for printf verbs,
+	divide the program into one file per vetting suite.
+* html: more parser improvements (thanks Andrew Balholm).
+* json: some tests to demonstrate bad error messages,
+	use strconv.Append variants to avoid allocations in encoding.
+* ld: add support for netbsd signature note section (thanks Joel Sing),
+	allow for IMAGE_REL_AMD64_ADDR32NB relocation type (thanks Alex Brainman).
+* math/big: Rand shouldn't hang if argument is also receiver.
+* misc/builder: set default builder host to build.golang.org.
+* misc/dashboard: delete old build dashboard code ,
+	improvements and fixes for the go implementation.
+* misc/vim: fix go filetype detection (thanks Paul Sbarra).
+* net, syscall, os: set CLOEXEC flag on epoll/kqueue descriptor.
+* net, syscall: interface address and mask (thanks Mikio Hara).
+* net/http: added interface for a cookie jar (thanks Volker Dobler),
+	test fixes (thanks Alex Brainman).
+* net: add DialTimeout,
+	sort Makefile entries (thanks Mikio Hara).
+* os, syscall: beginnings of NetBSD support (thanks Christopher Nielsen).
+* os/exec: add test to verify net package's epoll fd doesn't go to child,
+	disable the ExtraFiles test on darwin.
+* os: don't trust O_CLOEXEC on OS X,
+	make sure Remove returns correct error on windows (thanks Alex Brainman).
+* path, path/filepath: add Dir to complement Base.
+* path/filepath.Rel: document that the returned path is always relative.
+* runtime: don't panic on SIGILL, just crash.
+* spec: be precise about newlines.
+* sql: add Rows.Columns.
+* strconv: fix bug in extended-float based conversion,
+	implement faster parsing of decimal numbers, and
+	reduce buffer size for multi-precision decimals (thanks Rémy Oudompheng).
+* syscall: regenerate z-files for linux/arm (thanks Mikio Hara),
+	sort Makefile, mkall.sh and mkerrors.sh entries (thanks Mikio Hara).
+* test/bench/go1: first draft of Go 1 benchmark suite.
+* testing: compare Log to Println (thanks Robert Hencke),
+	make signalling safer for parallel tests.
+* text/template: better error message for empty templates,
+	fix handing of nil arguments to functions (thanks Gustavo Niemeyer).
+* time: add JSON marshaler for Time (thanks Robert Hencke),
+	new AddDate method (thanks Roger Peppe).
+* various: use $GCFLAGS and $GCIMPORTS like Make does (thanks Maxim Pimenov).
+</pre>
+
+<h2 id="2011-12-14">2011-12-14</h2>
+
+<pre>
+This snapshot includes language changes and changes to goinstall and gofmt.
+
+Equality and inequality (== and !=) are now defined for struct and array
+values, respectively, provided the elements of the data structures can
+themselves be compared. See the Go 1 release notes for the details:
+	http://weekly.golang.org/doc/go1.html#equality
+
+The rune type is now an alias for int32 and character literals have the default
+type of rune. Code that uses int where it should use rune will break. 
+See the Go 1 release notes for the details:
+	http://weekly.golang.org/doc/go1.html#rune
+
+Goinstall now expects Google Code import paths to be of the form:
+	"code.google.com/p/go-tour/tree"
+It will reject imports in the old style "go-tour.googlecode.com/hg/tree".
+There is a gofix module to rename such imports.
+Use goinstall -fix to update broken packages.
+
+Gofmt's flags have been modified slightly.
+The -tabintent flag has been renamed -tabs.
+The -spaces flag has been removed.
+
+Other changes:
+* 5c, 6c, 8c: support 64-bit switch value (thanks Anthony Martin).
+* 8c: handle 64-bit switch value.
+* archive/tar: use struct comparison not DeepEqual (thanks Christopher Wedgwood).
+* archive/zip: make zip understand os.FileMode (thanks Roger Peppe).
+* bufio: make the minimum read buffer size 16 bytes.
+* build: disable cgo on Windows/amd64,
+	regularize packages so they may be built without Makefiles.
+* bytes: faster Count, Index, Equal.
+* cgo: add basic gccgo support (thanks Rémy Oudompheng).
+* codereview: fix path slash issue (thanks Yasuhiro Matsumoto).
+* compress/flate: fix out of bounds error.
+* contribute.html: do not fill in the reviewer field (thanks Florian Weimer).
+* crypto/aes: made faster by eliminating some indirection (thanks Taru Karttunen).
+* crypto/dsa: don't truncate input hashes.
+* doc/go_tutorial: make clear the file example is Unix-specific.
+* doc: add Defer, Panic, and Recover article,
+	add Error Handling article,
+	add Go 1 release notes document.
+* encoding/gob: better error messages when types mismatch.
+* env.bash: export CGO_ENABLED so cgo tests run (thanks Alex Brainman).
+* exp/sql: simplify some string conversions.
+* exp/ssh: Wait returns an *ExitError (thanks Gustav Paul).
+* exp/ssh: improve client channel close behavior (thanks Dave Cheney).
+* fmt: don't recur if String method (etc.) misbehaves.
+* gc: better error messages,
+	inlining (disabled without -l),
+	many bug fixes (thanks Lucio De Re and Rémy Oudompheng).
+* go/printer, godoc: print comments in example code.
+* go: implement doc, fmt, fix, list, vet, build, and install.
+* gobuilder: goinstall packages after building go tree.
+* godoc: &lt;pre&gt; must not occur inside &lt;p&gt; (thanks Olivier Duperray),
+	added an opensearch description document (thanks Christoph Hack),
+	text wrapping.
+* gofix: add httputil fix (thanks Yasuhiro Matsumoto).
+* gotest: use go/build more (thanks Robert Hencke).
+* gzip: convert between Latin-1 and Unicode (thanks Vadim Vygonets).
+* html/template: define the FuncMap type locally.
+* html: a first step at parsing foreign content (MathML, SVG),
+	more parser improvements (thanks Andrew Balholm).
+* http: close connection after printing panic stack trace (thanks Roger Peppe),
+	fix failing Transport HEAD request with gzip-looking response.
+* json: treat renamed byte slices the same as []byte.
+* ld: first pass at linker support for NetBSD binaries (thanks Christopher Nielsen),
+	fix memory leaks (thanks Scott Lawrence),
+	increase default stack size on Windows for cgo.
+* math: delete non-Sqrt-based Hypot,
+	implement, document, and fix special cases (thanks Charles L. Dorian),
+* misc/benchcmp: don't require "Benchmark" at beginning of line.
+* misc/osx: rename profile.go to profile_go (thanks Scott Lawrence).
+* net/http: fix trivial example server (thanks Olivier Duperray),
+	net/http: make test remove temporary file and directory.
+* net/smtp: add CRAM-MD5 authentication (thanks Vadim Vygonets).
+* reflect: fix Slice cap (thanks Gustavo Niemeyer).
+* regexp: performance improvements; avoid allocation of input interface.
+* runtime: bump gc 'extra bytes' check (thanks Christopher Wedgwood),
+	madvise and SysUnused for Linux (thanks Sébastien Paolacci),
+	make gc_test test extra allocated space, not total space,
+	support for NetBSD (thanks Christopher Nielsen).
+* spec: adjust complex constant example (thanks Robert Hencke),
+	values of underlying type uintptr can be converted to unsafe.Pointer,
+	var x = 'a' defaults to type rune.
+* strconv: include package and function name in error strings,
+	make QuoteRune etc. take a rune argument,
+	some performance improvements.
+* syscall: add constants for flock() system call under Linux,
+	regenerate z-files for darwin, freebsd (thanks Mikio Hara),
+	regenerate z-files for openbsd,
+	return error, not uintptr, when function returns error (thanks Alex Brainman).
+* test/bench: move to test/bench/shootout.
+* test/garbage: move to test/bench/garbage.
+* test: make array smaller in nilptr test.
+* time: allow sleep tests to run for 200% too long,
+	fix Time.Add (thanks Hector Chu),
+	fix daysIn for December (thanks Peter Mundy),
+	gob marshaler for Time (thanks Robert Hencke),
+	use Duration for AfterFunc.
+* various: a grab-bag of time.Duration cleanups.
+</pre>
+
+<h2 id="2011-12-06">2011-12-06</h2>
+
+<pre>
+This snapshot includes a language change and changes to the strconv and go/doc
+packages. The package changes require changes to client code.
+The language change is backwards-compatible.
+
+Type elision in arrays, slices, or maps of composite literals has been
+extended to include pointers to composite literals. Code like this
+	var t = []*T{&amp;T{}, &amp;T{}}
+may now be written as
+	var t = []*T{{}, {}}
+You can use gofmt -s to simplify such code.
+
+The strconv package has been given a more idiomatic and efficient interface.
+Client code can be updated with gofix. See the docs for the details:
+	http://weekly.golang.org/pkg/strconv/
+
+The go/doc package's ToHTML function now takes a []byte argument instead of a
+string.
+
+Other changes:
+* crypto/aes: eliminate some bounds checking and truncation (thanks Rémy Oudompheng).
+* crypto/x509: if a parent cert has a raw subject, use it.
+* encoding/gob: don't send type info for unexported fields.
+* exp/ssh: allow for msgUserAuthBanner during authentication (thanks Gustav Paul).
+* fmt: benchmark floating point,
+	only use Stringer or Error for strings.
+* gc: changes in export format in preparation of inlining,
+	disallow map/func equality via interface comparison,
+	use gofmt spacing when printing map type.
+* go/doc: exclude lines ending in ':' from possible headings.
+* gobuilder: -commit mode for packages,
+	cripple -package mode temporarily,
+	use new dashboard protocol.
+* godoc: improved output of examples in html (thanks Volker Dobler).
+* gofmt: handle &T in composite literal simplify.
+* goinstall: honour -install=false flag when -make=true.
+* hash: rewrite comment on Hash.Sum method.
+* html: more parser improvements (thanks Andrew Balholm).
+* image: avoid func comparison during ColorModel comparison.
+* math: add special-cases comments to Sinh and Tanh (thanks Charles L. Dorian).
+* misc/dashboard: further implementation work.
+* net, syscall: remove BindToDevice from UDPConn, IPConn (thanks Mikio Hara).
+* net/mail: correctly compare parsed times in the test.
+* os/exec: make LookPath always search CWD under Windows (thanks Benny Siegert).
+* runtime: prep for type-specific algorithms.
+* strconv: 34% to 63% faster conversions.
+</pre>
+
+<h2 id="2011-12-02">2011-12-02</h2>
+
+<pre>
+This weekly snapshot includes changes to the hash package and a gofix for the
+time and os.FileInfo changes in the last snapshot.
+
+The hash.Hash's Sum method has been given a []byte argument,
+permitting the user to append the hash to an existing byte slice.
+Existing code that uses Sum can pass nil as the argument.
+Gofix will make this change automatically.
+
+Other changes:
+* crypto/tls: cleanup certificate load on windows (thanks Alex Brainman).
+* exp/ssh: add Std{in,out,err}Pipe methods to Session (thanks Dave Cheney).
+* dashboard: don't choke on weird builder names.
+* exp/ssh: export type signal, now Signal (thanks Gustav Paul).
+* os: add ModeType constant to mask file type bits (thanks Gustavo Niemeyer).
+* text/template: replace Add with AddParseTree.
+* go/doc: detect headings and format them in html (thanks Volker Dobler).
+</pre>
+
+<h2 id="2011-12-01">2011-12-01</h2>
+
+<pre>
+This weekly snapshot includes changes to the time, os, and text/template
+packages. The changes to the time and os packages are significant and related.
+Code that uses package time, package text/template, or package os's FileInfo
+type will require changes.
+
+In package time, there is now one type - time.Time - to represent times.
+Note that time.Time should be used as a value, in contrast to old code
+which typically used a *time.Time, a pointer to a large struct.  (Drop the *.)
+Any function that previously accepted a *time.Time, an int64
+number of seconds since 1970, or an int64 number of nanoseconds
+since 1970 should now accept a time.Time.  Especially as a replacement
+for the int64s, the type is good documentation about the meaning of
+its value.
+
+Whether you were previously calling time.Seconds, time.Nanoseconds,
+time.LocalTime, or time.UTC, the replacement is the new function
+time.Now.
+
+If you previously wrote code like:
+
+       t0 := time.Nanoseconds()
+       myFunction()
+       t1 := time.Nanoseconds()
+       delta := t1 - t0
+       fmt.Printf("That took %.2f seconds\n", float64(t1-t0)/1e9)
+
+you can now write:
+
+       t0 := time.Now()
+       myFunction()
+       t1 := time.Now()
+       delta := t1.Sub(t0)
+       fmt.Printf("That took %s\n", delta)
+
+In this snippet, the variable delta is of the new type time.Duration, the
+replacement for the many int64 parameters that were nanosecond
+counts (but not since 1970).
+
+Gofix can do the above conversions and some others, but it does not
+rewrite explicit int64 types as time.Time. It is very likely that you will
+need to edit your program to change these types after running gofix.
+As always, be sure to read the changes that gofix makes using your
+version control system's diff feature.
+
+See http://weekly.golang.org/pkg/time/ for details.
+
+In package os, the FileInfo struct is replaced by a FileInfo interface,
+admitting implementations by code beyond the operating system.
+Code that refers to *os.FileInfo (a pointer to the old struct) should
+instead refer to os.FileInfo (the new interface).
+The interface has just a few methods:
+
+       type FileInfo interface {
+               Name() string       // base name of the file
+               Size() int64        // length in bytes
+               Mode() FileMode     // file mode bits
+               ModTime() time.Time // modification time
+               IsDir() bool        // abbreviation for Mode().IsDir()
+       }
+
+If you need access to the underlying stat_t provided by the operating
+system kernel, you can access it by assuming that the FileInfo you are
+holding is actually an *os.FileStat, and that it's Sys field is actually a
+*syscall.Stat_t, as in:
+
+       dev := fi.(*os.FileStat).Sys.(*syscall.Stat_t).Dev
+
+Of course, this is not necessarily portable across different operating
+systems.
+
+Gofix will take care of rewriting *os.FileInfo to os.FileInfo for you,
+and it will also rewrite expressions like fi.Name into calls like fi.Name().
+
+See http://weekly.golang.org/pkg/os/#FileInfo for details.
+
+The template package has been changed to export a new, simpler API.
+The Set type is gone. Instead, templates are automatically associated by
+being parsed together; nested definitions implicitly create associations.
+Only associated templates can invoke one another.
+This approach dramatically reduces the breadth of the construction API.
+The html/template package has been updated also.
+There's a gofix for the simplest and most common uses of the old API.
+Code that doesn't mention the Set type is likely to work after running gofix;
+code that uses Set will need to be updated by hand.
+The template definition language itself is unchanged.
+
+See http://weekly.golang.org/pkg/text/template/ for details.
+
+
+Other changes:
+* cgo: add support for callbacks from dynamic libraries.
+* codereview: gofmt check for non-src/ files (thanks David Crawshaw).
+* crypto/openpgp/packet: fix private key checksum.
+* crypto/tls: add openbsd root certificate location,
+	don't rely on map iteration order.
+* crypto/x509, crypto/tls: support PKCS#8 private keys.
+* dashboard: start of reimplementation in Go for App Engine.
+* encoding/xml: fix copy bug.
+* exp/gui: move exp/gui and exp/gui/x11 to http://code.google.com/p/x-go-binding
+* exp/ssh: various improvements (thanks Dave Cheney and Gustav Paul).
+* filepath/path: fix Rel buffer sizing (thanks Gustavo Niemeyer).
+* gc: fix Nconv bug (thanks Rémy Oudompheng) and other fixes.
+* go/printer, gofmt: performance improvements.
+* gofix: test and fix missorted renames.
+* goinstall: add -fix flag to run gofix on packages on build failure,
+	better error reporting,
+	don't hit network unless a checkout or update is required,
+	support Google Code sub-repositories.
+* html: parser improvements (thanks Andrew Balholm).
+* http: fix sniffing bug causing short writes.
+* json: speed up encoding, caching reflect calls.
+* ld: align ELF data sections.
+* math/big: fix destination leak into result value (thanks Roger Peppe),
+	use recursive subdivision for significant speedup.
+* math: faster Cbrt and Sincos (thanks Charles L. Dorian).
+* misc/osx: scripts to make OS X package and disk image (thanks Scott Lawrence).
+* os: fail if Open("") is called on windows (thanks Alex Brainman).
+* runtime: make sure stack is 16-byte aligned on syscall (thanks Alex Brainman).
+* spec, gc: allow direct conversion between string and named []byte, []rune.
+* sql: add Tx.Stmt to use an existing prepared stmt in a transaction,
+	more driver docs & tests; no functional changes.
+* strings: add ContainsAny and ContainsRune (thanks Scott Lawrence).
+* syscall: add SUSv3 RLIMIT/RUSAGE constants (thanks Sébastien Paolacci),
+	fix openbsd sysctl hostname/domainname workaround,
+	implement Syscall15 (thanks Alex Brainman).
+* time: fix Timer stop.
+</pre>
+
+<h2 id="2011-11-18">2011-11-18</h2>
+
+<pre>
+This snapshot includes some language changes.
+
+Map and function value comparisons are now disallowed (except for comparison
+with nil) as per the Go 1 plan. Function equality was problematic in some
+contexts and map equality compares pointers, not the maps' content.
+
+As an experiment, structs are now allowed to be copied even if they contain
+unexported fields. This gives packages the ability to return opaque values in
+their APIs.
+
+Other changes:
+* 6a, 8a: allow $(-1) for consistency with $1, $(1), $-1.
+* 6l: code generation fixes (thanks Michał Derkacz).
+* build: fix check for selinux allow_execstack on Fedora (thanks Bobby Powers).
+* builtin: document delete.
+* cgo: don't panic on undeclared enums/structs (thanks Rémy Oudompheng),
+	fix g0 stack guard.
+* crypto/tls: fix handshake message test.
+* crypto: update incorrect references to Cipher interface; should be Block.
+* doc: clean ups, additions, and fixes to several documents.
+* doc/install: add openbsd (thanks Joel Sing!).
+* doc: link to Chinese translation of A Tour of Go.
+* encoding/json: add marshal/unmarshal benchmark,
+	decode [] as empty slice, not nil slice,
+	make BenchmarkSkipValue more consistent.
+* env.bash: check for presence of make/gmake (thanks Scott Lawrence).
+* exp/sql: NumInput() allow -1 to ignore checking (thanks Yasuhiro Matsumoto),
+	add DB.Close, fix bugs, remove Execer on Driver (only Conn),
+	document that for drivers, io.EOF means no more rows,
+	add client side support for publickey auth (thanks Dave Cheney),
+	add direct-tcpip client support (thanks Dave Cheney),
+	change test listen address, also exit test if fails,
+	other fixes and improvements (thanks Dave Cheney).
+* exp/terminal: rename shell to terminal and add SetSize.
+* fcgi: fix server capability discovery.
+* fmt: distinguish empty vs nil slice/map in %#v.
+* gc: better error, type checks, and many fixes,
+	remove m[k] = x, false syntax (use delete(m, k) instead),
+	support for building with Plan 9 yacc (thanks Anthony Martin).
+* go/printer: make //line formatting idempotent.
+* godefs: delete, replaced by cgo -godefs.
+* godoc: document -templates flag, fix remote search,
+	provide mode for flat (non-indented) directory listings.
+* gofmt: leave nil nodes of the AST unchanged (thanks Rémy Oudompheng).
+* html/template: indirect top-level values before printing.
+* html: more parser improvements (thanks Andrew Balholm).
+* http: fix serving from CWD with http.ServeFile,
+	make Dir("") equivalent to Dir(".").
+* ld: fix .bss for ldpe (thanks Wei Guangjing).
+* math/big: replace nat{} -&gt; nat(nil).
+* math: faster Lgamma (thanks Charles L. Dorian).
+* mime: implement TypeByExtension for windows.
+* misc/bbedit: error and rune support (thanks Anthony Starks).
+* misc/benchcmp: benchmark comparison script.
+* misc/emacs: add delete builtin (thanks Bobby Powers).
+* misc/kate: add error and rune (thanks Evan Shaw).
+* misc/notepadplus: error and rune support (thanks Anthony Starks).
+* misc/windows: Windows installer in MSI format (thanks Joe Poirier).
+* net, io/ioutil: remove use of os.Time (thanks Anthony Martin).
+* net/http: fix EOF handling on response body (thanks Gustavo Niemeyer),
+	fix sniffing when using ReadFrom,
+	use t.Errorf from alternate goroutine in test.
+* os: remove undocumented Envs (use os.Environ instead).
+* reflect: empty slice/map is not DeepEqual to nil,
+	make Value an opaque struct.
+* runtime, syscall: convert from godefs to cgo.
+* runtime: add nanotime for Plan 9 (thanks Anthony Martin),
+	add timer support, use for package time,
+	avoid allocation for make([]T, 0).
+* strconv: add Ftoa benchmarks, make Ftoa faster.
+* syscall: delete syscall.Sleep, take over env implementation, use error.
+* testing: add file:line stamps to messages, print results to standard output.
+* text/template: refactor set parsing.
+* time: add ISOWeek method to Time (thanks Volker Dobler).
+* various: avoid func compare, reduce overuse of os.EINVAL + others.
+</pre>
+
+<h2 id="2011-11-09">2011-11-09</h2>
+
+<pre>
+This weekly snapshot renames various Go packages as described in the Go 1 plan.
+Import statements in client code can be updated automatically with gofix.
+
+The changes are:
+	asn1              -&gt; encoding/asn1
+	big               -&gt; math/big
+	cmath             -&gt; math/cmplx
+	csv               -&gt; encoding/csv
+	exec              -&gt; os/exec
+	exp/template/html -&gt; html/template
+	gob               -&gt; encoding/gob
+	http              -&gt; net/http
+	http/cgi          -&gt; net/http/cgi
+	http/fcgi         -&gt; net/http/fcgi
+	http/httptest     -&gt; net/http/httptest
+	http/pprof        -&gt; net/http/pprof
+	json              -&gt; encoding/json
+	mail              -&gt; net/mail
+	rpc               -&gt; net/rpc
+	rpc/jsonrpc       -&gt; net/rpc/jsonrpc
+	scanner           -&gt; text/scanner
+	smtp              -&gt; net/smtp
+	syslog            -&gt; log/syslog
+	tabwriter         -&gt; text/tabwriter
+	template          -&gt; text/template
+	template/parse    -&gt; text/template/parse
+	rand              -&gt; math/rand
+	url               -&gt; net/url
+	utf16             -&gt; unicode/utf16
+	utf8              -&gt; unicode/utf8
+	xml               -&gt; encoding/xml
+</pre>
+
+<h2 id="2011-11-08">2011-11-08</h2>
+
+<pre>
+This weekly snapshot includes some package changes.
+
+In preparation for the Go 1 package reorganziation the sources for various
+packages have been moved, but the import paths remain unchanged. This
+inconsistency breaks goinstall at this snapshot. If you use goinstall, please
+stay synced to the previous weekly snapshot until the next one is tagged.
+
+The Error methods in the html, bzip2, and sql packages that return error values
+have been renamed to Err.
+
+Some non-core parts of the http package have been moved to net/http/httputil.
+The Dump* and NewChunked* functions and ClientConn, ServerConn, and
+ReverseProxy types have been moved from http to httputil.
+
+The API for html/template is now a direct copy of the template API, instead of
+exposing a single Escape function. For HTML templates, use the
+html/template package as you would the template package.
+
+Other changes:
+* all: rename os.EOF to io.EOF in non-code contexts (thanks Vincent Vanackere),
+	sort imports with gofix.
+* archive/zip: close file opened with OpenReader (thanks Dmitry Chestnykh).
+* bufio: return nil line from ReadLine on error, as documented.
+* builtin: document basic types and the built-in error type.
+* bytes: add Contains function.
+* exp/sql: finish implementation of transactions, flesh out types, docs.
+* exp/ssh: improved client authentication support (thanks Dave Cheney).
+* gc: better error message for range over non-receive channel,
+	bug fixes and clean-ups,
+	detect type switch variable not used cases,
+	fix escaping of package paths in symbol names,
+	helpful error message on method call on pointer to pointer,
+	portably read archive headers (thanks Ron Minnich).
+* gob: fix bug when registering the same type multiple times.
+* gofix: avoid panic on body-less functions in netudpgroup,
+	make fix order implicit by date.
+* gofmt, gofix: sort imports.
+* goinstall: support launchpad.net/~user branches (thanks Jani Monoses).
+* gopack: do not look for Go metadata in non-Go objects.
+* gotest: don't run examples that have no expected output.
+* html: the parser bug fixing campaign continues (thanks Andrew Balholm).
+* http: fix whitespace handling in sniffer,
+	only recognize application/x-www-form-urlencoded in ParseForm,
+	support Trailers in ReadRequest.
+* lib9: add ctime.
+* math: faster Gamma (thanks Charles L. Dorian),
+	improved accuracy for Tan (thanks Charles L. Dorian),
+	improved high-angle test for Cos, Sin and Tan (thanks Charles L. Dorian).
+* net: implement LookupTXT for windows (thanks Alex Brainman).
+* os,text,unicode: renamings.
+* runtime/cgo: fix data declaration to be extern.
+* runtime: add timespec definition for freebsd,
+	add windows callback tests (thanks Alex Brainman),
+	fix prototype for openbsd thrsleep,
+	fix set and not used,
+	unify mutex code across OSes,
+	windows_386 sighandler to use correct g (thanks Alex Brainman).
+* template: format error with pointer receiver,
+	make redefinition of a template in a set more consistent.
+* test: clear execute bit from source file (thanks Mikio Hara),
+	make closedchan.go exit with failure if something fails.
+* time: faster Nanoseconds call.
+* websocket: return an error HTTP response for bad websocket request.
+* xml: allow parsing of &lt;_&gt; &lt;/_&gt;. (thanks David Crawshaw).
+</pre>
+
+<h2 id="2011-11-02">2011-11-02 (new error type)</h2>
+
+<pre>
+This snapshot introduces the built-in error type, defined as
+
+       type error interface {
+               Error() string
+       }
+
+The error type replaces os.Error. Notice that the method name has changed from
+String to Error. Package fmt's Print formats both Stringers and errors:
+in general there is no need to implement both String and Error methods.
+
+Gofix can update most code. If you have split your package across many files,
+it may help to use the -force=error command-line option, which forces gofix to
+apply the error fix even if it is not obvious that a particular file needs it.
+As always, it is a good idea to read and test the changes that gofix made
+before committing them to your version control system.
+</pre>
+
+<h2 id="2011-11-01">2011-11-01</h2>
+
+<pre>
+* 6l: remove mention of -e flag - it does nothing.
+* cc: change cas to newcase (thanks Ron Minnich).
+* crypto/openpgp/error: use Error in names of error impl types.
+* crypto/rsa: change public exponent from 3 to 65537.
+* crypto/tls: add Error method to alert.
+* doc: add link to A Tour of Go in Japanese,
+	add 'all' make rule to build all docs,
+	refer to tour.golang.org instead of go-tour.appspot.com.
+* exp/norm: fixed bug that crept in with moving to the new regexp.
+* exp/ssh: fix length header leaking into channel data (thanks Dave Cheney).
+* fmt: handle os.Error values explicity (as distinct from Stringer).
+* gc: clean up printing,
+	fix [568]g -V crash (thanks Mikio Hara),
+	test + fix escape analysis bug.
+* go/build: avoid os.Error in tests.
+* go/doc: remove os.NewError anti-heuristic.
+* go/parser: test and fix := scoping bug.
+* gob: split uses of gobError, remove unnecessary embedding.
+* gofix: test import insertion, deletion.
+* goinstall: intelligent vcs selection for common sites (thanks Julian Phillips).
+* gopack: change archive file name length back to 16.
+* html: fix print argument in test,
+	more parser improvements (thanks Andrew Balholm).
+* json: properly handle nil slices (thanks Alexander Reece).
+* math: improved accuracy for Sin and Cos (thanks Charles L. Dorian).
+* misc/emacs: fix restoration of windows after gofmt (thanks Jan Newmarch).
+* misc/vim: add rune keyword (thanks Jongmin Kim).
+* misc/windows: can be used for amd64 (thanks Alex Brainman).
+* net: document why we do not use SO_REUSEADDR on windows (thanks Alex Brainman).
+* os: do not interpret 0-length read as EOF.
+* pkg: remove .String() from some print arguments.
+* rpc: avoid infinite loop on input error.
+* runtime/pprof: document OS X being broken.
+* runtime: lock the main goroutine to the main OS thread during init.
+* spec: define that initialization is sequential.
+* strconv: use better errors than os.EINVAL, os.ERANGE.
+* syscall: fix Await msg on Plan 9 (thanks Andrey Mirtchovski).
+* template: do not use error as stringer,
+	fix error checking on execute without parse (thanks Scott Lawrence).
+* test/alias.go: additional tests.
+* test: error-related fixes.
+* textproto: prevent long lines in HTTP headers from causing HTTP 400 responses.
+* time: add RFC1123 with numeric timezone format (thanks Scott Lawrence).
+</pre>
+
+<h2 id="2011-10-26">2011-10-26 (new rune type)</h2>
+
+<pre>
+This snapshot introduces the rune type, an alias for int that
+should be used for Unicode code points.
+
+A future release of Go (after Go 1) will change rune to be an
+alias for int32 instead of int.  Using rune consistently is the way
+to make your code build both before and after this change.
+
+To test your code for rune safety, you can rebuild the Go tree with
+
+	GOEXPERIMENT=rune32 ./all.bash
+
+which builds a compiler in which rune is an alias for int32 instead of int.
+
+Also, run govet on your code to identify methods that might need to have their
+signatures updated.
+</pre>
+
+<h2 id="2011-10-25">2011-10-25</h2>
+
+<pre>
+* big: make SetString return nil if an error occurs,
+	new Rat.Inv method,
+	usable zero Rat values without need for explicit initialization.
+* codereview: show LGTMs in hg p.
+* crypto/x509: fix names in certificate generation.
+* exp/ssh: add experimental ssh client,
+	introduce Session to replace Cmd for interactive commands,
+	server cleanups (thanks Dave Cheney).
+* exp/types: fix crash in parseBasicType on unknown type.
+* fmt: don't panic formatting nil interfaces (thanks Gustavo Niemeyer).
+* go/ast, go/token: actually run tests; fix go/ast test.
+* gotest: explicit -help flag, use $GCFLAGS like make does.
+* govet: check canonical dynamic method signatures.
+* html: improved parsing (thanks Andrew Balholm),
+	parse &lt;select&gt; tags, parse and render comment nodes,
+	remove the Tokenizer.ReturnComments option.
+* http: Transport: with TLS InsecureSkipVerify, skip hostname check.
+* misc/vim: add highlighting for delete (thanks Dave Cheney).
+* net: do not set SO_REUSEADDR for windows (thanks Alex Brainman).
+* os/inotify: move to exp/inotify (thanks Mikio Hara).
+* runtime: include bootstrap m in mcpu accounting (thanks Hector Chu).
+* syscall: use uintptr for Mount flags.
+</pre>
+
+<h2 id="2011-10-18">2011-10-18</h2>
+
+<pre>
+This weekly snapshot includes some language and package changes that may
+require code changes. Please read these notes carefully, as there are many
+changes and your code will likely be affected.
+
+The syntax for map deletion has been changed. Code that looks like:
+	m[x] = 0, false
+should be written as:
+	delete(m, x)
+The compiler still accepts m[x] = 0, false for now; even so, you can use gofix
+to rewrite such assignments into delete(m, x).
+
+The Go compiler will reject a return statement without arguments when any of
+the result variables has been shadowed. Code rejected as a result of this
+change is likely to be buggy.
+
+Receive-only channels (&lt;-chan T) cannot be closed.
+The compiler will diagnose such attempts.
+
+The first element of a map iteration is chosen at random. Code that depends on
+iteration order will need to be updated.
+
+Goroutines may be run during program initialization.
+
+A string may be appended to a byte slice. This code is now legal:
+	var b []byte
+	var s string
+	b = append(b, s...)
+
+The gotry command and its associated try package have been deleted.
+It was a fun experiment that - in the end - didn't carry its weight.
+
+The gotype tool has been moved to exp/gotype and its associated go/types
+package has been moved to exp/types. The deprecated go/typechecker package has
+been deleted.
+
+The enbflint tool has been moved to pkg/exp/ebnflint and its associated ebnf
+package has been moved to pkg/exp/ebnf.
+
+The netchan package has been moved to old/netchan.
+
+The http/spdy package has been moved to exp/spdy.
+
+The exp/datafmt package has been deleted.
+
+The container/vector package has been deleted. Slices are better:
+	http://code.google.com/p/go-wiki/wiki/SliceTricks
+
+Other changes:
+* 5l/6l/8l: correct ELFRESERVE diagnostic (thanks Anthony Martin).
+* 6l/8l: support OS X code signing (thanks Mikkel Krautz).
+* asn1: accept UTF8 strings as ASN.1 ANY values.
+* big: handle aliasing correctly for Rat.SetFrac.
+* build: add missing nuke target (thanks Anthony Martin),
+	catch future accidental dependencies to exp or old packages,
+	more robustly detect gold 2.20 (thanks Christopher Wedgwood),
+	pass $GCFLAGS to compiler,
+	stop on failed deps.bash.
+* crypto/tls: add 3DES ciphersuites,
+	add server side SNI support,
+	fetch root CA from Windows store (thanks Mikkel Krautz),
+	fetch root certificates using Mac OS API (thanks Mikkel Krautz),
+	fix broken looping code in windows root CA fetcher (thanks Mikkel Krautz),
+	more Unix root certificate locations.
+* crypto/x509: add code for dealing with PKIX public keys,
+	keep the raw Subject and Issuer.
+* csv: fix overly aggressive TrimLeadingSpace.
+* exp/ssh: general cleanups for client support (thanks Dave Cheney).
+* exp/template/html: fix bug in cssEscaper.
+* exp/terminal: split terminal handling from exp/ssh.
+* exp/winfsnotify: filesystem watcher for Windows (thanks Hector Chu).
+* fmt: fix test relying on map iteration order.
+* gc: changes to export format in preparation for inlining,
+	pass FlagNoPointers to runtime.new,
+	preserve uint8 and byte distinction in errors and import data,
+	stricter multiple assignment + test,
+	treat uintptr as potentially containing a pointer.
+* go/scanner: remove AllowIllegalChars mode.
+* go/token: document deserialization property.
+* gob: avoid one copy for every message written.
+* godefs: add enum/const testdata (thanks Dave Cheney).
+* godoc: generate package toc in template, not in JavaScript,
+	show "unexported" declarations when executing "godoc builtin",
+	show correct source name with -path.
+* gofix: make fix order explicit, add mapdelete.
+* gofmt: fix //line handling,
+	disallow rewrites for incomplete programs.
+* gotest: avoid conflicts with the name of the tested package (thanks Esko Luontola),
+	test example code.
+* goyacc: clean up after units (thanks Anthony Martin),
+	make more gofmt-compliant.
+* html: add a Render function, various bug fixes and improvements,
+	parser improvements (thanks Andrew Balholm).
+* http: DoS protection: cap non-Handler Request.Body reads,
+	RoundTrippers shouldn't mutate Request,
+	avoid panic caused by nil URL (thanks Anthony Martin),
+	fix read timeouts and closing,
+	remove Request.RawURL.
+* image/tiff: implement PackBits decoding (thanks Benny Siegert).
+* ld: fix "cannot create 8.out.exe" (thanks Jaroslavas Počepko).
+* misc/emacs: add a "godoc" command, like M-x man (thanks Evan Martin).
+* misc/swig: delete binaries (thanks Anthony Martin).
+* misc/windows: automated toolchain packager (thanks Joe Poirier).
+* net/windows: implement ip protocol name to number resolver (thanks Alex Brainman).
+* net: add File method to IPConn (thanks Mikio Hara),
+	allow LookupSRV on non-standard DNS names,
+	fix "unexpected socket family" error from WriteToUDP (thanks Albert Strasheim),
+	fix socket leak in case of Dial failure (thanks Chris Farmiloe),
+	remove duplicate error information in Dial (thanks Andrey Mirtchovski),
+	return error from CloseRead and CloseWrite (thanks Albert Strasheim),
+	skip ICMP test on Windows too unless uid 0.
+* reflect: disallow Interface method on Value obtained via unexported name,
+	make unsafe use of SliceHeader gc-friendly.
+* rpc: don't panic on write error.
+* runtime: faster strings,
+	fix crash if user sets MemProfileRate=0,
+	fix crash when returning from syscall during gc (thanks Hector Chu),
+	fix memory leak in parallel garbage collector.
+* scanner: invalidate scanner.Position when no token is present.
+* spec: define order of multiple assignment.
+* syscall/windows: dll function load and calling changes (thanks Alex Brainman).
+* syscall: add #ifdefs to fix the manual corrections in ztypes_linux_arm.go (thanks Dave Cheney),
+	adjust Mount to accommodate stricter FS implementations.
+* testing: fix time reported for failing tests.
+* utf8: add Valid and ValidString.
+* websocket: tweak hybi ReadHandshake to support Firefox (thanks Luca Greco).
+* xml: match Marshal's XMLName behavior in Unmarshal (thanks Chris Farmiloe).
+</pre>
+
+<h2 id="2011-10-06">2011-10-06</h2>
+
+<pre>
+This weekly snapshot includes changes to the io, image, and math packages that
+may require changes to client code.
+
+The io package's Copyn function has been renamed to CopyN.
+
+The math package's Fabs, Fdim, Fmax, Fmin and Fmod functions
+have been renamed to Abs, Dim, Max, Min, and Mod.
+
+Parts of the image package have been moved to the new image/color package.
+The spin-off renames some types. The new names are simply better:
+	image.Color              -&gt; color.Color
+	image.ColorModel         -&gt; color.Model
+	image.ColorModelFunc     -&gt; color.ModelFunc
+	image.PalettedColorModel -&gt; color.Palette
+	image.RGBAColor          -&gt; color.RGBA
+	image.RGBAColorModel     -&gt; color.RGBAModel
+	image.RGBA64Color        -&gt; color.RGBA64
+	image.RGBA64ColorModel   -&gt; color.RGBA64Model
+(similarly for NRGBAColor, GrayColorModel, etc)
+The image.ColorImage type stays in the image package, but is renamed:
+	image.ColorImage -&gt; image.Uniform
+The image.Image implementations (image.RGBA, image.RGBA64, image.NRGBA,
+image.Alpha, etc) do not change their name, and gain a nice symmetry:
+an image.RGBA is an image of color.RGBA, etc.
+The image.Black, image.Opaque uniform images remain unchanged (although their
+type is renamed from image.ColorImage to image.Uniform).
+The corresponding color types (color.Black, color.Opaque, etc) are new.
+Nothing in the image/ycbcr is renamed yet. The ycbcr.YCbCrColor and
+ycbcr.YCbCrImage types will eventually migrate to color.YCbCr and image.YCbCr,
+at a later date.
+
+* 5g/6g/8g: fix loop finding bug, fix -f(), registerize variables again.
+* 5l/6l/8l: add a DT_DEBUG dynamic tag to a dynamic ELF binary.
+* archive/zip: read and write unix file modes (thanks Gustavo Niemeyer).
+* build: clear execute bit from source files (thanks Mikio Hara).
+* bytes: add EqualFold.
+* cgo: allow Windows path characters in flag directives (thanks Joe Poirier),
+	support for mingw-w64 4.5.1 and newer (thanks Wei Guangjing).
+* codereview: extra repo sanity check,
+	fix for Mercurial 1.9.2,
+	fix hg change in Windows console (thanks Yasuhiro Matsumoto).
+* crypto/elliptic: use %x consistently in error print.
+* doc/spec: remove notes about gccgo limitations, now fixed.
+* doc: add 'Debugging Go code with GDB' tutorial,
+	fix memory model read visibility bug.
+* encoding/binary: PutX functions require buffer of sufficient size,
+	added benchmarks, support for varint encoding.
+* exec: add Command.ExtraFiles.
+* exp/sql{,/driver}: new database packages.
+* exp/ssh: move common code to common.go (thanks Dave Cheney).
+* exp/template/html: work continues.
+* fmt: replace channel cache with slice.
+* gc: limit helper threads based on ncpu.
+* go/doc, godoc, gotest: support for reading example documentation.
+* go: documentation and skeleton implementation of new command.
+* gob: protect against invalid message length,
+	allow sequential decoders on the same input stream.
+* hgpatch: do not use hg exit status (thanks Yasuhiro Matsumoto).
+* http: add Location method to Response,
+	don't send a 400 Bad Request after a client shutdown.
+* index/suffixarray: 4.5x faster index serialization (to memory).
+* io/ioutil: add a comment on why devNull is a ReaderFrom.
+* json: use strings.EqualFold instead of strings.ToLower.
+* misc/emacs: fix indent bug.
+* net: add shutdown: TCPConn.CloseWrite and CloseRead.
+* net: use AF_UNSPEC instead of individual address family (thanks Mikio Hara).
+* path/filepath: added Rel as the complement of Abs (thanks Gustavo Niemeyer).
+* pkg/syscall: add Mkfifo for linux platforms.
+* regexp: move to old/regexp, replace with exp/regexp, speedups.
+* runtime/gdb: fix pretty printing of channels,
+	gracefully handle not being able to find types.
+* runtime: check for nil value pointer in select syncsend case,
+	faster finalizers,
+	fix malloc sampling bug,
+	fix map memory leak,
+	fix spurious deadlock reporting,
+	fix usleep on linux/386 and re-enable parallel gc (thanks Hector Chu),
+	parallelize garbage collector mark + sweep.
+* strconv: faster Unquote in common case.
+* strings: add EqualFold, Replacer, NewReplacer.
+* suffixarray: add benchmarks for construction (thanks Eric Eisner).
+* syscall: add GetsockoptByte, SetsockoptByte for openbsd (thanks Mikio Hara),
+	add IPv4 ancillary data for linux (thanks Mikio Hara),
+	mark stdin, stdout, stderr non-inheritable by child processes (thanks Alex Brainman),
+	mksyscall_windows.pl creates non-syscall packages (thanks Jaroslavas Počepko),
+	update multicast socket options (thanks Mikio Hara).
+* testing: support for running tests in parallel (thanks Miki Tebeka).
+* time: make month/day name comparisons case insenstive.
+* unicode: fix make tables.
+* vim: Send GoFmt errors to a location list (thanks Paul Sbarra).
+* websocket: add hybi-13 support, add mutex to make websocket full-duplex.
+</pre>
+
+<h2 id="2011-09-21">2011-09-21</h2>
+
+<pre>
+This weekly contains several improvements, bug fixes, and new packages.
+
+* archive/tar: document Header fields and Type flags (thanks Mike Rosset).
+* bytes: fix Replace so it actually copies (thanks Gustavo Niemeyer).
+* cgo: use GOARCH from the environment (thanks Jaroslavas Počepko).
+* codereview: save CL messages in $(hg root)/last-change.
+* crypto/bcrypt: new package (thanks Jeff Hodges).
+* crypto/blowfish: exposing the blowfish key schedule (thanks Jeff Hodges).
+* doc: link to golang-france.
+* doc: when configuring gold for gccgo, use --enable-gold=default.
+* exp/norm: changed trie to produce smaller tables.
+* exp/ssh: new package,
+	refactor halfConnection to transport (thanks Dave Cheney).
+* exp/template/html: more fixes and improvements.
+* filepath: fix Glob to return no error on nonmatching patterns.
+* gc: disallow invalid map keys,
+	handle complex CONVNOP.
+* gob: allocation fixes.
+* godoc: simplify internal FileSystem interface.
+* http/cgi: clean up environment (thanks Yasuhiro Matsumoto).
+* http: always include Content-Length header, even for 0 (thanks Dave Grijalva),
+	check explicit wrong Request.ContentLength values,
+	fix TLS handshake blocking server accept loop,
+	prevent DumpRequest from adding implicit headers.
+* httptest: add NewUnstartedServer.
+* json: clearer Unmarshal doc,
+	skip nil in UnmarshalJSON and (for symmetry) MarshalJSON.
+* net: use /etc/hosts first when looking up IP addresses (thanks Andrey Mirtchovski).
+* reflect: add comment about the doubled semantics of Value.String.
+* runtime: implement pprof support for windows (thanks Hector Chu),
+	increase stack system space on windows/amd64 (thanks Hector Chu).
+* suffixarray: generate less garbage during construction (thanks Eric Eisner),
+	improved serialization code using gob instead of encoding/binary.
+* sync/atomic: replace MFENCE with LOCK XADD.
+</pre>
+
+<h2 id="2011-09-16">2011-09-16</h2>
+
+<pre>
+This weekly snapshot includes changes to the image, path/filepath, and time
+packages. Code that uses these packages may need to be updated.
+
+The image package's NewX functions (NewRGBA, NewNRGBA, etc) have been changed
+to take a Rectangle argument instead of a width and height.
+Gofix can make these changes automatically.
+
+The path/filepath package's Walk function has been changed to take a WalkFunc
+function value instead of a Visitor interface value. WalkFunc is like the
+Visitor's VisitDir and VisitFile methods except it handles both files and
+directories:
+	func(path string, info *os.FileInfo, err os.Error) os.Error
+To skip walking a directory (like returning false from VisitDir) the WalkFunc
+must return SkipDir.
+
+The time package's Time struct's Weekday field has been changed to a method.
+The value is calculated on demand, avoiding the need to re-parse
+programmatically-constructed Time values to find the correct weekday.
+
+There are no gofixes for the filepath or time API changes, but instances of the
+old APIs will be caught by the compiler. The Weekday one is easy to update by
+hand. The Walk one may take more consideration, but will have fewer instances
+to fix.
+
+* build: add build comments to core packages.
+* codereview: Mercurial 1.9 fix for hg diff @nnn.
+* crypto/tls: handle non-TLS more robustly,
+	support SSLv3.
+* debug/elf: permit another case of SHT_NOBITS section overlap in test.
+* exm/template/html: more work on this auto-escaping HTML template package.
+* exp/norm: added regression test tool for the standard Unicode test set.
+* exp/regexp/syntax: fix invalid input parser crash,
+	import all RE2 parse tests + fix bugs.
+* exp/regexp: add MustCompilePOSIX, CompilePOSIX, leftmost-longest matching.
+* flag: make zero FlagSet useful.
+* gc: clean up if grammar.
+* go/build: handle cgo, // +build comments.
+* go/printer: use panic/defer instead of goroutine for handling errors.
+* go/token: support to serialize file sets.
+* godoc, suffixarray: switch to exp/regexp.
+* godoc: show packages matching a query at the top,
+	support for complete index serialization,
+	use go/build to find files in a package.
+* gofmt: accept program fragments on standard input, add else test.
+* http/cgi: add openbsd environment configuration.
+* http: document that Response.Body is non-nil.
+* image/png: don't use a goroutine to decode, to permit decode during init.
+* json: if a field's tag is "-", ignore the field for encoding and decoding.
+* ld: grow dwarf includestack on demand.
+* net, syscall: implement SetsockoptIPMReq(), and
+	move to winsock v2.2 for multicast support (thanks Paul Lalonde).
+* net: add a LookupTXT function.
+* os: os.RemoveAll to check for wboth error codes on Windows (thanks Jaroslavas Počepko).
+* path/filepath: fix Visitor doc (thanks Gustavo Niemeyer),
+	make UNC file names work (thanks Yasuhiro Matsumoto).
+* runtime: optimizations to channels on Windows (thanks Hector Chu),
+	syscall to return both AX and DX for windows/386 (thanks Alex Brainman).
+* sync/atomic: add 64-bit Load and Store.
+* syscall: add route flags for linux (thanks Mikio Hara).
+* test: add test for inheriting private method from anonymous field.
+* websocket: fix infinite recursion in Addr.String() (thanks Tarmigan Casebolt),
+	rename websocket.WebSocketAddr to *websocket.Addr.
+</pre>
+
+<h2 id="2011-09-07">2011-09-07</h2>
+
+<pre>
+This weekly snapshot consists of improvements and bug fixes, including fixes
+for issues introduced by escape analysis changes in the gc compiler.
+
+* build: clear execute bit from Go files (thanks Mike Rosset),
+	error out if problem with sudo.bash /usr/local/bin (thanks Mike Rosset).
+* exp/norm: add Reader and Writer,
+	performance improvements of quickSpan.
+* exp/regexp: bug fixes and RE2 tests.
+* exp/template/html: string replacement refactoring,
+	tweaks to js{,_test}.go.
+* gc: add -p flag to catch import cycles earlier,
+	fix label recursion bugs,
+	fix zero-length struct eval,
+	zero stack-allocated slice backing arrays,
+* gc, ld: fix Windows file paths (thanks Hector Chu).
+* go/parser: accept corner cases of signature syntax.
+* gobuilder: ignore _test.go files when looking for docs, more logging.
+* godoc: minor tweaks for App Engine use.
+* gofix: do not convert url in field names (thanks Gustavo Niemeyer).
+* gofmt: indent multi-line signatures.
+* gopprof: regexp fixes (thanks Hector Chu).
+* image/png: check zlib checksum during Decode.
+* libmach: fix incorrect use of memset (thanks Dave Cheney).
+* misc/goplay: fix template output.
+* net: ParseCIDR returns IPNet instead of IPMask (thanks Mikio Hara),
+	sync CIDRMask code, doc.
+* os: use GetFileAttributesEx to implement Stat on windows (thanks Alex Brainman).
+* runtime: fix openbsd 386 raisesigpipe,
+	implement exception handling on windows/amd64 (thanks Hector Chu),
+	test for concurrent channel consumers (thanks Christopher Wedgwood).
+* sort: use heapsort to bail out quicksort (thanks Ziad Hatahet).
+* sync/atomic: add LoadUintptr, add Store functions.
+* syscall: update routing message attributes handling (thanks Mikio Hara).
+* template: fix deadlock,
+	indirect or dereference function arguments if necessary,
+	slightly simplify the test for assignability of arguments.
+* url: handle ; in ParseQuery.
+* websocket: fix incorrect prints found by govet (thanks Robert Hencke).
+</pre>
+
+<h2 id="2011-09-01">2011-09-01</h2>
+
+<pre>
+This weekly contains performance improvements and bug fixes.
+
+The gc compiler now does escape analysis, which improves program performance
+by placing variables on the call stack instead of the heap when it is safe to
+do so.
+
+The container/vector package is deprecated and will be removed at some point
+in the future.
+
+Other changes:
+* archive/tar: support symlinks. (thanks Mike Rosset)
+* big: fix nat.scan bug. (thanks Evan Shaw)
+* bufio: handle a "\r\n" that straddles the buffer.
+	add openbsd.
+	avoid redundant bss declarations.
+	fix unused parameters.
+	fix windows/amd64 build with newest mingw-w64. (thanks Hector Chu)
+* bytes: clarify that NewBuffer is not for beginners.
+* cgo: explain how to free something.
+	fix GoBytes. (thanks Gustavo Niemeyer)
+	fixes callback for windows amd64. (thanks Wei Guangjing)
+	note that CString result must be freed. (thanks Gustavo Niemeyer)
+* cov: remove tautological #defines. (thanks Lucio De Re)
+* dashboard: yet another utf-8 fix.
+* doc/codelab/wiki: fix Makefile.
+* doc/progs: fix windows/amd64. (thanks Jaroslavas Počepko)
+* doc/tmpltohtml: update to new template package.
+* doc: emphasize that environment variables are optional.
+* effective_go: convert to use tmpltohtml.
+* exp/norm: reduced the size of the byte buffer used by reorderBuffer by half by reusing space when combining.
+	a few minor fixes to support the implementation of norm.
+	added implementation for []byte versions of methods.
+* exp/template/html: add some tests for ">" attributes.
+	added handling for URL attributes.
+	differentiate URL-valued attributes (such as href).
+	reworked escapeText to recognize attr boundaries.
+* exp/wingui: made compatible with windows/amd64. (thanks Jaroslavas Počepko)
+* flag: add Parsed, restore Usage.
+* gc: add openbsd.
+	escape analysis.
+	fix build on Plan 9. (thanks Lucio De Re)
+	fix div bug.
+	fix pc/line table. (thanks Julian Phillips)
+	fix some spurious leaks.
+	make static initialization more static.
+	remove JCXZ; add JCXZW, JCXZL, and JCXZQ instructions. (thanks Jaroslavas Počepko)
+	shuffle #includes.
+	simplify escape analysis recursion.
+	tweak and enable escape analysis.
+* go/ast cleanup: base File/PackageExports on FilterFile/FilterPackage code.
+	adjustments to filter function.
+	fix ast.MergePackageFiles to collect infos about imports. (thanks Sebastien Binet)
+	generalize ast.FilterFile.
+* go/build: add test support & use in gotest.
+	separate test imports out when scanning. (thanks Gustavo Niemeyer)
+* go/parser: fix type switch scoping.
+	fix type switch scoping.
+* gob: explain that Debug isn't useful unless it's compiled in.
+* gobuilder: increase log limit.
+* godashboard: fix utf-8 in user names.
+* godoc: first step towards reducing index size.
+	add dummy playground.js to silence godoc warning at start-up.
+	added systematic throttling to indexing goroutine.
+	fix bug in zip.go.
+	support for reading/writing (splitted) index files.
+	use virtual file system when generating package synopses.
+* gofix: forgot to rename the URL type.
+	osopen: fixed=true when changing O_CREAT. (thanks Tarmigan Casebolt)
+* goinstall: error out with paths that end with '/'. (thanks Tarmigan Casebolt)
+	report lack of $GOPATH on errors. (thanks Gustavo Niemeyer)
+	select the tag that is closest to runtime.Version.
+* gotry: add missing $. (thanks Tarmigan Casebolt)
+* http: add MaxBytesReader to limit request body size.
+	add file protocol transport.
+	adjust test threshold for larger suse buffers.
+	delete error kludge.
+	on invalid request, send 400 response.
+	return 413 instead of 400 when the request body is too large. (thanks Dave Cheney)
+	support setting Transport's TLS client config.
+* image/tiff: add a decode benchmark. (thanks Benny Siegert)
+	decoder optimization. (thanks Benny Siegert)
+* image: add PalettedImage interface, and make image/png recognize it. (thanks Jaroslavas Počepko)
+* io: add TeeReader. (thanks Hector Chu)
+* json: add struct tag option to wrap literals in strings.
+	calculate Offset for Indent correctly. (thanks Jeff Hodges)
+	fix decode bug with struct tag names with ,opts being ignored.
+* ld: handle Plan 9 ar format. (thanks Lucio De Re)
+	remove duplicate bss definitions.
+* libmach: support reading symbols from Windows .exe for nm. (thanks Mateusz Czapliński)
+* math: fix Pow10 loop. (thanks Volker Dobler)
+* mime: ParseMediaType returns os.Error now, not a nil map.
+	media type formatter. (thanks Pascal S. de Kloe)
+	text charset defaults. (thanks Pascal S. de Kloe)
+* misc/dashboard: remove limit for json package list.
+* misc/emacs: refine label detection.
+* net: add ParseMAC function. (thanks Paul Borman)
+	change the internal form of IPMask for IPv4. (thanks Mikio Hara)
+	disable "tcp" test on openbsd.
+	fix windows build. (thanks Alex Brainman)
+	join and leave a IPv6 group address, on a specific interface. (thanks Mikio Hara)
+	make use of IPv4len, IPv6len. (thanks Mikio Hara)
+	move internal string manipulation routines to parse.go. (thanks Mikio Hara)
+* os: disable Hostname test on OpenBSD.
+	fix WNOHANG Waitmsg. (thanks Gustavo Niemeyer)
+* reflect: add Value.Bytes, Value.SetBytes methods.
+* rpc: add benchmark for async rpc calls.
+* runtime: add openbsd 386 defs.h.
+	add runtime support for openbsd 386.
+	add runtime· prefix to showframe.
+	ctrlhandler for windows amd64. (thanks Wei Guangjing)
+	fix stack cleanup on windows/amd64. (thanks Hector Chu)
+	fix void warnings.
+	go interface to cdecl calbacks. (thanks Jaroslavas Počepko)
+	handle string + char literals in goc2c.
+	make arm work on Ubuntu Natty qemu.
+	openbsd thread tweaks.
+	simplify stack traces.
+	speed up cgo calls. (thanks Alex Brainman)
+	use cgo runtime functions to call windows syscalls. (thanks Alex Brainman)
+	windows/amd64 callbacks fixed and syscall fixed to allow using it in callbacks. (thanks Jaroslavas Počepko)
+* strconv: put decimal on stack.
+* spec: update section on Implementation Differences.
+* syscall: SOMAXCONN should be 0x7fffffff at winsock2. (thanks Yasuhiro Matsumoto)
+	add openbsd 386.
+	handle RTM_NEWROUTE in ParseNetlinkRouteAttr on Linux. (thanks Albert Strasheim)
+	handle routing entry in ParseRoutingSockaddr on BSD variants. (thanks Mikio Hara)
+	openbsd amd64 syscall support.
+	use the vdso page on linux x86 for faster syscalls instead of int $0x80. (thanks Yuval Pavel Zholkover)
+* template/parse: give if, range, and with a common representation.
+* template: grammar fix for template documentation. (thanks Bill Neubauer)
+	range over channel.
+	remove else and end nodes from public view.
+* test: put GOROOT/bin before all others in run.
+* time: fix Plan 9 build. (thanks Fazlul Shahriar)
+	fix zone during windows test.
+* type switches: test for pathological case.
+* version.bash: update VERSION on -save if already present. (thanks Gustavo Niemeyer)
+* websocket: implements new version of WebSocket protocol. (thanks Fumitoshi Ukai)
+* windows/386: clean stack after syscall. (thanks Jaroslavas Počepko)
+* xml: marshal "parent>child" tags correctly. (thanks Ross Light)
+</pre>
+
+<h2 id="2011-08-17">2011-08-17 (<a href="release.html#r60">base for r60</a>)</h2>
+
+<pre>
+This weekly contains some package re-shuffling. Users of the http and
+template packages may be affected.
+
+This weekly replaces the template package with exp/template.
+The original template package is still available as old/template.
+The old/template package is deprecated and will be removed at some point
+in the future. The Go tree has been updated to use the new template package.
+We encourage users of the old template package to switch to the new one.
+Code that uses template or exp/template will need to change
+its import lines to "old/template" or "template", respectively.
+
+The http package's URL parsing and query escaping code (such as ParseURL and
+URLEscape) has been moved to the new url package, with several simplifications
+to the names. Client code can be updated automatically with gofix.
+
+* asn1: support unmarshaling structs with int32 members (thanks Dave Cheney).
+* build: allow builds without cgo or hg,
+	support versioning without hg (thanks Gustavo Niemeyer).
+* builtin: add documentation for builtins.
+* cgo: omit duplicate symbols in writeDefs (thanks Julian Phillips).
+* misc: add support for OpenBSD.
+* doc/codewalk: new Markov chain codewalk.
+* exp/norm: added trie lookup code and associated tests,
+	generate trie struct in triegen.go for better encapsulation,
+	implementation of decomposition and composing functionality.
+* exp/template/html: new experimental package for auto-escaping HTML templates.
+* exp/template: don't panic on range of nil interface,
+	rename Parse*File and Parse*Files for clarity,
+	support field syntax on maps (thanks Gustavo Niemeyer), and
+	many other fixes and changes.
+* gc: implement nil chan and nil map support.
+* go/parser: range clause and type literal fixes.
+* godoc: show all top-level decls for (fake) package builtin.
+* goinstall: really report all newly-installed public packages.
+* html: parse more malformed tags.
+* http: fix ParseMultipartForm after MultipartReader error,
+	fix side effects in DefaultTransport's RoundTrip method (thanks Dave Grijalva).
+* json: fix []unmarshaler case.
+* ld: make addaddrplus4 static (thanks Lucio De Re).
+* syscall: move multicast address handling to the net package.
+* net: Plan 9 support (thanks Fazlul Shahriar),
+	add SetTimeout to Listener interface (thanks Aleksandar Dezelin),
+	add multicast stubs for OpenBSD,
+	return correct local address for an accepted TCP connection (thanks Mikio Hara).
+* reflect: panic on Invalid Interface call (thanks Gustavo Niemeyer).
+* rpc: implement ServeRequest to synchronously serve a single request,
+	make Server.Mutex unexported.
+* runtime: better checks for syscall.NewCallback parameter (thanks Alex Brainman),
+	correct SEH installation during callbacks (thanks Alex Brainman),
+	fix GC bitmap corruption,
+	fix pseudo-randomness on some selects (thanks Gustavo Niemeyer).
+* syscall: make LazyDLL/LazyProc.Mutex unexported.
+* test: allow multiple patterns in errchk,
+	new nil semantics.
+* time: take fractional seconds even if not in the format string.
+* url: new package.
+* utf8: rename some internal constants to remove leading underscores.
+* xml: escape string chardata in xml.Marshal.
+</pre>
+
+<h2 id="2011-08-10">2011-08-10</h2>
+
+<pre>
+This weekly contains performance improvements and bug fixes.
+
+There are no outward-facing changes, but imports of the old-style
+container/vector package have also been removed from the core library (thanks
+John Asmuth, Kyle Consalus).
+
+Other changes:
+
+* 5g: fix set but not used error (thanks Dave Cheney).
+* cmd/ld: Corrected mismatched print formats and variables (thanks Lucio De Re).
+* errchk: add -0 flag.
+* exp/norm: fix build by adding a test placeholder,
+	maketables tool for generating tables for normalization.
+* exp/template: bug fixes,
+	ensure that a valid Set is returned even on error (thanks Roger Peppe),
+	make index on maps return zero when key not present (thanks Roger Peppe),
+	split the parse tree into a separate package exp/template/parse,
+	add url query formatting filter.
+* faq: lots of small tweaks plus a couple of new discussions,
+	variant types, unions.
+* fmt: call UpdateMemStats in malloc counter.
+* go/build: use GOBIN as binary path for GOROOT.
+* gob: add UpdateMemStats calls to malloc counter,
+	avoid a couple of init-time allocations,
+	don't invoke GobEncoder on zero values.
+* gofmt: update test script so 'make test' succeeds.
+* html: parse doctype tokens; merge adjacent text nodes.
+* http: add more MPEG-4 MIME types to sniffer, and disable MP4 sniffing,
+	add test to serve content in index.html (thanks Yasuhiro Matsumoto),
+	configurable and default request header size limit,
+	correct format flags when printing errors in tests (thanks Alex Brainman),
+	correct path to serve index.html (thanks Yasuhiro Matsumoto),
+* ld: add one empty symbol into pe to make dumpbin works (thanks Wei Guangjing),
+	fail linking if the top-level package is not main.
+* misc/vim: godoc command (thanks Yasuhiro Matsumoto).
+* net: add support for openbsd (thanks Joel Sing),
+	fix /proc/net/igmp,igmp6 reading bug on linux (thanks Mikio Hara),
+	implement windows LookupMX and LookupAddr (thanks Mikio Hara),
+	sort SRV records before returning from LookupSRV (thanks Alex Brainman),
+* os: add support for openbsd (thanks Joel Sing).
+* runtime: add more specialized type algorithms,
+	correct Note documentation,
+	faster chan creation on Linux/FreeBSD/Plan9,
+	openbsd amd64 runtime support (thanks Joel Sing),
+	remove unnecessary locking (thanks Hector Chu).
+* scanner: correct error position for illegal UTF-8 encodings.
+* syscall: delay load of dll functions on Windows (thanks Alex Brainman),
+	move BSD mmap syscall (thanks Joel Sing),
+	update routing message support for BSD variants (thanks Mikio Hara).
+* test/bench: note changes after recent improvements to locking and runtime.
+* time: add nanoseconds to the Time structure,
+	parse and format fractional seconds.
+</pre>
+
+<h2 id="2011-07-29">2011-07-29</h2>
+
+<pre>
+This weekly contains performance improvements and many bug fixes.
+
+* 6l: OpenBSD support.
+* archive/zip: handle zip files with more than 65535 files,
+	more efficient reader and bug fix.
+* big: refine printf formatting and optimize string conversion.
+* build: fixes for mingw-w64 (thanks Wei Guangjing),
+	miscellaneous fixes.
+* cgo: add GoBytes, fix gmp example.
+* exp/norm: API for normalization library.
+* exp/regexp: implement regexp API using exp/regexp/syntax.
+* exp/template: more tweaks and fixes, convert the tree to use exp/template.
+* fmt: handle precision 0 format strings in standard way.
+* gc: a raft of bug fixes.
+* go/parser: report illegal label declarations at ':'.
+* gob: send empty but non-nil maps.
+* godoc: allow form feed in text files,
+	app engine configuration and updated documentation.
+* goinstall: abort and warn when using any url scheme, not just 'http://',
+	write to goinstall.log in respective GOPATH.
+* html: handle character entities without semicolons (thanks Andrew Balholm),
+	parse misnested formatting tags according to the HTML5 spec,
+	sync html/testdata/webkit with upstream WebKit.
+* http: content-type sniffing,
+	make serveFile redirects relative (thanks Andrew Balholm),
+	other fixes.
+* image/tiff: Do not panic when RowsPerStrip is missing (thanks Benny Siegert).
+* io/ioutil: improve performance of ioutil.Discard (thanks Mike Solomon).
+* ld: detect all import cycles,
+	ldpe fixes (thanks Wei Guangjing),
+	remove cseekend and redo pe writing (thanks Alex Brainman),
+	remove overlap of ELF sections on dynamic binaries (thanks Gustavo Niemeyer).
+* net/textproto: avoid 1 copy in ReadLine, ReadContinuedLine.
+* net: fix memory corruption in windows *netFD.ReadFrom (thanks Alex Brainman).
+* runtime: faster entersyscall/exitsyscall,
+	fix scheduler races (thanks Hector Chu),
+	higher goroutine arg limit, clearer error,
+	parallelism-related performance optimizations and fixes,
+	replace byte-at-a-time zeroing loop with memclr (thanks Quan Yong Zhai).
+* sort: fix Float64Slice sort; NaN smallest value (thanks Florian Uekermann).
+* src: removed some uses of container/vector (thanks John Asmuth).
+* sync: improve Once fast path.
+* unicode: fix case-mapping for roman numerals.
+</pre>
+
+<h2 id="2011-07-19">2011-07-19</h2>
+
+<pre>
+This weekly snapshot includes a language change and a change to the image
+package that may require changes to client code.
+
+The language change is that an "else" block is now required to have braces
+except if the body of the "else" is another "if". Since gofmt always puts those
+braces in anyway, programs will not be affected unless they contain "else for",
+"else switch", or "else select". Run gofmt to fix any such programs.
+
+The image package has had significant changes made to the Pix field of struct
+types such as image.RGBA and image.NRGBA. The image.Image interface type has
+not changed, though, and you should not need to change your code if you don't
+explicitly refer to Pix fields. For example, if you decode a number of images
+using the image/jpeg package, compose them using image/draw, and then encode
+the result using image/png, then your code should still work as before.
+
+If you do explicitly refer to Pix fields, there are two changes.  First, Pix[0]
+now refers to the pixel at Bounds().Min instead of the pixel at (0, 0). Second,
+the element type of the Pix slice is now uint8 instead of image.FooColor. For
+example, for an image.RGBA, the channel values will be packed R, G, B, A, R, G,
+B, A, etc. For 16-bits-per-channel color types, the pixel data will be stored
+as big-endian uint8s.
+
+Most Pix field types have changed, and so if your code still compiles after
+this change, then you probably don't need to make any further changes (unless
+you use an image.Paletted's Pix field). If you do get compiler errors, code
+that used to look like this:
+
+	// Get the R, G, B, A values for the pixel at (x, y).
+	var m *image.RGBA = loadAnImage()
+	c := m.Pix[y*m.Stride + x]
+	r, g, b, a := c.R, c.G, c.B, c.A
+
+should now look like this:
+
+	// Get the R, G, B, A values for the pixel at (x, y).
+	var m *image.RGBA = loadAnImage()
+	i := (y-m.Rect.Min.Y)*m.Stride + (x-m.Rect.Min.X)*4
+	r := m.Pix[i+0]
+	g := m.Pix[i+1]
+	b := m.Pix[i+2]
+	a := m.Pix[i+3]
+
+This image package change will not be fixed by gofix: how best to translate
+code into something efficient and idiomatic depends on the surrounding context,
+and is not easily automatable. Examples of what to do can be found in the
+changes to image/draw/draw.go in http://codereview.appspot.com/4675076/
+
+Other changes:
+* 6l: change default output name to 6.out.exe on windows (thanks Alex Brainman).
+* archive/zip: add Writer,
+	add Mtime_ns function to get modified time in sensible format.
+* cc, ld, gc: fixes for Plan 9 build (thanks Lucio De Re).
+* cgi: close stdout reader pipe when finished.
+* cgo: add missing semicolon in generated struct,
+	windows amd64 port (thanks Wei Guangjing).
+* codereview: fix for Mercurial 1.9.
+* dashboard: list "most installed this week" with rolling count.
+* debug/elf: read ELF Program headers (thanks Matthew Horsnell).
+* debug/pe: fixes ImportedSymbols for Win64 (thanks Wei Guangjing).
+* debug/proc: remove unused package.
+* doc/talks/io2010: update with gofix and handle the errors.
+* exp/eval, exp/ogle: remove packages eval and ogle.
+* exp/regexp/syntax: add Prog.NumCap.
+* exp/template: API changes, bug fixes, and tweaks.
+* flag: make -help nicer.
+* fmt: Scan(&amp;int) was mishandling a lone digit.
+* gc: fix closure bug,
+	fix to build with clang (thanks Dave Cheney),
+	make size of struct{} and [0]byte 0 bytes (thanks Robert Hencke),
+	some enhancements to printing debug info.
+* gif: fix local color map and coordinates.
+* go/build: fixes for windows (thanks Alex Brainman),
+	include processing of .c files for cgo packages (thanks Alex Brainman),
+	less aggressive failure when GOROOT not found.
+* go/printer: changed max. number of newlines from 3 to 2.
+* gob: register more slice types (thanks Bobby Powers).
+* godoc: support for file systems stored in .zip files.
+* goinstall, dashboard: Google Code now supports git (thanks Tarmigan Casebolt).
+* hash/crc32: add SSE4.2 support.
+* html: update section references in comments to the latest HTML5 spec.
+* http: drain the pipe output in TestHandlerPanic to avoid logging deadlock,
+	fix Content-Type of file extension (thanks Yasuhiro Matsumoto),
+	implement http.FileSystem for zip files,
+	let FileServer work when path doesn't begin with a slash,
+	support for periodic flushing in ReverseProxy.
+* image/draw: add benchmarks.
+* json: add omitempty struct tag option,
+	allow using '$' and '-' as the struct field's tag (thanks Mikio Hara),
+	encode \r and \n in strings as e.g. "\n", not "\u000A" (thanks Evan Martin),
+	escape < and > in any JSON string for XSS prevention.
+* ld: allow seek within write buffer<
+	add a PT_LOAD PHDR entry for the PHDR (thanks David Anderson).
+* net: windows/amd64 port (thanks Wei Guangjing).
+* os: plan9: add Process.Signal as a way to send notes (thanks Yuval Pavel Zholkover).
+* os: don't permit Process.Signal after a successful Wait.
+* path/filepath: fixes for windows paths (thanks Alex Brainman).
+* reflect: add Value.NumMethod,
+	panic if Method index is out of range for a type.
+* runtime: faster entersyscall, exitsyscall,
+	fix panic for make(chan [0]byte),
+	fix subtle select bug (thanks Hector Chu),
+	make goc2c build on Plan 9 (thanks Lucio De Re),
+	make TestSideEffectOrder work twice,
+	several parallelism-related optimizations and fixes,
+	stdcall_raw stack 16byte align for Win64 (thanks Wei Guangjing),
+	string-related optimizations (thanks Quan Yong Zhai),
+	track running goroutine count.
+* strconv: handle [-+]Infinity in atof.
+* sync: add fast paths to WaitGroup,
+	improve RWMutex performance.
+* syscall: add Flock on Linux,
+	parse and encode SCM_RIGHTS and SCM_CREDENTIALS (thanks Albert Strasheim).
+</pre>
+
+<h2 id="2011-07-07">2011-07-07 (<a href="release.html#r59">base for r59</a>)</h2>
+
+<pre>
+This weekly snapshot includes changes to the strings, http, reflect, json, and
+xml packages. Code that uses these packages will need changes. Most of these
+changes can be made automatically with gofix.
+
+The strings package's Split function has itself been split into Split and
+SplitN. SplitN is the same as the old Split. The new Split is equivalent to
+SplitN with a final argument of -1.
+
+The http package has a new FileSystem interface that provides access to files.
+The FileServer helper now takes a FileSystem argument instead of an explicit
+file system root. By implementing your own FileSystem you can use the
+FileServer to serve arbitrary data.
+
+The reflect package supports a new struct tag scheme that enables sharing of
+struct tags between multiple packages.
+In this scheme, the tags must be of the form:
+        key:"value" key2:"value2"
+reflect.StructField's Tag field now has type StructTag (a string type), which
+has method Get(key string) string that returns the associated value.
+Clients of json and xml will need to be updated. Code that says
+        type T struct {
+                X int "name"
+        }
+should become
+        type T struct {
+                X int `json:"name"`  // or `xml:"name"`
+        }
+Use govet to identify struct tags that need to be changed to use the new syntax.
+
+Other changes:
+* 5l, 6l, 8l: drop use of ed during build.
+* asn1: support T61 and UTF8 string.
+* bufio: do not cache Read errors (thanks Graham Miller).
+* build: make version.bash aware of branches.
+* cgi: don't depend on CGI.pm for tests.
+* codereview: make --ignore_hgpatch_failure work again,
+	restrict sync to default branch.
+* crypto/openpgp: add ability to reserialize keys,
+	bug fix (thanks Gideon Jan-Wessel Redelinghuys).
+* crypto/tls: fix generate_cert.go.
+* crypto/x509: prevent chain cycles in Verify.
+* csv: new package.
+* doc: remove ed from apt-get package list.
+* docs: fold the prog.sh scripting from makehtml into htmlgen itself.
+* ebnflint: better handling of stdin.
+* exp/regexp/syntax: new experimental RE2-based regexp implementation.
+* exp/template: a new experimental templating package.
+* fmt: add SkipSpace to fmt's ScanState interface.
+* fmt: rename errno and error to err for doc consistency.
+* gc: avoid package name ambiguity in error messages,
+	fix package quoting logic,
+	fixes for Plan 9 (thanks Lucio De Re).
+* go/build: evaluate symlinks before comparing path to GOPATH.
+* gob: use exported fields in structs in the package documentation.
+* godoc: ignore directories that begin with '.',
+	search GOPATH for documentation.
+* gofix: os/signal, path/filepath, and sort fixes (thanks Robert Hencke),
+* goinstall: add support for generic hosts (thanks Julian Phillips),
+	only report successfully-installed packages to the dashboard,
+	try to access via https (thanks Yasuhiro Matsumoto).
+* gotest: add -test.benchtime and -test.cpu flags.
+* html: fixes and improvements (thanks Yasuhiro Matsumoto).
+* http/cgi: add Handler.Dir to specify working directory (thanks Yasuhiro Matsumoto).
+* http: add StripPrefix handler wrapper,
+	assume ContentLength 0 on GET requests,
+	better handling of 0-length Request.Body,
+	do TLS handshake explicitly before copying TLS state,
+	document that ServerConn and ClientConn are low-level,
+	make NewChunkedReader public (thanks Andrew Balholm),
+	respect Handlers setting Connection: close in their response.
+* image: more tests, Paletted.Opaque optimization.
+* io.WriteString: if the object has a WriteString method, use it (thanks Evan Shaw).
+* ld: elide the Go symbol table when using -s (thanks Anthony Martin).
+* ld: fix ELF strip by removing overlap of sections (thanks Gustavo Niemeyer).
+* mime/multipart: parse LF-delimited messages, not just CRLF.
+* mime: permit lower-case media type parameters (thanks Pascal S. de Kloe).
+* misc/dashboard: new features and improvements (not yet deployed).
+* misc/emacs: update list of builtins (thanks Quan Yong Zhai).
+* misc/vim: allow only utf-8 for file encoding (thanks Yasuhiro Matsumoto).
+* os: fix documentation for FileInfo.Name,
+	simplify WriteString,
+	use a different symbol from syscall in mkunixsignals.sh.
+* path/filepath: enable TestWalk to run on windows (thanks Alex Brainman).
+* reflect: add MethodByName,
+	allow Len on String values.
+* regexp: document that Regexp is thread-safe.
+* runtime/cgo: check for errors from pthread_create (thanks Albert Strasheim).
+* runtime: add Semacquire/Semrelease benchmarks,
+	improved Semacquire/Semrelease implementation,
+	windows/amd64 port (thanks Wei Guangjing).
+* sync: add fast path to Once,
+	improve Mutex to allow successive acquisitions,
+	new and improved benchmarks.
+* syscall: regenerate zerrors for darwin/linux/freebsd,
+	support for tty options in StartProcess (thanks Ken Rockot).
+* testing: make ResetTimer not start/stop the timer,
+	scale benchmark precision to 0.01ns if needed.
+* time: zero-pad two-digit years.
+* unicode/maketables: update debugging data.
+* windows: define and use syscall.Handle (thanks Wei Guangjing).
+* xml: add Marshal and MarshalIndent.
+</pre>
+
+<h2 id="2011-06-23">2011-06-23</h2>
+
+<pre>
+This snapshot includes a language change that restricts the use of goto.
+In essence, a "goto" statement outside a block cannot jump to a label inside
+that block. Your code may require changes if it uses goto.
+This changeset shows how the new rule affected the Go tree:
+	http://code.google.com/p/go/source/detail?r=dc6d3cf9279d
+
+The os.ErrorString type has been hidden. If your code uses os.ErrorString it
+must be changed. Most uses of os.ErrorString can be replaced with os.NewError.
+
+Other changes:
+* 5c: do not use R9 and R10.
+* 8l: more fixes for Plan 9 (thanks Lucio De Re).
+* build: Make.ccmd: link with mach lib (thanks Joe Poirier).
+* build: exclude packages that fail on Plan 9 (thanks Anthony Martin).
+* cc: nit: silence comment warnings (thanks Dave Cheney).
+* codereview.py: note that hg change -d abandons a change list (thanks Robert Hencke).
+* crypto/openpgp: add ElGamal support.
+* doc/faq: add question about converting from []T to []interface{}.
+* doc: Effective Go: fix variadic function example (thanks Ben Lynn).
+* exec: LookPath should not search %PATH% for files like c:cmd.exe (thanks Alex Brainman),
+        add support for Plan 9 (thanks Anthony Martin),
+        better error message for windows LookPath (thanks Alex Brainman).
+* fmt: catch panics from calls to String etc.
+* gc: descriptive panic for nil pointer -&gt; value method call,
+        implement goto restriction,
+        unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr.
+* go/build: include Import objects in Script Inputs.
+* godefs: rudimentary tests (thanks Robert Hencke).
+* goinstall: refactor and generalize repo handling code (thanks Julian Phillips),
+        temporarily use Makefiles by default (override with -make=false).
+* gopprof: update list of memory allocators.
+* http: add Server.ListenAndServeTLS,
+        buffer request.Write,
+        fix req.Cookie(name) with cookies in one header,
+        permit handlers to explicitly remove the Date header,
+        write Header keys with empty values.
+* image: basic test for the 16-bits-per-color-channel types.
+* io: clarify Read, ReadAt, Copy, Copyn EOF behavior.
+* ld: don't attempt to build dynamic sections unnecessarily (thanks Gustavo Niemeyer).
+* libmach: fix disassembly of FCMOVcc and FCOMI (thanks Anthony Martin),
+        fix tracing on linux (for cov) (thanks Anthony Martin).
+* mime: fix RFC references (thanks Pascal S. de Kloe).
+* misc/gobuilder: run make single-threaded on windows (thanks Alex Brainman).
+* misc/godashboard: Accept sub-directories for goinstall's report (thanks Yasuhiro Matsumoto).
+* nacl, tiny: remove vestiges (thanks Robert Hencke).
+* net, syscall: interface for windows (thanks Yasuhiro Matsumoto).
+* os: change Waitmsg String method to use pointer receiver (thanks Graham Miller).
+* runtime: don't use twice the memory with grsec-like kernels (thanks Gustavo Niemeyer),
+* spec: disallow goto into blocks.
+* sync: restore GOMAXPROCS during benchmarks.
+* syscall: add LSF support for linux (thanks Mikio Hara),
+        add socket control message support for darwin, freebsd, linux (thanks Mikio Hara),
+        add tty support to StartProcess (thanks Ken Rockot),
+        fix build for Sizeof change.
+* test: test of goto restrictions.
+* time: add support for Plan 9 (thanks Anthony Martin).
+</pre>
+
+<h2 id="2011-06-16">2011-06-16</h2>
+
+<pre>
+This snapshot includes changes to the sort and image/draw packages that will
+require changes to client code.
+
+The sort.IntArray type has been renamed to IntSlice, and similarly for
+StringArray and Float64Array.
+
+The image/draw package's Draw function now takes an additional argument,
+a compositing operator. If in doubt, use draw.Over.
+
+Other changes:
+* build: fix header files for Plan 9 (thanks Lucio De Re).
+* cgo: handle new Apple LLVM-based gcc from Xcode 4.2.
+* crypto/openpgp: add ability to encrypt and sign messages.
+* doc/gopher: add goggled gopher logo for App Engine.
+* doc: Update notes for 3-day Go course.
+* exec: make LookPath work when PATHEXT var not set on Windows (thanks Alex Brainman).
+* exp/regexp/syntax: syntax data structures, parser, escapes, character classes.
+* exp/template: lexical scanner for new template package.
+* fmt: debugging formats for characters: %+q %#U.
+* gc: frame compaction for arm,
+        handle go print() and go println(),
+        work around goto bug.
+* go/build: fixes, self-contained tests.
+* go/printer, gofmt: print "select {}" on one line.
+* godoc: replace OS file system accesses in favor of a FileSystem interface.
+* gofix: fix inconsistent indentation in help output (thanks Scott Lawrence).
+* goinstall: use go/build package to scan and build packages.
+* http/spdy: improve error handling (thanks William Chan).
+* http: use runtime/debug.Stack() to dump stack trace on panic.
+* ld: dwarf emit filenames in debug_line header instead of as extended opcodes,
+        fix link Windows PE __declspec(dllimport) symbol (thanks Wei Guangjing),
+        make .rodata section read-only (thanks Gustavo Niemeyer).
+* mail: decode RFC 2047 "B" encoding.
+* mime/multipart: remove temp files after tests on Windows (thanks Alex Brainman).
+* net: export all fields in Interface (thanks Mikio Hara),
+        rearrange source to run more tests on Windows (thanks Alex Brainman),
+        sendfile for win32 (thanks Yasuhiro Matsumoto).
+* os: Plan 9, fix OpenFile &amp; Chmod, add Process.Kill (thanks Yuval Pavel Zholkover).
+* runtime: fix Plan 9 "lingering goroutines bug" (thanks Yuval Pavel Zholkover).
+* spec: clarify rules for append, scope rules for :=,
+        specify constant conversions,
+        unsafe.Alignof/Offsetof/Sizeof return uintptr.
+* syscall, os, exec: add *syscall.SysProcAttr field to os.ProcAttr and exec.Cmd.
+* syscall: add ptrace on darwin (thanks Jeff Hodges),
+        mksyscall_windows.pl should output unix newline (thanks Yasuhiro Matsumoto).
+        update BPF support for BSD variants (thanks Mikio Hara),
+        use strict in perl scripts (thanks Yasuhiro Matsumoto).
+* xml: handle non-string attribute fields (thanks Maxim Ushakov).
+</pre>
+
+<h2 id="2011-06-09">2011-06-09 (<a href="release.html#r58">base for r58</a>)</h2>
+
+<pre>
+This snapshot includes changes to the strconv, http, and exp/draw packages.
+Client code that uses the http or exp/draw packages will need to be changed,
+and code that uses strconv or fmt's "%q" formatting directive merits checking.
+
+The strconv package's Quote function now escapes only those Unicode code points
+not classified as printable by unicode.IsPrint. Previously Quote would escape
+all non-ASCII characters. This also affects the fmt package's "%q" formatting
+directive. The previous quoting behavior is still available via strconv's new
+QuoteToASCII function.   
+
+Most instances of the type map[string][]string in the http package have been
+replaced with the new Values type. The http.Values type has the Get, Set, Add,
+and Del helper methods to make working with query parameters and form values
+more convenient.
+
+The exp/draw package has been split into the image/draw and exp/gui packages.
+
+Other changes:
+* 8l, ld: initial adjustments for Plan 9 native compilation of 8l (thanks Lucio De Re).
+* arm: floating point improvements (thanks Fan Hongjian).
+* big: Improved speed of nat-to-string conversion (thanks Michael T. Jones),
+        Rat outputs the requested precision from FloatString (thanks Graham Miller),
+        gobs for big.Rats.
+* cgo: support non intel gcc machine flags (thanks Dave Cheney).
+* compress/lzw: do not use background goroutines,
+        reduce decoder buffer size from 3*4096 to 2*4096.
+* crypto/twofish: fix Reset index overflow bug.
+* crypto: reorg, cleanup and add function for generating CRLs.
+* exec: export the underlying *os.Process in Cmd.
+* gc: enable building under clang/2.9 (thanks Dave Cheney),
+        preparatory work toward escape analysis, compact stack frames.
+* go/build: new incomplete package for building go programs.
+* godefs: do not assume forward type references are enums (thanks Robert Hencke).
+* gofix, gofmt: fix diff regression from exec change.
+* html: improve attribute parsing, note package status.
+* http: don't fail on accept hitting EMFILE,
+        fix handling of 0-length HTTP requests.
+* image/draw: fix clipping bug where sp/mp were not shifted when r.Min was.
+* image/gif: fix buglet in graphics extension.
+* image/tiff: support for bit depths other than 8 (thanks Benny Siegert).
+* ld: fix and simplify ELF symbol generation (thanks Anthony Martin)
+* libmach: use the standardized format for designated initializers (thanks Jeff Hodges)
+* mail: address list parsing.
+* net: add network interface identification API (thanks Mikio Hara),
+        fix bug in net.Interfaces: handle elastic sdl_data size correctly (thanks Mikio Hara).
+* netchan: added drain method to importer (thanks David Jakob Fritz).
+* os: add Process.Kill and Process.Signal (thanks Evan Shaw),
+        fix Getenv for Plan 9 (thanks Yuval Pavel Zholkover).
+* runtime: improve memmove by checking memory overlap (thanks Quan Yong Zhai),
+        support for Linux grsecurity systems (thanks Jonathan Mark).
+* spec: handle a corner case for shifts.
+* testing: check that tests and benchmarks do not affect GOMAXPROCS (thanks Dmitriy Vyukov).
+* unicode: add IsPrint and related properties, general categories.
+</pre>
+
+<h2 id="2011-06-02">2011-06-02</h2>
+
+<pre>
+This snapshot includes changes to the exec package that will require changes
+to client code.
+
+The exec package has been re-designed with a more convenient and succinct API.
+This code:
+	args := []string{"diff", "-u", "file1.txt", "file2.txt"}
+	p, err := exec.Run("/usr/bin/diff", args, os.Environ(), "",
+		exec.DevNull, exec.Pipe, exec.DevNull)
+	if err != nil {
+		return nil, err
+	}
+	var buf bytes.Buffer
+	io.Copy(&amp;buf, p.Stdout)
+	w, err := p.Wait(0)
+	p.Close()
+	if err != nil {
+		return nil, err
+	}
+	return buf.Bytes(), err
+can be rewritten as:
+	return exec.Command("diff", "-u", "file1.txt", "file2.txt").Output()
+See the exec package documentation for the details ("godoc exec").
+
+By setting the GOPATH environment variable you can use goinstall to build and
+install your own code and external libraries outside of the Go tree (and avoid
+writing Makefiles).
+See the goinstall command documentation for the details ("godoc goinstall").
+
+Other changes:
+* 5g: alignment fixes.
+* 6l, 8l: fix Mach-O binaries with many dynamic libraries.
+* 8l: emit resources (.rsrc) in Windows PE.  (thanks Wei Guangjing).
+* asn1: fix marshaling of empty optional RawValues (thanks Mikkel Krautz).
+* big: make Int and Rat implement fmt.Scanner (thanks Evan Shaw),
+	~8x faster number scanning,
+	remove some unnecessary conversions.
+* cgo: restrict #cgo directives to prevent shell expansion (thanks Gustavo Niemeyer),
+	support pkg-config for flags and libs (thanks Gustavo Niemeyer).
+* compress/flate: fix Huffman tree bug,
+	do not use background goroutines.
+* crypto/openpgp: add support for symmetrically encrypting files.
+* crypto/tls/generate_cert.go: fix misspelling of O_CREATE.
+* dashboard: send notification emails when the build breaks.
+* doc: mention go/printer instead of container/vector in effective go,
+	put Release History link on 'Documentation' page,
+	put Weekly Snapshot History link on 'Contributing' page.
+* encoding/base64: add DecodeString and EncodeToString.
+* encoding/binary: add a non-reflect fast path for Read,
+	add a non-reflect fast path for Write.
+* encoding/hex: add hex dumping.
+* encoding/line: delete package. Its functionality is now in bufio.
+* filepath: Abs must always return a clean path (thanks Gustavo Niemeyer).
+* fmt: fix bug in UnreadRune,
+	make %q work for integers, printing a quoted character literal,
+	return EOF when out of input in Scan*.
+* gc: check parameter declarations in interface fields (thanks Anthony Martin),
+	disallow ... in type conversions (thanks Anthony Martin),
+	do not force heap allocation on referencing outer variable in a closure,
+	fix m[x], _ = y.(T),
+	implement new shift rules,
+	patch y.tab.c to fix build when using Bison 2.5,
+	relax assignability of method receivers (thanks Anthony Martin),
+	typecheck the whole tree before walking.
+* go/scanner: don't allow "0x" and "0X" as integers (thanks Evan Shaw).
+* gobuilder: fixes for windows (thanks Alex Brainman).
+* godoc: basic setup for running godoc on local app engine emulator,
+	display advert for the package dashboard on package list page.
+* goinstall: fixes for windows (thanks Alex Brainman),
+	more verbose logging with -v.
+* gotest, pkg/exec: use bash to run shell scripts on windows (thanks Alex Brainman).
+* http/spdy: redo interfaces, flesh out implementation &amp; frame types (thanks William Chan).
+* http: Transport hook to register non-http(s) protocols,
+	add client+server benchmark,
+	catch Handler goroutine panics,
+	fix Set-Cookie date parsing,
+	have client set Content-Length when possible,
+	let Transport use a custom net.Dial function,
+	propagate Set-Cookie in reverse proxy,
+	ServeFile shouldn't send Content-Length when Content-Encoding is set.
+* image: add a SubImage method.
+* image/gif: simplify blockReader.Read.
+* image/png: fix encoding of images that don't start at (0, 0).
+* io, net, http: sendfile support.
+* io: add ByteScanner, RuneScanner interfaces.
+* ld: add -w to disable dwarf, make errors obviously from dwarf.
+* mail: new package.
+* mime/multipart: misc code/doc fixes.
+* misc/cgo: remove reference to 'destroy' function.
+* misc/emacs: don't select the mark after gofmt (thanks Eric Eisner).
+* misc/gophertool: Chrome extension to aid in Go development
+* misc/vim: limit Fmt command to Go buffers (thanks Yasuhiro Matsumoto).
+* net: if we stop polling, remove any pending events for the socket,
+	update IP multicast socket options (thanks Mikio Hara).
+* os: Fix test to work on Solaris,
+	fix Readdir(0) on EOF,
+	fix Readdir, Readdirnames (thanks Yuval Pavel Zholkover),
+	fix os.MkdirAll with backslash path separator (thanks Yasuhiro Matsumoto),
+	handle OpenFile flag parameter properly on Windows (thanks Alex Brainman).
+* path/filepath: remove string constants.
+* pkg: spelling tweaks, I-Z (thanks Robert Hencke).
+* quietgcc: fix typo, respect $TMPDIR.
+* runtime: do not garbage collect windows callbacks (thanks Alex Brainman),
+	fix mmap error return on linux (thanks Dmitry Chestnykh),
+	reset GOMAXPROCS during tests,
+	save cdecl registers in Windows SEH handler (thanks Alexey Borzenkov).
+* spec: be precise with the use of the informal ellipsis and the Go token,
+	clarify rules for shifts.
+* strconv: add QuoteRune; analogous to Quote but for runes rather than strings.
+* strings: implement UnreadByte, UnreadRune.
+* sync: always wake up sleeping goroutines on Cond.Signal (thanks Gustavo Niemeyer).
+* sync/atomic: fix check64.
+* syscall: add ProcAttr field to pass an unescaped command line on windows (thanks Vincent Vanackere),
+	add routing messages support for Linux and BSD (thanks Mikio Hara).
+* template: fixes and clean-ups (thanks Gustavo Niemeyer).
+* time: fix Format bug: midnight/noon are 12AM/PM not 0AM/PM.
+* unicode: make the tables smaller.
+</pre>
+
+<h2 id="2011-05-22">2011-05-22</h2>
+
+<pre>
+This snapshot includes changes to the http package that will require changes to
+client code.
+
+The finalURL return value of the Client.Get method has been removed.
+This value is now accessible via the new Request field on http.Response.
+For example, this code:
+
+	res, finalURL, err := http.Get(...)
+
+should be rewritten as:
+
+	res, err := http.Get(...)
+	if err != nil {
+		// ...
+	}
+	finalURL := res.Request.URL.String()
+
+Uses of http.Get that assign the finalURL value to _ can be rewritten
+automatically with gofix.
+
+This snapshot also includes an optimization to the append function that makes it
+between 2 and 5 times faster in typical use cases.
+
+Other changes:
+* 5a, 6a, 8a, cc: remove old environment variables.
+* 5c, 5g: fix build with too-smart gcc.
+* 5l, 8l: add ELF symbol table to binary.
+* 5l: delete pre-ARMv4 instruction implementations, other fixes.
+* 6l, 8l: emit windows dwarf sections like other platforms (thanks Alex Brainman).
+* 6l: fix emit windows dwarf sections (thanks Wei Guangjing).
+* 8g: fix conversion from float to uint64 (thanks Anthony Martin).
+* Make.cmd: create TARGDIR if necessary (thanks Gustavo Niemeyer).
+* asn1: add big support.
+* big: add Int methods to act on numbered bits (thanks Roger Peppe),
+	better support for string conversions,
+	support %v and # modifier, better handling of unknown formats.
+* cgi: export RequestFromMap (thanks Evan Shaw),
+	set Request.TLS and Request.RemoteAddr for children.
+* cgo: use packed struct to fix Windows behavior.
+* codereview: add release branch support,
+	fetch metadata using JSON API, not XML scraping,
+	handle 'null as missing field' in rietveld json.
+* compress/lzw: silently drop implied codes that are too large.
+* compress/zlib: actually use provided dictionary in NewWriterDict
+* crypto/openpgp: add key generation support,
+	change PublicKey.Serialize to include the header.
+* crypto/rand: add utility functions for number generation (thanks Anthony Martin).
+* crypto/tls: export the verified chains.
+* crypto/x509/crl: add package.
+* crypto/x509: export raw SubjectPublicKeyInfo,
+	support DSA public keys in X.509 certs,
+	support parsing and verifying DSA signatures (thanks Jonathan Allie).
+* doc/roadmap: put "App Engine support" under "Done".
+* doc: add I/O 2011 talks to talks/, docs.html, and front page.
+* effective go: explain about values/pointers in String() example,
+	update to new Open signature.
+* exp/draw: fast paths for drawing a YCbCr or an NRGBA onto an RGBA.
+* filepath: make EvalSymlinks work on Windows (thanks Alex Brainman).
+* flag: allow distinct sets of flags.
+* gc: fix type switch error message for invalid cases (thanks Lorenzo Stoakes),
+	fix unsafe.Sizeof,
+	preserve original expression for errors.
+* go/ast, go/doc, godoc: consider struct fields and interface methods when filtering ASTs.
+* go/ast: consider anonymous fields and set Incomplete bit when filtering ASTs,
+	properly maintain map of package global imports.
+* go/doc, godoc: when filtering for godoc, don't remove elements of a declaration.
+* go/parser: accept parenthesized receive operations in select statements,
+	always introduce an ast.Object when declaring an identifier.
+* go/printer, gofmt: fix alignment of "=" in const/var declarations,
+	fix formatting of expression lists (missing blank).
+* go/printer: added simple performance benchmark,
+	make tests follow syntactic restrictions,
+	more accurate comment for incomplete structs/interfaces,
+* go/token: faster FileSet.Position implementation.
+* go/types: type checker API + testing infrastructure.
+* godoc: added -index flag to enable/disable search index,
+	if there is no search box, don't run the respective JS code.
+* gofmt: update test.sh (exclude a file w/ incorrect syntax).
+* html: parse empty, unquoted, and single-quoted attribute values.
+* http/cgi: correctly set request Content-Type (thanks Evan Shaw),
+	pass down environment variables for IRIX and Solaris.
+* http/pprof: fix POST reading bug.
+* http/spdy: new incomplete package (thanks Ross Light).
+* http: Client.Do should follow redirects for GET and HEAD,
+	add Header.Write method (thanks Evan Shaw),
+	add Request.SetBasicAuth method,
+	add Transport.ProxySelector,
+	add http.SetCookie(ResponseWriter, *Cookie),
+	don't Clean query string in relative redirects,
+	fix FormFile nil pointer dereference on missing multipart form,
+	fix racy test with a simpler version,
+	fix two Transport gzip+persist crashes,
+	include Host header in requests,
+	make HEAD client request follow redirects (thanks Eivind Uggedal).
+	update cookie doc to reference new RFC 6265,
+	write cookies according to RFC 6265 (thanks Christian Himpel).
+* image/bmp: implement a BMP decoder.
+* image/gif: new package provides a GIF decoder.
+* image/jpeg: decode grayscale images, not just color images.
+	optimizations and tweaks.
+* image/png: encode paletted images with alpha channel (thanks Dmitry Chestnykh),
+	speed up opaque RGBA encoding.
+* image/tiff: implement a decoder (thanks Benny Siegert).
+* image: add type-specific Set methods and use them when decoding PNG,
+	make AlphaColor.Set conform to usual signature (thanks Roger Peppe),
+	png &amp; jpeg encoding benchmarks.
+* ld: do not emit reference to dynamic library named "",
+	fix alignment of rodata section on Plan 9 (thanks Anthony Martin),
+	make ELF binaries with no shared library dependencies static binaries.
+* make.bash: remove old bash version of gotest on Windows (thanks Alex Brainman).
+* make: add nuke target for C commands and libs (thanks Anthony Martin).
+* mime/multipart: add FileName accessor on Part,
+	add Writer,
+	return an error on Reader EOF, not (nil, nil).
+* misc/cgo/test: run tests.
+* misc/emacs: use UTF-8 when invoking gofmt as a subprocess (thanks Sameer Ajmani).
+* misc/vim: new Vim indentation script.
+* net, http: add and make use of IP address scope identification API (thanks Mikio Hara).
+* net: default to 127.0.0.1, not localhost, in TestICMP,
+	don't crash on unexpected DNS SRV responses,
+	enable SO_REUSEPORT on BSD variants (thanks Mikio Hara),
+	protocol family adaptive address family selection (thanks Mikio Hara),
+	re-enable wildcard listening (thanks Mikio Hara),
+	sort records returned by LookupSRV (thanks Gary Burd).
+* os: make Readdir &amp; Readdirnames return os.EOF at end,
+	make Setenv update C environment variables.
+* reflect: allow unexported key in Value.MapIndex.
+* runtime, sync/atomic: fix arm cas.
+* runtime: add newline to "finalizer already set" error (thanks Albert Strasheim),
+	handle out-of-threads on Linux gracefully (thanks Albert Strasheim),
+	fix function args not checked warning on ARM (thanks Dave Cheney),
+	make StackSystem part of StackGuard (thanks Alexey Borzenkov),
+	maybe fix Windows build broken by cgo setenv CL.
+* spec: clarify semantics of integer division,
+	clarify semantics of range clause,
+	fix error in production syntax,
+	narrow syntax for expression and select statements,
+	newlines cannot be used inside a char or "" string literal,
+	restricted expressions may still be parenthesized.
+* strings: make Reader.Read use copy instead of an explicit loop.
+* syscall: add Windows file mapping functions and constants (thanks Evan Shaw),
+	add IPv6 scope zone ID support (thanks Mikio Hara),
+	add netlink support for linux/386, linux/amd64, linux/arm (thanks Mikio Hara),
+	add Sendfile,
+	adjust freebsd syscalls.master URL properly (thanks Mikio Hara),
+	change Overlapped.HEvent type, it is a handle (thanks Alex Brainman).
+* syslog: fix skipping of net tests (thanks Gustavo Niemeyer).
+* template: support string, int and float literals (thanks Gustavo Niemeyer).
+* xml: fix reflect error.
+</pre>
+
+<h2 id="2011-04-27">2011-04-27 (<a href="release.html#r57">base for r57</a>)</h2>
+
+<pre>
+This snapshot includes revisions to the reflect package to make it more
+efficient, after the last weekly's major API update. If your code uses reflect
+it may require further changes, not all of which can be made automatically by
+gofix. For the full details of the change, see
+	http://codereview.appspot.com/4435042
+Also, the Typeof and NewValue functions have been renamed to TypeOf and ValueOf.
+
+Other changes:
+* 5c: make alignment rules match 5g, just like 6c matches 6g.
+* 8g, 8l: fix "set but not used" gcc error (thanks Fazlul Shahriar).
+* all-qemu.bash: remove DISABLE_NET_TESTS.
+* build: remove DISABLE_NET_TESTS.
+* builder: build multiple targets in parallel.
+* cgo: avoid "incompatible pointer type" warning (thanks Albert Strasheim).
+* codereview: add 'hg undo' command, various other fixes.
+* compress/flate: dictionary support.
+* compress/zlib: add FDICT flag in Reader/Writer (thanks Ross Light).
+* container/heap: fix circular dependency in test.
+* crypto/openpgp: better handling of keyrings.
+* crypto/rsa: support > 3 primes.
+* crypto/tls: add server-side OCSP stapling support.
+* crypto/x509: memorize chain building.
+* crypto: move certificate verification into x509.
+* dashboard: build most recent revision first.
+* doc: mention make version in install.html.
+* expvar: add Func for functions that return values that are JSON marshalable.
+* fmt: decrease recursion depth in tests to permit them to run under gccgo,
+	tweak the doc for %U.
+* gc: allow complex types to be receiver types (thanks Robert Hencke),
+	correct handling of unexported method names in embedded interfaces,
+	explain why invalid receiver types are invalid,
+	fix copy([]int, string) error message (thanks Quan Yong Zhai),
+	fix 'invalid recursive type' error (thanks Lorenzo Stoakes),
+	many bug fixes.
+* go spec: attempt at clarifying language for "append",
+	for map types, mention indexing operations.
+* go/types: update for export data format change.
+* gob: fix handling of indirect receivers for GobDecoders,
+	fix trivial bug in map marshaling,
+	have errorf always prefix the message with "gob: ",
+	test case for indirection to large field,
+	use new Implements and AssignableTo methods in reflect,
+	when decoding a string, allocate a string, not a []byte.
+* gobuilder: permit builders of the form goos-goarch-foo,
+	respect MAKEFLAGS if provided (thanks Dave Cheney).
+* godoc: use "search" input type for search box (thanks Dmitry Chestnykh).
+* gofix: add support for reflect rename.
+* gofmt: add -d (diff) (thanks David Crawshaw),
+	don't crash when rewriting nil interfaces in AST,
+	exclude test case that doesn't compile w/o errors,
+	gofmt test harness bug fix.
+* goinstall: support GOPATH; building and installing outside the Go tree,
+	support building executable commands.
+* gopack: fix prefix bug,
+	preserve safe flag when not adding unsafe objects to archive.
+* gotest: add timing, respect $GOARCH,
+	generate gofmt-compliant code.
+* http/cgi: copy some PATH environment variables to child,
+	improve Location response handling,
+	pass some default environment variables.
+* http/fcgi: new package (thanks Evan Shaw).
+* http: add NewRequest helper,
+	add MultipartForm, ParseMultipartForm, and FormFile to Request,
+	be clear when failing to connect to a proxy,
+	bug fixes and new tests,
+	consume request bodies before replying,
+	don't quote Set-Cookie Domain and Path (thanks Petar Maymounkov),
+	fix IP confusion in TestServerTimeouts,
+	handler timeout support,
+	ServerConn, ClientConn: add real Close (thanks Petar Maymounkov),
+	make Client redirect policy configurable,
+	put a limit on POST size,
+	reverse proxy handler.
+* image/jpeg: add an encoder,
+	decode to a YCbCr image instead of an RGBA image.
+* ioutil: add Discard.
+* json: keep track of error offset in SyntaxError.
+* ld: defend against some broken object files,
+	do not emit empty dwarf pe sections (thanks Alex Brainman),
+	fix 6l -d on Mac, diagnose invalid use of -d,
+	fix Plan 9 symbol table (thanks Anthony Martin),
+	remove MachoLoad limit.
+* make: prevent rm provoking 'text file busy' errors (thanks Lorenzo Stoakes).
+* mime/multipart: add ReadForm for parsing multipart forms,
+	limit line length to prevent abuse.
+* mime: RFC 2231 continuation / non-ASCII support,
+	bunch more tests, few minor parsing fixes.
+* misc/goplay: fix Tab and Shift+Enter in Firefox (thanks Dmitry Chestnykh).
+* net: disable one more external network test,
+	fix EAI_BADFLAGS error on freebsd (thanks Mikio Hara),
+	fix ParseIP (thanks Quan Yong Zhai),
+	fix dialgoogle_test.go (thanks Quan Yong Zhai),
+	try /etc/hosts before loading DNS config (thanks Dmitry Chestnykh),
+	use C library resolver on FreeBSD, Linux, OS X / amd64, 386.
+* os/user: new package to look up users.
+* os: Open with O_APPEND|O_CREATE to append on Windows (thanks Alex Brainman),
+	fix race in ReadAt/WriteAt on Windows (thanks Alex Brainman),
+	turn EPIPE exit into panic.
+* rc/env.bash: fix to build on windows under msys (thanks Joe Poirier).
+* reflect: allow Slice of arrays,
+	fix Copy of arrays (thanks Gustavo Niemeyer),
+	require package qualifiers to match during interface check,
+	add Type.Implements, Type.AssignableTo, Value.CallSlice,
+	make Set match Go.
+* rpc: allow the first argument of a method to be a value rather than a pointer,
+	run benchmarks over HTTP as well as direct network connections.
+* run.bash: remove redundant rebuilds.
+* runtime/plan9: warning remediation for Plan 9 (thanks Lucio De Re),
+* runtime: many bug fixes,
+	fix GOMAXPROCS vs garbage collection bug (thanks Dmitriy Vyukov),
+	fix mkversion to output valid path separators (thanks Peter Mundy),
+	more graceful out-of-memory crash,
+	require package qualifiers to match during interface check,
+	skip functions with no lines when building src line table,
+	turn "too many EPIPE" into real SIGPIPE.
+* src/pkg: make package doc comments consistently start with "Package foo".
+* syscall: Madvise and Mprotect for Linux (thanks Albert Strasheim),
+	Mlock, Munlock, Mlockall, Munlockall on Linux (thanks Albert Strasheim),
+	add BPF support for darwin/386, darwin/amd64 (thanks Mikio Hara),
+	correct Windows CreateProcess input parameters (thanks Alex Brainman),
+	fix Ftruncate under linux/arm5 (thanks Dave Cheney),
+	permit StartProcess to hide the executed program on windows (thanks Vincent Vanackere).
+* test/bench: update timings; moving to new machine.
+* time: support Irix 6 location for zoneinfo files.
+* tutorial: modernize the definition and use of Open,
+	replace the forever loops with finite counts in sieve programs.
+* websocket: include *http.Request in websocket.Conn.
+* xml: Parser hook for non-UTF-8 charset converters.
+</pre>
+
+<h2 id="2011-04-13">2011-04-13</h2>
+
+<pre>
+weekly.2011-04-13
+
+This weekly snapshot includes major changes to the reflect package and the
+os.Open function.  Code that uses reflect or os.Open will require updating,
+which can be done mechanically using the gofix tool.
+
+The reflect package's Type and Value types have changed.  Type is now an
+interface that implements all the possible type methods.  Instead of a type
+switch on a reflect.Type t, switch on t.Kind().  Value is now a struct value
+that implements all the possible value methods.  Instead of a type switch on a
+reflect.Value v, switch on v.Kind().  See the change for the full details:
+        http://code.google.com/p/go/source/detail?r=843855f3c026
+
+The os package's Open function has been replaced by three functions:
+        OpenFile(name, flag, perm) // same as old Open
+        Open(name) // same as old Open(name, O_RDONLY, 0)
+        Create(name) // same as old Open(name, O_RDWR|O_TRUNC|O_CREAT, 0666)
+
+To update your code to use the new APIs, run "gofix path/to/code".  Gofix can't
+handle all situations perfectly, so read and test the changes it makes before
+committing them.
+
+Other changes:
+* archive/zip: add func OpenReader, type ReadCloser (thanks Dmitry Chestnykh).
+* asn1: Implement correct marshaling of length octets (thanks Luit van Drongelen).
+* big: don't crash when printing nil ints.
+* bufio: add ReadLine, to replace encoding/line.
+* build: make the build faster, quieter.
+* codereview: automatically port old diffs forward,
+        drop Author: line on self-clpatch,
+        recognize code URL without trailing slash.
+* crypto/block: remove deprecated package.
+* crypto/des: new package implementating DES and TDEA (thanks Yasuhiro Matsumoto).
+* crypto/ecdsa, crypto/rsa: use io.ReadFull to read from random source (thanks Dmitry Chestnykh).
+* crypto/rsa: add 3-prime support,
+        add support for precomputing CRT values,
+        flip the CRT code over so that it matches PKCS#1.
+* crypto/x509: expose complete DER data (thanks Mikkel Krautz).
+* doc: new "Functions" codewalk (thanks John DeNero).
+* doc/roadmap: add sections on tools, packages.
+* fmt: allow %U for unsigned integers.
+* gc: fixes and optimizations.
+* go/printer, gofmt: use blank to separate import rename from import path.
+* go/scanner: better TokenString output.
+* go/types: new Go type hierarchy implementation for AST.
+* godashboard: show packages at launchpad.net (thanks Gustavo Niemeyer).
+* gofix: add -diff, various fixes and helpers.
+* gotest: fix a bug in error handling,
+        fixes for [^.]_test file pattern (thanks Peter Mundy),
+        handle \r\n returned by gomake on Windows (thanks Alex Brainman).
+* gotype: use go/types GcImporter.
+* govet: make name-matching for printf etc. case-insensitive.
+* http: allow override of Content-Type for ServeFile,
+        client gzip support,
+        do not listen on 0.0.0.0 during test,
+        flesh out server Expect handling + tests.
+* image/ycbcr: new package.
+* image: allow "?" wildcards when registering image formats.
+* io: fixes for Read with n > 0, os.EOF (thanks Robert Hencke).
+* ld: correct Plan 9 compiler warnings (thanks Lucio De Re),
+        ELF header function declarations (thanks Lucio De Re),
+        fix Mach-O X86_64_RELOC_SIGNED relocations (thanks Mikkel Krautz),
+        fix Mach-O bss bug (thanks Mikkel Krautz),
+        fix dwarf decoding of strings for struct's fieldnames (thanks Luuk van Dijk),
+        fixes and optimizations (25% faster).
+* log: generalize getting and setting flags and prefix.
+* misc/cgo/life: enable build and test on Windows (thanks Alex Brainman).
+* misc/vim: add plugin with Fmt command (thanks Dmitry Chestnykh),
+        update type highlighting for new reflect package.
+* net: disable multicast tests by default (thanks Dave Cheney),
+        sort records returned by LookupMX (thanks Corey Thomasson).
+* openpgp: Fix improper := shadowing (thanks Gustavo Niemeyer).
+* os: rename Open to OpenFile, add new Open, Create,
+        fix Readdir in Plan 9 (thanks Fazlul Shahriar).
+* os/inotify: use _test for test files, not _obj.
+* pkg/path: enable tests on Windows (thanks Alex Brainman).
+* reflect: new Type and Value API.
+* src/pkg/Makefile: trim per-directory make output except on failure.
+* syscall: Add DT_* and MADV_* constants on Linux (thanks Albert Strasheim),
+        add Mmap, Munmap on Linux, FreeBSD, OS X,
+        fix StartProcess in Plan 9 (thanks Fazlul Shahriar),
+        fix Windows Signaled (thanks Alex Brainman).
+* test/bench: enable build and test on Windows (thanks Alex Brainman).
+</pre>
+
+<h2 id="2011-04-04">2011-04-04</h2>
+
+<pre>
+This snapshot includes changes to the net package. Your code will require
+changes if it uses the Dial or LookupHost functions.
+
+The laddr argument has been removed from net.Dial, and the cname return value
+has been removed from net.LookupHost. The new net.LookupCNAME function can be
+used  to find the canonical host for a given name.  You can update your
+networking code with gofix.
+
+The gotest shell script has been replaced by a Go program, making testing
+significantly faster.
+
+Other changes:
+* asn1: extensions needed for parsing Kerberos.
+* bufio: Write and WriteString cleanup (thanks Evan Shaw).
+* bytes, strings: simplify Join (thanks Evan Shaw).
+* crypto/cipher: bad CTR IV length now triggers panic.
+* crypto/tls: extend NPN support to the client,
+	added X509KeyPair function to parse a Certificate from memory.
+* crypto/x509: parse Extended Key Usage extension (thanks Mikkel Krautz).
+* debug/gosym: remove need for gotest to run preparatory commands.
+* fmt: implement precision (length of input) values for %q: %.20q.
+* go/parser: fix scoping for local type declarations (thanks Roger Peppe),
+	package name must not be the blank identifier.
+* go/printer, gofmt: remove special case for multi-line raw strings.
+* gopack: add P flag to remove prefix from filename information.
+* gotest: add -test.timeout option,
+	replace the shell script with the compiled program written in go,
+	execute gomake properly on Windows (thanks Alex Brainman).
+* gotry: move into its own directory, separate from gotest.
+* gotype: support for more tests, added one new test.
+* http: add Transport.MaxIdleConnsPerHost,
+	use upper case hex in URL escaping (thanks Matt Jones).
+* httptest: add NewTLSServer.
+* misc/kate: reorganize, remove closed() (thanks Evan Shaw).
+* misc/notepadplus: support for notepad++ (thanks Anthony Starks).
+* net: implement non-blocking connect (thanks Alexey Borzenkov).
+* os: fix MkdirAll("/thisdoesnotexist") (thanks Albert Strasheim),
+	Plan 9 support (thanks Yuval Pavel Zholkover),
+	add a few missing Plan 9 errors (thanks Andrey Mirtchovski),
+	fix FileInfo.Name returned by Stat (thanks David Forsythe).
+* path/filepath.Glob: add an error return,
+	don't drop known matches on error.
+* path/filepath: add support for Plan 9 (thanks Andrey Mirtchovski).
+* scanner: treat line comments like in Go.
+* syscall: Plan 9 support (thanks Yuval Pavel Zholkover),
+	StartProcess Chroot and Credential (thanks Albert Strasheim),
+	add BPF support for freebsd/386, freebsd/amd64 (thanks Mikio Hara),
+	make [Raw]Syscall6 pass 6th arg on linux/386 (thanks Evan Shaw).
+</pre>
+
+<h2 id="2011-03-28">2011-03-28</h2>
+
+<pre>
+This weekly release includes improved support for testing.
+
+Memory and CPU profiling is now available via the gotest tool. Gotest will
+produce memory and CPU profiling data when invoked with the -test.memprofile
+and -test.cpuprofile flags. Run "godoc gotest" for details.
+
+We have also introduced a way for tests to run quickly when an exhaustive test
+is unnecessary. Gotest's new -test.short flag in combination with the testing
+package's new Short function allows you to write tests that can be run in
+normal or "short" mode; short mode is now used by all.bash to reduce
+installation time.
+The Makefiles know about the flag - you can just run "make testshort".
+
+Other changes:
+* .hgignore: Ignore all goinstalled packages (thanks Evan Shaw).
+* build: add all-qemu.bash, handful of arm fixes,
+        add support for SWIG, and add two SWIG examples,
+        diagnose Ubuntu's buggy copy of gold,
+        handle broken awk in version.bash (thanks Dave Cheney),
+        reenable clean.bash without gomake (thanks Gustavo Niemeyer).
+* cgo: fix index-out-of-bounds bug.
+* codereview: permit CLs of the form weekly.DATE
+* crypto/ecdsa: truncate hash values.
+* crypto/openpgp: add DSA signature support.
+* dashboard: remove old python/bash builder, update README.
+* doc: explain release and weekly tags in install.html.
+* exec: document dir option for Run (thanks Gustavo Niemeyer).
+* flag: document Nflag function (thanks Fazlul Shahriar).
+* gc: remove interim ... error which rejects valid code.
+* go/ast: implemented NewPackage,
+        merge CaseClause and TypeCaseClause.
+* go/parser: fix memory leak by making a copy of token literals,
+        resolve identifiers properly.
+* go/printer, gofmt: avoid exponential layout algorithm,
+        gofmt: simplify struct formatting and respect line breaks.
+* go/scanner: to interpret line comments with Windows filenames (thanks Alex Brainman).
+* go/token: use array instead of map for token-&gt;string table.
+* gob: optimizations to reduce allocations,
+        use pointers in bootstrapType so interfaces behave properly.
+* gobuilder: recognize CLs of the form weekly.DATE.
+* godefs: handle volatile.
+* godoc: add -template flag to specify custom templates,
+        fix path problem for windows (thanks Yasuhiro Matsumoto).
+* gofix: httpserver - rewrite rw.SetHeader to rw.Header.Set.
+* gofmt: add profiling flag.
+* gopprof: fix bug: do not rotate 180 degrees for large scrolls,
+        update list of memory allocation functions.
+* gotest: fix gofmt issue in generated _testmain.go.
+* http: add NewProxyClientConn,
+        avoid crash when asked for multiple file ranges,
+        don't chunk 304 responses,
+        export Transport, add keep-alive support.
+* ld: return > 0 exit code on unsafe import.
+* misc/bbedit: remove closed keyword (thanks Anthony Starks).
+* misc/emacs: gofmt: don't clobber the current buffer on failure.
+* misc/vim: remove 'closed' as a builtin function.
+* net: add FileConn, FilePacketConn, FileListener (thanks Albert Strasheim),
+        don't force epoll/kqueue to wake up in order to add new events,
+        let OS-specific AddFD routine wake up polling thread,
+        use preallocated buffer for epoll and kqueue/kevent.
+* path/filepath: add EvalSymlinks function,
+        fix TestEvalSymlinks when run under symlinked GOROOT.
+* path: work for windows (thanks Yasuhiro Matsumoto).
+* rpc: increase server_test timeout (thanks Gustavo Niemeyer),
+        optimizations to reduce allocations.
+* runtime: fix darwin/amd64 thread VM footprint (thanks Alexey Borzenkov),
+        fix gdb support for goroutines,
+        more stack split fixes,
+        os-specific types and code for setitimer,
+        update defs.h for freebsd-386 (thanks Devon H. O'Dell).
+* strings: Map: avoid allocation when string is unchanged.
+* syscall: GetsockoptInt (thanks Albert Strasheim),
+        StartProcess fixes for windows (thanks Alex Brainman),
+        permit non-blocking syscalls,
+        rename from .sh to .pl, because these files are in Perl.
+* test: enable tests using v, ok := &lt;-ch syntax (thanks Robert Hencke).
+* time: give a helpful message when we can't set the time zone for testing.
+        isolate syscall reference in sys.go.
+</pre>
+
+<h2 id="2011-03-15">2011-03-15</h2>
+
+<pre>
+This week's release introduces a new release tagging scheme. We intend to
+continue with our weekly releases, but have renamed the existing tags from
+"release" to "weekly". The "release" tag will now be applied to one hand-picked
+stable release each month or two.
+
+The revision formerly tagged "release.2011-03-07.1" (now "weekly.2011-03-07.1")
+has been nominated our first stable release, and has been given the tag
+"release.r56". As we tag each stable release we will post an announcement to
+the new golang-announce mailing list:
+  http://groups.google.com/group/golang-announce
+
+You can continue to keep your Go installation updated using "hg update
+release", but now you should only need to update once we tag a new stable
+release, which we will announce here. If you wish to stay at the leading edge,
+you should switch to the weekly tag with "hg update weekly".
+
+
+This weekly release includes significant changes to the language spec and the
+http, os, and syscall packages. Your code may need to be changed. It also
+introduces the new gofix tool.
+
+The closed function has been removed from the language. The syntax for channel
+receives has been changed to return an optional second value, a boolean value
+indicating whether the channel is closed. This code:
+	v := &lt;-ch
+	if closed(ch) {
+		// channel is closed
+	}
+should now be written as:
+	v, ok := &lt;-ch
+	if !ok {
+		// channel is closed
+	}
+
+It is now illegal to declare unused labels, just as it is illegal to declare
+unused local variables.
+
+The new gofix tool finds Go programs that use old APIs and rewrites them to use
+newer ones.  After you update to a new Go release, gofix helps make the
+necessary changes to your programs. Gofix will handle the http, os, and syscall
+package changes described below, and we will update the program to keep up with
+future changes to the libraries.
+
+The Hijack and Flush methods have been removed from the http.ResponseWriter
+interface and are accessible via the new http.Hijacker and http.Flusher
+interfaces. The RemoteAddr and UsingTLS methods have been moved from
+http.ResponseWriter to http.Request.
+
+The http.ResponseWriter interface's SetHeader method has been replaced by a
+Header() method that returns the response's http.Header. Caller code needs to
+change. This code:
+	rw.SetHeader("Content-Type", "text/plain")
+should now be written as:
+	rw.Header().Set("Content-Type", "text/plain")
+The os and syscall packages' StartProcess functions now take their final three
+arguments as an *os.ProcAttr and *syscall.ProcAttr values, respectively. This
+code:
+	os.StartProcess(bin, args, env, dir, fds)
+should now be written as:
+	os.StartProcess(bin, args, &amp;os.ProcAttr{Files: fds, Dir: dir, Env: env})
+
+The gob package will now encode and decode values of types that implement the
+gob.GobEncoder and gob.GobDecoder interfaces. This allows types with unexported
+fields to transmit self-consistent descriptions; one instance is big.Int and
+big.Rat.
+
+Other changes:
+* 5l, 6l, 8l: reduce binary size about 40% by omitting symbols for type, string, go.string.
+* 5l, 8l: output missing section symbols (thanks Anthony Martin).
+* 6l, 8l: fix gdb crash.
+* Make.cmd: also clean _test* (thanks Gustavo Niemeyer).
+* big: implemented custom Gob(En/De)coder for Int type.
+* build: remove duplicate dependency in Make.cmd (thanks Robert Hencke),
+        run gotest in misc/cgo/test.
+* codereview.py: don't suggest change -d if user is not CL author (thanks Robert Hencke).
+* compress/lzw: benchmark a range of input sizes.
+* crypto/ecdsa: add package.
+* crypto/elliptic: add the N value of each curve.
+* crypto/openpgp: bug fixes and fix misnamed function.
+* crypto/tls: fix compile error (thanks Dave Cheney).
+* doc: Effective Go: some small cleanups,
+        update FAQ. hello, world is now 1.1MB, down from 1.8MB,
+        update codelab wiki to fix template.Execute argument order.
+* flag: visit the flags in sorted order, for nicer messages.
+* fmt: do not export EOF = -1.
+* fmt: make ScanState.Token more general (thanks Roger Peppe).
+* gc: diagnose unused labels,
+        fix handling of return values named _,
+        include all dependencies in export metadata,
+        make unsafe.Pointer its own kind of type, instead of an equivalent to *any.
+* go/ast, go/parser: populate identifier scopes at parse time.
+* go/ast: add FileSet parameter to ast.Print and ast.Fprint.
+* go/parser: first constant in a constant declaration must have a value.
+* gob: efficiency and reliability fixes.
+* gofmt: remove -trace and -ast flags.
+* goinstall: handle $(GOOS) and $(GOARCH) in filenames,
+        handle .c files with gc when cgo isn't used, and
+        handle .s files with gc (thanks Gustavo Niemeyer).
+* gopack: omit time stamps, makes output deterministic.
+* gotype: commandline tool to typecheck go programs.
+* govet: handle '*' in print format strings.
+* hash: new FNV-1a implementation (thanks Pascal S. de Kloe).
+* http/cgi: child support (e.g. Go CGI under Apache).
+* http: adapt Cookie code to follow IETF draft (thanks Petar Maymounkov),
+        add test for fixed HTTP/1.0 keep-alive issue,
+        don't hit external network in client_test.go,
+        fix transport crash when request URL is nil,
+        rename interface Transport to RoundTripper,
+        run tests even with DISABLE_NET_TESTS=1.
+* httptest: default the Recorder status code to 200 on a Write.
+* io/ioutil: clean-up of ReadAll and ReadFile.
+* ioutil: add NopCloser.
+* ld: preserve symbol sizes during data layout.
+* lib9, libmach: Change GOOS references to GOHOSTOS (thanks Evan Shaw).
+* libmach: correct string comparison to revive 6cov on darwin (thanks Dave Cheney).
+* misc/vim: Add indent script for Vim (thanks Ross Light).
+* net, os, syslog: fixes for Solaris support.
+* net: don't loop to drain wakeup pipe.
+* nm: document -S flag.
+* openpgp: add PublicKey KeyId string accessors.
+* rpc: optimizations, add benchmarks and memory profiling,
+        use httptest.Server for tests (thanks Robert Hencke).
+* runtime: reduce lock contention via wakeup on scheduler unlock,
+        scheduler, cgo reorganization,
+        split non-debugging malloc interface out of debug.go into mem.go.
+* spec: clarify return statement rules.
+* strings: add IndexRune tests, ASCII fast path,
+        better benchmark names; add BenchmarkIndex.
+* syscall: implement Mount and Unmount for linux,
+        implement Reboot for linux.
+* time: fix Time.ZoneOffset documentation (thanks Peter Mundy).
+* tls: move PeerCertificates to ConnectionState.
+</pre>
+
+<h2 id="2011-03-07">2011-03-07 (<a href="release.html#r56">base for r56</a>)</h2>
+
+<pre>
+This release includes changes to the reflect and path packages.
+Code that uses reflect or path may need to be updated.
+
+The reflect package's Value.Addr method has been renamed to Value.UnsafeAddr.
+Code that uses the Addr method will have to call UnsafeAddr instead.
+
+The path package has been split into two packages: path and path/filepath.
+Package path manipulates slash-separated paths, regardless of operating system.
+Package filepath implements the local operating system's native file paths.
+OS-specific functioanlity in pacakge path, such as Walk, moved to filepath.
+
+Other changes:
+* build: fixes and simplifications (thanks Dave Cheney),
+        move $GOBIN ahead of /bin, /usr/bin in build $PATH.
+* bzip2: speed up decompression.
+* cgo: fix dwarf type parsing (thanks Gustavo Niemeyer),
+        put temporary source files in _obj (thanks Roger Peppe),
+        fix bug involving 0-argument callbacks.
+* compress/lzw: optimizations.
+* doc: add FAQ about "implements",
+        add FAQ about large binaries ,
+        add FAQ about stack vs heap allocation,
+        add internationalization to roadmap,
+        describe platform-specific conventions in code.html.
+* fmt: allow recursive calls to Fscan etc (thanks Roger Peppe),
+        make %#p suppress leading 0x.
+* gc, gopack: add some missing flags to the docs.
+* gc: fix init of packages named main (thanks Gustavo Niemeyer),
+* gob: make recursive map and slice types work, and other fixes.
+        tentative support for GobEncoder/GobDecoder interfaces.
+* gobuilder: add -package flag to build external packages and -v for verbose.
+* gofmt: exclude test file that is not legal Go.
+* goinstall: protect against malicious filenames (thanks Roger Peppe).
+* goyacc: provide -p flag to set prefix for names, documentation update.
+* http: add cookie support (thanks Petar Maymounkov),
+        allow handlers to send non-chunked responses,
+        export ParseHTTPVersion,
+        expose Client's Transport,
+        use WriteProxy,
+        rename ClientTransport to Transport.
+* http/cgi: new package.
+* http/httptest: new package.
+* image: add a decoding test for common file formats.
+* io/ioutil: add TempDir.
+* mime/multipart: Header changed from map to MIMEHeader
+* path/filepath: new OS-specific path support (thanks Gustavo Niemeyer).
+* reflect: add PtrTo, add Value.Addr (old Addr is now UnsafeAddr).
+* runtime: use kernel-supplied compare-and-swap on linux/arm.
+* spec: minor clarification of scope rule for functions.
+* sync/atomic: new package to expose atomic operations.
+* syscall: regenerate zerrors_freebsd_amd64.go (thanks Mikio Hara),
+        work around FreeBSD execve kernel bug (thanks Devon H. O'Dell).
+* template: document the delimiters.
+* testing: run GC before each benchmark run (thanks Roger Peppe).
+* unsafe: fix the documentation.
+* websocket: use httptest.Server for tests (thanks Robert Hencke).
+* xml: permit nested directives (thanks Chris Dollin).
+</pre>
+
+<h2 id="2011-02-24">2011-02-24</h2>
+
+<pre>
+This release includes changes to the http package and a small language change.
+Your code will require changes if it manipulates http Headers or omits the
+condition in if statements.
+
+The new http.Header type replaces map[string]string in the Header and Trailer
+fields of http.Request and http.Response.
+A Header value can be manipulated via its Get, Set, Add, and Del methods.
+See http://golang.org/pkg/http/#Header
+
+The condition is now mandatory in if statements.
+Previously it would default to true, as in switch and for statements.
+This code is now illegal:
+	if x := foo(); {
+		// code that is always executed
+	}
+The same effect can be achieved like this:
+	if x := foo(); true {
+		// code
+	}
+Or, in a simpler form:
+	{
+		x := foo()
+		// code
+	}
+
+Other changes:
+* 6l: new -Hwindowsgui flag allows to build windows gui pe (thanks Alex Brainman),
+	pe fixes (thanks Wei Guangjing).
+* 8l, 6l: allow for more os threads to be created on Windows (thanks Alex Brainman),
+* build: reduce the use of subshells in recursive make, and
+	remove unused NaCl conditional from make.bash (thanks Dave Cheney).
+* codereview: fix clpatch with empty diffs (thanks Gustavo Niemeyer).
+* compress/bzip2: add package.
+* compress/lzw: implement a decoder.
+* crypto/openpgp: add package.
+* crypto/rand: add read buffer to speed up small requests (thanks Albert Strasheim).
+* crypto/rsa: left-pad OAEP results when needed.
+* crypto/tls: make protocol negotiation failure fatal.
+* fmt: stop giving characters to the Scan method of Scanner when we hit a newline in Scanln.
+* gc: interface error message fixes,
+	make string const comparison unsigned (thanks Jeff R. Allen).
+* go spec: minor clarification on channel types.
+* go/ast, parser: condition in if statement is mandatory.
+* gob: compute information about a user's type once.
+	protect against pure recursive types.
+* godoc: accept symbolic links as path names provided to -path,
+	add robots.txt, log errors when reading filter files.
+* html: tokenize HTML comments.
+* http: add proxy support (thanks Yasuhiro Matsumoto),
+	implement with net/textproto (thanks Petar Maymounkov),
+	send full URL in proxy requests,
+	introduce start of Client and ClientTransport.
+* image/png: support for more formats (thanks Mikael Tillenius).
+* json: only use alphanumeric tags,
+	use base64 to encode []byte (thanks Roger Peppe).
+* ld: detect stack overflow due to NOSPLIT, drop rpath, support weak symbols.
+* misc/dashboard/builder: talk to hg with utf-8 encoding.
+* misc/dashboard: notify golang-dev on build failure.
+* net: *netFD.Read to return os.EOF on eof under windows (thanks Alex Brainman),
+	add IPv4 multicast to UDPConn (thanks Dave Cheney),
+	more accurate IPv4-in-IPv6 API test (thanks Mikio Hara),
+	reject invalid net:proto network names (thanks Olivier Antoine).
+* netchan: allow use of arbitrary connections (thanks Roger Peppe).
+* os: add ENODATA and ENOTCONN (thanks Albert Strasheim).
+* reflect: add a couple of sentences explaining how Methods operate,
+	add a secret method to ArrayOrSliceType to ensure it's only implemented by arrays and slices,
+	add pointer word to CommonType (placeholder for future work).
+* runtime-gdb.py: gdb pretty printer for go strings properly handles length.
+* runtime: various bug fixes, more complete stack traces,
+	record $GOROOT_FINAL for runtime.GOROOT.
+* spec: delete incorrect mention of selector working on pointer to interface type.
+* sync: add Cond (thanks Gustavo Niemeyer).
+* syscall: add MCL_* flags for mlockall (thanks Albert Strasheim),
+	implement chmod() for win32 (thanks Yasuhiro Matsumoto).
+* test/bench: update timings for new GC.
+* testing: rename cmdline flags to avoid conflicts (thanks Gustavo Niemeyer).
+* textproto: introduce Header type (thanks Petar Maymounkov).
+* websocket: use new interface to access Header.
+</pre>
+
+<h2 id="2011-02-15">2011-02-15</h2>
+
+<pre>
+This release includes changes to the io, os, and template packages.
+You may need to update your code.
+
+The io.ReadByter and io.ReadRuner interface types have been renamed to
+io.ByteReader and io.RuneReader respectively.
+
+The os package's ForkExec function has been superseded by the new StartProcess
+function and an API built around the Process type:
+	http://golang.org/pkg/os/#Process
+
+The order of arguments to template.Execute has been reversed to be consistent
+the notion of "destination first", as with io.Copy, fmt.Fprint, and others.
+
+Gotest now works for package main in directories using Make.cmd-based makefiles.
+
+The memory allocation runtime problems from the last release are not completely
+fixed.  The virtual memory exhaustion problems encountered by people using
+ulimit -v have been fixed, but there remain known garbage collector problems
+when using GOMAXPROCS > 1.
+
+Other changes:
+* 5l: stopped generating 64-bit eor.
+* 8l: more work on plan9 support (thanks Yuval Pavel Zholkover).
+* archive/zip: handle files with data descriptors.
+* arm: working peep-hole optimizer.
+* asn1: marshal true as 255, not 1.
+* buffer.go: minor optimization, expanded comment.
+* build: drop syslog on DISABLE_NET_TESTS=1 (thanks Gustavo Niemeyer),
+       allow clean.bash to work on fresh checkout,
+       change "all tests pass" message to be more obvious,
+       fix spaces in GOROOT (thanks Christopher Nielsen).
+* bytes: fix bug in buffer.ReadBytes (thanks Evan Shaw).
+* 5g: better int64 code,
+       don't use MVN instruction.
+* cgo: don't run cgo when not compiling (thanks Gustavo Niemeyer),
+       fix _cgo_run timestamp file order (thanks Gustavo Niemeyer),
+       fix handling of signed enumerations (thanks Gustavo Niemeyer),
+       os/arch dependent #cgo directives (thanks Gustavo Niemeyer),
+       rename internal f to avoid conflict with possible C global named f.
+* codereview: fix hgpatch on windows (thanks Yasuhiro Matsumoto),
+       record repository, base revision,
+       use cmd.communicate (thanks Yasuhiro Matsumoto).
+* container/ring: replace Iter() with Do().
+* crypto/cipher: add resync open to OCFB mode.
+* crypto/openpgp/armor: bug fixes.
+* crypto/openpgp/packet: new subpackage.
+* crypto/tls: load a chain of certificates from a file,
+       select best cipher suite, not worst.
+* crypto/x509: add support for name constraints.
+* debug/pe: ImportedSymbols fixes (thanks Wei Guangjing).
+* doc/code: update to reflect that package names need not be unique.
+* doc/codelab/wiki: a bunch of fixes (thanks Andrey Mirtchovski).
+* doc/install: update for new versions of Mercurial.
+* encoding/line: fix line returned after EOF.
+* flag: allow hexadecimal (0xFF) and octal (0377) input for integer flags.
+* fmt.Scan: scan binary-exponent floating format, 2.4p-3,
+       hexadecimal (0xFF) and octal (0377) integers.
+* fmt: document %%; also %b for floating point.
+* gc, ld: detect stale or incompatible object files,
+       package name main no longer reserved.
+* gc: correct receiver in method missing error (thanks Lorenzo Stoakes),
+       correct rounding of denormal constants (thanks Eoghan Sherry),
+       select receive bug fix.
+* go/printer, gofmt: smarter handling of multi-line raw strings.
+* go/printer: line comments must always end in a newline,
+       remove notion of "Styler", remove HTML mode.
+* gob: allow Decode(nil) and have it just discard the next value.
+* godoc: use IsAbs to test for absolute paths (fix for win32) (thanks Yasuhiro Matsumoto),
+       don't hide package lookup error if there's no command with the same name.
+* gotest: enable unit tests for main programs.
+* http: add Server type supporting timeouts,
+       add pipelining to ClientConn, ServerConn (thanks Petar Maymounkov),
+       handle unchunked, un-lengthed HTTP/1.1 responses.
+* io: add RuneReader.
+* json: correct Marshal documentation.
+* netchan: graceful handling of closed connection (thanks Graham Miller).
+* os: implement new Process API (thanks Alex Brainman).
+* regexp tests: make some benchmarks more meaningful.
+* regexp: add support for matching against text read from RuneReader interface.
+* rpc: make more tolerant of errors, properly discard values (thanks Roger Peppe).
+* runtime: detect failed thread creation on Windows,
+       faster allocator, garbage collector,
+       fix virtual memory exhaustion,
+       implemented windows console ctrl handler (SIGINT) (thanks Hector Chu),
+       more detailed panic traces, line number work,
+       improved Windows callback handling (thanks Hector Chu).
+* spec: adjust notion of Assignability,
+       allow import of packages named main,
+       clarification re: method sets of newly declared pointer types,
+       fix a few typos (thanks Anthony Martin),
+       fix Typeof() return type (thanks Gustavo Niemeyer),
+       move to Unicode 6.0.
+* sync: diagnose Unlock of unlocked Mutex,
+       new Waitgroup type (thanks Gustavo Niemeyer).
+* syscall: add SetsockoptIpMreq (thanks Dave Cheney),
+       add sockaddr_dl, sysctl with routing message support for darwin, freebsd (thanks Mikio Hara),
+       do not use NULL for zero-length read, write,
+       implement windows version of Fsync (thanks Alex Brainman),
+       make ForkExec acquire the ForkLock under windows (thanks Hector Chu),
+       make windows API return errno instead of bool (thanks Alex Brainman),
+       remove obsolete socket IO control (thanks Mikio Hara).
+* template: add simple formatter chaining (thanks Kyle Consalus),
+       allow a leading '*' to indirect through a pointer.
+* testing: include elapsed time in test output
+* windows: replace remaining __MINGW32__ instances with _WIN32 (thanks Joe Poirier).
+</pre>
+
+<h2 id="2011-02-01">2011-02-01</h2>
+
+<pre>
+This release includes significant changes to channel operations and minor
+changes to the log package. Your code will require modification if it uses
+channels in non-blocking communications or the log package's Exit functions.
+
+Non-blocking channel operations have been removed from the language.
+The equivalent operations have always been possible using a select statement
+with a default clause.  If a default clause is present in a select, that clause
+will execute (only) if no other is ready, which allows one to avoid blocking on
+a communication.
+
+For example, the old non-blocking send operation,
+
+	if ch &lt;- v {
+		// sent
+	} else {
+		// not sent
+	}
+
+should be rewritten as,
+
+	select {
+	case ch &lt;- v:
+		// sent
+	default:
+		// not sent
+	}
+
+Similarly, this receive,
+
+	v, ok := &lt;-ch
+	if ok {
+		// received
+	} else {
+		// not received
+	}
+
+should be rewritten as,
+
+	select {
+	case v := &lt;-ch:
+		// received
+	default:
+		// not received
+	}
+
+This change is a prelude to redefining the 'comma-ok' syntax for a receive.
+In a later release, a receive expression will return the received value and an
+optional boolean indicating whether the channel has been closed. These changes
+are being made in two stages to prevent this semantic change from silently
+breaking code that uses 'comma-ok' with receives.
+There are no plans to have a boolean expression form for sends.
+
+Sends to a closed channel will panic immediately. Previously, an unspecified
+number of sends would fail silently before causing a panic.
+
+The log package's Exit, Exitf, and Exitln functions have been renamed Fatal,
+Fatalf, and Fatalln respectively. This brings them in line with the naming of
+the testing package. 
+
+The port to the "tiny" operating system has been removed. It is unmaintained
+and untested. It was a toy to show that Go can run on raw hardware and it
+served its purpose. The source code will of course remain in the repository
+history, so it could be brought back if needed later.
+
+This release also changes some of the internal structure of the memory
+allocator in preparation for other garbage collector changes. 
+If you run into problems, please let us know.
+There is one known issue that we are aware of but have not debugged yet:
+	http://code.google.com/p/go/issues/detail?id=1464&amp;.
+
+Other changes in this release:
+* 5l: document -F, force it on old ARMs (software floating point emulation)
+* 6g: fix registerization of temporaries (thanks Eoghan Sherry),
+        fix uint64(uintptr(unsafe.Pointer(&amp;x))).
+* 6l: Relocate CMOV* instructions (thanks Gustavo Niemeyer),
+        windows/amd64 port (thanks Wei Guangjing).
+* 8l: add PE dynexport, emit DWARF in Windows PE, and
+        code generation fixes (thanks Wei Guangjing).
+* bufio: make Flush a no-op when the buffer is empty.
+* bytes: Add Buffer.ReadBytes, Buffer.ReadString (thanks Evan Shaw).
+* cc: mode to generate go-code for types and variables.
+* cgo: define CGO_CFLAGS and CGO_LDFLAGS in Go files (thanks Gustavo Niemeyer),
+        windows/386 port (thanks Wei Guangjing).
+* codereview: fix windows (thanks Hector Chu),
+        handle file patterns better,
+        more ASCII vs. Unicode nonsense.
+* crypto/dsa: add support for DSA.
+* crypto/openpgp: add s2k.
+* crypto/rand: use defer to unlock mutex (thanks Anschel Schaffer-Cohen).
+* crypto/rsa: correct docstring for SignPKCS1v15.
+* crypto: add package, a common place to store identifiers for hash functions.
+* doc/codelab/wiki: update to work with template changes, add to run.bash.
+* doc/spec: clarify address operators.
+* ebnflint: exit with non-zero status on error.
+* encoding/base32: new package (thanks Miek Gieben).
+* encoding/line: make it an io.Reader too.
+* exec: use custom error for LookPath (thanks Gustavo Niemeyer).
+* fmt/doc: define width and precision for strings.
+* gc: clearer error for struct == struct,
+        fix send precedence,
+        handle invalid name in type switch,
+        special case code for single-op blocking and non-blocking selects.
+* go/scanner: fix build (adjust scanner EOF linecount).
+* gob: better debugging, commentary,
+        make nested interfaces work,
+        report an error when encoding a non-empty struct with no public fields.
+* godoc: full text index for whitelisted non-Go files,
+        show line numbers for non-go files (bug fix).
+* gofmt -r: match(...) arguments may be nil; add missing guards.
+* govet: add Panic to the list of functions.
+* http: add host patterns (thanks Jose Luis Vázquez González),
+        follow relative redirect in Get.
+* json: handle capital floating point exponent (1E100) (thanks Pieter Droogendijk).
+* ld: add -I option to set ELF interpreter,
+        more robust decoding of reflection type info in generating dwarf.
+* lib9: update to Unicode 6.0.0.
+* make.bash: stricter selinux test (don't complain unless it is enabled).
+* misc/vim: Import/Drop commands (thanks Gustavo Niemeyer),
+        set 'syntax sync' to a large value (thanks Yasuhiro Matsumoto).
+* net: fix race condition in test,
+        return cname in LookupHost.
+* netchan: avoid race condition in test,
+        fixed documentation for import (thanks Anschel Schaffer-Cohen).
+* os: add ETIMEDOUT (thanks Albert Strasheim).
+* runtime: generate Go defs for C types,
+        implementation of callback functions for windows (thanks Alex Brainman),
+        make Walk web browser example work (thanks Hector Chu),
+        make select fairer,
+        prefer fixed stack allocator over general memory allocator,
+        simpler heap map, memory allocation.
+* scanner: fix Position returned by Scan, Pos,
+        don't read ahead in Init.
+* suffixarray: use binary search for both ends of Lookup (thanks Eric Eisner).
+* syscall: add missing network interface constants (thanks Mikio Hara).
+* template: treat map keys as zero, not non-existent (thanks Roger Peppe).
+* time: allow canceling of After events (thanks Roger Peppe),
+        support Solaris zoneinfo directory.
+* token/position: added SetLinesForContent.
+* unicode: update to unicode 6.0.0.
+* unsafe: add missing case to doc for Pointer.
+</pre>
+
+<h2 id="2011-01-20">2011-01-20</h2>
+
+<pre>
+This release removes the float and complex types from the language.
+
+The default type for a floating point literal is now float64, and
+the default type for a complex literal is now complex128.
+
+Existing code that uses float or complex must be rewritten to
+use explicitly sized types.
+
+The two-argument constructor cmplx is now spelled complex.
+</pre>
+
+<h2 id="2011-01-19">2011-01-19</h2>
+
+<pre>
+The 5g (ARM) compiler now has registerization enabled.  If you discover it
+causes bugs, use 5g -N to disable the registerizer and please let us know.
+
+The xml package now allows the extraction of nested XML tags by specifying
+struct tags of the form "parent>child". See the XML documentation for an
+example: http://golang.org/pkg/xml/
+
+* 5a, 5l, 6a, 6l, 8a, 8l: handle out of memory, large allocations (thanks Jeff R. Allen).
+* 8l: pe changes (thanks Alex Brainman).
+* arm: fixes and improvements.
+* cc: fix vlong condition.
+* cgo: add complex float, complex double (thanks Sebastien Binet),
+        in _cgo_main.c define all provided symbols as functions.
+* codereview: don't mail change lists with no files (thanks Ryan Hitchman).
+* crypto/cipher: add OFB mode.
+* expvar: add Float.
+* fmt: document %X of string, []byte.
+* gc, runtime: make range on channel safe for multiple goroutines.
+* gc: fix typed constant declarations (thanks Anthony Martin).
+* go spec: adjust language for constant typing.
+* go/scanner: Make Init take a *token.File instead of a *token.FileSet.
+* godoc: bring back "indexing in progress" message,
+        don't double HTML-escape search result snippets,
+        enable qualified identifiers ("math.Sin") as query strings again,
+        peephole optimization for generated HTML,
+        remove tab before formatted section.
+* gofmt, go/printer: do not insert extra line breaks where they may break the code.
+* http: fix Content-Range and Content-Length in response (thanks Clement Skau),
+        fix scheme-relative URL parsing; add ParseRequestURL,
+        handle HEAD requests correctly,
+        support for relative URLs.
+* math: handle denormalized numbers in Frexp, Ilogb, Ldexp, and Logb (thanks Eoghan Sherry).
+* net, syscall: return source address in Recvmsg (thanks Albert Strasheim).
+* net: add LookupAddr (thanks Kyle Lemons),
+        add unixpacket (thanks Albert Strasheim),
+        avoid nil dereference if /etc/services can't be opened (thanks Corey Thomasson),
+        implement windows timeout (thanks Wei Guangjing).
+* netchan: do not block sends; implement flow control (thanks Roger Peppe).
+* regexp: reject bare '?'. (thanks Ben Lynn)
+* runtime/cgo: don't define crosscall2 in dummy _cgo_main.c.
+* runtime/debug: new package for printing stack traces from a running goroutine.
+* runtime: add per-pause gc stats,
+        fix arm reflect.call boundary case,
+        print signal information during panic.
+* spec: specify that int and uint have the same size.
+* syscall: correct WSTOPPED on OS X,
+        correct length of GNU/Linux abstract Unix domain sockaddr,
+        correct length of SockaddrUnix.
+* tutorial: make stdin, stdout, stderr work on Windows.
+* windows: implement exception handling (thanks Hector Chu).
+</pre>
+
+<h2 id="2011-01-12">2011-01-12</h2>
+
+<pre>
+The json, gob, and template packages have changed, and code that uses them
+may need to be updated after this release. They will no longer read or write
+unexported struct fields. When marshaling a struct with json or gob the
+unexported fields will be silently ignored. Attempting to unmarshal json or
+gob data into an unexported field will generate an error. Accessing an
+unexported field from a template will cause the Execute function to return
+an error.
+
+Godoc now supports regular expression full text search, and this
+functionality is now available on golang.org.
+
+Other changes:
+* arm: initial cut at arm optimizer.
+* bytes.Buffer: Fix bug in UnreadByte.
+* cgo: export unsafe.Pointer as void*, fix enum const conflict,
+        output alignment fix (thanks Gustavo Niemeyer).
+* crypto/block: mark as deprecated.
+* crypto/openpgp: add error and armor.
+* crypto: add twofish package (thanks Berengar Lehr).
+* doc/spec: remove Maxalign from spec.
+* encoding/line: new package for reading lines from an io.Reader.
+* go/ast: correct end position for Index and TypeAssert expressions.
+* gob: make (en|dec)code(Ui|I)nt methods rather than functions.
+* godefs: better handling of enums.
+* gofmt: don't attempt certain illegal rewrites,
+        rewriter matches apply to expressions only.
+* goinstall: preliminary support for cgo packages (thanks Gustavo Niemeyer).
+* hg: add cgo/_cgo_* to .hgignore.
+* http: fix text displayed in Redirect.
+* ld: fix exported dynamic symbols on Mach-O,
+        permit a Mach-O symbol to be exported in the dynamic symbol table.
+* log: add methods for exit and panic.
+* net: use closesocket api instead of CloseHandle on Windows (thanks Alex Brainman).
+* netchan: make fields exported for gob change.
+* os: add Sync to *File, wraps syscall.Fsync.
+* runtime/cgo: Add callbacks to support SWIG.
+* runtime: Restore scheduler stack position if cgo callback panics.
+* suffixarray: faster creation algorithm (thanks Eric Eisner).
+* syscall: fix mksysnum_linux.sh (thanks Anthony Martin).
+* time.NewTicker: panic for intervals &lt;= 0.
+* time: add AfterFunc to call a function after a duration (thanks Roger Peppe),
+        fix tick accuracy when using multiple Tickers (thanks Eoghan Sherry).</pre>
+
+<h2 id="2011-01-06">2011-01-06</h2>
+
+<pre>
+This release includes several fixes and changes:
+
+* build: Make.pkg: use installed runtime.h for cgo.
+* cgo: disallow use of C.errno.
+* crypto/cipher: fix OCFB,
+        make NewCBCEncrypter return BlockMode.
+* doc: 6l: fix documentation of -L flag,
+        add golanguage.ru to foreign-language doc list,
+        effective go: explain the effect of repanicking better,
+        update Effective Go for template API change,
+        update contribution guidelines to prefix the change description.
+* encoding/binary: reject types with implementation-dependent sizes (thanks Patrick Gavlin).
+* exp/evalsimple fix handling of slices like s[:2] (thanks Sebastien Binet).
+* fmt: made format string handling more efficient,
+        normalize processing of format string.
+* gc: return constant floats for parts of complex constants (thanks Anthony Martin),
+        rewrite complex /= to l = l / r (thanks Patrick Gavlin),
+        fix &amp;^=.
+* go/ast: provide complete node text range info.
+* gob: generate a better error message in one confusing place.
+* godoc: fix godoc -src (thanks Icarus Sparry).
+* goinstall: add -clean flag (thanks Kyle Lemons),
+        add checkout concept (thanks Caine Tighe),
+        fix -u for bzr (thanks Gustavo Niemeyer).
+* http: permit empty Reason-Phrase in response Status-Line.
+* io: fix Copyn EOF handling.
+* net: fix close of Listener (thanks Michael Hoisie).
+* regexp: fix performance bug, make anchored searches fail fast,
+        fix prefix bug.
+* runtime/cgo: fix stackguard on FreeBSD/amd64 (thanks Anthony Martin).
+* strconv: atof: added 'E' as valid token for exponent (thanks Stefan Nilsson),
+        update ftoa comment for 'E' and 'G'.
+* strings: fix description of FieldsFunc (thanks Roger Peppe).
+* syscall: correct Linux Splice definition,
+        make Access second argument consistently uint32.
+</pre>
+
+<h2 id="2010-12-22">2010-12-22</h2>
+
+<pre>
+A small release this week. The most significant change is that some 
+outstanding cgo issues were resolved.
+
+* cgo: handle references to symbols in shared libraries.
+* crypto/elliptic: add serialisation and key pair generation.
+* crypto/hmac: add HMAC-SHA256 (thanks Anthony Martin).
+* crypto/tls: add ECDHE support ("Elliptic Curve Diffie Hellman Ephemeral"),
+        add support code for generating handshake scripts for testing.
+* darwin, freebsd: ignore write failure (during print, panic).
+* exp/draw: remove Border function.
+* expvar: quote StringFunc output, same as String output.
+* hash/crc64: fix typo in Sum.
+* ld: allow relocations pointing at ELF .bss symbols, ignore stab symbols.
+* misc/cgo/life: fix, add to build.
+* regexp: add HasMeta, HasOperator, and String methods to Regexp.
+* suffixarray: implemented FindAllIndex regexp search.
+* test/bench: update numbers for regex-dna after speedup to regexp.
+* time: explain the formats a little better.
+</pre>
+
+<h2 id="2010-12-15">2010-12-15</h2>
+
+<pre>
+Package crypto/cipher has been started, to replace crypto/block.
+As part of the changes, rc4.Cipher's XORKeyStream method signature has changed from
+        XORKeyStream(buf []byte)
+to
+        XORKeyStream(dst, src []byte)
+to implement the cipher.Stream interface.  If you use crypto/block, you'll need
+to switch to crypto/cipher once it is complete.
+
+Package smtp's StartTLS now takes a *tls.Config argument.
+
+Package reflect's ArrayCopy has been renamed to Copy.  There are new functions
+Append and AppendSlice.
+
+The print/println bootstrapping functions now write to standard error.
+To write to standard output, use fmt.Print[ln].
+
+A new tool, govet, has been added to the Go distribution. Govet is a static
+checker for Go programs. At the moment, and for the foreseeable future,
+it only checks arguments to print calls.
+
+The cgo tool for writing Go bindings for C code has changed so that it no
+longer uses stub .so files (like cgo_stdio.so).  Cgo-based packages using the
+standard Makefiles should build without any changes.  Any alternate build
+mechanisms will need to be updated.
+
+The C and Go compilers (6g, 6c, 8g, 8c, 5g, 5c) now align structs according to
+the maximum alignment of the fields they contain; previously they aligned
+structs to word boundaries.  This may break non-cgo-based code that attempts to
+mix C and Go.
+
+NaCl support has been removed. The recent linker changes broke NaCl support
+a month ago, and there are no known users of it.
+If necessary, the NaCl code can be recovered from the repository history.
+
+* 5g/8g, 8l, ld, prof: fix output of 32-bit values (thanks Eoghan Sherry).
+* [68]l and runtime: GDB support for interfaces and goroutines.
+* 6l, 8l: support for linking ELF and Mach-O .o files.
+* all: simplify two-variable ranges with unused second variable (thanks Ryan Hitchman).
+* arm: updated soft float support.
+* codereview: keep quiet when not in use (thanks Eoghan Sherry).
+* compress/flate: implement Flush, equivalent to zlib's Z_SYNC_FLUSH.
+* crypto/tls: use rand.Reader in cert generation example (thanks Anthony Martin).
+* dashboard: fix project tag filter.
+* debug/elf, debug/macho: add ImportedLibraries, ImportedSymbols.
+* doc/go_mem: goroutine exit is not special.
+* event.go: another print glitch from gocheck.
+* gc: bug fixes,
+        syntax error for incomplete chan type (thanks Ryan Hitchman).
+* go/ast: fix ast.Walk.
+* gob: document the byte count used in the encoding of values,
+        fix bug sending zero-length top-level slices and maps,
+        Register should use the original type, not the indirected one.
+* godashboard: support submitting projects with non-ascii names (thanks Ryan Hitchman)
+* godefs: guard against structs with pad fields
+* godoc: added textual search, to enable use -fulltext flag.
+* gofmt: simplify "x, _ = range y" to "x = range y".
+* gopack: allow ELF/Mach-O objects in .a files without clearing allobj.
+* go/token,scanner: fix comments so godoc aligns properly.
+* govet: on error continue to the next file (thanks Christopher Wedgwood).
+* html: improved parsing.
+* http: ServeFile handles Range header for partial requests.
+* json: check for invalid UTF-8.
+* ld: allow .o files with no symbols,
+        reading of ELF object files,
+        reading of Mach-O object files.
+* math: change float64 bias constant from 1022 to 1023 (thanks Eoghan Sherry),
+        rename the MinFloat constant to SmallestNonzeroFloat.
+* nm: silently ignore .o files in .a files.
+* os: fix test of RemoveAll.
+* os/inotify: new package (thanks Balazs Lecz).
+* os: make MkdirAll work with symlinks (thanks Ryan Hitchman).
+* regexp: speed up by about 30%; also simplify code for brackets.
+* runtime/linux/386: set FPU to 64-bit precision.
+* runtime: remove paranoid mapping at 0.
+* suffixarray: add Bytes function.
+* syscall: add network interface constants for linux/386, linux/amd64 (thanks Mikio Hara).
+* syscall/windows: restrict access rights param of OpenProcess(),
+        remove \r and \n from error messages (thanks Alex Brainman).
+* test/bench: fixes to timing.sh (thanks Anthony Martin).
+* time: fix bug in Ticker: shutdown using channel rather than memory.
+* token/position: provide FileSet.File, provide files iterator.
+* xml: disallow invalid Unicode code points (thanks Nigel Kerr).
+</pre>
+
+<h2 id="2010-12-08">2010-12-08</h2>
+
+<pre>
+This release includes some package changes. If you use the crypto/tls or
+go/parser packages your code may require changes.
+
+The crypto/tls package's Dial function now takes an additional *Config
+argument.  Most uses will pass nil to get the same default behavior as before.
+See the documentation for details:
+        http://golang.org/pkg/crypto/tls/#Config
+        http://golang.org/pkg/crypto/tls/#Dial
+
+The go/parser package's ParseFile function now takes a *token.FileSet as its
+first argument. This is a pointer to a data structure used to store
+position information. If you don't care about position information you
+can pass "token.NewFileSet()". See the documentation for details:
+        http://golang.org/pkg/go/parser/#ParseFile
+
+This release also splits the patent grant text out of the LICENSE file into a
+separate PATENTS file and changes it to be more like the WebM grant.
+These clarifications were made at the request of the Fedora project.
+
+Other changes:
+* [68]l: generate debug info for builtin structured types, prettyprinting in gdb.
+* 8l: add dynimport to import table in Windows PE (thanks Wei Guangjing).
+* 8l, runtime: fix Plan 9 386 build (thanks Yuval Pavel Zholkover).
+* all: fix broken calls to Printf etc.
+* bufio: make Reader.Read implement io.Reader semantics (thanks Roger Peppe).
+* build: allow archiver to be specified by HOST_AR (thanks Albert Strasheim).
+* bytes: add Buffer.UnreadRune, Buffer.UnreadByte (thanks Roger Peppe).
+* crypto/tls: fix build of certificate generation example (thanks Christian Himpel).
+* doc/install: describe GOHOSTOS and GOHOSTARCH.
+* errchk: accept multiple source files (thanks Eoghan Sherry).
+* exec.LookPath: return os.PathError instad of os.ENOENT (thanks Michael Hoisie)..
+* flag: fix format error in boolean error report,
+        handle multiple calls to flag.Parse.
+* fmt: add %U format for standard Unicode representation of code point values.
+* gc: fix method offsets of anonymous interfaces (thanks Eoghan Sherry),
+        skip undefined symbols in import . (thanks Eoghan Sherry).
+* go/scanner: remove Tokenize - was only used in tests
+* gobuilder: add buildroot command-line flag (thanks Devon H. O'Dell).
+* html: unescape numeric entities (thanks Ryan Hitchman).
+* http: Add EncodeQuery, helper for constructing query strings.
+* ld: fix dwarf decoding of 64-bit reflect values (thanks Eoghan Sherry).
+* math: improve accuracy of Exp2 (thanks Eoghan Sherry).
+* runtime: add Goroutines (thanks Keith Rarick).
+* sync: small naming fix for armv5 (thanks Dean Prichard).
+* syscall, net: Add Recvmsg and Sendmsg on Linux (thanks Albert Strasheim).
+* time: make After use fewer goroutines and host processes (thanks Roger Peppe).
+</pre>
+
+<h2 id="2010-12-02">2010-12-02</h2>
+
+<pre>
+Several package changes in this release may require you to update your code if
+you use the bytes, template, or utf8 packages. In all cases, any outdated code
+will fail to compile rather than behave erroneously.
+
+The bytes package has changed. Its Add and AddByte functions have been removed,
+as their functionality is provided by the recently-introduced built-in function
+"append". Any code that uses them will need to be changed:
+s = bytes.Add(s, b)    -&gt;    s = append(s, b...)
+s = bytes.AddByte(b, c)    -&gt;    s = append(s, b)
+s = bytes.Add(nil, c)    -&gt;    append([]byte(nil), c)
+
+The template package has changed. Your code will need to be updated if it calls
+the HTMLFormatter or StringFormatter functions, or implements its own formatter
+functions. The function signature for formatter types has changed to:
+        func(wr io.Writer, formatter string, data ...interface{})
+to allow multiple arguments to the formatter.  No templates will need updating.
+See the change for examples:
+        http://code.google.com/p/go/source/detail?r=2c2be793120e
+
+The template change permits the implementation of multi-word variable
+instantiation for formatters. Before one could say
+        {field}
+or
+        {field|formatter}
+Now one can also say
+        {field1 field2 field3}
+or
+        {field1 field2 field3|formatter}
+and the fields are passed as successive arguments to the formatter,
+by analogy to fmt.Print.
+
+The utf8 package has changed. The order of EncodeRune's arguments has been
+reversed to satisfy the convention of "destination first".
+Any code that uses EncodeRune will need to be updated.
+
+Other changes:
+* [68]l: correct dwarf location for globals and ranges for arrays.
+* big: fix (*Rat) SetFrac64(a, b) when b &lt; 0 (thanks Eoghan Sherry).
+* compress/flate: fix typo in comment (thanks Mathieu Lonjaret).
+* crypto/elliptic: use a Jacobian transform for better performance.
+* doc/code.html: fix reference to "gomake build" (thanks Anschel Schaffer-Cohen).
+* doc/roadmap: update gdb status.
+* doc/spec: fixed some omissions and type errors.
+* doc: some typo fixes (thanks Peter Mundy).
+* exp/eval: build fix for parser.ParseFile API change (thanks Anschel Schaffer-Cohen).
+* fmt: Scan accepts Inf and NaN,
+        allow "% X" as well as "% x".
+* go/printer: preserve newlines in func parameter lists (thanks Jamie Gennis).
+* http: consume request body before next request.
+* log: ensure writes are atomic (thanks Roger Peppe).
+* path: Windows support for Split (thanks Benny Siegert).
+* runtime: fix SysFree to really free memory on Windows (thanks Alex Brainman),
+        parallel definitions in Go for all C structs.
+* sort: avoid overflow in pivot calculation,
+        reduced stack depth to lg(n) in quickSort (thanks Stefan Nilsson).
+* strconv: Atof on Infs and NaNs.
+</pre>
+
+<h2 id="2010-11-23">2010-11-23</h2>
+
+<pre>
+This release includes a backwards-incompatible package change to the
+sort.Search function (introduced in the last release).
+See the change for details and examples of how you might change your code:
+        http://code.google.com/p/go/source/detail?r=102866c369
+
+* build: automatically #define _64BIT in 6c.
+* cgo: print required space after parameter name in wrapper function.
+* crypto/cipher: new package to replace crypto/block (thanks Adam Langley).
+* crypto/elliptic: new package, implements elliptic curves over prime fields (thanks Adam Langley).
+* crypto/x509: policy OID support and fixes (thanks Adam Langley).
+* doc: add link to codewalks,
+        fix recover() documentation (thanks Anschel Schaffer-Cohen),
+        explain how to write Makefiles for commands.
+* exec: enable more tests on windows (thanks Alex Brainman).
+* gc: adjustable hash code in typecheck of composite literals
+        (thanks to vskrap, Andrey Mirtchovski, and Eoghan Sherry).
+* gc: better error message for bad type in channel send (thanks Anthony Martin).
+* godoc: bug fix in relativePath,
+        compute search index for all file systems under godoc's observation,
+        use correct time stamp to indicate accuracy of search result.
+* index/suffixarray: use sort.Search.
+* net: add ReadFrom and WriteTo windows version (thanks Wei Guangjing).
+* reflect: remove unnecessary casts in Get methods.
+* rpc: add RegisterName to allow override of default type name.
+* runtime: free memory allocated by windows CommandLineToArgv (thanks Alex Brainman).
+* sort: simplify Search (thanks Roger Peppe).
+* strings: add LastIndexAny (thanks Benny Siegert).
+</pre>
+
+<h2 id="2010-11-10">2010-11-10</h2>
+
+<pre>
+The birthday release includes a new Search capability inside the sort package.
+It takes an unusual but very general and easy-to-use approach to searching
+arbitrary indexable sorted data.  See the documentation for details:
+    http://golang.org/pkg/sort/#Search
+
+The ARM port now uses the hardware floating point unit (VFP).  It still has a
+few bugs, mostly around conversions between unsigned integer and floating-point
+values, but it's stabilizing.
+
+In addition, there have been many smaller fixes and updates: 
+
+* 6l: generate dwarf variable names with disambiguating suffix.
+* container/list: make Remove return Value of removed element.
+    makes it easier to remove first or last item.
+* crypto: add cast5 (default PGP cipher),
+    switch block cipher methods to be destination first.
+* crypto/tls: use pool building for certificate checking
+* go/ast: change embedded token.Position fields to named fields
+    (preparation for a different position representation)
+* net: provide public access to file descriptors (thanks Keith Rarick)
+* os: add Expand function to evaluate environment variables.
+* path: add Glob (thanks Benny Siegert)
+* runtime: memequal optimization (thanks Graham Miller)
+    prefix all external symbols with "runtime·" to avoid
+    conflicts linking with external C libraries.
+</pre>
+
+<h2 id="2010-11-02">2010-11-02</h2>
+
+<pre>
+This release includes a language change: the new built-in function, append.
+Append makes growing slices much simpler. See the spec for details:
+        http://golang.org/doc/go_spec.html#Appending_and_copying_slices
+
+Other changes:
+* 8l: pe generation fixes (thanks Alex Brainman).
+* doc: Effective Go: append and a few words about "..." args.
+* build: fiddle with make variables.
+* codereview: fix sync and download in Python 2.7 (thanks Fazlul Shahriar).
+* debug/pe, cgo: add windows support (thanks Wei Guangjing).
+* go/ast: add Inspect function for easy AST inspection w/o a visitor.
+* go/printer: do not remove parens around composite literals starting with
+        a type name in control clauses.
+* go/scanner: bug fixes, revisions, and more tests.
+* gob: several fixes and documentation updates.
+* godoc: bug fix (bug introduced with revision 3ee58453e961).
+* gotest: print empty benchmark list in a way that gofmt will leave alone.
+* http server: correctly respond with 304 NotModified (thanks Michael Hoisie).
+* kate: update list of builtins (thanks Evan Shaw).
+* libutf: update to Unicode 5.2.0 to match pkg/unicode (thanks Anthony Martin).
+* misc/bbedit: update list of builtins (thanks Anthony Starks).
+* misc/vim: update list of builtins.
+* mkrunetype: install a Makefile and tweak it slightly so it can be built.
+* netchan: fix locking bug.
+* pidigits: minor improvements (thanks Evan Shaw).
+* rpc: fix client deadlock bug.
+* src: use append where appropriate (often instead of vector).
+* strings: add Contains helper function (thanks Brad Fitzpatrick).
+* syscall: SIO constants for Linux (thanks Albert Strasheim),
+        Stat(path) on windows (thanks Alex Brainman).
+* test/ken/convert.go: add conversion torture test.
+* testing: add Benchmark (thanks Roger Peppe).
+</pre>
+
+<h2 id="2010-10-27">2010-10-27</h2>
+
+<pre>
+*** This release changes the encoding used by package gob. 
+    If you store gobs on disk, see below. ***
+
+The ARM port (5g) now passes all tests. The optimizer is not yet enabled, and
+floating point arithmetic is performed entirely in software. Work is underway
+to address both of these deficiencies.
+
+The syntax for arrays, slices, and maps of composite literals has been
+simplified. Within a composite literal of array, slice, or map type, elements
+that are themselves composite literals may elide the type if it is identical to
+the outer literal's element type. For example, these expressions:
+	[][]int{[]int{1, 2, 3}, []int{4, 5}}
+	map[string]Point{"x": Point{1.5, -3.5}, "y": Point{0, 0}}
+can be simplified to:
+	[][]int{{1, 2, 3}, {4, 5}}
+	map[string]Point{"x": {1.5, -3.5}, "y": {0, 0}}
+Gofmt can make these simplifications mechanically when invoked with the 
+new -s flag.
+
+The built-in copy function can now copy bytes from a string value to a []byte.
+Code like this (for []byte b and string s): 
+	for i := 0; i &lt; len(s); i++ {
+		b[i] = s[i]
+	}
+can be rewritten as:
+	copy(b, s)
+
+The gob package can now encode and decode interface values containing types
+registered ahead of time with the new Register function. These changes required
+a backwards-incompatible change to the wire format.  Data written with the old
+version of the package will not be readable with the new one, and vice versa.
+(Steps were made in this change to make sure this doesn't happen again.) 
+We don't know of anyone using gobs to create permanent data, but if you do this
+and need help converting, please let us know, and do not update to this release
+yet.  We will help you convert your data.
+
+Other changes:
+* 5g, 6g, 8g: generate code for string index instead of calling function.
+* 5l, 6l, 8l: introduce sub-symbols.
+* 6l/8l: global and local variables and type info.
+* Make.inc: delete unnecessary -fno-inline flag to quietgcc.
+* arm: precise float64 software floating point, bug fixes.
+* big: arm assembly, faster software mulWW, divWW.
+* build: only print "You need to add foo to PATH" when needed.
+* container/list: fix Remove bug and use pointer to self as identifier.
+* doc: show page title in browser title bar,
+        update roadmap.
+* encoding/binary: give LittleEndian, BigEndian specific types.
+* go/parser: consume auto-inserted semi when calling ParseExpr().
+* gobuilder: pass GOHOSTOS and GOHOSTARCH to build,
+        write build and benchmarking logs to disk.
+* goinstall: display helpful message when encountering a cgo package,
+        fix test for multiple package names (thanks Fazlul Shahriar).
+* gotest: generate correct gofmt-formatted _testmain.go.
+* image/png: speed up paletted encoding ~25% (thanks Brad Fitzpatrick).
+* misc: update python scripts to specify python2 as python3 is now "python".
+* net: fix comment on Dial to mention unix/unixgram.
+* rpc: expose Server type to allow multiple RPC Server instances.
+* runtime: print unknown types in panic.
+* spec: append built-in (not yet implemented).
+* src: gofmt -s -w src misc.
+        update code to use copy-from-string.
+* test/bench: update numbers.
+* websocket: fix short Read.
+</pre>
+
+<h2 id="2010-10-20">2010-10-20</h2>
+
+<pre>
+This release removes the log package's deprecated functions.
+Code that has not been updated to use the new interface will break.
+See the previous release notes for details:
+	http://golang.org/doc/devel/release.html#2010-10-13
+
+Also included are major improvements to the linker. It is now faster, 
+uses less memory, and more parallelizable (but not yet parallel).
+
+The nntp package has been removed from the standard library.
+Its new home is the nntp-go project at Google Code:
+	http://code.google.com/p/nntp-go
+You can install it with goinstall:
+	goinstall nntp-go.googlecode.com/hg/nntp
+And import it in your code like so:
+	import "nntp-go.googlecode.com/hg/nntp"
+
+Other changes:
+* 6g: avoid too-large immediate constants.
+* 8l, runtime: initial support for Plan 9 (thanks Yuval Pavel Zholkover).
+* 6l, 8l: more improvements on exporting debug information (DWARF).
+* arm: code gen fixes. Most tests now pass, except for floating point code.
+* big: add random number generation (thanks Florian Uekermann).
+* gc: keep track of real actual type of identifiers,
+	report that shift must be unsigned integer,
+	select receive with implicit conversion.
+* goplay: fix to run under windows (thanks Yasuhiro Matsumoto).
+* http: do not close connection after sending HTTP/1.0 request.
+* netchan: add new method Hangup to terminate transmission on a channel.
+* os: change TestForkExec so it can run on windows (thanks Yasuhiro Matsumoto).
+* runtime: don't let select split stack.
+* syscall/arm: correct 64-bit system call arguments.
+</pre>
+
+<h2 id="2010-10-13">2010-10-13</h2>
+
+<pre>
+This release includes changes to the log package, the removal of exp/iterable,
+two new tools (gotry and goplay), one small language change, and many other
+changes and fixes.  If you use the log or iterable packages, you need to make
+changes to your code.
+
+The log package has changed.  Loggers now have only one output, and output to
+standard error by default.  The names have also changed, although the old names
+are still supported.  They will be deleted in the next release, though, so it
+would be good to update now if you can.  For most purposes all you need to do
+is make these substitutions:
+        log.Stderr -&gt; log.Println or log.Print
+        log.Stderrf -&gt; log.Printf
+        log.Crash -&gt; log.Panicln or log.Panic
+        log.Crashf -&gt; log.Panicf
+        log.Exit -&gt; log.Exitln or log.Exit
+        log.Exitf -&gt; log.Exitf (no change)
+Calls to log.New() must drop the second argument.
+Also, custom loggers with exit or panic properties will need to be reworked.
+For full details, see the change description:
+        http://code.google.com/p/go/source/detail?r=d8a3c7563d
+
+The language change is that uses of pointers to interface values no longer
+automatically dereference the pointer.  A pointer to an interface value is more
+often a beginner's bug than correct code.
+
+The package exp/iterable has been removed. It was an interesting experiment,
+but it encourages writing inefficient code and has outlived its utility.
+
+The new tools:
+* gotry: an exercise in reflection and an unusual tool. Run 'gotry' for details.
+* goplay: a stand-alone version of the Go Playground. See misc/goplay.
+
+Other changes:
+* 6l: Mach-O fixes, and fix to work with OS X nm/otool (thanks Jim McGrath).
+* [568]a: correct line numbers for statements.
+* arm: code generation and runtime fixes,
+	adjust recover for new reflect.call,
+	enable 6 more tests after net fix.
+* big: fix panic and round correctly in Rat.FloatString (thanks Anthony Martin).
+* build: Make.cmd: remove $(OFILES) (thanks Eric Clark),
+        Make.pkg: remove .so before installing new one,
+        add GOHOSTOS and GOHOSTARCH environment variables.
+* crypto/tls: better error messages for certificate issues,
+        make SetReadTimeout work.
+* doc: add Sydney University video,
+	add The Expressiveness of Go talk.
+* exp/draw/x11: support X11 vendors other than "The X.Org Foundation".
+* expvar: add (*Int).Set (thanks Sam Thorogood).
+* fmt: add Errorf helper function,
+        allow %d on []byte.
+* gc: O(1) string comparison when lengths differ,
+        various bug fixes.
+* http: return the correct error if a header line is too long.
+* image: add image.Tiled type, the Go equivalent of Plan 9's repl bit.
+* ld: be less picky about bad line number info.
+* misc/cgo/life: fix for new slice rules (thanks Graham Miller).
+* net: allow _ in DNS names.
+* netchan: export before import when testing, and
+        zero out request to ensure correct gob decoding. (thanks Roger Peppe).
+* os: make tests work on windows (thanks Alex Brainman).
+* runtime: bug fix: serialize mcache allocation,
+        correct iteration of large map values,
+        faster strequal, memequal (thanks Graham Miller),
+        fix argument dump in traceback,
+        fix tiny build.
+* smtp: new package (thanks Evan Shaw).
+* syscall: add sockaddr_ll support for linux/386, linux/amd64 (thanks Mikio Hara),
+        add ucred structure for SCM_CREDENTIALS over UNIX sockets. (thanks Albert Strasheim).
+* syscall: implement WaitStatus and Wait4() for windows (thanks Wei Guangjing).
+* time: add After.
+* websocket: enable tests on windows (thanks Alex Brainman).
+</pre>
+
+<h2 id="2010-09-29">2010-09-29</h2>
+
+<pre>
+This release includes some minor language changes and some significant package
+changes. You may need to change your code if you use ...T parameters or the
+http package.
+
+The semantics and syntax of forwarding ...T parameters have changed.
+        func message(f string, s ...interface{}) { fmt.Printf(f, s) }
+Here, s has type []interface{} and contains the parameters passed to message.
+Before this language change, the compiler recognized when a function call
+passed a ... parameter to another ... parameter of the same type, and just
+passed it as though it was a list of arguments.  But this meant that you
+couldn't control whether to pass the slice as a single argument and you
+couldn't pass a regular slice as a ... parameter, which can be handy.  This
+change gives you that control at the cost of a few characters in the call.
+If you want the promotion to ...,  append ... to the argument:
+        func message(f string, s ...interface{}) { fmt.Printf(f, s...) }
+Without the ..., s would be passed to Printf as a single argument of type
+[]interface{}.  The bad news is you might need to fix up some of your code, 
+but the compiler will detect the situation and warn you.
+
+Also, the http.Handler and http.HandlerFunc types have changed. Where http
+handler functions previously accepted an *http.Conn, they now take an interface
+type http.ResponseWriter. ResponseWriter implements the same methods as *Conn,
+so in most cases the only change required will be changing the type signature
+of your handler function's first parameter. See:
+  http://golang.org/pkg/http/#Handler
+
+The utf8 package has a new type, String, that provides efficient indexing 
+into utf8 strings by rune (previously an expensive conversion to []int 
+was required). See:
+  http://golang.org/pkg/utf8/#String
+
+The compiler will now automatically insert a semicolon at the end of a file if
+one is not found. This effect of this is that Go source files are no longer
+required to have a trailing newline.
+
+Other changes:
+* 6prof: more accurate usage message.
+* archive/zip: new package for reading Zip files.
+* arm: fix code generation, 10 more package tests pass.
+* asn1: make interface consistent with json.
+* bufio.UnreadRune: fix bug at EOF.
+* build: clear custom variables like GREP_OPTIONS,
+        silence warnings generated by ubuntu gcc,
+        use full path when compiling libraries.
+* bytes, strings: change lastIndexFunc to use DecodeLastRune (thanks Roger Peppe).
+* doc: add to and consolidate non-english doc references,
+        consolidate FAQs into a single file, go_faq.html,
+        updates for new http interface.
+* fmt/Printf: document and tweak error messages produced for bad formats.
+* gc: allow select case expr = &lt;-c,
+        eliminate duplicates in method table,
+        fix reflect table method receiver,
+        improve error message for x \= 0.
+* go/scanner: treat EOF like a newline for purposes of semicolon insertion.
+* gofmt: stability improvements.
+* gotest: leave _testmain.go for "make clean" to clean up.
+* http: correct escaping of different parts of URL,
+        support HTTP/1.0 Keep-Alive.
+* json: do not write to unexported fields.
+* libcgo: don't build for NaCl,
+        set g, m in thread local storage for windows 386 (thanks Wei Guangjing).
+* math: Fix off-by-one error in Ilogb and Logb.  (thanks Charles L. Dorian).
+* misc/dashboard/builder: remove build files after benchmarking.
+* nacl: update instructions for new SDK.
+* net: enable v4-over-v6 on ip sockets,
+        fix crash in DialIP.
+* os: check for valid arguments in windows Readdir (thanks Peter Mundy).
+* runtime: add mmap of null page just in case,
+        correct stats in SysFree,
+        fix unwindstack crash.
+* syscall: add IPPROTO_IPV6 and IPV6_V6ONLY const to fix nacl and windows build,
+        add inotify on Linux (thanks Balazs Lecz),
+        fix socketpair in syscall_bsd,
+        fix windows value of IPV6_V6ONLY (thanks Alex Brainman),
+        implement windows version of Utimes (thanks Alex Brainman),
+        make mkall.sh work for nacl.
+* test: Add test that causes incorrect error from gccgo.
+* utf8: add DecodeLastRune and DecodeLastRuneInString (thanks Roger Peppe).
+* xml: Allow entities inside CDATA tags (thanks Dan Sinclair).
+</pre>
+
+<h2 id="2010-09-22">2010-09-22</h2>
+
+<pre>
+This release includes new package functionality, and many bug fixes and changes.
+It also improves support for the arm and nacl platforms.
+
+* 5l: avoid fixed buffers in list.
+* 6l, 8l: clean up ELF code, fix NaCl.
+* 6l/8l: emit DWARF frame info.
+* Make.inc: make GOOS detection work on windows (thanks Alex Brainman).
+* build: fixes for native arn build,
+        make all.bash run on Ubuntu ARM.
+* cgo: bug fixes,
+        show preamble gcc errors (thanks Eric Clark).
+* crypto/x509, crypto/tls: improve root matching and observe CA flag.
+* crypto: Fix certificate validation.
+* doc: variable-width layout.
+* env.bash: fix building in directory with spaces in the path (thanks Alex Brainman).
+* exp/4s, exp/nacl/av: sync to recent exp/draw changes.
+* exp/draw/x11: mouse location is a signed integer.
+* exp/nacl/av: update color to max out at 1&lt;&lt;16-1 instead of 1&lt;&lt;32-1.
+* fmt: support '*' for width or precision (thanks Anthony Martin).
+* gc: improvements to static initialization,
+        make sure path names are canonical.
+* gob: make robust when decoding a struct with non-struct data.
+* gobuilder: add -cmd for user-specified build command,
+        add -rev= flag to build specific revision and exit,
+        fix bug that caused old revisions to be rebuilt.
+* godoc: change default filter file name to "",
+        don't use quadratic algorithm to filter paths,
+        show "Last update" info for directory listings.
+* http: new redirect test,
+        URLEscape now escapes all reserved characters as per the RFC.
+* nacl: fix zero-length writes.
+* net/dict: parse response correctly (thanks Fazlul Shahriar).
+* netchan: add a cross-connect test,
+        handle closing of channels,
+        provide a method (Importer.Errors()) to recover protocol errors.
+* os: make Open() O_APPEND flag work on windows (thanks Alex Brainman),
+        make RemoveAll() work on windows (thanks Alex Brainman).
+* pkg/Makefile: disable netchan test to fix windows build (thanks Alex Brainman).
+* regexp: delete Iter methods.
+* runtime: better panic for send to nil channel.
+* strings: fix minor bug in LastIndexFunc (thanks Roger Peppe).
+* suffixarray: a package for creating suffixarray-based indexes.
+* syscall: Use vsyscall for syscall.Gettimeofday and .Time on linux amd64.
+* test: fix NaCl build.
+* windows: fix netchan test by using 127.0.0.1.
+</pre>
+
+<h2 id="2010-09-15">2010-09-15</h2>
+
+<pre>
+This release includes a language change: the lower bound of a subslice may
+now be omitted, in which case the value will default to 0.
+For example, s[0:10] may now be written as s[:10], and s[0:] as s[:].
+
+The release also includes important bug fixes for the ARM architecture,
+as well as the following fixes and changes:
+
+* 5g: register allocation bugs
+* 6c, 8c: show line numbers in -S output
+* 6g, 6l, 8g, 8l: move read-only data to text segment
+* 6l, 8l: make etext accurate; introduce rodata, erodata.
+* arm: fix build bugs.
+        make libcgo build during OS X cross-compile
+        remove reference to deleted file syntax/slice.go
+        use the correct stat syscalls
+        work around reg allocator bug in 5g
+* bufio: add UnreadRune.
+* build: avoid bad environment interactions
+        fix build for tiny
+        generate, clean .exe files on Windows (thanks Joe Poirier)
+        test for _WIN32, not _MINGW32 (thanks Joe Poirier)
+        work with GNU Make 3.82 (thanks Jukka-Pekka Kekkonen)
+* cgo: add typedef for uintptr in generated headers
+        silence warning for C call returning const pointer
+* codereview: convert email address to lower case before checking CONTRIBUTORS
+* crypto/tls: don't return an error from Close()
+* doc/tutorial: update for slice changes.
+* exec: separate LookPath implementations for unix/windows (thanks Joe Poirier)
+* exp/draw/x11: allow clean shutdown when the user closes the window.
+* exp/draw: clip destination rectangle to the image bounds.
+        fast path for drawing overlapping image.RGBAs.
+        fix double-counting of pt.Min for the src and mask points.
+        reintroduce the MouseEvent.Nsec timestamp.
+        rename Context to Window, and add a Close method.
+* exp/debug: preliminary support for 'copy' function (thanks Sebastien Binet)
+* fmt.Fscan: use UnreadRune to preserve data across calls.
+* gc: better printing of named constants, func literals in errors
+        many bug fixes
+        fix line number printing with //line directives
+        fix symbol table generation on windows (thanks Alex Brainman)
+        implement comparison rule from spec change 33abb649cb63
+        implement new slice spec (thanks Scott Lawrence)
+        make string x + y + z + ... + w efficient
+        more accurate line numbers for ATEXT
+        remove &amp;[10]int -&gt; []int conversion
+* go-mode.el: fix highlighting for 'chan' type (thanks Scott Lawrence)
+* godoc: better support for directory trees for user-supplied paths
+        use correct delay time (bug fix)
+* gofmt, go/printer: update internal estimated position correctly
+* goinstall: warn when package name starts with http:// (thanks Scott Lawrence)
+* http: check https certificate against host name
+        do not cache CanonicalHeaderKey (thanks Jukka-Pekka Kekkonen)
+* image: change a ColorImage's minimum point from (0, 0) to (-1e9, -1e9).
+        introduce Intersect and Union rectangle methods.
+* ld: handle quoted spaces in package path (thanks Dan Sinclair)
+* libcgo: fix NaCl build.
+* libmach: fix build on arm host
+        fix new thread race with Linux
+* math: make portable Tan(Pi/2) return NaN
+* misc/dashboard/builder: gobuilder, a continuous build client
+* net: disable tests for functions not available on windows (thanks Alex Brainman)
+* netchan: make -1 unlimited, as advertised.
+* os, exec: rename argv0 to name
+* path: add IsAbs (thanks Ivan Krasin)
+* runtime: fix bug in tracebacks
+        fix crash trace on amd64
+        fix windows build (thanks Alex Brainman)
+        use manual stack for garbage collection
+* spec: add examples for slices with omitted index expressions.
+        allow omission of low slice bound (thanks Scott Lawrence)
+* syscall: fix windows Gettimeofday (thanks Alex Brainman)
+* test(arm): disable zerodivide.go because compilation fails.
+* test(windows): disable tests that cause the build to fail (thanks Joe Poirier)
+* test/garbage/parser: sync with recent parser changes
+* test: Add test for //line
+        Make gccgo believe that the variables can change.
+        Recognize gccgo error messages.
+        Reduce race conditions in chan/nonblock.go.
+        Run garbage collector before testing malloc numbers.
+* websocket: Add support for secure WebSockets (thanks Jukka-Pekka Kekkonen)
+* windows: disable unimplemented tests (thanks Joe Poirier)
+</pre>
+
+<h2 id="2010-09-06">2010-09-06</h2>
+
+<pre>
+This release includes the syntactic modernization of more than 100 files in /test,
+and these additions, changes, and fixes: 
+* 6l/8l: emit DWARF in macho.
+* 8g: use FCHS, not FMUL, for minus float.
+* 8l: emit DWARF in ELF,
+        suppress emitting DWARF in Windows PE (thanks Alex Brainman).
+* big: added RatString, some simplifications.
+* build: create bin and pkg directories as needed; drop from hg,
+        delete Make.386 Make.amd64 Make.arm (obsoleted by Make.inc),
+        fix cgo with -j2,
+        let pkg/Makefile coordinate building of Go commands,
+        never use quietgcc in Make.pkg,
+        remove more references to GOBIN and GOROOT (thanks Christian Himpel).
+* codereview: Fix uploading for Mercurial 1.6.3 (thanks Evan Shaw),
+        consistent indent, cut dead code,
+        fix hang on standard hg commands,
+        print status when tasks take longer than 30 seconds,
+        really disable codereview when not available,
+        upload files in parallel (5x improvement on large CLs).
+* crypto/hmac: make Sum idempotent (thanks Jukka-Pekka Kekkonen).
+* doc: add links to more German docs,
+        add round-robin flag to io2010 balance example,
+        fix a bug in the example in Constants subsection (thanks James Fysh),
+        various changes for validating HTML (thanks Scott Lawrence).
+* fmt: delete erroneous sentence about return value for Sprint*.
+* gc: appease bison version running on FreeBSD builder,
+        fix spurious syntax error.
+* go/doc: use correct escaper for URL.
+* go/printer: align ImportPaths in ImportDecls (thanks Scott Lawrence).
+* go/typechecker: 2nd step towards augmenting AST with full type information.
+* gofmt: permit omission of first index in slice expression.
+* goinstall: added -a flag to mean "all remote packages" (thanks Scott Lawrence),
+        assume go binaries are in path (following new convention),
+        use https for Google Code checkouts.
+* gotest: allow make test of cgo packages (without make install).
+* http: add Date to server, Last-Modified and If-Modified-Since to file server,
+        add PostForm function to post url-encoded key/value data,
+        obscure passwords in return value of URL.String (thanks Scott Lawrence).
+* image: introduce Config type and DecodeConfig function.
+* libcgo: update Makefile to use Make.inc.
+* list: update comment to state that the zero value is ready to use.
+* math: amd64 version of Sincos (thanks Charles L. Dorian).
+* misc/bash: add *.go completion for gofmt (thanks Scott Lawrence).
+* misc/emacs: make _ a word symbol (thanks Scott Lawrence).
+* misc: add zsh completion (using compctl),
+        syntax highlighting for Fraise.app (OS X) (thanks Vincent Ambo).
+* net/textproto: Handle multi-line responses (thanks Evan Shaw).
+* net: add LookupMX (thanks Corey Thomasson).
+* netchan: Fix race condition in test,
+        rather than 0, make -1 mean infinite (a la strings.Split et al),
+        use acknowledgements on export send.
+        new methods Sync and Drain for clean teardown.
+* regexp: interpret all Go characer escapes \a \b \f \n \r \t \v.
+* rpc: fix bug that caused private methods to attempt to be registered.
+* runtime: Correct commonType.kind values to match compiler,
+        add GOOS, GOARCH; fix FuncLine,
+        special case copy, equal for one-word interface values (thanks Kyle Consalus).
+* scanner: fix incorrect reporting of error in Next (thanks Kyle Consalus).
+* spec: clarify that arrays must be addressable to be sliceable.
+* template: fix space handling around actions.
+* test/solitaire: an exercise in backtracking and string conversions.
+* test: Recognize gccgo error messages and other fixes.
+* time: do not crash in String on nil Time.
+* tutorial: regenerate HTML to pick up change to progs/file.go.
+* websocket: fix missing Sec-WebSocket-Protocol on server response (thanks Jukka-Pekka Kekkonen).
+</pre>
+
+<h2 id="2010-08-25">2010-08-25</h2>
+
+<pre>
+This release includes changes to the build system that will likely require you
+to make changes to your environment variables and Makefiles.
+
+All environment variables are now optional:
+ - $GOOS and $GOARCH are now optional; their values should now be inferred 
+   automatically by the build system,
+ - $GOROOT is now optional, but if you choose not to set it you must run
+   'gomake' instead of 'make' or 'gmake' when developing Go programs
+   using the conventional Makefiles,
+ - $GOBIN remains optional and now defaults to $GOROOT/bin;
+   if you wish to use this new default, make sure it is in your $PATH
+   and that you have removed the existing binaries from $HOME/bin.
+
+As a result of these changes, the Go Makefiles have changed. If your Makefiles
+inherit from the Go Makefiles, you must change this line:
+    include ../../Make.$(GOARCH)
+to this:
+    include ../../Make.inc
+
+This release also removes the deprecated functions in regexp and the 
+once package. Any code that still uses them will break.
+See the notes from the last release for details:
+    http://golang.org/doc/devel/release.html#2010-08-11
+
+Other changes:
+* 6g: better registerization for slices, strings, interface values
+* 6l: line number information in DWARF format
+* build: $GOBIN defaults to $GOROOT/bin,
+        no required environment variables
+* cgo: add C.GoStringN (thanks Eric Clark).
+* codereview: fix issues with leading tabs in CL descriptions,
+        do not send "Abandoned" mail if the CL has not been mailed.
+* crypto/ocsp: add missing Makefile.
+* crypto/tls: client certificate support (thanks Mikkel Krautz).
+* doc: update gccgo information for recent changes.
+        fix errors in Effective Go.
+* fmt/print: give %p priority, analogous to %T,
+        honor Formatter in Print, Println.
+* gc: fix parenthesization check.
+* go/ast: facility for printing AST nodes,
+        first step towards augmenting AST with full type information.
+* go/printer: do not modify tabwriter.Escape'd text.
+* gofmt: do not modify multi-line string literals,
+        print AST nodes by setting -ast flag.
+* http: fix typo in http.Request documentation (thanks Scott Lawrence)
+        parse query string always, not just in GET
+* image/png: support 16-bit color.
+* io: ReadAtLeast now errors if min > len(buf).
+* jsonrpc: use `error: null` for success, not `error: ""`.
+* libmach: implement register fetch for 32-bit x86 kernel.
+* net: make IPv6 String method standards-compliant (thanks Mikio Hara).
+* os: FileInfo.Permission() now returns uint32 (thanks Scott Lawrence),
+        implement env using native Windows API (thanks Alex Brainman).
+* reflect: allow PtrValue.PointTo(nil).
+* runtime: correct line numbers for .goc files,
+        fix another stack split bug,
+        fix freebsd/386 mmap.
+* syscall: regenerate syscall/z* files for linux/386, linux/amd64, linux/arm.
+* tabwriter: Introduce a new flag StripEscape.
+* template: fix handling of space around actions,
+        vars preceded by white space parse correctly (thanks Roger Peppe).
+* test: add test case that crashes gccgo.
+* time: parse no longer requires minutes for time zone (thanks Jan H. Hosang)
+* yacc: fix bounds check in error recovery.
+</pre>
+
+<h2 id="2010-08-11">2010-08-11</h2>
+
+<pre>
+This release introduces some package changes. You may need to change your
+code if you use the once, regexp, image, or exp/draw packages.
+
+The type Once has been added to the sync package. The new sync.Once will
+supersede the functionality provided by the once package. We intend to remove
+the once package after this release. See:
+    http://golang.org/pkg/sync/#Once
+All instances of once in the standard library have been replaced with
+sync.Once. Reviewing these changes may help you modify your existing code. 
+The relevant changeset:
+    http://code.google.com/p/go/source/detail?r=fa2c43595119
+
+A new set of methods has been added to the regular expression package, regexp.
+These provide a uniformly named approach to discovering the matches of an
+expression within a piece of text; see the package documentation for details: 
+    http://golang.org/pkg/regexp/
+These new methods will, in a later release, replace the old methods for
+matching substrings.  The following methods are deprecated:
+    Execute (use FindSubmatchIndex)
+    ExecuteString (use FindStringSubmatchIndex)
+    MatchStrings(use FindStringSubmatch)
+    MatchSlices (use FindSubmatch)
+    AllMatches (use FindAll; note that n&lt;0 means 'all matches'; was n&lt;=0)
+    AllMatchesString (use FindAllString; note that n&lt;0 means 'all matches'; was n&lt;=0)
+(Plus there are ten new methods you didn't know you wanted.) 
+Please update your code to use the new routines before the next release.
+
+An image.Image now has a Bounds rectangle, where previously it ranged 
+from (0, 0) to (Width, Height). Loops that previously looked like:
+    for y := 0; y &lt; img.Height(); y++ {
+        for x := 0; x &lt; img.Width(); x++ {
+            // Do something with img.At(x, y)
+        }
+    }
+should instead be:
+    b := img.Bounds()
+    for y := b.Min.Y; y &lt; b.Max.Y; y++ {
+        for x := b.Min.X; x &lt; b.Max.X; x++ {
+            // Do something with img.At(x, y)
+        }
+    }
+The Point and Rectangle types have also moved from exp/draw to image.
+
+Other changes:
+* arm: bugfixes and syscall (thanks Kai Backman).
+* asn1: fix incorrect encoding of signed integers (thanks Nicholas Waples).
+* big: fixes to bitwise functions (thanks Evan Shaw).
+* bytes: add IndexRune, FieldsFunc and To*Special (thanks Christian Himpel).
+* encoding/binary: add complex (thanks Roger Peppe).
+* exp/iterable: add UintArray (thanks Anschel Schaffer-Cohen).
+* godoc: report Status 404 if a pkg or file is not found.
+* gofmt: better reporting for unexpected semicolon errors.
+* html: new package, an HTML tokenizer.
+* image: change image representation from slice-of-slices to linear buffer,
+        introduce Decode and RegisterFormat,
+        introduce Transparent and Opaque,
+        replace Width and Height by Bounds, add the Point and Rect types.
+* libbio: fix Bprint to address 6g issues with large data structures.
+* math: fix amd64 Hypot (thanks Charles L. Dorian).
+* net/textproto: new package, with example net/dict.
+* os: fix ForkExec() handling of envv == nil (thanks Alex Brainman).
+* png: grayscale support (thanks Mathieu Lonjaret).
+* regexp: document that backslashes are the escape character.
+* rpc: catch errors from ReadResponseBody.
+* runtime: memory free fix (thanks Alex Brainman).
+* template: add ParseFile method to template.Template.
+* test/peano: use directly recursive type def.
+</pre>
+
+<h2 id="2010-08-04">2010-08-04</h2>
+
+<pre>
+This release includes a change to os.Open (and co.). The file permission
+argument has been changed to a uint32. Your code may require changes - a simple
+conversion operation at most.
+
+Other changes:
+* amd64: use segment memory for thread-local storage.
+* arm: add gdb support to android launcher script,
+        bugfixes (stack clobbering, indices),
+        disable another flaky test,
+        remove old qemu dependency from gotest.
+* bufio: introduce Peek.
+* bytes: added test case for explode with blank string (thanks Scott Lawrence).
+* cgo: correct multiple return value function invocations (thanks Christian Himpel).
+* crypto/x509: unwrap Subject Key Identifier (thanks Adam Langley).
+* gc: index bounds tests and other fixes.
+* gofmt/go/parser: strengthen syntax checks.
+* goinstall: check for error from exec.*Cmd.Wait() (thanks Alex Brainman).
+* image/png: use image-specific methods for checking opacity.
+* image: introduce Gray and Gray16 types,
+        remove the named colors except for Black and White.
+* json: object members must have a value (thanks Anthony Martin).
+* misc/vim: highlight misspelled words only in comments (thanks Christian Himpel).
+* os: Null device (thanks Peter Mundy).
+* runtime: do not fall through in SIGBUS/SIGSEGV.
+* strings: fix Split("", "", -1) (thanks Scott Lawrence).
+* syscall: make go errors not clash with windows errors (thanks Alex Brainman).
+* test/run: diff old new,
+* websocket: correct challenge response (thanks Tarmigan Casebolt),
+        fix bug involving spaces in header keys (thanks Bill Neubauer). 
+</pre>
+
+<h2 id="2010-07-29">2010-07-29</h2>
+
+<pre>
+* 5g: more soft float support and several bugfixes.
+* asn1: Enumerated, Flag and GeneralizedTime support.
+* build: clean.bash to check that GOOS and GOARCH are set.
+* bytes: add IndexFunc and LastIndexFunc (thanks Fazlul Shahriar),
+	add Title.
+* cgo: If CC is set in environment, use it rather than "gcc",
+	use new command line syntax: -- separates cgo flags from gcc flags.
+* codereview: avoid crash if no config,
+	don't run gofmt with an empty file list,
+	make 'hg submit' work with Mercurial 1.6.
+* crypto/ocsp: add package to parse OCSP responses.
+* crypto/tls: add client-side SNI support and PeerCertificates.
+* exp/bignum: delete package - functionality subsumed by package big.
+* fmt.Print: fix bug in placement of spaces introduced when ...T went in.
+* fmt.Scanf: handle trailing spaces.
+* gc: fix smaller-than-pointer-sized receivers in interfaces,
+	floating point precision/normalization fixes,
+	graceful exit on seg fault,
+	import dot shadowing bug,
+	many fixes including better handling of invalid input,
+	print error detail about failure to open import.
+* gccgo_install.html: add description of the port to RTEMS (thanks Vinu Rajashekhar).
+* gobs: fix bug in singleton arrays.
+* godoc: display synopses for all packages that have some kind of documentation..
+* gofmt: fix some linebreak issues.
+* http: add https client support (thanks Fazlul Shahriar),
+	write body when content length unknown (thanks James Whitehead).
+* io: MultiReader and MultiWriter (thanks Brad Fitzpatrick),
+	fix another race condition in Pipes.
+* ld: many fixes including better handling of invalid input.
+* libmach: correct handling of .5 files with D_REGREG addresses.
+* linux/386: use Xen-friendly ELF TLS instruction sequence.
+* mime: add AddExtensionType (thanks Yuusei Kuwana).
+* misc/vim: syntax file recognizes constants like 1e9 (thanks Petar Maymounkov).
+* net: TCPConn.SetNoDelay, back by popular demand.
+* net(windows): fix crashing Read/Write when passed empty slice on (thanks Alex Brainman),
+	implement LookupHost/Port/SRV (thanks Wei Guangjing),
+	properly handle EOF in (*netFD).Read() (thanks Alex Brainman).
+* runtime: fix bug introduced in revision 4a01b8d28570 (thanks Alex Brainman),
+	rename cgo2c, *.cgo to goc2c, *.goc (thanks Peter Mundy).
+* scanner: better comment.
+* strings: add Title.
+* syscall: add ForkExec, Syscall12 on Windows (thanks Daniel Theophanes),
+	improve windows errno handling (thanks Alex Brainman).
+* syscall(windows): fix FormatMessage (thanks Peter Mundy),
+	implement Pipe() (thanks Wei Guangjing).
+* time: fix parsing of minutes in time zones.
+* utf16(windows): fix cyclic dependency when testing (thanks Peter Mundy).
+</pre>
+
+<h2 id="2010-07-14">2010-07-14</h2>
+
+<pre>
+This release includes a package change. In container/vector, the Iter method
+has been removed from the Vector, IntVector, and StringVector types. Also, the
+Data method has been renamed to Copy to better express its actual behavior.
+Now that Vector is just a slice, any for loops ranging over v.Iter() or
+v.Data() can be changed to range over v instead.
+
+Other changes:
+* big: Improvements to Rat.SetString (thanks Evan Shaw),
+        add sign, abs, Rat.IsInt.
+* cgo: various bug fixes.
+* codereview: Fix for Mercurial >= 1.6 (thanks Evan Shaw).
+* crypto/rand: add Windows implementation (thanks Peter Mundy).
+* crypto/tls: make HTTPS servers easier,
+        add client OCSP stapling support.
+* exp/eval: converted from bignum to big (thanks Evan Shaw).
+* gc: implement new len spec, range bug fix, optimization.
+* go/parser: require that '...' parameters are followed by a type.
+* http: fix ParseURL to handle //relative_path properly.
+* io: fix SectionReader Seek to seek backwards (thanks Peter Mundy).
+* json: Add HTMLEscape (thanks Micah Stetson).
+* ld: bug fixes.
+* math: amd64 version of log (thanks Charles L. Dorian).
+* mime/multipart: new package to parse multipart MIME messages
+        and HTTP multipart/form-data support.
+* os: use TempFile with default TempDir for test files (thanks Peter Mundy).
+* runtime/tiny: add docs for additional VMs, fix build (thanks Markus Duft).
+* runtime: better error for send/recv on nil channel.
+* spec: clarification of channel close(),
+        lock down some details about channels and select,
+        restrict when len(x) is constant,
+        specify len/cap for nil slices, maps, and channels.
+* windows: append .exe to binary names (thanks Joe Poirier).
+</pre>
+
+<h2 id="2010-07-01">2010-07-01</h2>
+
+<pre>
+This release includes some package changes that may require changes to 
+client code.
+
+The Split function in the bytes and strings packages has been changed.
+The count argument, which limits the size of the return, previously treated
+zero as unbounded. It now treats 0 as 0, and will return an empty slice.  
+To request unbounded results, use -1 (or some other negative value).
+The new Replace functions in bytes and strings share this behavior.
+This may require you change your existing code.
+
+The gob package now allows the transmission of non-struct values at the
+top-level. As a result, the rpc and netchan packages have fewer restrictions
+on the types they can handle.  For example, netchan can now share a chan int.
+
+The release also includes a Code Walk: "Share Memory By Communicating".
+It describes an idiomatic Go program that uses goroutines and channels:
+	http://golang.org/doc/codewalk/sharemem/
+
+There is now a Projects page on the Go Dashboard that lists Go programs, 
+tools, and libraries:
+	http://godashboard.appspot.com/project
+
+Other changes:
+* 6a, 6l: bug fixes.
+* bytes, strings: add Replace.
+* cgo: use slash-free relative paths for .so references.
+* cmath: correct IsNaN for argument cmplx(Inf, NaN) (thanks Charles L. Dorian).
+* codereview: allow multiple email addresses in CONTRIBUTORS.
+* doc/codewalk: add Share Memory By Communicating.
+* exp/draw/x11: implement the mapping from keycodes to keysyms.
+* fmt: Printf: fix bug in handling of %#v, allow other verbs for slices
+        Scan: fix handling of EOFs.
+* gc: bug fixes and optimizations.
+* gob: add DecodeValue and EncodeValue,
+        add support for complex numbers.
+* goinstall: support for Bazaar+Launchpad (thanks Gustavo Niemeyer).
+* io/ioutil: add TempFile for Windows (thanks Peter Mundy).
+* ld: add -u flag to check safe bits; discard old -u, -x flags.
+* math: amd64 versions of Exp and Fabs (thanks Charles L. Dorian).
+* misc/vim: always override filetype detection for .go files.
+* net: add support for DNS SRV requests (thanks Kirklin McDonald),
+        initial attempt to implement Windows version (thanks Alex Brainman).
+* netchan: allow chan of basic types now that gob can handle such,
+        eliminate the need for a pointer value in Import and Export.
+* os/signal: only catch all signals if os/signal package imported.
+* regexp: bug fix: need to track whether match begins with fixed prefix.
+* rpc: allow non-struct args and reply (they must still be pointers).
+* runtime: bug fixes and reorganization.
+* strconv: fix bugs in floating-point and base 2 conversions
+* syscall: add syscall_bsd.go to zsycall_freebsd_386.go (thanks Peter Mundy),
+        add socketpair (thanks Ivan Krasin).
+* time: implement time zones for Windows (thanks Alex Brainman).
+* x509: support non-self-signed certs. 
+</pre>
+
+<h2 id="2010-06-21">2010-06-21</h2>
+
+<pre>
+This release includes a language change. The "..." function parameter form is
+gone; "...T" remains. Typically, "...interface{}" can be used instead of "...".
+
+The implementation of Printf has changed in a way that subtly affects its
+handling of the fmt.Stringer interface. You may need to make changes to your
+code. For details, see:
+        https://groups.google.com/group/golang-nuts/msg/6fffba90a3e3dc06
+
+The reflect package has been changed. If you have code that uses reflect, 
+it will need to be updated. For details, see:
+        https://groups.google.com/group/golang-nuts/msg/7a93d07c590e7beb
+
+Other changes:
+* 8l: correct test for sp == top of stack in 8l -K code.
+* asn1: allow '*' in PrintableString.
+* bytes.Buffer.ReadFrom: fix bug.
+* codereview: avoid exception in match (thanks Paolo Giarrusso).
+* complex divide: match C99 implementation.
+* exp/draw: small draw.drawGlyphOver optimization.
+* fmt: Print*: reimplement to switch on type first,
+        Scanf: improve error message when input does not match format.
+* gc: better error messages for interface failures, conversions, undefined symbols.
+* go/scanner: report illegal escape sequences.
+* gob: substitute slice for map.
+* goinstall: process dependencies for package main (thanks Roger Peppe).
+* gopack: add S flag to force marking a package as safe,
+        simplify go metadata code.
+* html: sync testdata/webkit to match WebKit tip.
+* http: reply to Expect 100-continue requests automatically (thanks Brad Fitzpatrick).
+* image: add an Alpha16 type.
+* ld: pad Go symbol table out to page boundary (fixes cgo crash).
+* misc/vim: reorganize plugin to be easier to use (thanks James Whitehead).
+* path: add Base, analogous to Unix basename.
+* pkg/Makefile: allow DISABLE_NET_TESTS=1 to disable network tests.
+* reflect: add Kind, Type.Bits, remove Int8Type, Int8Value, etc.
+* runtime: additional Windows support (thanks Alex Brainman),
+        correct fault for 16-bit divide on Leopard,
+        fix 386 signal handler bug.
+* strconv: add AtofN, FtoaN.
+* string: add IndexFunc and LastIndexFunc (thanks Roger Peppe).
+* syslog: use local network for tests. 
+</pre>
+
+<h2 id="2010-06-09">2010-06-09</h2>
+
+<pre>
+This release contains many fixes and improvements, including several
+clarifications and consolidations to the Language Specification.
+
+The type checking rules around assignments and conversions are simpler but more
+restrictive: assignments no longer convert implicitly from *[10]int to []int
+(write x[0:] instead of &amp;x), and conversions can no longer change the names of
+types inside composite types.
+
+The fmt package now includes flexible type-driven (fmt.Scan) and 
+format-driven (fmt.Scanf) scanners for all basic types.
+
+* big: bug fix for Quo aliasing problem.
+* bufio: change ReadSlice to match description.
+* cgo: bug fixes.
+* doc: add Google I/O talk and programs,
+        codereview + Mercurial Queues info (thanks Peter Williams).
+* exp/draw: Draw fast paths for the Over operator,
+        add Rectangle.Eq and Point.In, fix Rectangle.Clip (thanks Roger Peppe).
+* fmt: Scan fixes and improvements.
+* gc: backslash newline is not a legal escape sequence in strings,
+        better error message when ~ operator is found,
+        fix export of complex types,
+        new typechecking rules.
+* go/parser: correct position of empty statement ';'.
+* gofmt: fix test script.
+* goinstall: use 'git pull' instead of 'git checkout' (thanks Michael Hoisie).
+* http: add Head function for making HTTP HEAD requests,
+        handle status 304 correctly.
+* image: add Opaque method to the image types.
+        make Color.RGBA return 16 bit color instead of 32 bit color.
+* io/ioutil: add TempFile.
+* math: Pow special cases and additional tests (thanks Charles L. Dorian).
+* netchan: improve closing and shutdown.
+* os: implement os.FileInfo.*time_ns for windows (thanks Alex Brainman).
+* os/signal: correct the regexp for finding Unix signal names (thanks Vinu Rajashekhar).
+* regexp: optimizations (thanks Kyle Consalus).
+* runtime: fix printing -Inf (thanks Evan Shaw),
+        finish pchw -&gt; tiny, added gettime for tiny (thanks Daniel Theophanes).
+* spec: clean-ups and consolidation.
+* syscall: additional Windows compatibility fixes (thanks Alex Brainman).
+* test/bench: added regex-dna-parallel.go (thanks Kyle Consalus).
+* vector: type-specific Do functions now take f(type) (thanks Michael Hoisie). 
+</pre>
+
+<h2 id="2010-05-27">2010-05-27</h2>
+
+<pre>
+A sizeable release, including standard library improvements and a slew of
+compiler bug fixes. The three-week interval was largely caused by the team
+preparing for Google I/O. 
+
+* big: add Rat type (thanks Evan Shaw),
+        new features, much performance tuning, cleanups, and more tests.
+* bignum: deprecate by moving into exp directory.
+* build: allow MAKEFLAGS to be set outside the build scripts (thanks Christopher Wedgwood).
+* bytes: add Trim, TrimLeft, TrimRight, and generic functions (thanks Michael Hoisie).
+* cgo: fix to permit cgo callbacks from init code.
+* cmath: update range of Phase and Polar due to signed zero (thanks Charles L. Dorian).
+* codereview: work better with mq (thanks Peter Williams).
+* compress: renamings
+	NewDeflater -&gt; NewWriter
+	NewInflater -&gt; NewReader
+	Deflater -&gt; Compressor
+	Inflater -&gt; Decompressor
+* exp/draw/x11: respect $XAUTHORITY,
+        treat $DISPLAY the same way x-go-bindings does.
+* exp/draw: fast path for glyph images, other optimizations,
+        fix Rectangle.Canon (thanks Roger Peppe).
+* fmt: Scan, Scanln: Start of a simple scanning API in the fmt package,
+        fix Printf crash when given an extra nil argument (thanks Roger Peppe).
+* gc: better error when computing remainder of non-int (thanks Evan Shaw),
+        disallow middot in Go programs,
+        distinguish array, slice literal in error messages,
+        fix shift/reduce conflict in go.y export syntax,
+        fix unsafe.Sizeof on ideal constants,
+        handle use of builtin function outside function call,
+        many other bug fixes.
+* gob: add support for maps,
+        add test for indirect maps, slices, arrays.
+* godoc: collect package comments from all package files.
+* gofmt: don't lose mandatory semicolons,
+        exclude test w/ illegal syntax from test cases,
+        fix printing of labels.
+* http: prevent crash if remote server is not responding with "HTTP/".
+* json: accept escaped slash in string scanner (thanks Michael Hoisie),
+        fix array -&gt; non-array decoding.
+* libmach: skip __nl_symbol_ptr section on OS X.
+* math: amd64 versions of Fdim, Fmax, Fmin,
+        signed zero Sqrt special case (thanks Charles L. Dorian).
+* misc/kate: convert isn't a built in function (thanks Evan Shaw).
+* net: implement BindToDevice,
+        implement raw sockets (thanks Christopher Wedgwood).
+* netFD: fix race between Close and Read/Write (thanks Michael Hoisie).
+* os: add Chtimes function (thanks Brad Fitzpatrick).
+* pkg/Makefile: add netchan to standard package list.
+* runtime: GOMAXPROCS returns previous value,
+        allow large map values,
+        avoid allocation for fixed strings,
+        correct tracebacks for nascent goroutines, even closures,
+        free old hashmap pieces during resizing.
+* spec: added imaginary literal to semicolon rules (was missing),
+        fix and clarify syntax of conversions,
+        simplify section on channel types,
+        other minor tweaks.
+* strconv: Btoui64 optimizations (thanks Kyle Consalus).
+* strings: use copy instead of for loop in Map (thanks Kyle Consalus).
+* syscall: implement BindToDevice (thanks Christopher Wedgwood),
+        add Utimes on Darwin/FreeBSD, add Futimes everywhere,
+        regenerate syscalls for some platforms.
+* template: regularize name lookups of interfaces, pointers, and methods.
+</pre>
+
+<h2 id="2010-05-04">2010-05-04</h2>
+
+<pre>
+In this release we renamed the Windows OS target from 'mingw' to 'windows'.
+If you are currently building for 'mingw' you should set GOOS=windows instead.
+
+* 5l, 6l, 8l, runtime: make -s binaries work.
+* 5l, 6l, 8l: change ELF header so that strip doesn't destroy binary.
+* 8l: fix absolute path detection on Windows.
+* big: new functions, optimizations, and cleanups,
+	add bitwise methods for Int (thanks Evan Shaw).
+* bytes: Change IndexAny to look for UTF-8 encoded characters.
+* darwin: bsdthread_create can fail; print good error.
+* fmt: %T missing print &lt;nil&gt; for nil (thanks Christopher Wedgwood).
+* gc: many fixes.
+* misc/cgo/gmp: fix bug in SetString.
+* net: fix resolv.conf EOF without newline bug (thanks Christopher Wedgwood).
+* spec: some small clarifications (no language changes).
+* syscall: add EWOULDBLOCK to sycall_nacl.go,
+	force O_LARGEFILE in Linux open system call,
+	handle EOF on pipe - special case on Windows (thanks Alex Brainman),
+	mingw Sleep (thanks Joe Poirier).
+* test/bench: import new fasta C reference, update Go, optimizations.
+* test: test of static initialization (fails).
+* vector: use correct capacity in call to make.
+* xml: allow text segments to end at EOF.
+</pre>
+
+<h2 id="2010-04-27">2010-04-27</h2>
+
+<pre>
+This release includes a new Codelab that illustrates the construction of a
+simple wiki web application: 
+	http://golang.org/doc/codelab/wiki/
+
+It also includes a Codewalk framework for documenting code. See:
+	http://golang.org/doc/codewalk/
+
+Other changes:
+* 6g: fix need for parens around array index expression.
+* 6l, 8l: include ELF header in PT_LOAD mapping for text segment.
+* arm: add android runner script,
+	support for printing floats.
+* big: implemented Karatsuba multiplication,
+	many fixes and improvements (thanks Evan Shaw).
+* bytes: add Next method to Buffer, simplify Read,
+	shuffle implementation, making WriteByte 50% faster.
+* crypto/tls: simpler implementation of record layer.
+* exp/eval: fixes (thanks Evan Shaw).
+* flag: eliminate unnecessary structs.
+* gc: better windows support,
+	cmplx typecheck bug fix,
+	more specific error for statements at top level.
+* go/parser: don't require unnecessary parens.
+* godoc: exclude duplicate entries (thanks Andrei Vieru),
+	use int64 for timestamps (thanks Christopher Wedgwood).
+* gofmt: fine-tune stripping of parentheses,
+* json: Marshal, Unmarshal using new scanner,
+	preserve field name case by default,
+	scanner, Compact, Indent, and tests,
+	support for streaming.
+* libmach: disassemble MOVLQZX correctly.
+* math: more special cases for signed zero (thanks Charles L. Dorian).
+* net: add Pipe,
+	fix bugs in packStructValue (thanks Michael Hoisie),
+	introduce net.Error interface.
+* os: FileInfo: regularize the types of some fields,
+	create sys_bsd.go (thanks Giles Lean),
+	mingw bug fixes (thanks Alex Brainman).
+* reflect: add FieldByNameFunc (thanks Raif S. Naffah),
+	implement Set(nil), SetValue(nil) for PtrValue and MapValue.
+* regexp: allow escaping of any punctuation.
+* rpc/jsonrpc: support for jsonrpc wire encoding.
+* rpc: abstract client and server encodings,
+	add Close() method to rpc.Client.
+* runtime: closures, defer bug fix for Native Client,
+	rename cgo2c, *.cgo to goc2c, *.goc to avoid confusion with real cgo.
+	several other fixes.
+* scanner: implement Peek() to look at the next char w/o advancing.
+* strings: add ReadRune to Reader, add FieldsFunc (thanks Kyle Consalus).
+* syscall: match linux Setsid function signature to darwin,
+	mingw bug fixes (thanks Alex Brainman).
+* template: fix handling of pointer inside interface.
+* test/bench: add fannkuch-parallel.go (thanks Kyle Consalus),
+	pidigits ~10% performance win by using adds instead of shifts.
+* time: remove incorrect time.ISO8601 and add time.RFC3339 (thanks Micah Stetson).
+* utf16: add DecodeRune, EncodeRune.
+* xml: add support for XML marshaling embedded structs (thanks Raif S. Naffah),
+	new "innerxml" tag to collect inner XML.
+</pre>
+
+<h2 id="2010-04-13">2010-04-13</h2>
+
+<pre>
+This release contains many changes:
+
+* 8l: add DOS stub to PE binaries (thanks Evan Shaw).
+* cgo: add //export.
+* cmath: new complex math library (thanks Charles L. Dorian).
+* docs: update to match current coding style (thanks Christopher Wedgwood).
+* exp/eval: fix example and add target to Makefile (thanks Evan Shaw).
+* fmt: change behavior of format verb %b to match %x when negative (thanks Andrei Vieru).
+* gc: compile s == "" as len(s) == 0,
+	distinguish fatal compiler bug from error+exit,
+	fix alignment on non-amd64,
+	good syntax error for defer func() {} - missing fina (),
+	implement panic and recover,
+	zero unnamed return values on entry if func has defer.
+* goyacc: change to be reentrant (thanks Roger Peppe).
+* io/ioutil: fix bug in ReadFile when Open succeeds but Stat fails.
+* kate: update for recent language changes (thanks Evan Shaw).
+* libcgo: initial mingw port work - builds but untested (thanks Joe Poirier).
+* math: new functions and special cases (thanks Charles L. Dorian) 
+* net: use chan bool instead of chan *netFD to avoid cycle.
+* netchan: allow client to send as well as receive.
+* nntp: new package, NNTP client (thanks Conrad Meyer).
+* os: rename os.Dir to os.FileInfo.
+* rpc: don't log normal EOF,
+	fix ServeConn to block as documented.
+* runtime: many bug fixes, better ARM support.
+* strings: add IndexRune, Trim, TrimLeft, TrimRight, etc (thanks Michael Hoisie).
+* syscall: implement some mingw syscalls required by os (thanks Alex Brainman).
+* test/bench: add k-nucleotide-parallel (thanks Kyle Consalus).
+* Unicode: add support for Turkish case mapping.
+* xgb: move from the main repository to http://code.google.com/p/x-go-binding/
+</pre>
+
+<h2 id="2010-03-30">2010-03-30</h2>
+
+<pre>
+This release contains three language changes:
+
+1. Accessing a non-existent key in a map is no longer a run-time error.  
+It now evaluates to the zero value for that type.  For example:
+        x := myMap[i]   is now equivalent to:   x, _ := myMap[i]
+
+2. It is now legal to take the address of a function's return value.  
+The return values are copied back to the caller only after deferred
+functions have run.
+
+3. The functions panic and recover, intended for reporting and recovering from
+failure, have been added to the spec:
+	http://golang.org/doc/go_spec.html#Handling_panics 
+In a related change, panicln is gone, and panic is now a single-argument
+function.  Panic and recover are recognized by the gc compilers but the new
+behavior is not yet implemented.
+
+The ARM build is broken in this release; ARM users should stay at release.2010-03-22.
+
+Other changes:
+* bytes, strings: add IndexAny.
+* cc/ld: Add support for #pragma dynexport,
+        Rename dynld to dynimport throughout. Cgo users will need to rerun cgo.
+* expvar: default publishings for cmdline, memstats
+* flag: add user-defined flag types.
+* gc: usual bug fixes
+* go/ast: generalized ast filtering.
+* go/printer: avoid reflect in print.
+* godefs: fix handling of negative constants.
+* godoc: export pprof debug information, exported variables,
+        support for filtering of command-line output in -src mode,
+        use http GET for remote search instead of rpc.
+* gofmt: don't convert multi-line functions into one-liners,
+        preserve newlines in multiline selector expressions (thanks Risto Jaakko Saarelma).
+* goinstall: include command name in error reporting (thanks Andrey Mirtchovski)
+* http: add HandleFunc as shortcut to Handle(path, HandlerFunc(func))
+* make: use actual dependency for install
+* math: add J1, Y1, Jn, Yn, J0, Y0 (Bessel functions) (thanks Charles L. Dorian)
+* prof: add pprof from google-perftools
+* regexp: don't return non-nil *Regexp if there is an error.
+* runtime: add Callers,
+        add malloc sampling, pprof interface,
+        add memory profiling, more statistics to runtime.MemStats,
+        implement missing destroylock() (thanks Alex Brainman),
+        more malloc statistics,
+        run all finalizers in a single goroutine,
+        Goexit runs deferred calls.
+* strconv: add Atob and Btoa,
+        Unquote could wrongly return a nil error on error (thanks Roger Peppe).
+* syscall: add IPV6 constants,
+        add syscall_bsd.go for Darwin and other *BSDs (thanks Giles Lean),
+        implement SetsockoptString (thanks Christopher Wedgwood).
+* websocket: implement new protocol (thanks Fumitoshi Ukai).
+* xgb: fix request length and request size (thanks Firmansyah Adiputra).
+* xml: add CopyToken (thanks Kyle Consalus),
+        add line numbers to syntax errors (thanks Kyle Consalus),
+        use io.ReadByter in place of local readByter (thanks Raif S. Naffah). 
+</pre>
+
+<h2 id="2010-03-22">2010-03-22</h2>
+
+<pre>
+With this release we announce the launch of the Go Blog:
+	http://blog.golang.org/
+The first post is a brief update covering what has happened since the launch.
+
+This release contains some new packages and functionality, and many fixes:
+* 6g/8g: fix issues with complex data types, other bug fixes.
+* Makefiles: refactored to make writing external Makefiles easier.
+* crypto/rand: new package.
+* godoc: implemented command-line search via RPC,
+	improved comment formatting: recognize URLs.
+* gofmt: more consistent formatting of const/var decls.
+* http: add Error helper function,
+	add ParseQuery (thanks Petar Maymounkov),
+	change RawPath to mean raw path, not raw everything-after-scheme.
+* image/jpeg: fix typos.
+* json: add MarshalIndent (accepts user-specified indent string).
+* math: add Gamma function (thanks Charles L. Dorian).
+* misc/bbedit: support for cmplx, real, imag (thanks Anthony Starks).
+* misc/vim: add new complex types, functions and literals.
+* net: fix IPMask.String not to crash on all-0xff mask.
+* os: drop File finalizer after normal Close.
+* runtime: add GOROOT and Version,
+	lock finalizer table accesses.
+* sha512: add sha384 (truncated version) (thanks Conrad Meyer).
+* syscall: add const ARCH, analogous to OS.
+* syscall: further additions to mingw port (thanks Alex Brainman).
+* template: fixed html formatter []byte input bug.
+* utf16: new package.
+* version.bash: cope with ancient Mercurial.
+* websocket: use URL.RawPath to construct WebSocket-Location: header.
+</pre>
+
+<h2 id="2010-03-15">2010-03-15</h2>
+
+<pre>
+This release includes a language change: support for complex numbers.
+	http://golang.org/doc/go_spec.html#Imaginary_literals
+	http://golang.org/doc/go_spec.html#Complex_numbers
+There is no library support as yet.
+
+This release also includes the goinstall command-line tool. 
+	http://golang.org/cmd/goinstall/
+	http://groups.google.com/group/golang-nuts/t/f091704771128e32
+
+* 5g/6g/8g: fix double function call in slice.
+* arm: cleanup build warnings. (thanks Dean Prichard)
+* big: fix mistakes with probablyPrime.
+* bufio: add WriteRune.
+* bytes: add ReadRune and WriteRune to bytes.Buffer.
+* cc: stack split bug fix.
+* crypto: add SHA-224 to sha256, add sha512 package. (thanks Conrad Meyer)
+* crypto/ripemd160: new package. (thanks Raif S. Naffah)
+* crypto/rsa: don't use safe primes.
+* gc: avoid fixed length buffer cleanbuf. (thanks Dean Prichard)
+	better compilation of floating point +=
+	fix crash on complicated arg to make slice.
+	remove duplicate errors, give better error for I.(T)
+* godoc: support for multiple packages in a directory, other fixes.
+* gofmt: bug fixes.
+* hash: add Sum64 interface.
+* hash/crc32: add Update function.
+* hash/crc64: new package implementing 64-bit CRC.
+* math: add ilogb, logb, remainder. (thanks Charles L. Dorian) 
+* regexp: add ReplaceAllFunc, ReplaceAllStringFunc.
+* runtime: clock garbage collection on bytes allocated, not pages in use.
+* strings: make Split(s, "", n) faster. (thanks Spring Mc)
+* syscall: minimal mingw version of syscall. (thanks Alex Brainman)
+* template: add ParseFile, MustParseFile.
+</pre>
+
+<h2 id="2010-03-04">2010-03-04</h2>
+
+<pre>
+There is one language change: the ability to convert a string to []byte or 
+[]int.  This deprecates the strings.Bytes and strings.Runes functions.
+You can convert your existing sources using these gofmt commands:
+	gofmt -r 'strings.Bytes(x) -&gt; []byte(x)' -w file-or-directory-list
+	gofmt -r 'strings.Runes(x) -&gt; []int(x)' -w file-or-directory-list
+After running these you might need to delete unused imports of the "strings" 
+package.
+
+Other changes and fixes:
+* 6l/8l/5l: add -r option
+* 8g: make a[byte(x)] truncate x
+* codereview.py: fix for compatibility with hg >=1.4.3
+* crypto/blowfish: new package (thanks Raif S. Naffah)
+* dashboard: more performance tuning
+* fmt: use String method in %q to get the value to quote.
+* gofmt: several cosmetic changes
+* http: fix handling of Connection: close, bug in http.Post
+* net: correct DNS configuration,
+	fix network timeout boundary condition,
+	put [ ] around IPv6 addresses for Dial.
+* path: add Match,
+	fix bug in Match with non-greedy stars (thanks Kevin Ballard)
+* strings: delete Bytes, Runes (see above)
+* tests: an Eratosthenesque concurrent prime sieve (thanks Anh Hai Trinh) 
+</pre>
+
+<h2 id="2010-02-23">2010-02-23</h2>
+
+<pre>
+This release is mainly bug fixes and a little new code.
+There are no language changes.
+
+6g/5g/8g: bug fixes
+8a/8l: Added FCMOVcc instructions (thanks Evan Shaw and Charles Dorian)
+crypto/x509: support certificate creation
+dashboard: caching to avoid datastore queries
+exec: add dir argument to Run
+godoc: bug fixes and code cleanups
+http: continued implementation and bug fixes (thanks Petar Maymounkov)
+json: fix quoted strings in Marshal (thanks Sergei Skorobogatov)
+math: more functions, test cases, and benchmarks (thanks Charles L. Dorian)
+misc/bbedit: treat predeclared identifiers as "keywords" (thanks Anthony Starks)
+net: disable UDP server test (flaky on various architectures)
+runtime: work around Linux kernel bug in futex,
+	pchw is now tiny
+sync: fix to work on armv5 (thanks Dean Prichard)
+websocket: fix binary frame size decoding (thanks Timo Savola)
+xml: allow unquoted attribute values in non-Strict mode (thanks Amrut Joshi)
+	treat bool as value in Unmarshal (thanks Michael Hoisie) 
+</pre>
+
+<h2 id="2010-02-17">2010-02-17</h2>
+
+<pre>
+There are two small language changes:
+* NUL bytes may be rejected in souce files, and the tools do reject them.
+* Conversions from string to []int and []byte are defined but not yet implemented.
+
+Other changes and fixes:
+* 5a/6a/8a/5c/6c/8c: remove fixed-size arrays for -I and -D options (thanks Dean Prichard)
+* 5c/6c/8c/5l/6l/8l: add -V flag to display version number
+* 5c/6c/8c: use "cpp" not "/bin/cpp" for external preprocessor (thanks Giles Lean)
+* 8a/8l: Added CMOVcc instructions (thanks Evan Shaw)
+* 8l: pe executable building code changed to include import table for kernel32.dll functions (thanks Alex Brainman)
+* 5g/6g/8g: bug fixes
+* asn1: bug fixes and additions (incl marshaling)
+* build: fix build for Native Client, Linux/ARM
+* dashboard: show benchmarks, add garbage collector benchmarks
+* encoding/pem: add marshaling support
+* exp/draw: fast paths for a nil mask
+* godoc: support for directories outside $GOROOT
+* http: sort header keys when writing Response or Request to wire (thanks Petar Maymounkov)
+* math: special cases and new functions (thanks Charles Dorian)
+* mime: new package, used in http (thanks Michael Hoisie)
+* net: dns bug fix - use random request id
+* os: finalize File, to close fd.
+* path: make Join variadic (thanks Stephen Weinberg)
+* regexp: optimization bug fix
+* runtime: misc fixes and optimizations
+* syscall: make signature of Umask on OS X, FreeBSD match Linux. (thanks Giles Lean)
+</pre>
+
+<h2 id="2010-02-04">2010-02-04</h2>
+
+<pre>
+There is one language change: support for ...T parameters:
+	http://golang.org/doc/go_spec.html#Function_types
+
+You can now check build status on various platforms at the Go Dashboard: 
+	http://godashboard.appspot.com
+
+* 5l/6l/8l: several minor fixes
+* 5a/6a/8a/5l/6l/8l: avoid overflow of symb buffer (thanks Dean Prichard)
+* compress/gzip: gzip deflater (i.e., writer)
+* debug/proc: add mingw specific build stubs (thanks Joe Poirier)
+* exp/draw: separate the source-point and mask-point in Draw
+* fmt: handle nils safely in Printf
+* gccgo: error messages now match those of gc
+* godoc: several fixes
+* http: bug fixes, revision of Request/Response (thanks Petar Maymounkov)
+* image: new image.A type to represent anti-aliased font glyphs
+	add named colors (e.g. image.Blue), suitable for exp/draw
+* io: fixed bugs in Pipe
+* malloc: merge into package runtime
+* math: fix tests on FreeBSD (thanks Devon H. O'Dell)
+	add functions; update tests and special cases (thanks Charles L. Dorian)
+* os/signal: send SIGCHLDs to Incoming (thanks Chris Wedgwood)
+* reflect: add StringHeader to reflect
+* runtime: add SetFinalizer
+* time: Sleep through interruptions (thanks Chris Wedgwood)
+	add RFC822 formats
+	experimental implementation of Ticker using two goroutines for all tickers
+* xml: allow underscores in XML element names (thanks Michael Hoisie)
+	allow any scalar type in xml.Unmarshal
+</pre>
+
+<h2 id="2010-01-27">2010-01-27</h2>
+
+<pre>
+There are two small language changes: the meaning of chan &lt;- chan int
+is now defined, and functions returning functions do not need to 
+parenthesize the result type.
+
+There is one significant implementation change: the compilers can
+handle multiple packages using the same name in a single binary.
+In the gc compilers, this comes at the cost of ensuring that you
+always import a particular package using a consistent import path.
+In the gccgo compiler, the cost is that you must use the -fgo-prefix
+flag to pass a unique prefix (like the eventual import path).
+
+5a/6a/8a: avoid use of fixed-size buffers (thanks Dean Prichard)
+5g, 6g, 8g: many minor bug fixes
+bufio: give Writer.WriteString same signature as bytes.Buffer.WriteString.
+container/list: PushFrontList, PushBackList (thanks Jan Hosang)
+godoc: trim spaces from search query (thanks Christopher Wedgwood)
+hash: document that Sum does not change state, fix crypto hashes
+http: bug fixes, revision of Request/Response (thanks Petar Maymounkov)
+math: more handling of IEEE 754 special cases (thanks Charles Dorian)
+misc/dashboard: new build dashboard
+net: allow UDP broadcast,
+	use /etc/hosts to resolve names (thanks Yves Junqueira, Michael Hoisie)
+netchan: beginnings of new package for connecting channels across a network
+os: allow FQDN in Hostname test (thanks Icarus Sparry)
+reflect: garbage collection bug in Call
+runtime: demo of Go on raw (emulated) hw in runtime/pchw,
+	performance fix on OS X
+spec: clarify meaning of chan &lt;- chan int,
+	func() func() int is allowed now,
+	define ... T (not yet implemented)
+template: can use interface values
+time: fix for +0000 time zone,
+	more robust tick.Stop.
+xgb: support for authenticated connections (thanks Firmansyah Adiputra)
+xml: add Escape (thanks Stephen Weinberg)
+</pre>
+
+<h2 id="2010-01-13">2010-01-13</h2>
+
+<pre>
+This release is mainly bug fixes with a little new code.
+There are no language changes.
+
+build: $GOBIN should no longer be required in $PATH (thanks Devon H. O'Dell),
+	new package target "make bench" to run benchmarks
+8g: faster float -&gt; uint64 conversion (thanks Evan Shaw)
+5g, 6g, 8g:
+	clean opnames.h to avoid stale errors (thanks Yongjian Xu),
+	a handful of small compiler fixes
+5g, 6g, 8g, 5l, 6l, 8l: ignore $GOARCH, which is implied by name of tool
+6prof: support for writing input files for google-perftools's pprof
+asn1: fix a few structure-handling bugs
+cgo: many bug fixes (thanks Devon H. O'Dell)
+codereview: repeated "hg mail" sends "please take another look"
+gob: reserve ids for future expansion
+godoc: distinguish HTML generation from plain text HTML escaping (thanks Roger Peppe)
+gofmt: minor bug fixes, removed -oldprinter flag
+http: add CanonicalPath (thanks Ivan Krasin),
+	avoid header duplication in Response.Write,
+	correctly escape/unescape URL sections
+io: new interface ReadByter
+json: better error, pointer handling in Marshal (thanks Ivan Krasin)
+libmach: disassembly of FUCOMI, etc (thanks Evan Shaw)
+math: special cases for most functions and 386 hardware Sqrt (thanks Charles Dorian)
+misc/dashboard: beginning of a build dashboard at godashboard.appspot.com.
+misc/emacs: handling of new semicolon rules (thanks Austin Clements),
+	empty buffer bug fix (thanks Kevin Ballard)
+misc/kate: highlighting improvements (tahnks Evan Shaw)
+os/signal: add signal names: signal.SIGHUP, etc (thanks David Symonds)
+runtime: preliminary Windows support (thanks Hector Chu),
+	preemption polling to reduce garbage collector pauses
+scanner: new lightweight scanner package
+template: bug fix involving spaces before a delimited block
+test/bench: updated timings
+time: new Format, Parse functions
+</pre>
+
+<h2 id="2010-01-05">2010-01-05</h2>
+
+<pre>
+This release is mainly bug fixes.  There are no language changes.
+
+6prof: now works on 386
+8a, 8l: add FCOMI, FCOMIP, FUCOMI, and FUCOMIP (thanks Evan Shaw)
+big: fix ProbablyPrime on small numbers
+container/vector: faster []-based implementation (thanks Jan Mercl)
+crypto/tls: extensions and Next Protocol Negotiation
+gob: one encoding bug fix, one decoding bug fix
+image/jpeg: support for RST markers
+image/png: support for transparent paletted images
+misc/xcode: improved support (thanks Ken Friedenbach)
+net: return nil Conn on error from Dial (thanks Roger Peppe)
+regexp: add Regexp.NumSubexp (thanks Peter Froehlich)
+syscall: add Nanosleep on FreeBSD (thanks Devon H. O'Dell)
+template: can use map in .repeated section
+
+There is now a public road map, in the repository and online
+at <a href="http://golang.org/doc/devel/roadmap.html">http://golang.org/doc/devel/roadmap.html</a>.
+</pre>
+
+<h2 id="2009-12-22">2009-12-22</h2>
+
+<pre>
+Since the last release there has been one large syntactic change to
+the language, already discussed extensively on this list: semicolons
+are now implied between statement-ending tokens and newline characters.
+See http://groups.google.com/group/golang-nuts/t/5ee32b588d10f2e9 for
+details.
+
+By default, gofmt now parses and prints the new lighter weight syntax.
+To convert programs written in the old syntax, you can use:
+
+	gofmt -oldparser -w *.go
+
+Since everything was being reformatted anyway, we took the opportunity to
+change the way gofmt does alignment.  Now gofmt uses tabs at the start
+of a line for basic code alignment, but it uses spaces for alignment of
+interior columns.  Thus, in an editor with a fixed-width font, you can
+choose your own tab size to change the indentation, and no matter what
+tab size you choose, columns will be aligned properly.
+
+
+In addition to the syntax and formatting changes, there have been many
+smaller fixes and updates:
+
+6g,8g,5g: many bug fixes, better registerization,
+   build process fix involving mkbuiltin (thanks Yongjian Xu),
+   method expressions for concrete types
+8l: support for Windows PE files (thanks Hector Chu)
+bytes: more efficient Buffer handling
+bytes, strings: new function Fields (thanks Andrey Mirtchovski)
+cgo: handling of enums (thanks Moriyoshi Koizumi),
+    handling of structs with bit fields, multiple files (thanks Devon H. O'Dell),
+    installation of .so to non-standard locations
+crypto/sha256: new package for SHA 256 (thanks Andy Davis)
+encoding/binary: support for slices of fixed-size values (thanks Maxim Ushakov)
+exp/vector: experimental alternate vector representation (thanks Jan Mercl)
+fmt: %p for chan, map, slice types
+gob: a couple more bug fixes
+http: support for basic authentication (thanks Ivan Krasin)
+image/jpeg: basic JPEG decoder
+math: correct handling of Inf and NaN in Pow (thanks Charles Dorian)
+misc/bash: completion file for bash (thanks Alex Ray)
+os/signal: support for handling Unix signals (thanks David Symonds)
+rand: Zipf-distributed random values (thanks William Josephson)
+syscall: correct error return bug on 32-bit machines (thanks Christopher Wedgwood)
+syslog: new package for writing to Unix syslog daemon (thanks Yves Junqueira)
+template: will automatically invoke niladic methods
+time: new ISO8601 format generator (thanks Ben Olive)
+xgb: converted generator to new syntax (thanks Tor Andersson)
+xml: better mapping of tag names to Go identifiers (thanks Kei Son),
+    better handling of unexpected EOF (thanks Arvindh Rajesh Tamilmani)
+</pre>
+
+<h2 id="2009-12-09">2009-12-09</h2>
+
+<pre>
+Since the last release there are two changes to the language: 
+
+* new builtin copy(dst, src) copies n = min(len(dst), len(src)) 
+  elements to dst from src and returns n.  It works correctly 
+  even if dst and src overlap.  bytes.Copy is gone. 
+  Convert your programs using: 
+      gofmt -w -r 'bytes.Copy(d, s) -&gt; copy(d, s)' *.go 
+
+* new syntax x[lo:] is shorthand for x[lo:len(x)]. 
+  Convert your programs using: 
+      gofmt -w -r 'a[b:len(a)] -&gt; a[b:]' *.go 
+
+In addition, there have been many smaller fixes and updates: 
+
+* 6g/8g/5g: many bug fixes 
+* 8g: fix 386 floating point stack bug (thanks Charles Dorian) 
+* all.bash: now works even when $GOROOT has spaces (thanks Sergio Luis O. B. Correia), 
+    starting to make build work with mingw (thanks Hector Chu), 
+    FreeBSD support (thanks Devon O'Dell) 
+* big: much faster on 386. 
+* bytes: new function IndexByte, implemented in assembly 
+    new function Runes (thanks Peter Froehlich), 
+    performance tuning in bytes.Buffer. 
+* codereview: various bugs fixed 
+* container/vector: New is gone; just declare a Vector instead. 
+    call Resize to set len and cap. 
+* cgo: many bug fixes (thanks Eden Li) 
+* crypto: added MD4 (thanks Chris Lennert), 
+    added XTEA (thanks Adrian O'Grady). 
+* crypto/tls: basic client 
+* exp/iterable: new functions (thanks Michael Elkins) 
+* exp/nacl: native client tree builds again 
+* fmt: preliminary performance tuning 
+* go/ast: more powerful Visitor (thanks Roger Peppe) 
+* gob: a few bug fixes 
+* gofmt: better handling of standard input, error reporting (thanks Fazlul Shahriar) 
+    new -r flag for rewriting programs 
+* gotest: support for Benchmark functions (thanks Trevor Strohman) 
+* io: ReadFile, WriteFile, ReadDir now in separate package io/ioutil. 
+* json: new Marshal function (thanks Michael Hoisie), 
+    better white space handling (thanks Andrew Skiba), 
+    decoding into native data structures (thanks Sergey Gromov), 
+    handling of nil interface values (thanks Ross Light). 
+* math: correct handling of sin/cos of large angles 
+* net: better handling of Close (thanks Devon O'Dell and Christopher Wedgwood) 
+    support for UDP broadcast (thanks Jonathan Wills), 
+    support for empty packets 
+* rand: top-level functions now safe to call from multiple goroutines 
+(thanks Roger Peppe). 
+* regexp: a few easy optimizations 
+* rpc: better error handling, a few bug fixes 
+* runtime: better signal handling on OS X, malloc fixes, 
+    global channel lock is gone. 
+* sync: RWMutex now allows concurrent readers (thanks Péter Szabó) 
+* template: can use maps as data (thanks James Meneghello) 
+* unicode: updated to Unicode 5.2. 
+* websocket: new package (thanks Fumitoshi Ukai) 
+* xgb: preliminary X Go Bindings (thanks Tor Andersson) 
+* xml: fixed crash (thanks Vish Subramanian) 
+* misc: bbedit config (thanks Anthony Starks), 
+    kate config (thanks Evan Shaw) 
+</pre>
diff --git a/content/static/gen.go b/content/static/gen.go
index 1ad726e..edcdac2 100644
--- a/content/static/gen.go
+++ b/content/static/gen.go
@@ -38,6 +38,9 @@
 	"doc/code.html",
 	"doc/conduct.html",
 	"doc/copyright.html",
+	"doc/devel/pre_go1.html",
+	"doc/devel/release.html",
+	"doc/devel/weekly.html",
 	"doc/docs.html",
 	"doc/root.html",
 	"error.html",
diff --git a/content/static/static.go b/content/static/static.go
index 6133b34..b51a15c 100644
--- a/content/static/static.go
+++ b/content/static/static.go
@@ -51,6 +51,12 @@
 
 	"doc/copyright.html": "<!--{\x0a\x09\"Title\":\x20\"Copyright\"\x0a}-->\x0a\x0a<p>\x0a\x20\x20Except\x20as\x0a\x20\x20<a\x20href=\"https://developers.google.com/site-policies#restrictions\">noted</a>,\x20the\x20contents\x20of\x20this\x0a\x20\x20site\x20are\x20licensed\x20under\x20the\x0a\x20\x20<a\x20href=\"https://creativecommons.org/licenses/by/3.0/\">Creative\x20Commons\x20Attribution\x203.0\x20License</a>,\x0a\x20\x20and\x20code\x20is\x20licensed\x20under\x20a\x20<a\x20href=\"/LICENSE\">BSD\x20license</a>.\x0a</p>\x0a",
 
+	"doc/devel/pre_go1.html": "<!--{\x0a\x09\"Title\":\x20\"Pre-Go\x201\x20Release\x20History\"\x0a}-->\x0a\x0a<p>\x0aThis\x20page\x20summarizes\x20the\x20changes\x20between\x20stable\x20releases\x20of\x20Go\x20prior\x20to\x20Go\x201.\x0aSee\x20the\x20<a\x20href=\"release.html\">Release\x20History</a>\x20page\x20for\x20notes\x20on\x20recent\x20releases.\x0a</p>\x0a\x0a<h2\x20id=\"r60\">r60\x20(released\x202011/09/07)</h2>\x0a\x0a<p>\x0aThe\x20r60\x20release\x20corresponds\x20to\x20\x0a<code><a\x20href=\"weekly.html#2011-08-17\">weekly.2011-08-17</a></code>.\x0aThis\x20section\x20highlights\x20the\x20most\x20significant\x20changes\x20in\x20this\x20release.\x0aFor\x20a\x20more\x20detailed\x20summary,\x20see\x20the\x0a<a\x20href=\"weekly.html#2011-08-17\">weekly\x20release\x20notes</a>.\x0aFor\x20complete\x20information,\x20see\x20the\x0a<a\x20href=\"//code.google.com/p/go/source/list?r=release-branch.r60\">Mercurial\x20change\x20list</a>.\x0a</p>\x0a\x0a<h3\x20id=\"r60.lang\">Language</h3>\x0a\x0a<p>\x0aAn\x20\"else\"\x20block\x20is\x20now\x20required\x20to\x20have\x20braces\x20except\x20if\x20the\x20body\x20of\x20the\x20\"else\"\x0ais\x20another\x20\"if\".\x20Since\x20gofmt\x20always\x20puts\x20those\x20braces\x20in\x20anyway,\x0agofmt-formatted\x20programs\x20will\x20not\x20be\x20affected.\x0aTo\x20fix\x20other\x20programs,\x20run\x20gofmt.\x0a</p>\x0a\x0a<h3\x20id=\"r60.pkg\">Packages</h3>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/http/\">Package\x20http</a>'s\x20URL\x20parsing\x20and\x20query\x20escaping\x20code\x0a(such\x20as\x20<code>ParseURL</code>\x20and\x20<code>URLEscape</code>)\x20has\x20been\x20moved\x20to\x0athe\x20new\x20<a\x20href=\"/pkg/url/\">url\x20package</a>,\x20with\x20several\x20simplifications\x20to\x0athe\x20names.\x20Client\x20code\x20can\x20be\x20updated\x20automatically\x20with\x20gofix.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/image/\">Package\x20image</a>\x20has\x20had\x20significant\x20changes\x20made\x20to\x20the\x0a<code>Pix</code>\x20field\x20of\x20struct\x20types\x20such\x20as\x0a<a\x20href=\"/pkg/image/#RGBA\">image.RGBA</a>\x20and\x0a<a\x20href=\"/pkg/image/#NRGBA\">image.NRGBA</a>.\x0aThe\x20<a\x20href=\"/pkg/image/#Image\">image.Image</a>\x20interface\x20type\x20has\x20not\x20changed,\x0athough,\x20and\x20you\x20should\x20not\x20need\x20to\x20change\x20your\x20code\x20if\x20you\x20don't\x20explicitly\x0arefer\x20to\x20<code>Pix</code>\x20fields.\x20For\x20example,\x20if\x20you\x20decode\x20a\x20number\x20of\x20images\x0ausing\x20the\x20<a\x20href=\"/pkg/image/jpeg/\">image/jpeg</a>\x20package,\x20compose\x20them\x20using\x0a<a\x20href=\"/pkg/image/draw/\">image/draw</a>,\x20and\x20then\x20encode\x20the\x20result\x20using\x0a<a\x20href=\"/pkg/img/png\">image/png</a>,\x20then\x20your\x20code\x20should\x20still\x20work\x20as\x0abefore.\x0aIf\x20your\x20code\x20<i>does</i>\x20refer\x20to\x20<code>Pix</code>\x20fields\x20see\x20the\x20\x0a<a\x20href=\"/doc/devel/weekly.html#2011-07-19\">weekly.2011-07-19</a>\x0asnapshot\x20notes\x20for\x20how\x20to\x20update\x20your\x20code.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/template/\">Package\x20template</a>\x20has\x20been\x20replaced\x20with\x20a\x20new\x0atemplating\x20package\x20(formerly\x20<code>exp/template</code>).\x20The\x20original\x20template\x0apackage\x20is\x20still\x20available\x20as\x20<a\x20href=\"/pkg/old/template/\">old/template</a>.\x0aThe\x20<code>old/template</code>\x20package\x20is\x20deprecated\x20and\x20will\x20be\x20removed.\x0aThe\x20Go\x20tree\x20has\x20been\x20updated\x20to\x20use\x20the\x20new\x20template\x20package.\x20We\x20encourage\x0ausers\x20of\x20the\x20old\x20template\x20package\x20to\x20switch\x20to\x20the\x20new\x20one.\x20Code\x20that\x20uses\x0a<code>template</code>\x20or\x20<code>exp/template</code>\x20will\x20need\x20to\x20change\x20its\x0aimport\x20lines\x20to\x20<code>\"old/template\"</code>\x20or\x20<code>\"template\"</code>,\x0arespectively.\x0a</p>\x0a\x0a<h3\x20id=\"r60.cmd\">Tools</h3>\x0a\x0a<p>\x0a<a\x20href=\"/cmd/goinstall/\">Goinstall</a>\x20now\x20uses\x20a\x20new\x20tag\x20selection\x20scheme.\x0aWhen\x20downloading\x20or\x20updating,\x20goinstall\x20looks\x20for\x20a\x20tag\x20or\x20branch\x20with\x20the\x0a<code>\"go.\"</code>\x20prefix\x20that\x20corresponds\x20to\x20the\x20local\x20Go\x20version.\x20For\x20Go\x0a<code>release.r58</code>\x20it\x20looks\x20for\x20<code>go.r58</code>.\x20For\x0a<code>weekly.2011-06-03</code>\x20it\x20looks\x20for\x20<code>go.weekly.2011-06-03</code>.\x0aIf\x20the\x20specific\x20<code>go.X</code>\x20tag\x20or\x20branch\x20is\x20not\x20found,\x20it\x20chooses\x20the\x0aclosest\x20earlier\x20version.\x20If\x20an\x20appropriate\x20tag\x20or\x20branch\x20is\x20found,\x20goinstall\x0auses\x20that\x20version\x20of\x20the\x20code.\x20Otherwise\x20it\x20uses\x20the\x20default\x20version\x20selected\x0aby\x20the\x20version\x20control\x20system.\x20Library\x20authors\x20are\x20encouraged\x20to\x20use\x20the\x0aappropriate\x20tag\x20or\x20branch\x20names\x20in\x20their\x20repositories\x20to\x20make\x20their\x20libraries\x0amore\x20accessible.\x0a</p>\x0a\x0a<h3\x20id=\"r60.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ar60.1\x20includes\x20a\x20\x0a<a\x20href=\"//golang.org/change/1824581bf62d\">linker\x0afix</a>,\x20a\x20pair\x20of\x0a<a\x20href=\"//golang.org/change/9ef4429c2c64\">goplay</a>\x0a<a\x20href=\"//golang.org/change/d42ed8c3098e\">fixes</a>,\x0aand\x20a\x20<code>json</code>\x20package\x0a<a\x20href=\"//golang.org/change/d5e97874fe84\">fix</a>\x20and\x0aa\x20new\x0a<a\x20href=\"//golang.org/change/4f0e6269213f\">struct\x20tag\x0aoption</a>.\x0a</p>\x0a\x0a<p>\x0ar60.2\x0a<a\x20href=\"//golang.org/change/ff19536042ac\">fixes</a>\x0aa\x20memory\x20leak\x20involving\x20maps.\x0a</p>\x0a\x0a<p>\x0ar60.3\x20fixes\x20a\x0a<a\x20href=\"//golang.org/change/01fa62f5e4e5\">reflect\x20bug</a>.\x0a</p>\x0a\x0a<h2\x20id=\"r59\">r59\x20(released\x202011/08/01)</h2>\x0a\x0a<p>\x0aThe\x20r59\x20release\x20corresponds\x20to\x20\x0a<code><a\x20href=\"weekly.html#2011-07-07\">weekly.2011-07-07</a></code>.\x0aThis\x20section\x20highlights\x20the\x20most\x20significant\x20changes\x20in\x20this\x20release.\x0aFor\x20a\x20more\x20detailed\x20summary,\x20see\x20the\x0a<a\x20href=\"weekly.html#2011-07-07\">weekly\x20release\x20notes</a>.\x0aFor\x20complete\x20information,\x20see\x20the\x0a<a\x20href=\"//code.google.com/p/go/source/list?r=release-branch.r59\">Mercurial\x20change\x20list</a>.\x0a</p>\x0a\x0a<h3\x20id=\"r59.lang\">Language</h3>\x0a\x0a<p>\x0aThis\x20release\x20includes\x20a\x20language\x20change\x20that\x20restricts\x20the\x20use\x20of\x0a<code>goto</code>.\x20\x20In\x20essence,\x20a\x20<code>goto</code>\x20statement\x20outside\x20a\x20block\x0acannot\x20jump\x20to\x20a\x20label\x20inside\x20that\x20block.\x20Your\x20code\x20may\x20require\x20changes\x20if\x20it\x0auses\x20<code>goto</code>.\x0aSee\x20<a\x20href=\"//golang.org/change/dc6d3cf9279d\">this\x0achangeset</a>\x20for\x20how\x20the\x20new\x20rule\x20affected\x20the\x20Go\x20tree.\x0a</p>\x0a\x0a<h3\x20id=\"r59.pkg\">Packages</h3>\x0a\x0a<p>\x0aAs\x20usual,\x20<a\x20href=\"/cmd/gofix/\">gofix</a>\x20will\x20handle\x20the\x20bulk\x20of\x20the\x20rewrites\x0anecessary\x20for\x20these\x20changes\x20to\x20package\x20APIs.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/http\">Package\x20http</a>\x20has\x20a\x20new\x0a<a\x20href=\"/pkg/http/#FileSystem\">FileSystem</a>\x20interface\x20that\x20provides\x20access\x0ato\x20files.\x20The\x20<a\x20href=\"/pkg/http/#FileServer\">FileServer</a>\x20helper\x20now\x20takes\x20a\x0a<code>FileSystem</code>\x20argument\x20instead\x20of\x20an\x20explicit\x20file\x20system\x20root.\x20By\x0aimplementing\x20your\x20own\x20<code>FileSystem</code>\x20you\x20can\x20use\x20the\x0a<code>FileServer</code>\x20to\x20serve\x20arbitrary\x20data.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/os/\">Package\x20os</a>'s\x20<code>ErrorString</code>\x20type\x20has\x20been\x0ahidden.\x20Most\x20uses\x20of\x20<code>os.ErrorString</code>\x20can\x20be\x20replaced\x20with\x0a<a\x20href=\"/pkg/os/#NewError\">os.NewError</a>.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/reflect/\">Package\x20reflect</a>\x20supports\x20a\x20new\x20struct\x20tag\x20scheme\x0athat\x20enables\x20sharing\x20of\x20struct\x20tags\x20between\x20multiple\x20packages.\x0aIn\x20this\x20scheme,\x20the\x20tags\x20must\x20be\x20of\x20the\x20form:\x0a</p>\x0a<pre>\x0a\x09`key:\"value\"\x20key2:\"value2\"`\x0a</pre>\x0a<p>\x0aThe\x20<a\x20href=\"/pkg/reflect/#StructField\">StructField</a>\x20type's\x20Tag\x20field\x20now\x0ahas\x20type\x20<a\x20href=\"/pkg/reflect/#StructTag\">StructTag</a>,\x20which\x20has\x20a\x0a<code>Get</code>\x20method.\x20Clients\x20of\x20<a\x20href=\"/pkg/json\">json</a>\x20and\x0a<a\x20href=\"/pkg/xml\">xml</a>\x20will\x20need\x20to\x20be\x20updated.\x20Code\x20that\x20says\x0a</p>\x0a<pre>\x0a\x09type\x20T\x20struct\x20{\x0a\x09\x09X\x20int\x20\"name\"\x0a\x09}\x0a</pre>\x0a<p>\x0ashould\x20become\x0a</p>\x0a<pre>\x0a\x09type\x20T\x20struct\x20{\x0a\x09\x09X\x20int\x20`json:\"name\"`\x20\x20//\x20or\x20`xml:\"name\"`\x0a\x09}\x0a</pre>\x0a<p>\x0aUse\x20<a\x20href=\"/cmd/govet/\">govet</a>\x20to\x20identify\x20struct\x20tags\x20that\x20need\x20to\x20be\x0achanged\x20to\x20use\x20the\x20new\x20syntax.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/sort/\">Package\x20sort</a>'s\x20<code>IntArray</code>\x20type\x20has\x20been\x0arenamed\x20to\x20<a\x20href=\"/pkg/sort/#IntSlice\">IntSlice</a>,\x20and\x20similarly\x20for\x0a<a\x20href=\"/pkg/sort/#Float64Slice\">Float64Slice</a>\x20and\x0a<a\x20href=\"/pkg/sort/#StringSlice\">StringSlice</a>.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/strings/\">Package\x20strings</a>'s\x20<code>Split</code>\x20function\x20has\x0aitself\x20been\x20split\x20into\x20<a\x20href=\"/pkg/strings/#Split\">Split</a>\x20and\x0a<a\x20href=\"/pkg/strings/#SplitN\">SplitN</a>.\x0a<code>SplitN</code>\x20is\x20the\x20same\x20as\x20the\x20old\x20<code>Split</code>.\x0aThe\x20new\x20<code>Split</code>\x20is\x20equivalent\x20to\x20<code>SplitN</code>\x20with\x20a\x20final\x0aargument\x20of\x20-1.\x0a</p>\x0a\x0a<a\x20href=\"/pkg/image/draw/\">Package\x20image/draw</a>'s\x0a<a\x20href=\"/pkg/image/draw/#Draw\">Draw</a>\x20function\x20now\x20takes\x20an\x20additional\x0aargument,\x20a\x20compositing\x20operator.\x0aIf\x20in\x20doubt,\x20use\x20<a\x20href=\"/pkg/image/draw/#Op\">draw.Over</a>.\x0a</p>\x0a\x0a<h3\x20id=\"r59.cmd\">Tools</h3>\x0a\x0a<p>\x0a<a\x20href=\"/cmd/goinstall/\">Goinstall</a>\x20now\x20installs\x20packages\x20and\x20commands\x20from\x0aarbitrary\x20remote\x20repositories\x20(not\x20just\x20Google\x20Code,\x20Github,\x20and\x20so\x20on).\x0aSee\x20the\x20<a\x20href=\"/cmd/goinstall/\">goinstall\x20documentation</a>\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"r58\">r58\x20(released\x202011/06/29)</h2>\x0a\x0a<p>\x0aThe\x20r58\x20release\x20corresponds\x20to\x20\x0a<code><a\x20href=\"weekly.html#2011-06-09\">weekly.2011-06-09</a></code>\x0awith\x20additional\x20bug\x20fixes.\x0aThis\x20section\x20highlights\x20the\x20most\x20significant\x20changes\x20in\x20this\x20release.\x0aFor\x20a\x20more\x20detailed\x20summary,\x20see\x20the\x0a<a\x20href=\"weekly.html#2011-06-09\">weekly\x20release\x20notes</a>.\x0aFor\x20complete\x20information,\x20see\x20the\x0a<a\x20href=\"//code.google.com/p/go/source/list?r=release-branch.r58\">Mercurial\x20change\x20list</a>.\x0a</p>\x0a\x0a<h3\x20id=\"r58.lang\">Language</h3>\x0a\x0a<p>\x0aThis\x20release\x20fixes\x20a\x20<a\x20href=\"//golang.org/change/b720749486e1\">use\x20of\x20uninitialized\x20memory\x20in\x20programs\x20that\x20misuse\x20<code>goto</code></a>.\x0a</p>\x0a\x0a<h3\x20id=\"r58.pkg\">Packages</h3>\x0a\x0a<p>\x0aAs\x20usual,\x20<a\x20href=\"/cmd/gofix/\">gofix</a>\x20will\x20handle\x20the\x20bulk\x20of\x20the\x20rewrites\x0anecessary\x20for\x20these\x20changes\x20to\x20package\x20APIs.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/http/\">Package\x20http</a>\x20drops\x20the\x20<code>finalURL</code>\x20return\x0avalue\x20from\x20the\x20<a\x20href=\"/pkg/http/#Client.Get\">Client.Get</a>\x20method.\x20The\x20value\x0ais\x20now\x20available\x20via\x20the\x20new\x20<code>Request</code>\x20field\x20on\x20<a\x0ahref=\"/pkg/http/#Response\">http.Response</a>.\x0aMost\x20instances\x20of\x20the\x20type\x20map[string][]string\x20in\x20have\x20been\x0areplaced\x20with\x20the\x20new\x20<a\x20href=\"/pkg/http/#Values\">Values</a>\x20type.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/exec/\">Package\x20exec</a>\x20has\x20been\x20redesigned\x20with\x20a\x20more\x0aconvenient\x20and\x20succinct\x20API.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/strconv/\">Package\x20strconv</a>'s\x20<a\x20href=\"/pkg/strconv/#Quote\">Quote</a>\x0afunction\x20now\x20escapes\x20only\x20those\x20Unicode\x20code\x20points\x20not\x20classified\x20as\x20printable\x0aby\x20<a\x20href=\"/pkg/unicode/#IsPrint\">unicode.IsPrint</a>.\x0aPreviously\x20Quote\x20would\x20escape\x20all\x20non-ASCII\x20characters.\x0aThis\x20also\x20affects\x20the\x20<a\x20href=\"/pkg/fmt/\">fmt</a>\x20package's\x20<code>\"%q\"</code>\x0aformatting\x20directive.\x20The\x20previous\x20quoting\x20behavior\x20is\x20still\x20available\x20via\x0astrconv's\x20new\x20<a\x20href=\"/pkg/strconv/#QuoteToASCII\">QuoteToASCII</a>\x20function.\x20\x20\x20\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/os/signal/\">Package\x20os/signal</a>'s\x0a<a\x20href=\"/pkg/os/#Signal\">Signal</a>\x20and\x20\x0a<a\x20href=\"/pkg/os/#UnixSignal\">UnixSignal</a>\x20types\x20have\x20been\x20moved\x20to\x20the\x0a<a\x20href=\"/pkg/os/\">os</a>\x20package.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/image/draw/\">Package\x20image/draw</a>\x20is\x20the\x20new\x20name\x20for\x0a<code>exp/draw</code>.\x20The\x20GUI-related\x20code\x20from\x20<code>exp/draw</code>\x20is\x20now\x0alocated\x20in\x20the\x20<a\x20href=\"/pkg/exp/gui/\">exp/gui</a>\x20package.\x0a</p>\x0a\x0a<h3\x20id=\"r58.cmd\">Tools</h3>\x0a\x0a<p>\x0a<a\x20href=\"/cmd/goinstall/\">Goinstall</a>\x20now\x20observes\x20the\x20GOPATH\x20environment\x0avariable\x20to\x20build\x20and\x20install\x20your\x20own\x20code\x20and\x20external\x20libraries\x20outside\x20of\x0athe\x20Go\x20tree\x20(and\x20avoid\x20writing\x20Makefiles).\x0a</p>\x0a\x0a\x0a<h3\x20id=\"r58.minor\">Minor\x20revisions</h3>\x0a\x0a<p>r58.1\x20adds\x20\x0a<a\x20href=\"//golang.org/change/293c25943586\">build</a>\x20and\x0a<a\x20href=\"//golang.org/change/bf17e96b6582\">runtime</a>\x0achanges\x20to\x20make\x20Go\x20run\x20on\x20OS\x20X\x2010.7\x20Lion.\x0a</p>\x0a\x0a<h2\x20id=\"r57\">r57\x20(released\x202011/05/03)</h2>\x0a\x0a<p>\x0aThe\x20r57\x20release\x20corresponds\x20to\x20\x0a<code><a\x20href=\"weekly.html#2011-04-27\">weekly.2011-04-27</a></code>\x0awith\x20additional\x20bug\x20fixes.\x0aThis\x20section\x20highlights\x20the\x20most\x20significant\x20changes\x20in\x20this\x20release.\x0aFor\x20a\x20more\x20detailed\x20summary,\x20see\x20the\x0a<a\x20href=\"weekly.html#2011-04-27\">weekly\x20release\x20notes</a>.\x0aFor\x20complete\x20information,\x20see\x20the\x0a<a\x20href=\"//code.google.com/p/go/source/list?r=release-branch.r57\">Mercurial\x20change\x20list</a>.\x0a</p>\x0a\x0a<p>The\x20new\x20<a\x20href=\"/cmd/gofix\">gofix</a>\x20tool\x20finds\x20Go\x20programs\x20that\x20use\x20old\x20APIs\x20and\x20rewrites\x20them\x20to\x20use\x0anewer\x20ones.\x20\x20After\x20you\x20update\x20to\x20a\x20new\x20Go\x20release,\x20gofix\x20helps\x20make\x20the\x0anecessary\x20changes\x20to\x20your\x20programs.\x20Gofix\x20will\x20handle\x20the\x20http,\x20os,\x20and\x20syscall\x0apackage\x20changes\x20described\x20below,\x20and\x20we\x20will\x20update\x20the\x20program\x20to\x20keep\x20up\x20with\x0afuture\x20changes\x20to\x20the\x20libraries.\x20\x0aGofix\x20can\xe2\x80\x99t\x0ahandle\x20all\x20situations\x20perfectly,\x20so\x20read\x20and\x20test\x20the\x20changes\x20it\x20makes\x20before\x0acommitting\x20them.\x0aSee\x20<a\x20href=\"//blog.golang.org/2011/04/introducing-gofix.html\">the\x20gofix\x20blog\x20post</a>\x20for\x20more\x0ainformation.</p>\x0a\x0a<h3\x20id=\"r57.lang\">Language</h3>\x0a\x0a<p>\x0a<a\x20href=\"/doc/go_spec.html#Receive_operator\">Multiple\x20assignment\x20syntax</a>\x20replaces\x20the\x20<code>closed</code>\x20function.\x0aThe\x20syntax\x20for\x20channel\x0areceives\x20allows\x20an\x20optional\x20second\x20assigned\x20value,\x20a\x20boolean\x20value\x0aindicating\x20whether\x20the\x20channel\x20is\x20closed.\x20This\x20code:\x0a</p>\x0a\x0a<pre>\x0a\x09v\x20:=\x20&lt;-ch\x0a\x09if\x20closed(ch)\x20{\x0a\x09\x09//\x20channel\x20is\x20closed\x0a\x09}\x0a</pre>\x0a\x0a<p>should\x20now\x20be\x20written\x20as:</p>\x0a\x0a<pre>\x0a\x09v,\x20ok\x20:=\x20&lt;-ch\x0a\x09if\x20!ok\x20{\x0a\x09\x09//\x20channel\x20is\x20closed\x0a\x09}\x0a</pre>\x0a\x0a<p><a\x20href=\"/doc/go_spec.html#Label_scopes\">Unused\x20labels\x20are\x20now\x20illegal</a>,\x20just\x20as\x20unused\x20local\x20variables\x20are.</p>\x0a\x0a<h3\x20id=\"r57.pkg\">Packages</h3>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/gob/\">Package\x20gob</a>\x20will\x20now\x20encode\x20and\x20decode\x20values\x20of\x20types\x20that\x20implement\x20the\x0a<a\x20href=\"/pkg/gob/#GobEncoder\">GobEncoder</a>\x20and\x0a<a\x20href=\"/pkg/gob/#GobDecoder\">GobDecoder</a>\x20interfaces.\x20This\x20allows\x20types\x20with\x20unexported\x0afields\x20to\x20transmit\x20self-consistent\x20descriptions;\x20examples\x20include\x20\x0a<a\x20href=\"/pkg/big/#Int.GobDecode\">big.Int</a>\x20and\x20<a\x20href=\"/pkg/big/#Rat.GobDecode\">big.Rat</a>.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/http/\">Package\x20http</a>\x20has\x20been\x20redesigned.\x0aFor\x20clients,\x20there\x20are\x20new\x0a<a\x20href=\"/pkg/http/#Client\">Client</a>\x20and\x20<a\x20href=\"/pkg/http/#Transport\">Transport</a>\x0aabstractions\x20that\x20give\x20more\x20control\x20over\x20HTTP\x20details\x20such\x20as\x20headers\x20sent\x0aand\x20redirections\x20followed.\x20\x20These\x20abstractions\x20make\x20it\x20easy\x20to\x20implement\x0acustom\x20clients\x20that\x20add\x20functionality\x20such\x20as\x20<a\x20href=\"//code.google.com/p/goauth2/source/browse/oauth/oauth.go\">OAuth2</a>.\x0aFor\x20servers,\x20<a\x20href=\"/pkg/http/#ResponseWriter\">ResponseWriter</a>\x0ahas\x20dropped\x20its\x20non-essential\x20methods.\x0aThe\x20Hijack\x20and\x20Flush\x20methods\x20are\x20no\x20longer\x20required;\x0acode\x20can\x20test\x20for\x20them\x20by\x20checking\x20whether\x20a\x20specific\x20value\x20implements\x0a<a\x20href=\"/pkg/http/#Hijacker\">Hijacker</a>\x20or\x20<a\x20href=\"/pkg/http/#Flusher\">Flusher</a>.\x0aThe\x20RemoteAddr\x20and\x20UsingTLS\x20methods\x20are\x20replaced\x20by\x20<a\x20href=\"/pkg/http/#Request\">Request</a>'s\x0aRemoteAddr\x20and\x20TLS\x20fields.\x0aThe\x20SetHeader\x20method\x20is\x20replaced\x20by\x20a\x20Header\x20method;\x0aits\x20result,\x20of\x20type\x20<a\x20href=\"/pkg/http/#Header\">Header</a>,\x0aimplements\x20Set\x20and\x20other\x20methods.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/net/\">Package\x20net</a>\x0adrops\x20the\x20<code>laddr</code>\x20argument\x20from\x20<a\x20href=\"/pkg/net/#Conn.Dial\">Dial</a>\x0aand\x20drops\x20the\x20<code>cname</code>\x20return\x20value\x0afrom\x20<a\x20href=\"/pkg/net/#LookupHost\">LookupHost</a>.\x0aThe\x20implementation\x20now\x20uses\x20<a\x20href=\"/cmd/cgo/\">cgo</a>\x20to\x20implement\x0anetwork\x20name\x20lookups\x20using\x20the\x20C\x20library\x20getaddrinfo(3)\x0afunction\x20when\x20possible.\x20\x20This\x20ensures\x20that\x20Go\x20and\x20C\x20programs\x0aresolve\x20names\x20the\x20same\x20way\x20and\x20also\x20avoids\x20the\x20OS\x20X\x20\x0aapplication-level\x20firewall.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/os/\">Package\x20os</a>\x0aintroduces\x20simplified\x20<a\x20href=\"/pkg/os/#File.Open\">Open</a>\x0aand\x20<a\x20href=\"/pkg/os/#File.Create\">Create</a>\x20functions.\x0aThe\x20original\x20Open\x20is\x20now\x20available\x20as\x20<a\x20href=\"/pkg/os/#File.OpenFile\">OpenFile</a>.\x0aThe\x20final\x20three\x20arguments\x20to\x20<a\x20href=\"/pkg/os/#Process.StartProcess\">StartProcess</a>\x0ahave\x20been\x20replaced\x20by\x20a\x20pointer\x20to\x20a\x20<a\x20href=\"/pkg/os/#ProcAttr\">ProcAttr</a>.\x0a</p>\x0a\x0a<p>\x0a<a\x20href=\"/pkg/reflect/\">Package\x20reflect</a>\x20has\x20been\x20redesigned.\x0a<a\x20href=\"/pkg/reflect/#Type\">Type</a>\x20is\x20now\x20an\x20interface\x20that\x20implements\x0aall\x20the\x20possible\x20type\x20methods.\x0aInstead\x20of\x20a\x20type\x20switch\x20on\x20a\x20Type\x20<code>t</code>,\x20switch\x20on\x20<code>t.Kind()</code>.\x0a<a\x20href=\"/pkg/reflect/#Value\">Value</a>\x20is\x20now\x20a\x20struct\x20value\x20that\x0aimplements\x20all\x20the\x20possible\x20value\x20methods.\x0aInstead\x20of\x20a\x20type\x20switch\x20on\x20a\x20Value\x20<code>v</code>,\x20switch\x20on\x20<code>v.Kind()</code>.\x0aTypeof\x20and\x20NewValue\x20are\x20now\x20called\x20<a\x20href=\"/pkg/reflect/#Type.TypeOf\">TypeOf</a>\x20and\x20<a\x20href=\"/pkg/reflect/#Value.ValueOf\">ValueOf</a>\x0aTo\x20create\x20a\x20writable\x20Value,\x20use\x20<code>New(t).Elem()</code>\x20instead\x20of\x20<code>Zero(t)</code>.\x0aSee\x20<a\x20href=\"//golang.org/change/843855f3c026\">the\x20change\x20description</a>\x0afor\x20the\x20full\x20details.\x0aThe\x20new\x20API\x20allows\x20a\x20more\x20efficient\x20implementation\x20of\x20Value\x0athat\x20avoids\x20many\x20of\x20the\x20allocations\x20required\x20by\x20the\x20previous\x20API.\x0a</p>\x0a\x0a<p>\x0aRemember\x20that\x20gofix\x20will\x20handle\x20the\x20bulk\x20of\x20the\x20rewrites\x0anecessary\x20for\x20these\x20changes\x20to\x20package\x20APIs.\x0a</p>\x0a\x0a<h3\x20id=\"r57.cmd\">Tools</h3>\x0a\x0a<p><a\x20href=\"/cmd/gofix/\">Gofix</a>,\x20a\x20new\x20command,\x20is\x20described\x20above.</p>\x0a\x0a<p>\x0a<a\x20href=\"/cmd/gotest/\">Gotest</a>\x20is\x20now\x20a\x20Go\x20program\x20instead\x20of\x20a\x20shell\x20script.\x0aThe\x20new\x20<code>-test.short</code>\x20flag\x20in\x20combination\x20with\x20package\x20testing's\x20Short\x20function\x0aallows\x20you\x20to\x20write\x20tests\x20that\x20can\x20be\x20run\x20in\x20normal\x20or\x20&ldquo;short&rdquo;\x20mode;\x0aall.bash\x20runs\x20tests\x20in\x20short\x20mode\x20to\x20reduce\x20installation\x20time.\x0aThe\x20Makefiles\x20know\x20about\x20the\x20flag:\x20use\x20<code>make\x20testshort</code>.\x0a</p>\x0a\x0a<p>\x0aThe\x20run-time\x20support\x20now\x20implements\x20CPU\x20and\x20memory\x20profiling.\x0aGotest's\x20new\x20\x0a<a\x20href=\"/cmd/gotest/\"><code>-test.cpuprofile</code>\x20and\x0a<code>-test.memprofile</code>\x20flags</a>\x20make\x20it\x20easy\x20to\x0aprofile\x20tests.\x0aTo\x20add\x20profiling\x20to\x20your\x20web\x20server,\x20see\x20the\x20<a\x20href=\"/pkg/http/pprof/\">http/pprof</a>\x0adocumentation.\x0aFor\x20other\x20uses,\x20see\x20the\x20<a\x20href=\"/pkg/runtime/pprof/\">runtime/pprof</a>\x20documentation.\x0a</p>\x0a\x0a<h3\x20id=\"r57.minor\">Minor\x20revisions</h3>\x0a\x0a<p>r57.1\x20fixes\x20a\x20<a\x20href=\"//golang.org/change/ff2bc62726e7145eb2ecc1e0f076998e4a8f86f0\">nil\x20pointer\x20dereference\x20in\x20http.FormFile</a>.</p>\x0a<p>r57.2\x20fixes\x20a\x20<a\x20href=\"//golang.org/change/063b0ff67d8277df03c956208abc068076818dae\">use\x20of\x20uninitialized\x20memory\x20in\x20programs\x20that\x20misuse\x20<code>goto</code></a>.</p>\x0a\x0a<h2\x20id=\"r56\">r56\x20(released\x202011/03/16)</h2>\x0a\x0a<p>\x0aThe\x20r56\x20release\x20was\x20the\x20first\x20stable\x20release\x20and\x20corresponds\x20to\x0a<code><a\x20href=\"weekly.html#2011-03-07\">weekly.2011-03-07.1</a></code>.\x0aThe\x20numbering\x20starts\x20at\x2056\x20because\x20before\x20this\x20release,\x0awhat\x20we\x20now\x20consider\x20weekly\x20snapshots\x20were\x20called\x20releases.\x0a</p>\x0a",
+
+	"doc/devel/release.html": "<!--{\x0a\x09\"Title\":\x20\"Release\x20History\"\x0a}-->\x0a\x0a<p>This\x20page\x20summarizes\x20the\x20changes\x20between\x20official\x20stable\x20releases\x20of\x20Go.\x0aThe\x20<a\x20href=\"//golang.org/change\">change\x20log</a>\x20has\x20the\x20full\x20details.</p>\x0a\x0a<p>To\x20update\x20to\x20a\x20specific\x20release,\x20use:</p>\x0a\x0a<pre>\x0agit\x20pull\x0agit\x20checkout\x20<i>release-branch</i>\x0a</pre>\x0a\x0a<h2\x20id=\"policy\">Release\x20Policy</h2>\x0a\x0a<p>\x0aEach\x20major\x20Go\x20release\x20is\x20supported\x20until\x20there\x20are\x20two\x20newer\x20major\x20releases.\x0aFor\x20example,\x20Go\x201.5\x20was\x20supported\x20until\x20the\x20Go\x201.7\x20release,\x20and\x20Go\x201.6\x20was\x0asupported\x20until\x20the\x20Go\x201.8\x20release.\x0aWe\x20fix\x20critical\x20problems,\x20including\x20<a\x20href=\"/security\">critical\x20security\x20problems</a>,\x0ain\x20supported\x20releases\x20as\x20needed\x20by\x20issuing\x20minor\x20revisions\x0a(for\x20example,\x20Go\x201.6.1,\x20Go\x201.6.2,\x20and\x20so\x20on).\x0a</p>\x0a\x0a<h2\x20id=\"go1.13\">go1.13\x20(released\x202019/09/03)</h2>\x0a\x0a<p>\x0aGo\x201.13\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.13\">Go\x201.13\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.13.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.13.1\x20(released\x202019/09/25)\x20includes\x20security\x20fixes\x20to\x20the\x0a<code>net/http</code>\x20and\x20<code>net/textproto</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.1+label%3ACherryPickApproved\">Go\x0a1.13.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.13.2\x20(released\x202019/10/17)\x20includes\x20security\x20fixes\x20to\x20the\x0a<code>crypto/dsa</code>\x20package\x20and\x20the\x20compiler.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.2+label%3ACherryPickApproved\">Go\x0a1.13.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.13.3\x20(released\x202019/10/17)\x20includes\x20fixes\x20to\x20the\x20go\x20command,\x0athe\x20toolchain,\x20the\x20runtime,\x20<code>syscall</code>,\x20<code>net</code>,\x0a<code>net/http</code>,\x20and\x20<code>crypto/ecdsa</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.3+label%3ACherryPickApproved\">Go\x0a1.13.3\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.13.4\x20(released\x202019/10/31)\x20includes\x20fixes\x20to\x20the\x20<code>net/http</code>\x20and\x0a<code>syscall</code>\x20packages.\x20It\x20also\x20fixes\x20an\x20issue\x20on\x20macOS\x2010.15\x20Catalina\x0awhere\x20the\x20non-notarized\x20installer\x20and\x20binaries\x20were\x20being\x0a<a\x20href=\"https://golang.org/issue/34986\">rejected\x20by\x20Gatekeeper</a>.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.4+label%3ACherryPickApproved\">Go\x0a1.13.4\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.13.5\x20(released\x202019/12/04)\x20includes\x20fixes\x20to\x20the\x20go\x20command,\x20the\x20runtime,\x0athe\x20linker,\x20and\x20the\x20<code>net/http</code>\x20package.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.5+label%3ACherryPickApproved\">Go\x0a1.13.5\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.12\">go1.12\x20(released\x202019/02/25)</h2>\x0a\x0a<p>\x0aGo\x201.12\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.12\">Go\x201.12\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.12.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.12.1\x20(released\x202019/03/14)\x20includes\x20fixes\x20to\x20cgo,\x20the\x20compiler,\x20the\x20go\x0acommand,\x20and\x20the\x20<code>fmt</code>,\x20<code>net/smtp</code>,\x20<code>os</code>,\x0a<code>path/filepath</code>,\x20<code>sync</code>,\x20and\x20<code>text/template</code>\x0apackages.\x20See\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.1+label%3ACherryPickApproved\">Go\x0a1.12.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.2\x20(released\x202019/04/05)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20the\x20go\x0acommand,\x20the\x20runtime,\x20and\x20the\x20<code>doc</code>,\x20<code>net</code>,\x0a<code>net/http/httputil</code>,\x20and\x20<code>os</code>\x20packages.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.2+label%3ACherryPickApproved\">Go\x0a1.12.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.3\x20(released\x202019/04/08)\x20was\x20accidentally\x20released\x20without\x20its\x0aintended\x20fix.\x20It\x20is\x20identical\x20to\x20go1.12.2,\x20except\x20for\x20its\x20version\x0anumber.\x20The\x20intended\x20fix\x20is\x20in\x20go1.12.4.\x0a</p>\x0a\x0a<p>\x0ago1.12.4\x20(released\x202019/04/11)\x20fixes\x20an\x20issue\x20where\x20using\x20the\x20prebuilt\x20binary\x0areleases\x20on\x20older\x20versions\x20of\x20GNU/Linux\x0a<a\x20href=\"https://golang.org/issues/31293\">led\x20to\x20failures</a>\x0awhen\x20linking\x20programs\x20that\x20used\x20cgo.\x0aOnly\x20Linux\x20users\x20who\x20hit\x20this\x20issue\x20need\x20to\x20update.\x0a</p>\x0a\x0a<p>\x0ago1.12.5\x20(released\x202019/05/06)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20the\x20linker,\x0athe\x20go\x20command,\x20the\x20runtime,\x20and\x20the\x20<code>os</code>\x20package.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.5+label%3ACherryPickApproved\">Go\x0a1.12.5\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.6\x20(released\x202019/06/11)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20the\x20linker,\x0athe\x20go\x20command,\x20and\x20the\x20<code>crypto/x509</code>,\x20<code>net/http</code>,\x20and\x0a<code>os</code>\x20packages.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.6+label%3ACherryPickApproved\">Go\x0a1.12.6\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.7\x20(released\x202019/07/08)\x20includes\x20fixes\x20to\x20cgo,\x20the\x20compiler,\x0aand\x20the\x20linker.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.7+label%3ACherryPickApproved\">Go\x0a1.12.7\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.8\x20(released\x202019/08/13)\x20includes\x20security\x20fixes\x20to\x20the\x0a<code>net/http</code>\x20and\x20<code>net/url</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.8+label%3ACherryPickApproved\">Go\x0a1.12.8\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.9\x20(released\x202019/08/15)\x20includes\x20fixes\x20to\x20the\x20linker,\x0aand\x20the\x20<code>os</code>\x20and\x20<code>math/big</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.9+label%3ACherryPickApproved\">Go\x0a1.12.9\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.10\x20(released\x202019/09/25)\x20includes\x20security\x20fixes\x20to\x20the\x0a<code>net/http</code>\x20and\x20<code>net/textproto</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.10+label%3ACherryPickApproved\">Go\x0a1.12.10\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.11\x20(released\x202019/10/17)\x20includes\x20security\x20fixes\x20to\x20the\x0a<code>crypto/dsa</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.11+label%3ACherryPickApproved\">Go\x0a1.12.11\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.12\x20(released\x202019/10/17)\x20includes\x20fixes\x20to\x20the\x20go\x20command,\x0aruntime,\x20<code>syscall</code>\x20and\x20<code>net</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.12+label%3ACherryPickApproved\">Go\x0a1.12.12\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.13\x20(released\x202019/10/31)\x20fixes\x20an\x20issue\x20on\x20macOS\x2010.15\x20Catalina\x0awhere\x20the\x20non-notarized\x20installer\x20and\x20binaries\x20were\x20being\x0a<a\x20href=\"https://golang.org/issue/34986\">rejected\x20by\x20Gatekeeper</a>.\x0aOnly\x20macOS\x20users\x20who\x20hit\x20this\x20issue\x20need\x20to\x20update.\x0a</p>\x0a\x0a<p>\x0ago1.12.14\x20(released\x202019/12/04)\x20includes\x20a\x20fix\x20to\x20the\x20runtime.\x20See\x0athe\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.14+label%3ACherryPickApproved\">Go\x0a1.12.14\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.11\">go1.11\x20(released\x202018/08/24)</h2>\x0a\x0a<p>\x0aGo\x201.11\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.11\">Go\x201.11\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.11.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.11.1\x20(released\x202018/10/01)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20documentation,\x20go\x0acommand,\x20runtime,\x20and\x20the\x20<code>crypto/x509</code>,\x20<code>encoding/json</code>,\x0a<code>go/types</code>,\x20<code>net</code>,\x20<code>net/http</code>,\x20and\x0a<code>reflect</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.1+label%3ACherryPickApproved\">Go\x0a1.11.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.2\x20(released\x202018/11/02)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20linker,\x0adocumentation,\x20go\x20command,\x20and\x20the\x20<code>database/sql</code>\x20and\x0a<code>go/types</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.2+label%3ACherryPickApproved\">Go\x0a1.11.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.3\x20(released\x202018/12/12)\x20includes\x20three\x20security\x20fixes\x20to\x20\"go\x20get\"\x20and\x0athe\x20<code>crypto/x509</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.3+label%3ACherryPickApproved\">Go\x0a1.11.3\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.4\x20(released\x202018/12/14)\x20includes\x20fixes\x20to\x20cgo,\x20the\x20compiler,\x20linker,\x0aruntime,\x20documentation,\x20go\x20command,\x20and\x20the\x20<code>net/http</code>\x20and\x0a<code>go/types</code>\x20packages.\x0aIt\x20includes\x20a\x20fix\x20to\x20a\x20bug\x20introduced\x20in\x20Go\x201.11.3\x20that\x20broke\x20<code>go</code>\x0a<code>get</code>\x20for\x20import\x20path\x20patterns\x20containing\x20\"<code>...</code>\".\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.4+label%3ACherryPickApproved\">Go\x0a1.11.4\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.5\x20(released\x202019/01/23)\x20includes\x20a\x20security\x20fix\x20to\x20the\x0a<code>crypto/elliptic</code>\x20package.\x20\x20See\x0athe\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.5+label%3ACherryPickApproved\">Go\x0a1.11.5\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.6\x20(released\x202019/03/14)\x20includes\x20fixes\x20to\x20cgo,\x20the\x20compiler,\x20linker,\x0aruntime,\x20go\x20command,\x20and\x20the\x20<code>crypto/x509</code>,\x20<code>encoding/json</code>,\x0a<code>net</code>,\x20and\x20<code>net/url</code>\x20packages.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.6+label%3ACherryPickApproved\">Go\x0a1.11.6\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.7\x20(released\x202019/04/05)\x20includes\x20fixes\x20to\x20the\x20runtime\x20and\x20the\x0a<code>net</code>\x20packages.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.7+label%3ACherryPickApproved\">Go\x0a1.11.7\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.8\x20(released\x202019/04/08)\x20was\x20accidentally\x20released\x20without\x20its\x0aintended\x20fix.\x20It\x20is\x20identical\x20to\x20go1.11.7,\x20except\x20for\x20its\x20version\x0anumber.\x20The\x20intended\x20fix\x20is\x20in\x20go1.11.9.\x0a</p>\x0a\x0a<p>\x0ago1.11.9\x20(released\x202019/04/11)\x20fixes\x20an\x20issue\x20where\x20using\x20the\x20prebuilt\x20binary\x0areleases\x20on\x20older\x20versions\x20of\x20GNU/Linux\x0a<a\x20href=\"https://golang.org/issues/31293\">led\x20to\x20failures</a>\x0awhen\x20linking\x20programs\x20that\x20used\x20cgo.\x0aOnly\x20Linux\x20users\x20who\x20hit\x20this\x20issue\x20need\x20to\x20update.\x0a</p>\x0a\x0a<p>\x0ago1.11.10\x20(released\x202019/05/06)\x20includes\x20fixes\x20to\x20the\x20runtime\x20and\x20the\x20linker.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.10+label%3ACherryPickApproved\">Go\x0a1.11.10\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.11\x20(released\x202019/06/11)\x20includes\x20a\x20fix\x20to\x20the\x20<code>crypto/x509</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.11+label%3ACherryPickApproved\">Go\x0a1.11.11\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.12\x20(released\x202019/07/08)\x20includes\x20fixes\x20to\x20the\x20compiler\x20and\x20the\x20linker.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.12+label%3ACherryPickApproved\">Go\x0a1.11.12\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.11.13\x20(released\x202019/08/13)\x20includes\x20security\x20fixes\x20to\x20the\x0a<code>net/http</code>\x20and\x20<code>net/url</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.11.13+label%3ACherryPickApproved\">Go\x0a1.11.13\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.10\">go1.10\x20(released\x202018/02/16)</h2>\x0a\x0a<p>\x0aGo\x201.10\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.10\">Go\x201.10\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.10.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.10.1\x20(released\x202018/03/28)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20runtime,\x20and\x20the\x0a<code>archive/zip</code>,\x20<code>crypto/tls</code>,\x20<code>crypto/x509</code>,\x0a<code>encoding/json</code>,\x20<code>net</code>,\x20<code>net/http</code>,\x20and\x0a<code>net/http/pprof</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.10.1+label%3ACherryPickApproved\">Go\x0a1.10.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.10.2\x20(released\x202018/05/01)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20linker,\x20and\x20go\x0acommand.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.10.2+label%3ACherryPickApproved\">Go\x0a1.10.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.10.3\x20(released\x202018/06/05)\x20includes\x20fixes\x20to\x20the\x20go\x20command,\x20and\x20the\x0a<code>crypto/tls</code>,\x20<code>crypto/x509</code>,\x20and\x20<code>strings</code>\x20packages.\x0aIn\x20particular,\x20it\x20adds\x20<a\x20href=\"https://go.googlesource.com/go/+/d4e21288e444d3ffd30d1a0737f15ea3fc3b8ad9\">\x0aminimal\x20support\x20to\x20the\x20go\x20command\x20for\x20the\x20vgo\x20transition</a>.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.10.3+label%3ACherryPickApproved\">Go\x0a1.10.3\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.10.4\x20(released\x202018/08/24)\x20includes\x20fixes\x20to\x20the\x20go\x20command,\x20linker,\x20and\x20the\x0a<code>net/http</code>,\x20<code>mime/multipart</code>,\x20<code>ld/macho</code>,\x0a<code>bytes</code>,\x20and\x20<code>strings</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.10.4+label%3ACherryPickApproved\">Go\x0a1.10.4\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.10.5\x20(released\x202018/11/02)\x20includes\x20fixes\x20to\x20the\x20go\x20command,\x20linker,\x20runtime\x0aand\x20the\x20<code>database/sql</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.10.5+label%3ACherryPickApproved\">Go\x0a1.10.5\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.10.6\x20(released\x202018/12/12)\x20includes\x20three\x20security\x20fixes\x20to\x20\"go\x20get\"\x20and\x0athe\x20<code>crypto/x509</code>\x20package.\x0aIt\x20contains\x20the\x20same\x20fixes\x20as\x20Go\x201.11.3\x20and\x20was\x20released\x20at\x20the\x20same\x20time.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.10.6+label%3ACherryPickApproved\">Go\x0a1.10.6\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.10.7\x20(released\x202018/12/14)\x20includes\x20a\x20fix\x20to\x20a\x20bug\x20introduced\x20in\x20Go\x201.10.6\x0athat\x20broke\x20<code>go</code>\x20<code>get</code>\x20for\x20import\x20path\x20patterns\x20containing\x0a\"<code>...</code>\".\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.10.7+label%3ACherryPickApproved\">\x0aGo\x201.10.7\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.10.8\x20(released\x202019/01/23)\x20includes\x20a\x20security\x20fix\x20to\x20the\x0a<code>crypto/elliptic</code>\x20package.\x20\x20See\x0athe\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.10.8+label%3ACherryPickApproved\">Go\x0a1.10.8\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.9\">go1.9\x20(released\x202017/08/24)</h2>\x0a\x0a<p>\x0aGo\x201.9\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.9\">Go\x201.9\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.9.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.9.1\x20(released\x202017/10/04)\x20includes\x20two\x20security\x20fixes.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.9.1+label%3ACherryPickApproved\">Go\x0a1.9.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.9.2\x20(released\x202017/10/25)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20linker,\x20runtime,\x0adocumentation,\x20<code>go</code>\x20command,\x0aand\x20the\x20<code>crypto/x509</code>,\x20<code>database/sql</code>,\x20<code>log</code>,\x0aand\x20<code>net/smtp</code>\x20packages.\x0aIt\x20includes\x20a\x20fix\x20to\x20a\x20bug\x20introduced\x20in\x20Go\x201.9.1\x20that\x20broke\x20<code>go</code>\x20<code>get</code>\x0aof\x20non-Git\x20repositories\x20under\x20certain\x20conditions.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.9.2+label%3ACherryPickApproved\">Go\x0a1.9.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.9.3\x20(released\x202018/01/22)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20runtime,\x0aand\x20the\x20<code>database/sql</code>,\x20<code>math/big</code>,\x20<code>net/http</code>,\x0aand\x20<code>net/url</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.9.3+label%3ACherryPickApproved\">Go\x0a1.9.3\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.9.4\x20(released\x202018/02/07)\x20includes\x20a\x20security\x20fix\x20to\x20\xe2\x80\x9cgo\x20get\xe2\x80\x9d.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.9.4+label%3ACherryPickApproved\">Go\x0a1.9.4</a>\x20milestone\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.9.5\x20(released\x202018/03/28)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20go\x20command,\x20and\x0a<code>net/http/pprof</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.9.5+label%3ACherryPickApproved\">Go\x0a1.9.5\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.9.6\x20(released\x202018/05/01)\x20includes\x20fixes\x20to\x20the\x20compiler\x20and\x20go\x20command.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.9.6+label%3ACherryPickApproved\">Go\x0a1.9.6\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.9.7\x20(released\x202018/06/05)\x20includes\x20fixes\x20to\x20the\x20go\x20command,\x20and\x20the\x0a<code>crypto/x509</code>,\x20and\x20<code>strings</code>\x20packages.\x0aIn\x20particular,\x20it\x20adds\x20<a\x20href=\"https://go.googlesource.com/go/+/d4e21288e444d3ffd30d1a0737f15ea3fc3b8ad9\">\x0aminimal\x20support\x20to\x20the\x20go\x20command\x20for\x20the\x20vgo\x20transition</a>.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.9.7+label%3ACherryPickApproved\">Go\x0a1.9.7\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a\x0a<h2\x20id=\"go1.8\">go1.8\x20(released\x202017/02/16)</h2>\x0a\x0a<p>\x0aGo\x201.8\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.8\">Go\x201.8\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.8.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.8.1\x20(released\x202017/04/07)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20linker,\x20runtime,\x0adocumentation,\x20<code>go</code>\x20command\x20and\x20the\x20<code>crypto/tls</code>,\x0a<code>encoding/xml</code>,\x20<code>image/png</code>,\x20<code>net</code>,\x0a<code>net/http</code>,\x20<code>reflect</code>,\x20<code>text/template</code>,\x0aand\x20<code>time</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.8.1\">Go\x0a1.8.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.8.2\x20(released\x202017/05/23)\x20includes\x20a\x20security\x20fix\x20to\x20the\x0a<code>crypto/elliptic</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.8.2\">Go\x0a1.8.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.8.3\x20(released\x202017/05/24)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20runtime,\x0adocumentation,\x20and\x20the\x20<code>database/sql</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.8.3\">Go\x0a1.8.3\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.8.4\x20(released\x202017/10/04)\x20includes\x20two\x20security\x20fixes.\x0aIt\x20contains\x20the\x20same\x20fixes\x20as\x20Go\x201.9.1\x20and\x20was\x20released\x20at\x20the\x20same\x20time.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.8.4\">Go\x0a1.8.4\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.8.5\x20(released\x202017/10/25)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20linker,\x20runtime,\x0adocumentation,\x20<code>go</code>\x20command,\x0aand\x20the\x20<code>crypto/x509</code>\x20and\x20<code>net/smtp</code>\x20packages.\x0aIt\x20includes\x20a\x20fix\x20to\x20a\x20bug\x20introduced\x20in\x20Go\x201.8.4\x20that\x20broke\x20<code>go</code>\x20<code>get</code>\x0aof\x20non-Git\x20repositories\x20under\x20certain\x20conditions.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.8.5\">Go\x0a1.8.5\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.8.6\x20(released\x202018/01/22)\x20includes\x20the\x20same\x20fix\x20in\x20<code>math/big</code>\x0aas\x20Go\x201.9.3\x20and\x20was\x20released\x20at\x20the\x20same\x20time.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.8.6\">Go\x0a1.8.6\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.8.7\x20(released\x202018/02/07)\x20includes\x20a\x20security\x20fix\x20to\x20\xe2\x80\x9cgo\x20get\xe2\x80\x9d.\x0aIt\x20contains\x20the\x20same\x20fix\x20as\x20Go\x201.9.4\x20and\x20was\x20released\x20at\x20the\x20same\x20time.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.8.7\">Go\x0a1.8.7</a>\x20milestone\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.7\">go1.7\x20(released\x202016/08/15)</h2>\x0a\x0a<p>\x0aGo\x201.7\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.7\">Go\x201.7\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.7.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.7.1\x20(released\x202016/09/07)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20runtime,\x0adocumentation,\x20and\x20the\x20<code>compress/flate</code>,\x20<code>hash/crc32</code>,\x0a<code>io</code>,\x20<code>net</code>,\x20<code>net/http</code>,\x0a<code>path/filepath</code>,\x20<code>reflect</code>,\x20and\x20<code>syscall</code>\x0apackages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.7.1\">Go\x0a1.7.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.7.2\x20should\x20not\x20be\x20used.\x20It\x20was\x20tagged\x20but\x20not\x20fully\x20released.\x0aThe\x20release\x20was\x20deferred\x20due\x20to\x20a\x20last\x20minute\x20bug\x20report.\x0aUse\x20go1.7.3\x20instead,\x20and\x20refer\x20to\x20the\x20summary\x20of\x20changes\x20below.\x0a</p>\x0a\x0a<p>\x0ago1.7.3\x20(released\x202016/10/19)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20runtime,\x0aand\x20the\x20<code>crypto/cipher</code>,\x20<code>crypto/tls</code>,\x0a<code>net/http</code>,\x20and\x20<code>strings</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.7.3\">Go\x0a1.7.3\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.7.4\x20(released\x202016/12/01)\x20includes\x20two\x20security\x20fixes.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.7.4\">Go\x0a1.7.4\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.7.5\x20(released\x202017/01/26)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20runtime,\x0aand\x20the\x20<code>crypto/x509</code>\x20and\x20<code>time</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.7.5\">Go\x0a1.7.5\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.7.6\x20(released\x202017/05/23)\x20includes\x20the\x20same\x20security\x20fix\x20as\x20Go\x201.8.2\x20and\x0awas\x20released\x20at\x20the\x20same\x20time.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.8.2\">Go\x0a1.8.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.6\">go1.6\x20(released\x202016/02/17)</h2>\x0a\x0a<p>\x0aGo\x201.6\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.6\">Go\x201.6\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.6.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.6.1\x20(released\x202016/04/12)\x20includes\x20two\x20security\x20fixes.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.6.1\">Go\x0a1.6.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.6.2\x20(released\x202016/04/20)\x20includes\x20fixes\x20to\x20the\x20compiler,\x20runtime,\x20tools,\x0adocumentation,\x20and\x20the\x20<code>mime/multipart</code>,\x20<code>net/http</code>,\x20and\x0a<code>sort</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.6.2\">Go\x0a1.6.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.6.3\x20(released\x202016/07/17)\x20includes\x20security\x20fixes\x20to\x20the\x0a<code>net/http/cgi</code>\x20package\x20and\x20<code>net/http</code>\x20package\x20when\x20used\x20in\x0aa\x20CGI\x20environment.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.6.3\">Go\x0a1.6.3\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.6.4\x20(released\x202016/12/01)\x20includes\x20two\x20security\x20fixes.\x0aIt\x20contains\x20the\x20same\x20fixes\x20as\x20Go\x201.7.4\x20and\x20was\x20released\x20at\x20the\x20same\x20time.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.7.4\">Go\x0a1.7.4\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.5\">go1.5\x20(released\x202015/08/19)</h2>\x0a\x0a<p>\x0aGo\x201.5\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.5\">Go\x201.5\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.5.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.5.1\x20(released\x202015/09/08)\x20includes\x20bug\x20fixes\x20to\x20the\x20compiler,\x20assembler,\x20and\x0athe\x20<code>fmt</code>,\x20<code>net/textproto</code>,\x20<code>net/http</code>,\x20and\x0a<code>runtime</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.5.1\">Go\x0a1.5.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.5.2\x20(released\x202015/12/02)\x20includes\x20bug\x20fixes\x20to\x20the\x20compiler,\x20linker,\x20and\x0athe\x20<code>mime/multipart</code>,\x20<code>net</code>,\x20and\x20<code>runtime</code>\x0apackages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.5.2\">Go\x0a1.5.2\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.5.3\x20(released\x202016/01/13)\x20includes\x20a\x20security\x20fix\x20to\x20the\x20<code>math/big</code>\x20package\x0aaffecting\x20the\x20<code>crypto/tls</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://golang.org/s/go153announce\">release\x20announcement</a>\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.5.4\x20(released\x202016/04/12)\x20includes\x20two\x20security\x20fixes.\x0aIt\x20contains\x20the\x20same\x20fixes\x20as\x20Go\x201.6.1\x20and\x20was\x20released\x20at\x20the\x20same\x20time.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.6.1\">Go\x0a1.6.1\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.4\">go1.4\x20(released\x202014/12/10)</h2>\x0a\x0a<p>\x0aGo\x201.4\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.4\">Go\x201.4\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.4.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.4.1\x20(released\x202015/01/15)\x20includes\x20bug\x20fixes\x20to\x20the\x20linker\x20and\x20the\x20<code>log</code>,\x20<code>syscall</code>,\x20and\x20<code>runtime</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.4.1\">Go\x201.4.1\x20milestone\x20on\x20our\x20issue\x20tracker</a>\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.4.2\x20(released\x202015/02/17)\x20includes\x20bug\x20fixes\x20to\x20the\x20<code>go</code>\x20command,\x20the\x20compiler\x20and\x20linker,\x20and\x20the\x20<code>runtime</code>,\x20<code>syscall</code>,\x20<code>reflect</code>,\x20and\x20<code>math/big</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.4.2\">Go\x201.4.2\x20milestone\x20on\x20our\x20issue\x20tracker</a>\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.4.3\x20(released\x202015/09/22)\x20includes\x20security\x20fixes\x20to\x20the\x20<code>net/http</code>\x20package\x20and\x20bug\x20fixes\x20to\x20the\x20<code>runtime</code>\x20package.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.4.3\">Go\x201.4.3\x20milestone\x20on\x20our\x20issue\x20tracker</a>\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.3\">go1.3\x20(released\x202014/06/18)</h2>\x0a\x0a<p>\x0aGo\x201.3\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.3\">Go\x201.3\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.3.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.3.1\x20(released\x202014/08/13)\x20includes\x20bug\x20fixes\x20to\x20the\x20compiler\x20and\x20the\x20<code>runtime</code>,\x20<code>net</code>,\x20and\x20<code>crypto/rsa</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/commits/go1.3.1\">change\x20history</a>\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.3.2\x20(released\x202014/09/25)\x20includes\x20bug\x20fixes\x20to\x20cgo\x20and\x20the\x20crypto/tls\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/commits/go1.3.2\">change\x20history</a>\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.3.3\x20(released\x202014/09/30)\x20includes\x20further\x20bug\x20fixes\x20to\x20cgo,\x20the\x20runtime\x20package,\x20and\x20the\x20nacl\x20port.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/commits/go1.3.3\">change\x20history</a>\x20for\x20details.\x0a</p>\x0a\x0a<h2\x20id=\"go1.2\">go1.2\x20(released\x202013/12/01)</h2>\x0a\x0a<p>\x0aGo\x201.2\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.2\">Go\x201.2\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.2.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.2.1\x20(released\x202014/03/02)\x20includes\x20bug\x20fixes\x20to\x20the\x20<code>runtime</code>,\x20<code>net</code>,\x20and\x20<code>database/sql</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/commits/go1.2.1\">change\x20history</a>\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.2.2\x20(released\x202014/05/05)\x20includes\x20a\x0a<a\x20href=\"https://github.com/golang/go/commits/go1.2.2\">security\x20fix</a>\x0athat\x20affects\x20the\x20tour\x20binary\x20included\x20in\x20the\x20binary\x20distributions\x20(thanks\x20to\x20Guillaume\x20T).\x0a</p>\x0a\x0a<h2\x20id=\"go1.1\">go1.1\x20(released\x202013/05/13)</h2>\x0a\x0a<p>\x0aGo\x201.1\x20is\x20a\x20major\x20release\x20of\x20Go.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.1\">Go\x201.1\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<h3\x20id=\"go1.1.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.1.1\x20(released\x202013/06/13)\x20includes\x20several\x20compiler\x20and\x20runtime\x20bug\x20fixes.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/commits/go1.1.1\">change\x20history</a>\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.1.2\x20(released\x202013/08/13)\x20includes\x20fixes\x20to\x20the\x20<code>gc</code>\x20compiler\x0aand\x20<code>cgo</code>,\x20and\x20the\x20<code>bufio</code>,\x20<code>runtime</code>,\x0a<code>syscall</code>,\x20and\x20<code>time</code>\x20packages.\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/commits/go1.1.2\">change\x20history</a>\x20for\x20details.\x0aIf\x20you\x20use\x20package\x20syscall's\x20<code>Getrlimit</code>\x20and\x20<code>Setrlimit</code>\x0afunctions\x20under\x20Linux\x20on\x20the\x20ARM\x20or\x20386\x20architectures,\x20please\x20note\x20change\x0a<a\x20href=\"//golang.org/cl/11803043\">11803043</a>\x0athat\x20fixes\x20<a\x20href=\"//golang.org/issue/5949\">issue\x205949</a>.\x0a</p>\x0a\x0a<h2\x20id=\"go1\">go1\x20(released\x202012/03/28)</h2>\x0a\x0a<p>\x0aGo\x201\x20is\x20a\x20major\x20release\x20of\x20Go\x20that\x20will\x20be\x20stable\x20in\x20the\x20long\x20term.\x0aRead\x20the\x20<a\x20href=\"/doc/go1.html\">Go\x201\x20Release\x20Notes</a>\x20for\x20more\x20information.\x0a</p>\x0a\x0a<p>\x0aIt\x20is\x20intended\x20that\x20programs\x20written\x20for\x20Go\x201\x20will\x20continue\x20to\x20compile\x20and\x20run\x0acorrectly,\x20unchanged,\x20under\x20future\x20versions\x20of\x20Go\x201.\x0aRead\x20the\x20<a\x20href=\"/doc/go1compat.html\">Go\x201\x20compatibility\x20document</a>\x20for\x20more\x0aabout\x20the\x20future\x20of\x20Go\x201.\x0a</p>\x0a\x0a<p>\x0aThe\x20go1\x20release\x20corresponds\x20to\x0a<code><a\x20href=\"weekly.html#2012-03-27\">weekly.2012-03-27</a></code>.\x0a</p>\x0a\x0a<h3\x20id=\"go1.minor\">Minor\x20revisions</h3>\x0a\x0a<p>\x0ago1.0.1\x20(released\x202012/04/25)\x20was\x20issued\x20to\x0a<a\x20href=\"//golang.org/cl/6061043\">fix</a>\x20an\x0a<a\x20href=\"//golang.org/issue/3545\">escape\x20analysis\x20bug</a>\x0athat\x20can\x20lead\x20to\x20memory\x20corruption.\x0aIt\x20also\x20includes\x20several\x20minor\x20code\x20and\x20documentation\x20fixes.\x0a</p>\x0a\x0a<p>\x0ago1.0.2\x20(released\x202012/06/13)\x20was\x20issued\x20to\x20fix\x20two\x20bugs\x20in\x20the\x20implementation\x0aof\x20maps\x20using\x20struct\x20or\x20array\x20keys:\x0a<a\x20href=\"//golang.org/issue/3695\">issue\x203695</a>\x20and\x0a<a\x20href=\"//golang.org/issue/3573\">issue\x203573</a>.\x0aIt\x20also\x20includes\x20many\x20minor\x20code\x20and\x20documentation\x20fixes.\x0a</p>\x0a\x0a<p>\x0ago1.0.3\x20(released\x202012/09/21)\x20includes\x20minor\x20code\x20and\x20documentation\x20fixes.\x0a</p>\x0a\x0a<p>\x0aSee\x20the\x20<a\x20href=\"https://github.com/golang/go/commits/release-branch.go1\">go1\x20release\x20branch\x20history</a>\x20for\x20the\x20complete\x20list\x20of\x20changes.\x0a</p>\x0a\x0a<h2\x20id=\"pre.go1\">Older\x20releases</h2>\x0a\x0a<p>\x0aSee\x20the\x20<a\x20href=\"pre_go1.html\">Pre-Go\x201\x20Release\x20History</a>\x20page\x20for\x20notes\x0aon\x20earlier\x20releases.\x0a</p>\x0a\x0a",
+
+	"doc/devel/weekly.html": "<!--{\x0a\x09\"Title\":\x20\"Weekly\x20Snapshot\x20History\"\x0a}-->\x0a\x0a<p>This\x20page\x20summarizes\x20the\x20changes\x20between\x20tagged\x20weekly\x20snapshots\x20of\x20Go.\x0aSuch\x20snapshots\x20are\x20no\x20longer\x20created.\x20This\x20page\x20remains\x20as\x20a\x20historical\x20reference\x20only.</p>\x0a\x0a<p>For\x20recent\x20information,\x20see\x20the\x20<a\x20href=\"//golang.org/change\">change\x20log</a>\x20and\x20<a\x20href=\"//groups.google.com/group/golang-dev/\">development\x20mailing\x20list</a>.</p>\x0a\x0a<h2\x20id=\"2012-03-27\">2012-03-27\x20(<a\x20href=\"release.html#go1\">Go\x201</a>)</h2>\x0a\x0a<pre>\x0a*\x20cmd/dist:\x20fix\x20detection\x20of\x20go1\x20version.\x0a*\x20cmd/go:\x20add\x20missing\x20error\x20check\x20(thanks\x20Evan\x20Shaw),\x0a\x09allow\x20underscores\x20in\x20tool\x20name\x20(thanks\x20Shenghou\x20Ma),\x0a\x09bug\x20fixes,\x0a\x09copy\x20tag_test.go\x20from\x20goinstall,\x0a\x09explain\x20versions\x20better,\x0a\x09respect\x20$GOBIN\x20always,\x0a\x09update\x20for\x20go1\x20tag\x20format.\x0a*\x20cmd/godoc:\x20canonicalize\x20custom\x20path\x20redirects,\x0a\x09fix\x20app\x20engine\x20version,\x0a\x09use\x20virtual\x20filesystem\x20to\x20implement\x20-templates\x20flag.\x0a*\x20codewalk/sharemem.xml:\x20fix\x20references\x20to\x20files.\x0a*\x20crypto/tls:\x20don't\x20select\x20ECC\x20ciphersuites\x20with\x20no\x20mutual\x20curve.\x0a*\x20doc:\x20add\x20JSON-RPC:\x20a\x20tale\x20of\x20interfaces\x20article\x20(thanks\x20Francisco\x20Souza),\x0a\x09describe\x20the\x20Windows\x20MSI\x20installer\x20as\x20experimental,\x0a\x09link\x20to\x20Go\x20Project\x20Dashboard\x20from\x20package\x20list,\x0a\x09update\x20wiki\x20tutorial\x20templates\x20and\x20template\x20discussion,\x0a\x09and\x20many\x20minor\x20fixes.\x0a*\x20exp/types:\x20generalized\x20GCImporter\x20API.\x0a*\x20go/build:\x20cgoEnabled\x20is\x20not\x20known\x20to\x20cmd/dist\x20anymore\x20(thanks\x20Shenghou\x20Ma),\x0a\x09fix\x20import\x20check.\x0a*\x20godoc:\x20make\x20'Overview'\x20section\x20collapsible.\x0a*\x20misc/dist:\x20many\x20fixes\x20and\x20tweaks.\x0a*\x20misc/emacs:\x20fix\x20indentation\x20bug.\x0a*\x20misc/goplay:\x20fix\x20error\x20on\x20IE8\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20net:\x20ignore\x20ECONNABORTED\x20from\x20syscall.Accept\x20(thanks\x20Devon\x20H.\x20O'Dell).\x0a*\x20os:\x20add\x20missing\x20byte\x20to\x20FileMode\x20buffer\x20(thanks\x20Stefan\x20Nilsson).\x0a*\x20path/filepath:\x20convert\x20drive\x20letter\x20to\x20upper\x20case\x20in\x20windows\x20EvalSymlinks\x20(thanks\x20Alex\x20Brainman),\x0a\x09correct\x20comment\x20in\x20EvalSymlinks\x20(thanks\x20Alex\x20Brainman),\x0a\x09use\x20windows\x20GetShortPathName\x20api\x20to\x20force\x20GetLongPathName\x20to\x20do\x20its\x20work\x20(thanks\x20Alex\x20Brainman),\x0a\x09windows\x20drive\x20letter\x20cannot\x20be\x20a\x20digit\x20(thanks\x20Alex\x20Brainman).\x0a*\x20run.bash:\x20compile\x20the\x20codewalks.\x0a*\x20runtime:\x20restore\x20deadlock\x20detection\x20in\x20the\x20simplest\x20case\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09work\x20around\x20false\x20negative\x20in\x20deadlock\x20detection.\x0a*\x20text/template:\x20fix\x20typo\x20in\x20package\x20comment.\x0a*\x20windows:\x20installer\x20fixes\x20(thanks\x20Joe\x20Poirier).\x0a</pre>\x0a\x0a<h2\x20id=\"2012-03-22\">2012-03-22\x20(Go\x201\x20Release\x20Candidate\x202)</h2>\x0a\x0a<pre>\x0aAs\x20with\x20last\x20week's\x20snapshot,\x20this\x20snapshot\x20is\x20another\x20Go\x201\x20release\x20candidate.\x0aA\x20notable\x20change\x20in\x20this\x20snapshot\x20are\x20Windows\x20installer\x20fixes.\x0a\x0aChanges\x20in\x20this\x20snapshot:\x0a*\x205l,\x206l,\x208l:\x20fix\x20stack\x20split\x20logic\x20for\x20stacks\x20near\x20default\x20segment\x20size.\x0a*\x20archive/zip:\x20move\x20r.zip\x20off\x20disk,\x20into\x20reader_test.go.\x0a*\x20build:\x20catch\x20API\x20changes\x20during\x20build,\x0a\x09do\x20more\x20during\x20windows\x20build\x20(thanks\x20Alex\x20Brainman),\x0a\x09lengthen\x20timeout\x20for\x20the\x20lengthy\x20runtime\x20test\x20(thanks\x20Shenghou\x20Ma),\x0a\x09unset\x20GOPATH\x20before\x20tests\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20cmd/cgo:\x20add\x20support\x20for\x20function\x20export\x20for\x20gccgo\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09fix\x20handling\x20of\x20errno\x20for\x20gccgo.\x0a*\x20cmd/go:\x20add\x20-fno-common\x20by\x20default\x20on\x20Darwin\x20(thanks\x20Shenghou\x20Ma),\x0a\x09don't\x20add\x20detail\x20to\x20errPrintedOutput,\x0a\x09fix\x20directory->import\x20path\x20conversion,\x0a\x09make\x20build\x20errors\x20more\x20visible,\x0a\x09use\x20.o,\x20not\x20.{5,6,8},\x20for\x20gccgo\x20created\x20object\x20files,\x0a\x09work\x20around\x20occasional\x20ETXTBSY\x20running\x20cgo.\x0a*\x20cmd/godoc:\x20add\x20toys,\x20tour\x20button\x20to\x20playground,\x0a\x09inform\x20users\x20that\x20the\x20playground\x20doesn't\x20work\x20via\x20local\x20godoc,\x0a\x09style\x20example\x20headings\x20like\x20links,\x0a\x09use\x20*goroot\x20as\x20base\x20path\x20in\x20zip\x20file,\x0a\x09use\x20FormatText\x20for\x20formating\x20code\x20in\x20html\x20template,\x0a\x09use\x20shorter\x20titles\x20for\x20tabs.\x0a*\x20cmd/gofmt:\x20show\x20ascii\x20in\x20usage\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20cmd/pack:\x20also\x20recognize\x20'\\\\'\x20as\x20path\x20separator\x20in\x20filenames\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20crypto/tls:\x20always\x20send\x20a\x20Certificate\x20message\x20if\x20one\x20was\x20requested.\x0a*\x20doc/install:\x20remove\x20reference\x20to\x20\"Go\x20Tutorial\"\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20doc/play:\x20use\x20[]rune\x20instead\x20of\x20[]int\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20doc:\x20add\x20Go\x20Concurrency\x20Patterns:\x20Timing\x20out,\x20moving\x20on\x20article\x20(thanks\x20Francisco\x20Souza),\x0a\x09add\x20Go\x20image/draw\x20package\x20article\x20and\x20convert\x20code\x20snippets\x20to\x20Go1,\x0a\x09add\x20Gobs\x20of\x20data\x20article\x20(thanks\x20Francisco\x20Souza),\x0a\x09add\x20Godoc:\x20documenting\x20Go\x20code\x20article\x20(thanks\x20Francisco\x20Souza),\x0a\x09add\x20JSON\x20and\x20Go\x20article\x20(thanks\x20Francisco\x20Souza),\x0a\x09general\x20update\x20of\x20gccgo\x20installation\x20instructions,\x0a\x09minor\x20updates\x20to\x20most\x20docs.\x0a*\x20flag:\x20add\x20examples.\x0a*\x20gc:\x20fix\x20struct\x20and\x20array\x20comparisons\x20for\x20new\x20bool\x20rules\x20(thanks\x20Anthony\x20Martin),\x0a\x09use\x20quoted\x20string\x20format\x20in\x20import\x20error,\x0a\x09when\x20expanding\x20append\x20inline,\x20preserve\x20arguments.\x0a*\x20go/build:\x20clarify\x20why\x20we\x20exclude\x20files\x20starting\x20with\x20'_'\x20or\x20'.'\x20(thanks\x20Shenghou\x20Ma),\x0a\x09clearer\x20argument\x20name\x20for\x20Import\x20(src\x20->\x20srcDir),\x0a\x09do\x20not\x20report\x20Target\x20for\x20local\x20imports,\x0a\x09fix\x20match.\x0a*\x20go/printer,\x20gofmt:\x20fix\x20multi-line\x20logic.\x0a*\x20html/template:\x20add\x20Templates\x20and\x20XXXEscape\x20functions,\x0a\x09fix\x20nil\x20pointer\x20bug,\x0a\x09fix\x20panic\x20on\x20Clone.\x0a*\x20io/ioutil:\x20fix\x20crash\x20when\x20Stat\x20fails.\x0a*\x20make.bat:\x20fix\x20for\x20old\x20files\x20(thanks\x20Christopher\x20Redden),\x0a\x09don't\x20show\x20error\x20message\x20if\x20old\x20generated\x20files\x20do\x20not\x20exist\x20(thanks\x20Shenghou\x20Ma),\x0a\x09properly\x20handle\x20directories\x20with\x20spaces\x20(thanks\x20Alex\x20Brainman).\x0a*\x20misc/cgo/gmp:\x20update\x20for\x20Go\x201\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20misc/dashboard:\x20remove\x20old\x20python\x20package\x20dashboard.\x0a*\x20misc/dist:\x20don't\x20ship\x20cmd/cov\x20or\x20cmd/prof,\x0a\x09force\x20modes\x20to\x200755\x20or\x200644\x20in\x20tarballs,\x0a\x09remove\x20exp\x20and\x20old\x20before\x20building.\x0a*\x20misc/vim:\x20restore\x20fileencodings\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20net/http:\x20couple\x20more\x20triv.go\x20modernizations,\x0a\x09ensure\x20triv.go\x20compiles\x20and\x20runs\x20(thanks\x20Robert\x20Hencke).\x0a*\x20net:\x20drop\x20unnecessary\x20type\x20assertions\x20and\x20fix\x20leak\x20in\x20test\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os:\x20IsNotExist()\x20should\x20also\x20consider\x20ERROR_PATH_NOT_FOUND\x20on\x20Windows\x20(thanks\x20Shenghou\x20Ma),\x0a\x09do\x20not\x20assume\x20syscall.Write\x20will\x20write\x20everything,\x0a\x09remove\x20document\x20duplication\x20in\x20error\x20predicate\x20functions\x20(thanks\x20Shenghou\x20Ma),\x0a\x09return\x20some\x20invented\x20data\x20from\x20Stat(DevNull)\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20path/filepath:\x20implement\x20Match\x20and\x20Glob\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20reflect:\x20document\x20PkgPath,\x20Method,\x20StructField,\x0a\x09panic\x20if\x20MakeSlice\x20is\x20given\x20bad\x20len/cap\x20arguments.\x0a*\x20run.bat:\x20disable\x20test\x20in\x20test\\bench\\go1\x20to\x20fix\x20build\x20(thanks\x20Alex\x20Brainman).\x0a*\x20runtime/cgo:\x20darwin\x20signal\x20masking\x20(thanks\x20Mikio\x20Hara),\x0a\x09linux\x20signal\x20masking\x20(thanks\x20Mikio\x20Hara).\x0a*\x20runtime:\x20do\x20not\x20handle\x20signals\x20before\x20configuring\x20handler,\x0a\x09manage\x20stack\x20by\x20ourselves\x20for\x20badcallback\x20on\x20windows/amd64\x20(thanks\x20Shenghou\x20Ma),\x0a\x09remove\x20unused\x20goc2c.c\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20sort:\x20add\x20time\x20complexity\x20to\x20doc\x20(thanks\x20Stefan\x20Nilsson),\x0a\x09fix\x20computation\x20of\x20maxDepth\x20to\x20avoid\x20infinite\x20loop\x20(thanks\x20Stefan\x20Nilsson).\x0a*\x20spec:\x20delete\x20references\x20to\x20unsafe.Reflect,Typeof,Unreflect.\x0a*\x20syscall:\x20Test\x20SCM_CREDENTIALS,\x20SO_PASSCRED\x20on\x20Linux\x20(thanks\x20Albert\x20Strasheim),\x0a\x09add\x20a\x20test\x20for\x20passing\x20an\x20fd\x20over\x20a\x20unix\x20socket,\x0a\x09delete\x20passfd_test.go.\x0a*\x20test:\x20use\x20testlib\x20in\x20a\x20few\x20more\x20cases\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20text/template:\x20fix\x20a\x20couple\x20of\x20parse\x20bugs\x20around\x20identifiers,\x0a\x09variables\x20do\x20not\x20take\x20arguments.\x0a</pre>\x0a\x0a<h2\x20id=\"2012-03-13\">2012-03-13\x20(Go\x201\x20Release\x20Candidate\x201)</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20is\x20very\x20close\x20to\x20what\x20we\x20expect\x20will\x20be\x20the\x20contents\x20of\x0athe\x20Go\x201\x20release.\x20There\x20are\x20still\x20a\x20few\x20minor\x20documentation\x20issues\x20to\x20resolve,\x0aand\x20a\x20handful\x20of\x20bugs\x20that\x20should\x20be\x20addressed\x20before\x20the\x20release,\x20but\x20the\x20vast\x0amajority\x20of\x20Go\x20programs\x20should\x20be\x20completely\x20unaffected\x20by\x20any\x20changes\x20we\x20make\x0abetween\x20now\x20and\x20the\x20full\x20release.\x0a\x0aIf\x20you're\x20interested\x20in\x20helping\x20us\x20test,\x20eager\x20to\x20try\x20out\x20Go\x201,\x20or\x20just\x0acurious,\x20this\x20weekly\x20snapshot\x20is\x20the\x20one\x20to\x20try.\x20We'll\x20issue\x20a\x20new\x20App\x20Engine\x0aGo\x201\x20beta\x20SDK\x20very\x20soon,\x20so\x20if\x20you're\x20an\x20App\x20Engine\x20user\x20you\x20can\x20try\x20it\x20there\x0atoo.\x0a\x0aTo\x20help\x20us\x20focus\x20on\x20any\x20remaining\x20bugs\x20and\x20avoid\x20introducing\x20new\x20ones,\x20we\x20will\x0arestrict\x20our\x20attention\x20to\x20critical\x20fixes\x20and\x20issues\x20marked\x20Go1-Must\x20in\x20the\x0aissue\x20tracker.\x20Everything\x20non-essential\x20will\x20be\x20held\x20until\x20after\x20the\x20Go\x201\x0arelease\x20is\x20cut\x20and\x20in\x20the\x20field\x20for\x20a\x20while.\x0a\x0aChanges\x20in\x20this\x20snapshot:\x0a*\x20archive/zip:\x20verify\x20CRC32s\x20in\x20non-streamed\x20files,\x0a\x09write\x20data\x20descriptor\x20signature\x20for\x20OS\x20X;\x20fix\x20bugs\x20reading\x20it.\x0a*\x20build:\x20build\x20correct\x20cmd/dist\x20matching\x20GOHOSTARCH\x20(thanks\x20Shenghou\x20Ma),\x0a\x09re-enable\x20some\x20broken\x20tests\x20in\x20run.bash\x20(thanks\x20Shenghou\x20Ma),\x0a\x09remove\x20some\x20references\x20to\x20Make.inc\x20etc.\x0a\x09use\x20run.go\x20for\x20running\x20tests.\x0a*\x20builder:\x20use\x20short\x20test\x20for\x20subrepos\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20cgo,\x20runtime:\x20diagnose\x20callback\x20on\x20non-Go\x20thread.\x0a*\x20cmd/api:\x20set\x20compiler\x20for\x20all\x20build\x20contexts,\x0a\x09work\x20on\x20Windows\x20again,\x20and\x20make\x20gccgo\x20files\x20work\x20a\x20bit\x20more.\x0a*\x20cmd/cgo:\x20document\x20CGO_LDFLAGS\x20and\x20CGO_CFLAGS,\x0a\x09silence\x20const\x20warnings.\x0a*\x20cmd/dist,\x20cmd/go:\x20move\x20CGO_ENABLED\x20from\x20'go\x20tool\x20dist\x20env'\x20to\x20'go\x20env'\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20cmd/dist:\x20fix\x20build\x20for\x20Linux/ARM\x20(thanks\x20Shenghou\x20Ma),\x0a\x09use\x20correct\x20hg\x20tag\x20for\x20go\x20version\x20(thanks\x20Alex\x20Brainman).\x0a*\x20cmd/fix:\x20add\x20rules\x20for\x20net/http\x20->\x20net/http/httputil\x20renames.\x0a*\x20cmd/gc:\x20allow\x20~\x20in\x20import\x20paths,\x0a\x09delete\x20old\x20map\x20delete\x20in\x20walk,\x0a\x09do\x20not\x20confuse\x20unexported\x20methods\x20of\x20same\x20name,\x0a\x09if\x20$GOROOT_FINAL\x20is\x20set,\x20rewrite\x20file\x20names\x20in\x20object\x20files,\x0a\x09implement\x20len(array)\x20/\x20cap(array)\x20rule,\x0a\x09import\x20path\x20cannot\x20start\x20with\x20slash\x20on\x20Windows\x20(thanks\x20Shenghou\x20Ma),\x0a\x09must\x20not\x20inline\x20panic,\x20recover,\x0a\x09show\x20duplicate\x20key\x20in\x20error,\x0a\x09unnamed\x20struct\x20types\x20can\x20have\x20methods.\x0a*\x20cmd/go:\x20add\x20-compiler,\x0a\x09add\x20env\x20command,\x20use\x20to\x20fix\x20misc/cgo/testso,\x0a\x09allow\x20go\x20get\x20with\x20arbitrary\x20URLs,\x0a\x09allow\x20ssh\x20tunnelled\x20bzr,\x20git\x20and\x20svn\x20(thanks\x20Ingo\x20Oeser),\x0a\x09always\x20provide\x20.exe\x20suffix\x20on\x20windows\x20(thanks\x20Shenghou\x20Ma),\x0a\x09document\x20import\x20path\x20meta\x20tag\x20discovery\x20in\x20go\x20help\x20remote,\x0a\x09honor\x20buildflags\x20in\x20run,\x20test\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09local\x20import\x20fixes,\x0a\x09make\x20go\x20get\x20new.code/...\x20work,\x0a\x09rebuild\x20external\x20test\x20package\x20dependencies,\x0a\x09respect\x20$GOBIN\x20always,\x0a\x09support\x20-compiler\x20for\x20go\x20list,\x20fix\x20isStale\x20for\x20gccgo\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20cmd/godoc:\x20add\x20support\x20for\x20serving\x20templates.\x0a\x09fix\x20codewalk\x20handler\x20(thanks\x20Francisco\x20Souza).\x0a\x09remove\x20extra\x20/\x20in\x20paths\x20(thanks\x20Ugorji\x20Nwoke),\x0a\x09support\x20$GOPATH,\x20simplify\x20file\x20system\x20code,\x0a\x09switch\x20on\x20+1\x20buttons.\x0a*\x20cmd/gofmt:\x20fix\x20race\x20in\x20long\x20test\x20(thanks\x20Mikio\x20Hara).\x0a*\x20codereview:\x20fix\x20for\x20Mercurial\x202.1.\x0a*\x20crypto/x509:\x20allow\x20server\x20gated\x20crypto\x20in\x20windows\x20systemVerify\x20(thanks\x20Mikkel\x20Krautz),\x0a\x09do\x20not\x20forget\x20to\x20free\x20cert\x20context\x20(thanks\x20Alex\x20Brainman),\x0a\x09don't\x20include\x20empty\x20additional\x20primes\x20in\x20PKCS#1\x20private\x20key,\x0a\x09enforce\x20path\x20length\x20constraint,\x0a\x09new\x20home\x20for\x20root\x20fetchers;\x20build\x20chains\x20using\x20Windows\x20API\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20csv:\x20clarify\x20what\x20a\x20negative\x20FieldsPerRecord\x20means.\x0a*\x20database/sql:\x20add\x20docs\x20about\x20connection\x20state,\x20pooling,\x0a\x09ensure\x20Stmts\x20are\x20correctly\x20closed\x20(thanks\x20Gwenael\x20Treguier),\x0a\x09fix\x20double\x20connection\x20free\x20on\x20Stmt.Query\x20error,\x0a\x09fix\x20typo\x20bug\x20resulting\x20in\x20double-Prepare.\x0a*\x20database/sql:\x20add\x20ErrBadConn.\x0a*\x20doc/go1:\x20template\x20packages\x20have\x20changed\x20since\x20r60.\x0a*\x20doc/go_mem:\x20init-created\x20goroutine\x20behavior\x20changes\x20for\x20Go\x201\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20doc/gopher:\x20flip\x20frontpage\x20gopher's\x20eyes.\x0a*\x20doc:\x20add\x20\"About\x20the\x20go\x20command\"\x20article,\x0a\x09add\x20C?\x20Go?\x20Cgo!\x20article\x20(thanks\x20Francisco\x20Souza),\x0a\x09add\x20Go's\x20declaration\x20syntax\x20article\x20(thanks\x20Francisco\x20Souza),\x0a\x09add\x20more\x20gophers,\x0a\x09add\x20note\x20about\x20import\x20.\x20to\x20Go\x201\x20compatibility\x20notes,\x0a\x09several\x20doc\x20fixes\x20and\x20improvements,\x0a\x09update\x20Effective\x20Go\x20init\x20section,\x0a\x09update\x20progs/run\x20(thanks\x20Shenghou\x20Ma),\x0a\x09update\x20reference\x20gopher,\x0a\x09web\x20site\x20tweaks.\x0a*\x20encoding/asn1:\x20handle\x20UTCTime\x20before\x20the\x20year\x202000.\x0a*\x20encoding/binary:\x20improve\x20package\x20comment\x20(thanks\x20Stefan\x20Nilsson).\x0a*\x20encoding/gob:\x20fix\x20memory\x20corruption.\x0a*\x20encoding/json:\x20document\x20that\x20nil\x20slice\x20encodes\x20as\x20`null`.\x0a*\x20exp/wingui:\x20moved\x20to\x20code.google.com/p/gowingui.\x0a*\x20expvar:\x20add\x20locking\x20to\x20String,\x20and\x20use\x20RWMutex\x20properly\x20throughout,\x0a\x09add\x20missing\x20locking\x20in\x20String\x20methods.\x0a*\x20fmt,\x20log:\x20stop\x20using\x20unicode.\x0a*\x20fmt:\x20minor\x20tweak\x20of\x20package\x20doc\x20to\x20show\x20headings\x20in\x20godoc\x20(thanks\x20Volker\x20Dobler).\x0a*\x20go/build,\x20cmd/go:\x20add\x20support\x20for\x20.syso\x20files.\x0a*\x20go/build:\x20add\x20NoGoError,\x0a\x09add\x20dependency\x20test,\x0a\x09do\x20not\x20parse\x20.syso\x20files\x20(thanks\x20Alex\x20Brainman).\x0a*\x20go/parser:\x20avoid\x20endless\x20loop\x20in\x20case\x20of\x20internal\x20error,\x0a\x09better\x20error\x20synchronization.\x0a*\x20go/printer,\x20gofmt:\x20nicer\x20formatting\x20of\x20multi-line\x20returns.\x0a*\x20go/printer:\x20example\x20for\x20Fprint.\x0a*\x20go/scanner:\x20better\x20panic\x20diagnostic.\x0a*\x20go\x20spec:\x20no\x20known\x20implementation\x20differences\x20anymore,\x0a\x09fix\x20inaccuracy\x20in\x20type\x20identity\x20definition.\x0a*\x20io:\x20better\x20document\x20WriterAt.\x0a*\x20misc/dashboard:\x20remove\x20obsolete\x20package\x20builder\x20code.\x0a*\x20misc/dist:\x20add\x20source\x20archive\x20support,\x0a\x09add\x20windows\x20installer\x20and\x20zip\x20support,\x0a\x09minimum\x20target\x20requirement\x20is\x2010.6\x20for\x20Darwin\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20misc/emacs:\x20fix\x20extra\x20indentation\x20after\x20comments\x20that\x20end\x20with\x20a\x20period.\x0a*\x20misc/xcode:\x20example\x20install\x20of\x20language\x20spec\x20for\x20Xcode\x204.x\x20(thanks\x20Emil\x20Hessman).\x0a*\x20net,\x20net/rpc,\x20reflect,\x20time:\x20document\x20concurrency\x20guarantees.\x0a*\x20net/http:\x20fix\x20crash\x20with\x20Transport.CloseIdleConnections,\x0a\x09return\x20appropriate\x20errors\x20from\x20ReadRequest.\x0a*\x20net:\x20add\x20skip\x20message\x20to\x20test\x20(thanks\x20Mikio\x20Hara),\x0a\x09disable\x20use\x20of\x20external\x20listen\x20along\x20with\x20other\x20external\x20network\x20uses,\x0a\x09do\x20not\x20use\x20reflect\x20for\x20DNS\x20messages\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09document\x20ReadMsgUnix,\x20WriteMsgUnix,\x0a\x09fix\x20TestDialTimeout\x20on\x20windows\x20builder,\x0a\x09improve\x20server\x20and\x20file\x20tests\x20(thanks\x20Mikio\x20Hara),\x0a\x09make\x20Dial\x20and\x20Listen\x20behavior\x20consistent\x20across\x20over\x20platforms\x20(thanks\x20Mikio\x20Hara),\x0a\x09remove\x20dependence\x20on\x20bytes,\x20fmt,\x20strconv,\x0a\x09silence\x20another\x20epoll\x20print,\x0a\x09use\x20IANA\x20reserved\x20port\x20to\x20test\x20dial\x20timeout\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os:\x20document\x20FileInfo.Size\x20as\x20system-dependent\x20for\x20irregular\x20files,\x0a\x09fix\x20SameFile\x20to\x20work\x20for\x20directories\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20path/filepath/path_test.go:\x20repair\x20and\x20enable\x20TestAbs.\x0a*\x20path/filepath:\x20disable\x20AbsTest\x20on\x20windows,\x0a\x09retrieve\x20real\x20file\x20name\x20in\x20windows\x20EvalSymlinks\x20(thanks\x20Alex\x20Brainman).\x0a*\x20runtime/pprof:\x20disable\x20test\x20on\x20Leopard\x2064-bit.\x0a*\x20runtime:\x20add\x20Compiler,\x0a\x09fix\x20windows/amd64\x20exception\x20handler\x20(thanks\x20Alex\x20Brainman),\x0a\x09inline\x20calls\x20to\x20notok,\x0a\x09move\x20runtime.write\x20back\x20to\x20C,\x0a\x09print\x20error\x20on\x20receipt\x20of\x20signal\x20on\x20non-Go\x20thread,\x0a\x09remove\x20unused\x20runtime\xc2\xb7signame\x20and\x20runtime\xc2\xb7newError,\x0a\x09try\x20extending\x20arena\x20size\x20in\x2032-bit\x20allocator\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09wait\x20for\x20main\x20goroutine\x20before\x20setting\x20GOMAXPROCS\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20strconv:\x20add\x20table-based\x20isPrint,\x20remove\x20dependence\x20on\x20bytes,\x20unicode,\x20and\x20strings.\x0a*\x20sync/atomic:\x20disable\x20store\x20and\x20load\x20test\x20on\x20a\x20single\x20processor\x20machine\x20(thanks\x20Mikio\x20Hara).\x0a*\x20syscall:\x20fix\x20mkall.sh,\x20mksyscall_linux.pl,\x20and\x20regen\x20for\x20Linux/ARM\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20test/run:\x20use\x20all\x20available\x20cores\x20on\x20ARM\x20system\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20test:\x20actually\x20run\x20them\x20on\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09add\x20inherited\x20interface\x20test\x20to\x20ddd.go,\x0a\x09enable\x20method\x20expression\x20tests\x20in\x20ddd.go,\x0a\x09invoke\x20go\x20command\x20in\x20run.go,\x0a\x09match\x20gccgo\x20error\x20messages\x20for\x20bug388.go,\x0a\x09skip\x20.\x20files\x20in\x20directory.\x0a*\x20testing:\x20do\x20not\x20print\x20'no\x20tests'\x20when\x20there\x20are\x20examples.\x0a*\x20time:\x20during\x20short\x20test,\x20do\x20not\x20bother\x20tickers\x20take\x20longer\x20than\x20expected\x20(thanks\x20Shenghou\x20Ma),\x0a\x09mention\x20receiver\x20in\x20Unix,\x20UnixNano\x20docs.\x0a*\x20unicode/utf16:\x20remove\x20dependence\x20on\x20package\x20unicode.\x0a*\x20unicode/utf8:\x20remove\x20dependence\x20on\x20unicode.\x0a*\x20windows:\x20make\x20background\x20of\x20gopher\x20icon\x20transparent\x20(thanks\x20Volker\x20Dobler).\x0a</pre>\x0a\x0a<h2\x20id=\"2012-03-04\">2012-03-04</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20a\x20major\x20re-design\x20of\x20the\x20go/build\x20package.\x0aIts\x20FindTree,\x20ScanDir,\x20Tree,\x20and\x20DirInfo\x20types\x20have\x20been\x20replaced\x20with\x20the\x0aImport\x20and\x20Package\x20types.\x20There\x20is\x20no\x20gofix.\x20Code\x20that\x20uses\x20go/build\x20will\x20need\x0ato\x20be\x20updated\x20manually\x20to\x20use\x20the\x20package's\x20new\x20interface.\x0a\x0aOther\x20changes:\x0a*\x206a/6l:\x20add\x20IMUL3Q\x20and\x20SHLDL.\x0a*\x20all:\x20remove\x20unused\x20unexported\x20functions\x20and\x20constants\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20build:\x20add\x20GO_\x20prefix\x20to\x20LDFLAGS\x20and\x20GCFLAGS\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20cmd/cc:\x20fix\x20an\x20out\x20of\x20bounds\x20array\x20access\x20(thanks\x20Anthony\x20Martin),\x0a\x09grow\x20some\x20global\x20arrays.\x0a*\x20cmd/dist:\x20force\x20line-buffering\x20stdout/stderr\x20on\x20Unix\x20(thanks\x20Shenghou\x20Ma),\x0a\x09recognize\x20CC=\"ccache\x20clang\"\x20as\x20clang.\x0a*\x20cmd/go:\x20avoid\x20repeated\x20include\x20dirs\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09fix\x20-I\x20flag\x20for\x20gc\x20command\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09fix\x20verbose\x20command\x20displaying\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09fixes\x20for\x20gccgo\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09many\x20fixes,\x0a\x09test\x20-i\x20should\x20not\x20disable\x20-c\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20cmd/vet:\x20don't\x20give\x20error\x20for\x20Printf(\"%+5.2e\",\x20x)\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20cmd/yacc/units.y:\x20update\x20comment,\x20give\x20better\x20error\x20messages\x20when\x20$GOROOT\x20not\x20set\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20crypto/tls:\x20force\x20OS\x20X\x20target\x20version\x20to\x2010.6\x20for\x20API\x20compatibility\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20crypto/x509:\x20fix\x20typo\x20in\x20Verify\x20documentation\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20dist:\x20treat\x20CC\x20as\x20one\x20unit\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20doc/go1:\x20add\x20justification\x20discussions\x20to\x20major\x20changes,\x0a\x09minor\x20corrections\x20and\x20updates.\x0a*\x20doc:\x20describe\x20API\x20changes\x20to\x20go/build,\x0a\x09elaborate\x20available\x20checks\x20for\x20cmd/vet\x20(thanks\x20Shenghou\x20Ma),\x0a\x09expand\x20code.html\x20to\x20discuss\x20the\x20go\x20tool\x20in\x20more\x20depth,\x0a\x09instruct\x20FreeBSD/Linux\x20users\x20to\x20rm\x20the\x20old\x20version\x20first,\x0a\x09remove\x20Go\x20for\x20C++\x20Programmers,\x0a\x09remove\x20roadmap\x20document,\x0a\x09remove\x20tutorial,\x0a\x09update\x20codelab/wiki\x20to\x20Go\x201\x20(thanks\x20Shenghou\x20Ma),\x0a*\x20encoding/gob:\x20fix\x20\"//\x20+build\"\x20comment\x20for\x20debug.go\x20(thanks\x20Shenghou\x20Ma),\x0a\x09more\x20hardening\x20for\x20lengths\x20of\x20input\x20strings.\x0a*\x20encoding/json:\x20drop\x20MarshalForHTML;\x20gofix\x20calls\x20to\x20Marshal,\x0a\x09escape\x20output\x20from\x20Marshalers.\x0a*\x20encoding/xml:\x20fix\x20anonymous\x20field\x20Unmarshal\x20example\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09fix\x20xml\x20test\x20tag\x20usage\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20gc:\x20disallow\x20absolute\x20import\x20paths,\x0a\x09fix\x20escape\x20analysis\x20+\x20inlining\x20+\x20closure\x20bug,\x0a\x09fix\x20string\x20comparisons\x20for\x20new\x20bool\x20rules\x20(thanks\x20Anthony\x20Martin),\x0a\x09reject\x20import\x20paths\x20containing\x20special\x20characters\x20(thanks\x20Anthony\x20Martin).\x0a*\x20go/ast:\x20examples\x20for\x20ast.Print,\x20ast.Inspect.\x0a*\x20go/doc,\x20godoc:\x20fix\x20range\x20of\x20type\x20declarations.\x0a*\x20go/parser:\x20check\x20import\x20path\x20restrictions,\x0a\x09expand\x20test\x20cases\x20for\x20bad\x20import.\x0a*\x20go/printer,\x20gofmt:\x20improved\x20comment\x20placement.\x0a*\x20go/printer:\x20fix\x20printing\x20of\x20variadic\x20function\x20calls\x20(thanks\x20Anthony\x20Martin),\x0a\x09fix\x20test\x20for\x20new\x20import\x20path\x20restrictions\x20(thanks\x20Anthony\x20Martin),\x0a\x09replace\x20multiline\x20logic,\x0a\x09simpler\x20exprList\x20code,\x20more\x20tests.\x0a*\x20godoc:\x20add\x20Examples\x20link\x20to\x20top-level\x20index,\x0a\x09bring\x20back\x20highlighting,\x20selections,\x20and\x20alerts,\x0a\x09consistent\x20placement\x20of\x20documentation\x20sections,\x0a\x09don't\x20show\x20directories\x20w/o\x20packages\x20in\x20flat\x20dir\x20mode,\x0a\x09don't\x20show\x20testdata\x20directories,\x0a\x09fix\x20codewalks.\x0a*\x20gotype:\x20provide\x20-comments\x20flag.\x0a*\x20html/template:\x20make\x20doctype\x20check\x20case-insensitive\x20(thanks\x20Scott\x20Lawrence),\x0a\x09use\x20correct\x20method\x20signature\x20in\x20introduction\x20example\x20(thanks\x20Mike\x20Rosset).\x0a*\x20io:\x20document\x20that\x20I/O\x20is\x20not\x20necessarily\x20safe\x20for\x20parallel\x20access.\x0a*\x20ld:\x20allow\x20more\x20-L\x20options\x20(thanks\x20Shenghou\x20Ma),\x0a\x09fix\x20alignment\x20of\x20rodata\x20section.\x0a*\x20misc:\x20add\x20zsh\x20completion\x20for\x20go\x20tool\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20misc/bash:\x20Completion\x20for\x20go\x20tool\x20(thanks\x20Yissakhar\x20Z.\x20Beck).\x0a*\x20misc/dashboard:\x20fix\x20bug\x20in\x20UI\x20template,\x0a\x09record\x20install\x20counts\x20for\x20external\x20packages.\x0a*\x20misc/dist:\x20implement\x20binary\x20distribution\x20scripts\x20in\x20go.\x0a*\x20misc/gobuilder:\x20send\x20commit\x20time\x20in\x20RFC3339\x20format.\x0a*\x20misc/xcode:\x20move\x20Xcode3\x20specific\x20files\x20into\x20sub\x20directory.\x0a*\x20net/http/cgi:\x20add\x20an\x20empty\x20response\x20test,\x0a\x09fix\x20empty\x20response.\x0a*\x20net/http/httptest:\x20make\x20Server.Close\x20wait\x20for\x20outstanding\x20requests\x20to\x20finish.\x0a*\x20net/http/httputil:\x20fix\x20DumpRequestOut\x20on\x20https\x20URLs,\x0a\x09make\x20https\x20DumpRequestOut\x20less\x20racy.\x0a*\x20net/http:\x20add\x20overlooked\x20418\x20status\x20code,\x20per\x20RFC\x202324,\x0a\x09fix\x20ProxyFromEnvironment\x20bug,\x20docs,\x20add\x20tests,\x0a\x09make\x20a\x20test\x20more\x20paranoid\x20&\x20reliable\x20on\x20Windows.\x0a*\x20net/rpc:\x20silence\x20read\x20error\x20on\x20closing\x20connection.\x0a*\x20net:\x20add\x20stubs\x20for\x20NetBSD\x20(thanks\x20Benny\x20Siegert),\x0a\x09make\x20-external\x20flag\x20for\x20tests\x20default\x20to\x20true\x20(thanks\x20Mikio\x20Hara),\x0a\x09reorganize\x20test\x20files\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os:\x20diagnose\x20chdir\x20error\x20during\x20StartProcess,\x0a\x09implement\x20UserTime/SystemTime\x20on\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09implement\x20sameFile\x20on\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09release\x20process\x20handle\x20at\x20the\x20end\x20of\x20windows\x20(*Process).Wait\x20(thanks\x20Alex\x20Brainman),\x0a\x09sleep\x205ms\x20after\x20process\x20has\x20exited\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20path/filepath:\x20note\x20that\x20SplitList\x20is\x20different\x20from\x20strings.Split,\x0a\x09steer\x20people\x20away\x20from\x20HasPrefix.\x0a*\x20reflect:\x20don't\x20panic\x20comparing\x20functions\x20in\x20DeepEqual.\x0a\x09make\x20Value.Interface\x20return\x20immutable\x20data.\x0a*\x20runtime/pprof:\x20support\x20OS\x20X\x20CPU\x20profiling.\x0a*\x20runtime:\x20add\x20sanity\x20checks\x20to\x20the\x20runtime-gdb.py\x20prettyprinters,\x0a\x09check\x20for\x20ARM\x20syscall\x20failures\x20(thanks\x20Shenghou\x20Ma),\x0a\x09darwin\x20and\x20linux\x20signal\x20masking,\x0a\x09run\x20init\x20on\x20main\x20thread,\x0a\x09size\x20arena\x20to\x20fit\x20in\x20virtual\x20address\x20space\x20limit.\x0a*\x20spec:\x20allow\x20disallow\x20of\x20\\uFFFD\x20in\x20import\x20path,\x0a\x09apply\x20method\x20sets,\x20embedding\x20to\x20all\x20types,\x20not\x20just\x20named\x20types,\x0a\x09clarifications\x20around\x20exports,\x20uniqueness\x20of\x20identifiers,\x0a\x09import\x20path\x20implementation\x20restriction,\x0a\x09inside\x20functions,\x20variables\x20must\x20be\x20evaluated,\x0a\x09use\x20the\x20term\x20\"lexical\x20token\"\x20(rather\x20then\x20\"lexical\x20symbol\").\x0a*\x20sync:\x20add\x20Once\x20example,\x20remove\x20old\x20WaitGroup\x20example.\x0a*\x20test/bench/shootout:\x20update\x20post-Makefile.\x0a*\x20test:\x20add\x20documentation,\x20misc\x20fixes.\x0a*\x20testing:\x20add\x20-test.example\x20flag\x20to\x20control\x20execution\x20of\x20examples.\x0a*\x20text/template:\x20add\x20example\x20showing\x20use\x20of\x20custom\x20function,\x0a\x09add\x20examples\x20that\x20use\x20multiple\x20templates,\x0a\x09fix\x20redefinition\x20bugs.\x0a*\x20time:\x20add\x20a\x20comment\x20about\x20how\x20to\x20use\x20the\x20Duration\x20constants.\x0a</pre>\x0a\x0a<h2\x20id=\"2012-02-22\">2012-02-22</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20changes\x20to\x20the\x20os\x20and\x20runtime\x20packages.\x0a\x0aThis\x20should\x20be\x20the\x20last\x20of\x20the\x20significant\x20incompatible\x20changes\x20before\x20Go\x201.\x0a\x0aThere\x20are\x20no\x20longer\x20error\x20constants\x20such\x20as\x20EINVAL\x20in\x20the\x20os\x20package,\x20since\x20the\x0aset\x20of\x20values\x20varied\x20with\x20the\x20underlying\x20operating\x20system.\x20There\x20are\x20new\x0aportable\x20functions\x20like\x20IsPermission\x20to\x20test\x20common\x20error\x20properties,\x20plus\x20a\x0afew\x20new\x20error\x20values\x20with\x20more\x20Go-like\x20names,\x20such\x20as\x20ErrPermission\x20and\x0aErrNoEnv.\x0a\x0aThe\x20os.Getenverror\x20function\x20has\x20been\x20removed.\x20To\x20distinguish\x20between\x20a\x0anon-existent\x20environment\x20variable\x20and\x20an\x20empty\x20string,\x20use\x20os.Environ\x20or\x0asyscall.Getenv.\x0a\x0aThe\x20Process.Wait\x20method\x20has\x20dropped\x20its\x20option\x20argument\x20and\x20the\x20associated\x0aconstants\x20are\x20gone\x20from\x20the\x20package.\x20Also,\x20the\x20function\x20Wait\x20is\x20gone;\x20only\x20the\x0amethod\x20of\x20the\x20Process\x20type\x20persists.\x0a\x0aThe\x20non-portable\x20Waitmsg\x20type\x20has\x20been\x20replaced\x20with\x20the\x20portable\x20ProcessState.\x0a\x0aMuch\x20of\x20the\x20API\x20exported\x20by\x20package\x20runtime\x20has\x20been\x20removed\x20in\x20favor\x20of\x0afunctionality\x20provided\x20by\x20other\x20packages.\x20Code\x20using\x20the\x20runtime.Type\x0ainterface\x20or\x20its\x20specific\x20concrete\x20type\x20implementations\x20should\x20now\x20use\x20package\x0areflect.\x20\x20Code\x20using\x20runtime.Semacquire\x20or\x20runtime.Semrelease\x20should\x20use\x0achannels\x20or\x20the\x20abstractions\x20in\x20package\x20sync.\x0a\x0aThe\x20runtime.Alloc,\x20runtime.Free,\x20and\x20runtime.Lookup\x20functions,\x20an\x20unsafe\x20API\x0acreated\x20for\x20debugging\x20the\x20memory\x20allocator,\x20have\x20no\x20replacement.\x0a\x0aThe\x20runtime.Cgocalls\x20and\x20runtime.Goroutines\x20functions\x20have\x20been\x20renamed\x20to\x0aruntime.NumCgoCall\x20and\x20runtime.NumGoroutine.\x0a\x0aThe\x20\"go\x20fix\"\x20command\x20will\x20update\x20code\x20to\x20accommodate\x20most\x20of\x20these\x20changes.\x0a\x0aOther\x20changes:\x0a*\x205c,\x206c,\x208c,\x206g,\x208g:\x20correct\x20boundary\x20checking\x20(thanks\x20Shenghou\x20Ma).\x0a*\x205g,\x206g,\x208g:\x20flush\x20modified\x20globals\x20aggressively.\x0a*\x208a,\x208l:\x20add\x20EMMS\x20instruction\x20(thanks\x20Evan\x20Shaw).\x0a*\x20bufio:\x20don't\x20return\x20errors\x20from\x20good\x20Peeks.\x0a*\x20build:\x20add\x20make.bash\x20--no-clean\x20option,\x0a\x09improve\x20Windows\x20support.\x0a*\x20builder:\x20reuse\x20existing\x20workspace\x20if\x20possible\x20(thanks\x20Shenghou\x20Ma),\x0a\x09update\x20for\x20os.Wait\x20changes.\x0a*\x20bytes:\x20document\x20Compare/Equal\x20semantics\x20for\x20nil\x20arguments,\x20and\x20add\x20tests.\x0a*\x20cgo:\x20fix\x20definition\x20of\x20opaque\x20types\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20cmd/api:\x20record\x20return\x20type\x20of\x20functions\x20for\x20variable\x20typecheck\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20cmd/cgo:\x20bug\x20fixes.\x0a*\x20cmd/dist:\x20add\x20clang\x20specific\x20-Wno\x20options\x20(thanks\x20Bobby\x20Powers),\x0a\x09fix\x20install\x20cmd/5g\x20on\x20non-arm\x20system,\x0a\x09fix\x20pprof\x20permissions\x20(thanks\x20Bobby\x20Powers),\x0a\x09make\x20dir\x20check\x20in\x20defaulttarg()\x20more\x20robust\x20(thanks\x20Shenghou\x20Ma),\x0a\x09use\x20correct\x20package\x20target\x20when\x20cross-compiling\x20(thanks\x20Alex\x20Brainman).\x0a*\x20cmd/gc:\x20correctly\x20typecheck\x20expression\x20lists\x20in\x20returns\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09don't\x20believe\x20that\x20variables\x20mentioned\x20256\x20times\x20are\x20unused\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09error\x20on\x20constant\x20shift\x20overflows\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09fix\x20comparison\x20of\x20struct\x20with\x20_\x20field.\x0a\x09fix\x20error\x20for\x20floating-point\x20constant\x20%,\x0a\x09new,\x20less\x20strict\x20bool\x20rules.\x0a*\x20cmd/go:\x20add\x20tool\x20-n\x20flag,\x0a\x09go\x20test\x20-i\x20correctly\x20handle\x20cgo\x20packages\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20codereview:\x20fix\x20submit\x20message\x20for\x20new\x20clone\x20URL\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20database/sql/driver:\x20API\x20cleanups.\x0a*\x20doc:\x20many\x20fixes\x20and\x20adjustments.\x0a*\x20encoding/gob:\x20cache\x20engine\x20for\x20user\x20type,\x20not\x20base\x20type,\x0a\x09catch\x20internal\x20error\x20when\x20it\x20happens,\x0a\x09fix\x20mutually\x20recursive\x20slices\x20of\x20structs.\x0a*\x20encoding/json:\x20ignore\x20anonymous\x20fields.\x0a*\x20go/doc:\x20return\x20Examples\x20in\x20name\x20order.\x0a*\x20go/parser:\x20imaginary\x20constants\x20and\x20!\x20may\x20start\x20an\x20expression.\x0a*\x20go/printer,\x20gofmt:\x20improved\x20comma\x20placement.\x0a*\x20go/printer:\x20don't\x20lose\x20relevant\x20parentheses\x20when\x20rewriting\x20selector\x20expressions.\x0a*\x20godoc:\x20adjust\x20line\x20height\x20in\x20pre\x20blocks,\x0a\x09don't\x20print\x20spurious\x20suggestion\x20when\x20running\x20\"go\x20doc\x20foo\",\x0a\x09fix\x20absolute->relative\x20mapping,\x0a\x09fix\x20tag\x20mismatch\x20validation\x20errors\x20(thanks\x20Scott\x20Lawrence),\x0a\x09import\x20example\x20code\x20support,\x0a\x09support\x20flat\x20directory\x20view\x20again.\x0a*\x20html/template:\x20add\x20Clone\x20and\x20AddParseTree,\x0a\x09don't\x20indirect\x20past\x20a\x20Stringer,\x0a\x09minor\x20tweak\x20to\x20docs\x20to\x20improve\x20HTML\x20typography.\x0a*\x20image:\x20add\x20Decode\x20example.\x0a*\x20ld:\x20add\x20NOPTRBSS\x20for\x20large,\x20pointer-free\x20uninitialized\x20data.\x0a*\x20math/rand:\x20Intn\x20etc.\x20should\x20panic\x20if\x20their\x20argument\x20is\x20<=\x200.\x0a*\x20misc/dist/windows:\x20distro\x20builder\x20updates\x20(thanks\x20Joe\x20Poirier).\x0a*\x20misc/goplay:\x20remain\x20in\x20work\x20directory,\x20build\x20in\x20temp\x20directory.\x0a*\x20net,\x20os,\x20syscall:\x20delete\x20os.EPLAN9\x20(thanks\x20Mikio\x20Hara).\x0a*\x20net/http:\x20add\x20optional\x20Server.TLSConfig\x20field.\x0a*\x20net/smtp:\x20use\x20EHLO\x20then\x20HELO.\x0a*\x20net/textproto:\x20accept\x20bad\x20MIME\x20headers\x20as\x20browsers\x20do.\x0a*\x20net/url:\x20regularise\x20receiver\x20names.\x0a*\x20net:\x20make\x20LocalAddr\x20on\x20multicast\x20return\x20group\x20address\x20(thanks\x20Mikio\x20Hara),\x0a\x09make\x20parseProcNetIGMP\x20more\x20robust\x20(thanks\x20Mikio\x20Hara),\x0a\x09more\x20selfConnect\x20debugging:\x20panic\x20if\x20ra\x20==\x20nil\x20in\x20internetSocket,\x0a\x09panic\x20if\x20sockaddrToTCP\x20returns\x20nil\x20incorrectly,\x0a\x09other\x20miscellaneous\x20fixes.\x0a*\x20path,\x20path/filepath:\x20polish\x20documentation\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20pprof:\x20add\x20Profile\x20type.\x0a*\x20runtime:\x20avoid\x20malloc\x20during\x20malloc,\x0a\x09define\x20NSIG\x20to\x20fix\x20plan\x209\x20build\x20(thanks\x20David\x20du\x20Colombier),\x0a\x09fix\x20FreeBSD\x20signal\x20handling\x20around\x20thread\x20creation\x20(thanks\x20Devon\x20H.\x20O'Dell),\x0a\x09goroutine\x20profile,\x20stack\x20dumps,\x0a\x09implement\x20runtime.osyield\x20on\x20FreeBSD\x20386,\x20amd64\x20(thanks\x20Devon\x20H.\x20O'Dell),\x0a\x09permit\x20default\x20behavior\x20of\x20SIGTSTP,\x20SIGTTIN,\x20SIGTTOU,\x0a\x09release\x20unused\x20memory\x20to\x20the\x20OS\x20(thanks\x20S\xc3\xa9bastien\x20Paolacci),\x0a\x09remove\x20an\x20obsolete\x20file\x20(thanks\x20Mikio\x20Hara).\x0a*\x20spec:\x20make\x20all\x20comparison\x20results\x20untyped\x20bool,\x0a\x09refine\x20the\x20wording\x20about\x20variables\x20in\x20type\x20switches,\x0a\x09struct\x20comparison\x20only\x20compares\x20non-blank\x20fields.\x0a*\x20syscall:\x20Make\x20Pdeathsig\x20type\x20Signal\x20in\x20SysProcAttr\x20on\x20Linux\x20(thanks\x20Albert\x20Strasheim),\x0a\x09fix\x20bounds\x20check\x20in\x20Error,\x0a\x09force\x20Windows\x20to\x20always\x20use\x20US\x20English\x20error\x20messages\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20test:\x20migrated\x20to\x20new\x20go-based\x20testing\x20framework.\x0a*\x20text/template:\x20evaluate\x20function\x20fields.\x0a*\x20time:\x20use\x20Go\x20distribution\x20zoneinfo\x20if\x20system\x20copy\x20not\x20found.\x0a</pre>\x0a\x0a<h2\x20id=\"2012-02-14\">2012-02-14</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20some\x20package\x20changes\x20that\x20require\x20changes\x20to\x20client\x20code.\x0a\x0aThe\x20flate,\x20gzip\x20and\x20zlib's\x20NewWriterXxx\x20functions\x20no\x20longer\x20return\x20an\x20error.\x0aThe\x20compiler\x20will\x20flag\x20all\x20affected\x20code\x20which\x20must\x20then\x20be\x20updated\x20by\x20hand.\x0a\x0aThe\x20os\x20package's\x20Exec\x20and\x20Time\x20functions\x20were\x20removed.\x20\x20Callers\x20should\x20use\x0asyscall.Exec\x20and\x20time.Now\x20instead.\x20The\x20ShellExpand\x20function\x20was\x20renamed\x20to\x0aExpandEnv.\x20The\x20NewFile\x20function\x20now\x20takes\x20a\x20uintptr\x20and\x20the\x20*File.Fd\x20method\x0areturns\x20a\x20uintptr.\x0a\x0aThe\x20runtime\x20package's\x20Type\x20type\x20and\x20its\x20methods\x20have\x20been\x20removed.\x0aUse\x20the\x20reflect\x20package\x20instead.\x0a\x0aOther\x20changes:\x0a*\x208a,\x208l:\x20add\x20LFENCE,\x20MFENCE,\x20SFENCE\x20(thanks\x20Darren\x20Elwood).\x0a*\x20all.bat:\x20report\x20error\x20code\x20back\x20to\x20the\x20gobuilder\x20(thanks\x20Alex\x20Brainman).\x0a*\x20archive/zip:\x20hide\x20Write\x20method\x20from\x20*Writer\x20type.\x0a*\x20build:\x20create\x20the\x20correct\x20$GOTOOLDIR,\x0a\x09get\x20rid\x20of\x20deps.bash\x20(thanks\x20Anthony\x20Martin),\x0a\x09reject\x20make.bash\x20on\x20Windows.\x0a*\x20builder:\x20set\x20$GOBUILDEXIT\x20for\x20Windows\x20(thanks\x20Alex\x20Brainman),\x0a*\x20bytes:\x20add\x20Reader,\x0a\x09return\x20error\x20in\x20WriteTo\x20if\x20buffer\x20is\x20not\x20drained.\x0a*\x20cgo:\x20add\x20support\x20for\x20returning\x20errno\x20with\x20gccgo\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20cmd/api:\x20follow\x20constant\x20references.\x0a*\x20cmd/cgo:\x20omit\x20//line\x20in\x20-godefs,\x20-cdefs\x20output.\x0a*\x20cmd/dist:\x20fixes\x20(thanks\x20Alex\x20Brainman,\x20Gustavo\x20Niemeyer,\x20Mikio\x20Hara,\x20Shenghou\x20Ma).\x0a*\x20cmd/fix:\x20warn\x20about\x20exp,\x20old,\x20deleted\x20packages.\x0a*\x20cmd/gc:\x20suspend\x20safemode\x20during\x20typecheck\x20of\x20inlined\x20bodies.\x0a*\x20cmd/go:\x20a\x20raft\x20of\x20fixes,\x0a\x09connect\x20os.Stdin\x20for\x20go\x20run\x20and\x20go\x20tool,\x0a\x09go\x20get\x20scheme\x20detection\x20(thanks\x20Daniel\x20Krech),\x0a\x09respect\x20test\x20-timeout\x20flag.\x0a*\x20cmd/vet:\x20warn\x20for\x20construct\x20'Println(os.Stderr,\x20...)'\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20compress/gzip:\x20remove\x20dead\x20code\x20(thanks\x20Alex\x20Brainman).\x0a*\x20container/heap:\x20add\x20example.\x0a*\x20dashboard:\x20add\x20gobuilder\x20-fail\x20mode.\x0a*\x20database/sql:\x20more\x20tests,\x0a\x09remove\x20Into\x20from\x20ScannerInto/ScanInto,\x0a\x09rename\x20ErrTransactionFinished\x20to\x20ErrTxDone,\x0a\x09support\x20ErrSkip\x20in\x20Tx.Exec\x20(thanks\x20Andrew\x20Balholm),\x0a\x09treat\x20pointers\x20as\x20nullable\x20types\x20as\x20with\x20encoding/json\x20(thanks\x20Andrew\x20Pritchard).\x0a*\x20debug/macho:\x20drop\x20terrifyingly\x20monstrous\x20URL\x20from\x20package\x20comment.\x0a*\x20dist:\x20prevent\x20recusive\x20loop\x20on\x20windows\x20when\x20fatal()\x20is\x20called\x20(thanks\x20Daniel\x20Theophanes).\x0a*\x20doc:\x20add\x20App\x20Engine\x20docs\x20to\x20'learn'\x20and\x20'reference'\x20pages,\x0a\x09add\x20playground.js,\x0a\x09new\x20document\x20about\x20compatibility\x20of\x20releases,\x0a\x09update\x20install.html\x20for\x20binary\x20distros,\x20add\x20install-source.html.\x0a*\x20effective_go:\x20use\x20new\x20map\x20deletion\x20syntax.\x0a*\x20encoding/binary:\x20add\x20Size,\x20to\x20replace\x20the\x20functionality\x20of\x20the\x20old\x20TotalSize,\x0a\x09another\x20attempt\x20to\x20describe\x20the\x20type\x20of\x20Read\x20and\x20Write's\x20data,\x0a\x09slices\x20are\x20allowed;\x20say\x20so.\x0a*\x20encoding/json:\x20document\x20buffering.\x0a*\x20encoding/xml:\x20add\x20support\x20for\x20the\x20omitempty\x20flag\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20exp/norm:\x20merged\x20charinfo\x20and\x20decomposition\x20tables.\x0a*\x20exp/types:\x20use\x20build.FindTree\x20in\x20GcImporter\x20(thanks\x20James\x20Whitehead).\x0a*\x20flate:\x20delete\x20WrongValueError\x20type.\x0a*\x20fmt:\x20diagnose\x20invalid\x20verb\x20applied\x20to\x20pointer,\x0a\x09scan\x20FALSE\x20correctly.\x0a*\x20gc:\x20bug\x20fixes,\x20better\x20error\x20messages.\x0a*\x20go/doc:\x20handle\x20recursive\x20embedded\x20types\x20(thanks\x20Gary\x20Burd),\x0a\x09don't\x20lose\x20exported\x20consts/vars\x20with\x20unexported\x20type,\x0a\x09treat\x20predeclared\x20error\x20interface\x20like\x20an\x20exported\x20type.\x0a*\x20go/printer:\x20implement\x20SourcePos\x20mode.\x0a*\x20godoc:\x20list\x20examples\x20in\x20index,\x0a\x09new\x20design,\x0a\x09regard\x20lone\x20examples\x20as\x20\"whole\x20file\"\x20examples.\x0a*\x20html/template:\x20added\x20more\x20words\x20about\x20examples\x20and\x20doc\x20(thanks\x20Bjorn\x20Tipling).\x0a*\x20log/syslog:\x20return\x20length\x20of\x20data\x20provided\x20by\x20the\x20user,\x20not\x20length\x20of\x20header.\x0a*\x20make.bat:\x20remove\x20double\x20quotes\x20(thanks\x20Alex\x20Brainman).\x0a*\x20math:\x20fix\x20gamma\x20doc,\x20link\x20to\x20OEIS.\x0a*\x20mime:\x20unexport\x20some\x20internal\x20details.\x0a*\x20misc/dist:\x20add\x20binary\x20distribution\x20packaging\x20script\x20for\x20linux,\x0a\x09new\x20hierarchy\x20for\x20binary\x20distribution\x20packaging\x20scripts.\x0a*\x20net/http:\x20add\x20ServeContent,\x0a\x09don't\x20spin\x20on\x20temporary\x20accept\x20failure,\x0a\x09fix\x20client\x20goroutine\x20leak\x20with\x20persistent\x20connections,\x0a\x09fix\x20reference\x20to\x20URL.RawPath\x20in\x20docs\x20(thanks\x20Bjorn\x20Tipling),\x0a\x09panic\x20on\x20duplicate\x20registrations,\x0a\x09use\x20mtime\x20<\x20t+1s\x20to\x20check\x20for\x20unmodified\x20(thanks\x20Hong\x20Ruiqi).\x0a*\x20net:\x20avoid\x20Shutdown\x20during\x20Close,\x0a\x09avoid\x20TCP\x20self-connect,\x0a\x09disable\x20TestDialTimeout\x20on\x20Windows,\x0a\x09disable\x20multicast\x20test\x20on\x20Alpha\x20GNU/Linux,\x0a\x09disable\x20wild\x20use\x20of\x20SO_REUSEPORT\x20on\x20BSD\x20variants\x20(thanks\x20Mikio\x20Hara),\x0a\x09enable\x20flags\x20on\x20stream\x20for\x20multicast\x20listeners\x20(thanks\x20Mikio\x20Hara),\x0a\x09make\x20use\x20of\x20listenerBacklog\x20(thanks\x20Mikio\x20Hara),\x0a\x09prefer\x20an\x20IPv4\x20listen\x20if\x20no\x20address\x20given\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os/exec:\x20add\x20Cmd.Waitmsg.\x0a*\x20os/signal:\x20revive\x20this\x20package.\x0a*\x20regexp/syntax:\x20add\x20package\x20and\x20Parse\x20commentary.\x0a*\x20regexp:\x20allow\x20substitutions\x20in\x20Replace,\x20ReplaceString.\x0a*\x20runtime,\x20pprof:\x20add\x20profiling\x20of\x20thread\x20creation.\x0a*\x20runtime,\x20time:\x20accelerate\x20tests\x20in\x20short\x20mode\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20runtime:\x20exit\x20early\x20on\x20OABI\x20systems\x20(thanks\x20Shenghou\x20Ma),\x0a\x09drop\x20to\x2032\x20bit\x20malloc\x20if\x2064\x20bit\x20will\x20not\x20work,\x0a\x09fix\x20\"SysReserve\x20returned\x20unaligned\x20address\"\x20bug\x20on\x2032-bit\x20systems\x20(thanks\x20Shenghou\x20Ma),\x0a\x09fix\x20grsec\x20support\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09on\x20386,\x20fix\x20FP\x20control\x20word\x20on\x20all\x20threads,\x20not\x20just\x20initial\x20thread,\x0a\x09put\x20lockorder\x20before\x20pollorder\x20in\x20Select\x20memory\x20block,\x0a\x09use\x20startpanic\x20so\x20that\x20only\x20one\x20thread\x20handles\x20an\x20incoming\x20SIGQUIT.\x0a*\x20spec:\x20add\x20forward\x20links\x20from\x20'method\x20set'\x20to\x20where\x20it\x20gets\x20used,\x0a\x09clarify\x20implementation\x20restrictions\x20on\x20untyped\x20floats,\x0a\x09disallow\x20recursive\x20embedded\x20interfaces,\x0a\x09method\x20names\x20must\x20be\x20unique,\x0a\x09send\x20on\x20closed\x20channel\x20counts\x20as\x20\"proceeding\",\x0a\x09strings\x20are\x20more\x20slices\x20than\x20arrays.\x0a*\x20strconv:\x20handle\x20very\x20large\x20inputs.\x0a*\x20strings:\x20add\x20Seek\x20and\x20ReadAt\x20methods\x20to\x20Reader.\x0a*\x20sync/atomic:\x20disable\x20hammer\x20pointer\x20tests\x20on\x20wrong\x20size\x20system.\x0a*\x20testing:\x20let\x20runtime\x20catch\x20the\x20panic.\x0a*\x20text/template:\x20refer\x20HTML\x20users\x20to\x20html/template.\x0a*\x20text/template/parse:\x20deep\x20Copy\x20method\x20for\x20nodes.\x0a*\x20time:\x20clean\x20up\x20MarshalJSON,\x20add\x20RFC3339\x20method,\x0a\x09use\x20\"2006-01-02\x2015:04:05.999999999\x20-0700\x20MST\"\x20as\x20String\x20format.\x0a</pre>\x0a\x0a<h2\x20id=\"2012-02-07\">2012-02-07</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20a\x20re-organization\x20of\x20the\x20Go\x20tools.\x0a\x0aOnly\x20the\x20go,\x20godoc,\x20and\x20gofmt\x20tools\x20are\x20installed\x20to\x20$GOROOT/bin\x20(or\x20$GOBIN).\x0aThe\x20remainder\x20are\x20installed\x20to\x20$GOROOT/bin/tool.\x0aThis\x20puts\x20the\x20lesser-used\x20tools\x20(6g,\x20cgo,\x20govet,\x20etc.)\x20outside\x20the\x20user\x20PATH.\x0aInstead\x20these\x20tools\x20may\x20be\x20called\x20through\x20the\x20go\x20tool\x20with\x20'go\x20tool\x20command'.\x0aFor\x20example,\x20to\x20vet\x20hello.go\x20you\x20would\x20type\x20'go\x20tool\x20vet\x20hello.go'.\x0aType\x20'go\x20tool'\x20see\x20the\x20list\x20of\x20available\x20tools.\x0a\x0aWith\x20the\x20move,\x20some\x20tools\x20were\x20given\x20simpler\x20names:\x0a\x096cov\x20\x20\x20\x20-&gt;\x20cov\x0a\x096nm\x20\x20\x20\x20\x20-&gt;\x20nm\x0a\x09goapi\x20\x20\x20-&gt;\x20api\x0a\x09gofix\x20\x20\x20-&gt;\x20fix\x0a\x09gopack\x20\x20-&gt;\x20pack\x0a\x09gopprof\x20-&gt;\x20pprof\x0a\x09govet\x20\x20\x20-&gt;\x20vet\x0a\x09goyacc\x20\x20-&gt;\x20yacc\x0a\x0aThe\x20os/signal\x20package\x20has\x20been\x20moved\x20to\x20exp/signal.\x0a\x0aA\x20new\x20tool\x20named\x20'dist'\x20has\x20been\x20introduced\x20to\x20handle\x20building\x20the\x20gc\x20tool\x0achain\x20and\x20to\x20bootstrap\x20the\x20go\x20tool.\x20The\x20old\x20build\x20scripts\x20and\x20make\x20files\x0ahave\x20been\x20removed.\x0a\x0aOther\x20changes:\x0a*\x205a,\x206a,\x208a,\x20cc:\x20check\x20in\x20y.tab.[ch].\x0a*\x205l,\x206l,\x208l,\x20ld:\x20remove\x20memory\x20leaks\x20(thanks\x20Shenghou\x20Ma).\x0a*\x205l,\x206l,\x208l:\x20implement\x20-X\x20flag.\x0a*\x205l:\x20make\x20-v\x20option\x20output\x20less\x20nonessential\x20clutter\x20(thanks\x20Shenghou\x20Ma),\x0a\x09optimize\x20the\x20common\x20case\x20in\x20patch()\x20(thanks\x20Shenghou\x20Ma).\x0a*\x208a,\x208l:\x20implement\x20support\x20for\x20RDTSC\x20instruction\x20(thanks\x20Shenghou\x20Ma).\x0a*\x208g:\x20use\x20uintptr\x20for\x20local\x20pc.\x0a*\x20archive/zip:\x20support\x20full\x20range\x20of\x20FileMode\x20flags\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20bufio:\x20remove\x20special\x20error\x20type,\x20update\x20docs.\x0a*\x20build:\x20move\x20the\x20\"-c\"\x20flag\x20into\x20HOST_CFLAGS\x20(thanks\x20Anthony\x20Martin),\x0a\x09remove\x20unnecessary\x20pragmas\x20(thanks\x20Anthony\x20Martin).\x0a*\x20builder:\x20drop\x20recover\x20blocks.\x0a*\x20bytes:\x20API\x20tweaks.\x0a*\x20cgo:\x20accept\x20null\x20pointers\x20in\x20gccgo\x20flavour\x20of\x20C.GoString\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09print\x20line\x20numbers\x20in\x20fatal\x20errors\x20when\x20relevant\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20cmd/dist:\x20add\x20GOBIN\x20to\x20env's\x20output\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09fix\x20bug\x20in\x20bsubst\x20(thanks\x20Alex\x20Brainman),\x0a\x09fix\x20build\x20on\x20openbsd\x20(thanks\x20Mikio\x20Hara),\x0a\x09generate\x20files\x20for\x20package\x20runtime,\x0a\x09ignore\x20file\x20names\x20beginning\x20with\x20.\x20or\x20_,\x0a\x09prevent\x20race\x20on\x20VERSION\x20creation\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20cmd/gc:\x20another\x20special\x20(%hhS)\x20case\x20for\x20method\x20names,\x0a\x09describe\x20debugging\x20flags\x20(thanks\x20Anthony\x20Martin),\x0a\x09diagnose\x20\\\x20in\x20import\x20path,\x0a\x09disallow\x20switch\x20_\x20:=\x20v.(type),\x0a\x09don't\x20print\x20implicit\x20type\x20on\x20struct\x20literal\x20in\x20export,\x0a\x09fix\x20codegen\x20reordering\x20for\x20expressions\x20involving\x20&&\x20and\x20||,\x0a\x09use\x20octal\x20escapes\x20in\x20mkopnames\x20(thanks\x20Anthony\x20Martin).\x0a\x09use\x20original\x20constant\x20expression\x20in\x20error\x20messages\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20cmd/go:\x20add\x20support\x20for\x20release\x20tags\x20via\x20git\x20branches\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09build:\x20print\x20import\x20errors\x20when\x20invoked\x20on\x20files\x20(thanks\x20Kyle\x20Lemons),\x0a\x09clean\x20test\x20directories\x20as\x20they\x20complete,\x0a\x09fix\x20error\x20message\x20on\x20non-existing\x20tools\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09fix\x20handling\x20of\x20gccgo\x20standard\x20library\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09fixed\x20panic\x20on\x20`go\x20clean\x20-n`\x20and\x20`go\x20clean\x20-x`\x20(thanks\x20Sanjay\x20Menakuru),\x0a\x09introduce\x20support\x20for\x20\"go\x20build\"\x20with\x20gccgo\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09make\x20vcs\x20command\x20actually\x20gather\x20output\x20(thanks\x20Roger\x20Peppe),\x0a\x09pass\x20env\x20CGO_CFLAGS\x20to\x20cgo\x20(thanks\x20Jeff\x20Hodges),\x0a\x09record\x20location\x20of\x20failed\x20imports\x20for\x20error\x20reporting\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20cmd/goapi:\x20expand\x20embedded\x20interfaces.\x0a*\x20cmd/goinstall:\x20remove\x20now\x20that\x20'go\x20get'\x20works\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20cmd/ld:\x20fix\x20gdbscript\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20cmd/pack:\x20change\x20gopack\x20to\x20pack\x20in\x20error\x20messages.\x0a*\x20codereview:\x20miscellaneous\x20fixes\x20and\x20improvements.\x0a*\x20crypto/elliptic:\x20p224Contract\x20could\x20produce\x20a\x20non-minimal\x20representation.\x0a*\x20crypto/tls:\x20better\x20error\x20message\x20when\x20connecting\x20to\x20SSLv3\x20servers.\x0a*\x20crypto/x509:\x20use\x20case-insensitive\x20hostname\x20matching.\x0a*\x20dashboard:\x20support\x20for\x20sub-repositories,\x20update\x20to\x20go1beta.\x0a*\x20database/sql:\x20permit\x20scanning\x20into\x20interface{}.\x0a*\x20doc:\x20update\x20go1.html\x20for\x20recent\x20changes.\x0a*\x20encoding/base32:\x20add\x20DecodeString\x20and\x20EncodeToString\x20helper\x20methods,\x0a\x09ignore\x20new\x20line\x20characters\x20during\x20decode.\x0a*\x20encoding/base64:\x20ignore\x20new\x20line\x20characters\x20during\x20decode.\x0a*\x20encoding/gob:\x20document\x20CommonType.\x0a*\x20encoding/hex:\x20canonicalize\x20error\x20type\x20names.\x0a*\x20encoding/json:\x20call\x20(*T).MarshalJSON\x20for\x20addressable\x20T\x20values.\x0a*\x20encoding/xml:\x20fix\x20decoding\x20of\x20xml.Name\x20with\x20sub-elements\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09fix\x20documentation\x20for\x20Decoder.Skip.\x0a*\x20exp/norm:\x20Added\x20some\x20benchmarks\x20for\x20form-specific\x20performance\x20measurements,\x0a\x09a\x20few\x20minor\x20changes\x20in\x20prepration\x20for\x20a\x20table\x20format\x20change.\x0a*\x20expvar:\x20revise\x20API.\x0a*\x20fix:\x20add\x20image/{bmp,tiff}\x20to\x20go1pkgrename.\x0a*\x20flag:\x20allow\x20a\x20FlagSet\x20to\x20not\x20write\x20to\x20os.Stderr,\x0a\x09describe\x20valid\x20input\x20for\x20Duration\x20flags.\x0a*\x20fmt:\x20add\x20test\x20of\x20NaN\x20map\x20keys,\x0a\x09fix\x20caching\x20bug\x20in\x20Scan.\x0a*\x20go/build:\x20put\x20a\x20space\x20between\x20'generated\x20by\x20make'\x20and\x20package\x20statement,\x0a\x09update\x20syslist.go\x20package\x20comment.\x0a*\x20go/doc:\x20fix\x20URL\x20linking\x20in\x20ToHTML\x20(thanks\x20Gary\x20Burd),\x0a\x09added\x20error,\x20rune\x20to\x20list\x20of\x20predeclared\x20types,\x0a\x09don't\x20lose\x20factory\x20functions\x20of\x20non-exported\x20types,\x0a\x09don't\x20show\x20methods\x20of\x20exported\x20anonymous\x20fields,\x0a\x09enable\x20AllMethods\x20flag\x20(and\x20fix\x20logic).\x0a*\x20go/printer:\x20don't\x20print\x20incorrect\x20programs.\x0a*\x20go/scanner:\x20idiomatic\x20receiver\x20names.\x0a*\x20go/spec:\x20update\x20language\x20on\x20map\x20types.\x0a*\x20go/token:\x20remove\x20dependency\x20on\x20encoding/gob.\x0a*\x20gob:\x20fuzz\x20testing,\x20plus\x20a\x20fix\x20for\x20very\x20large\x20type\x20names.\x0a*\x20gobuilder:\x20use\x20go\x20tool\x20to\x20build\x20and\x20test\x20sub-repositories.\x0a*\x20godoc:\x20add\x20URL\x20mode\x20m=methods,\x0a\x09diagnostic\x20for\x20empty\x20FS\x20tree,\x0a\x09fix\x20identifier\x20search,\x0a\x09fix\x20redirect\x20loop\x20for\x20URL\x20\"/\",\x0a\x09provide\x20link\x20to\x20subdirectories,\x20if\x20any,\x0a\x09sort\x20list\x20of\x20\"other\x20packages\",\x0a\x09update\x20metadata\x20in\x20appinit.go.\x0a*\x20gophertool:\x20fix\x20link\x20to\x20the\x20build\x20status\x20dashboard\x20(thanks\x20Jongmin\x20Kim).\x0a*\x20hgignore:\x20add\x20VERSION.cache\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09delete\x20dregs,\x20ignore\x20tmpltohtml.\x0a*\x20html:\x20add\x20package\x20doc.\x0a*\x20image:\x20add\x20package\x20docs,\x20rename\x20s/UnknownFormatError/ErrFormat/\x20and,\x0a\x09delete\x20the\x20image.Repeated\x20type,\x0a\x09remove\x20image/bmp\x20and\x20image/tiff\x20from\x20std.\x0a*\x20io/ioutil:\x20document\x20EOF\x20behavior\x20in\x20ReadFile\x20and\x20ReadAll.\x0a*\x20io:\x20API\x20tweaks.\x0a*\x20libmach:\x20add\x20stubs\x20for\x20Plan\x209\x20(thanks\x20Anthony\x20Martin).\x0a*\x20make.bash:\x20don't\x20remove\x20hgpatch.\x0a*\x20math/big:\x20add\x20raw\x20access\x20to\x20Int\x20bits,\x0a\x09API\x20and\x20documentation\x20cleanup.\x0a*\x20misc/goplay:\x20use\x20go\x20tool\x20\"run\"\x20(thanks\x20Olivier\x20Duperray).\x0a*\x20misc/osx:\x20don't\x20set\x20GOROOT\x20or\x20modify\x20profile\x20files,\x0a\x09update\x20for\x20dist\x20tool,\x20drop\x20image.bash,\x20update\x20readme.\x0a*\x20net,\x20syscall:\x20add\x20IPv4\x20multicast\x20helpers\x20for\x20windows\x20(thanks\x20Mikio\x20Hara).\x0a*\x20net/http/httputil:\x20fix\x20race\x20in\x20DumpRequestOut,\x0a\x09preserve\x20query\x20params\x20in\x20reverse\x20proxy.\x0a*\x20net/http:\x20don't\x20set\x20Content-Type\x20header\x20for\x20HEAD\x20requests\x20by\x20default\x20(thanks\x20Patrick\x20Mylund\x20Nielsen),\x0a\x09fix\x20nil\x20pointer\x20dereference\x20in\x20error\x20case\x20(thanks\x20Volker\x20Dobler),\x0a\x09close\x20client\x20fd\x20sooner\x20on\x20response\x20read\x20error,\x0a\x09set\x20cookies\x20in\x20client\x20jar\x20on\x20POST\x20requests\x20(thanks\x20Volker\x20Dobler).\x0a*\x20net/rpc:\x20fix\x20data\x20race\x20on\x20Call.Error.\x0a*\x20net:\x20ListenMulticastUDP\x20to\x20listen\x20concurrently\x20across\x20multiple\x20listeners\x20(thanks\x20Mikio\x20Hara),\x0a\x09disable\x20normal\x20multicast\x20testing\x20on\x20linux/arm\x20(thanks\x20Mikio\x20Hara),\x0a\x09fix\x20Plan\x209\x20build\x20(thanks\x20Anthony\x20Martin),\x0a\x09fix\x20windows\x20build\x20(thanks\x20Alex\x20Brainman),\x0a\x09move\x20DNSConfigError\x20to\x20a\x20portable\x20file,\x0a\x09remove\x20types\x20InvalidConnError\x20and\x20UnknownSocketError,\x0a\x09replace\x20error\x20variable\x20name\x20e,\x20errno\x20with\x20err\x20(thanks\x20Mikio\x20Hara),\x0a\x09run\x20TestDialTimeout\x20on\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09update\x20comments\x20to\x20remove\x20redundant\x20\"net\"\x20prefix\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os/exec:\x20TestExtraFiles\x20-\x20close\x20any\x20leaked\x20file\x20descriptors,\x0a\x09make\x20sure\x20file\x20is\x20not\x20closed\x20early\x20in\x20leaked\x20fd\x20test.\x0a*\x20os/signal:\x20move\x20to\x20exp/signal.\x0a*\x20os/user:\x20windows\x20implementation\x20(thanks\x20Alex\x20Brainman).\x0a*\x20os:\x20Process.handle\x20use\x20syscall.Handle\x20(thanks\x20Wei\x20Guangjing),\x0a\x09file\x20windows\x20use\x20syscall.InvalidHandle\x20instead\x20of\x20-1\x20(thanks\x20Wei\x20Guangjing),\x0a\x09remove\x20SIGXXX\x20signals\x20variables,\x0a\x09turn\x20FileStat.Sys\x20into\x20a\x20method\x20on\x20FileInfo\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20path/filepath:\x20repair\x20and\x20simplify\x20the\x20symlink\x20test.\x0a*\x20reflect:\x20add\x20comment\x20about\x20Type.Field\x20allocation,\x0a\x09test\x20that\x20PtrTo\x20returns\x20types\x20that\x20match\x20program\x20types.\x0a*\x20runtime:\x20add\x20runtime.cputicks()\x20and\x20seed\x20fastrand\x20with\x20it\x20(thanks\x20Damian\x20Gryski),\x0a\x09delete\x20UpdateMemStats,\x20replace\x20with\x20ReadMemStats(&stats)\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09fix\x20float64\x20hash,\x0a\x09use\x20GOTRACEBACK\x20to\x20decide\x20whether\x20to\x20show\x20runtime\x20frames,\x0a\x09use\x20per-map\x20hash\x20seeds\x20(thanks\x20Damian\x20Gryski).\x0a*\x20spec:\x20add\x20number\x20to\x20the\x20fibonacci\x20sequence.\x0a*\x20std:\x20add\x20struct\x20field\x20tags\x20to\x20untagged\x20literals.\x0a*\x20strings:\x20add\x20Fields\x20example.\x0a*\x20syscall:\x20add\x20Timeval.Nano,\x20Timespec.Nano,\x20for\x20conversion\x20to\x20Duration,\x0a\x09cache\x20environment\x20variables\x20on\x20Plan\x209\x20(thanks\x20Anthony\x20Martin),\x0a\x09fix\x20//\x20+build\x20comments\x20in\x20types_*.go,\x0a\x09fix\x20build\x20directive\x20in\x20types_linux.go,\x0a\x09update\x20bootstrap\x20scripts\x20to\x20sync\x20with\x20new\x20go\x20command\x20(thanks\x20Mikio\x20Hara).\x0a*\x20test:\x20add\x20import\x20test\x20that\x20caused\x20an\x20incorrect\x20gccgo\x20error,\x0a\x09add\x20test\x20for\x20receiver\x20named\x20_,\x0a\x09add\x20test\x20of\x20NaN\x20in\x20map,\x0a\x09add\x20test\x20which\x20crashed\x20gccgo\x20compiler,\x0a\x09don't\x20use\x20package\x20main\x20for\x20files\x20without\x20a\x20main\x20function,\x0a\x09fix\x20bug\x20headers,\x0a\x09float\x20to\x20integer\x20test\x20case,\x0a\x09make\x20map\x20nan\x20timing\x20test\x20more\x20robust,\x0a\x09match\x20gccgo\x20error\x20messages,\x0a\x09test\x20append\x20with\x20two\x20different\x20named\x20types\x20with\x20same\x20element\x20type,\x0a\x09test\x20method\x20expressions\x20with\x20parameters,\x20and\x20with\x20import,\x0a\x09test\x20slice\x20beyond\x20len,\x0a\x09test\x20that\x20x\x20:=\x20&lt;-c\x20accepts\x20a\x20general\x20expression.\x0a*\x20testing:\x20capture\x20panics,\x20present\x20them,\x20and\x20mark\x20the\x20test\x20as\x20a\x20failure.\x0a*\x20unicode:\x20document\x20large\x20var\x20blocks\x20and\x20the\x20SpecialCase\x20vars.\x0a*\x20vet:\x20add\x20a\x20check\x20for\x20untagged\x20struct\x20literals.\x0a</pre>\x0a\x0a<h2\x20id=\"2012-01-27\">2012-01-27</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20renamed\x20the\x20html\x20package\x20to\x20exp/html.\x20The\x20package\x20will\x20not\x0abe\x20present\x20in\x20the\x20Go\x201\x20distribution,\x20but\x20will\x20be\x20installable\x20from\x20source.\x0a\x0aError\x20variables\x20in\x20the\x20archive/tar,\x20archive/zip,\x20compress/gzip,\x20compress/zlib,\x0aand\x20crypto/bcrypt\x20packages\x20have\x20been\x20renamed\x20from\x20FooError\x20to\x20ErrFoo.\x20\x0aThere\x20is\x20no\x20gofix,\x20but\x20the\x20compiler\x20will\x20flag\x20code\x20that\x20needs\x20updating.\x0a\x0aThis\x20weekly\x20snapshot\x20relocates\x20many\x20packages\x20to\x20sub-repositories\x20of\x20the\x20main\x20\x0aGo\x20repository.\x20These\x20are\x20the\x20old\x20and\x20new\x20import\x20paths:\x0a\x0a\x09crypto/bcrypt\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/bcrypt\x0a\x09crypto/blowfish\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/blowfish\x0a\x09crypto/cast5\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/cast5\x0a\x09crypto/md4\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/md4\x0a\x09crypto/ocsp\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/ocsp\x0a\x09crypto/openpgp\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/openpgp\x0a\x09crypto/openpgp/armor\x20\x20\x20code.google.com/p/go.crypto/openpgp/armor\x0a\x09crypto/openpgp/elgamal\x20code.google.com/p/go.crypto/openpgp/elgamal\x0a\x09crypto/openpgp/errors\x20\x20code.google.com/p/go.crypto/openpgp/errors\x0a\x09crypto/openpgp/packet\x20\x20code.google.com/p/go.crypto/openpgp/packet\x0a\x09crypto/openpgp/s2k\x20\x20\x20\x20\x20code.google.com/p/go.crypto/openpgp/s2k\x0a\x09crypto/ripemd160\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/ripemd160\x0a\x09crypto/twofish\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/twofish\x0a\x09crypto/xtea\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/xtea\x0a\x09exp/ssh\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.crypto/ssh\x0a\x09net/dict\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.net/dict\x0a\x09net/websocket\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.net/websocket\x0a\x09exp/spdy\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.net/spdy\x0a\x09encoding/git85\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.codereview/git85\x0a\x09patch\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20code.google.com/p/go.codereview/patch\x0a\x0aGofix\x20will\x20update\x20imports\x20of\x20these\x20packages\x20to\x20use\x20the\x20new\x20import\x20paths.\x0aInstallations\x20that\x20depend\x20on\x20these\x20packages\x20will\x20need\x20to\x20install\x20them\x20using\x20a\x0a'go\x20get'\x20command.\x0a\x0aOther\x20changes:\x0a*\x206c,\x208c:\x20make\x20floating\x20point\x20code\x20NaN-safe.\x0a*\x206l,\x208l:\x20remove\x20unused\x20macro\x20definition\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20archive/tar:\x20fix\x20race\x20in\x20TestNonSeekable.\x0a*\x20archive/zip:\x20add\x20functions\x20to\x20convert\x20between\x20os.FileInfo\x20&\x20FileHeader.\x0a*\x20build:\x20do\x20not\x20build\x20all\x20C\x20compilers\x20(thanks\x20Shenghou\x20Ma),\x0a\x09remove\x20code\x20now\x20in\x20subrepositories.\x0a*\x20bytes:\x20remove\x20dead\x20code,\x20complete\x20documentation,\x0a\x09restore\x20panic\x20on\x20out-of-memory,\x0a\x09turn\x20buffer\x20size\x20overflows\x20into\x20errors.\x0a*\x20cgo:\x20-cdefs\x20should\x20translate\x20unsafe.Pointer\x20to\x20void\x20*\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20cmd/gc:\x20forgotten\x20recursion\x20on\x20ninit\x20itself\x20in\x20order.c.\x0a*\x20cmd/go:\x20bug\x20fixes,\x20implement\x20go\x20get,\x0a\x09correctly\x20handle\x20-n\x20and\x20-x\x20flags\x20for\x20'go\x20run'\x20(thanks\x20Shenghou\x20Ma),\x0a\x09solve\x20ambiguity\x20of\x20get\x20lp.net/project/foo\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09update\x20doc.go\x20with\x20text\x20generated\x20from\x20the\x20usage\x20strings.\x0a*\x20cmd/goapi:\x20new\x20tool\x20for\x20tracking\x20exported\x20API\x20over\x20time.\x0a*\x20codereview:\x20support\x20for\x20subrepositories.\x0a*\x20compress/flate:\x20fix\x20a\x20typo,\x20improve\x20compression\x20rate\x20by\x203-4%,\x0a\x09increase\x20the\x20length\x20of\x20hash\x20table\x20from\x201<<15\x20to\x201<<17.\x200%-16%\x20speedup,\x0a\x09make\x20lazy\x20matching\x20work,\x0a\x09reduce\x20memory\x20pressure\x20at\x20cost\x20of\x20additional\x20arithmetic\x20operation,\x0a\x09use\x20append\x20instead\x20of\x20slice+counter.\x0a*\x20crypto:\x20rename\x20some\x20FooError\x20to\x20ErrFoo.\x0a*\x20dashboard:\x20fix\x20-commit\x20for\x20new\x20xml\x20package.\x0a*\x20database/sql:\x20add\x20NullInt64,\x20NullFloat64,\x20NullBool\x20(thanks\x20James\x20P.\x20Cooper),\x0a\x09convert\x20SQL\x20null\x20values\x20to\x20[]byte\x20as\x20nil\x20(thanks\x20James\x20P.\x20Cooper),\x0a\x09fix\x20Tx.Query\x20(thanks\x20Blake\x20Mizerany).\x0a*\x20doc:\x20expand\x20FAQ\x20on\x20GOMAXPROCS,\x20update\x20to\x20Go\x201.\x0a*\x20doc/go1:\x20add\x20encoding/xml\x20and\x20net/url\x20changes\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09add\x20more\x20info\x20about\x20hash\x20and\x20net\x20changes,\x20delete\x20reference\x20to\x20html,\x0a\x09add\x20flag,\x20runtime,\x20testing,\x20image\x20,\x20mime,\x20filepath.Walk,\x0a\x09document\x20sub-repositories.\x0a*\x20encoding/binary:\x20document\x20that\x20PutVarint,\x20PutUvarint\x20may\x20panic.\x0a*\x20encoding/varint:\x20deleted\x20WriteXvarint.\x0a*\x20encoding/xml:\x20add\x20docs\x20for\x20ignoring\x20tag\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09bring\x20API\x20closer\x20to\x20other\x20packages\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09improve\x20[]byte\x20handling\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09remove\x20Marshaler\x20support\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09support\x20ignoring\x20fields\x20with\x20\"-\"\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20exp/ebnflint:\x20test\x20spec\x20during\x20'go\x20test'.\x0a*\x20exp/norm:\x20fixes\x20a\x20subtle\x20bug\x20introduced\x20by\x20change\x2010087:\x20random\x20offset.\x0a*\x20gc,\x20runtime:\x20handle\x20floating\x20point\x20map\x20keys.\x0a*\x20gc:\x20avoid\x20DOT\x20in\x20error\x20messages,\x0a\x09do\x20not\x20try\x20to\x20add\x20a\x20key\x20with\x20incorrect\x20type\x20to\x20a\x20hash\x20(thanks\x20Jeff\x20R.\x20Allen),\x0a\x09fix\x20order\x20of\x20evaluation,\x0a\x09fix\x20recursion\x20loop\x20in\x20interface\x20comparison,\x0a\x09handle\x20function\x20calls\x20in\x20arguments\x20to\x20builtin\x20complex\x20operations,\x0a\x09missed\x20typecheck\x20in\x20subscripting\x20a\x20const\x20string,\x0a\x09permit\x20unsafe.Pointer\x20for\x20inlined\x20functions,\x0a\x09softer\x20criteria\x20for\x20inlinability,\x0a\x09static\x20implements\x20check\x20on\x20typeswitches\x20only\x20applies\x20to\x20concrete\x20case\x20types,\x0a\x09test\x20case\x20for\x20recursive\x20interface\x20bug.\x0a*\x20go/ast:\x20respect\x20ImportSpec.EndPos\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20go/build:\x20add\x20BuildTags\x20to\x20Context,\x20allow\x20!tag.\x0a*\x20go/doc:\x20rewrite\x20and\x20add\x20lots\x20of\x20tests.\x0a*\x20go/parser:\x20use\x20explicit\x20parser.Mode\x20type.\x0a*\x20go/printer,\x20gofmt:\x20respect\x20line\x20breaks\x20in\x20signatures.\x0a*\x20go/scanner:\x20use\x20explicit\x20scanner.Mode\x20type.\x0a*\x20gob:\x20annotate\x20debug.go\x20so\x20it's\x20not\x20normally\x20built,\x0a\x09reduce\x20the\x20maximum\x20message\x20size.\x0a*\x20godoc:\x20log\x20node\x20printing\x20error,\x0a\x09move\x20overview\x20before\x20API\x20TOC,\x0a\x09update\x20metadata\x20upon\x20launch.\x0a*\x20gofix:\x20add\x20-debug\x20flag\x20for\x20quicker\x20diagnosis\x20of\x20internal\x20errors,\x0a\x09handle\x20xml.Unmarshal\x20in\x20xmlapi\x20fix\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09update\x20go1pkgrename\x20for\x20subrepositories.\x0a*\x20goyacc:\x20fix\x20indexing\x20bug\x20when\x20yydebug\x20>=\x202.\x0a*\x20ld:\x20fix\x20Mach-O\x20code\x20signing\x20for\x20non-cgo\x20binaries\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20libmach:\x20cross\x20compiling\x20support\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20math/big:\x20assembly\x20versions\x20of\x20bitLen\x20for\x20x86-64,\x20386,\x20and\x20ARM\x20(thanks\x20David\x20G.\x20Andersen),\x0a\x09return\x20type\x20of\x20bitLen\x20is\x20an\x20int;\x20use\x20MOVL\x20on\x20amd64\x20(thanks\x20David\x20G.\x20Andersen),\x0a\x09add\x20examples\x20for\x20Rat\x20and\x20Int's\x20SetString\x20and\x20Scan\x20methods,\x0a\x09slight\x20improvement\x20to\x20algorithm\x20used\x20for\x20internal\x20bitLen\x20function\x20(thanks\x20David\x20G.\x20Andersen),\x0a\x09test\x20both\x20bitLen\x20and\x20bitLen_g.\x0a*\x20net/http:\x20add\x20Request.RequestURI\x20field,\x0a\x09disabled\x20test\x20for\x20Transport\x20race\x20/\x20deadlock\x20bug,\x0a\x09fix\x20Transport\x20deadlock\x20(thanks\x20Yoshiyuki\x20Kanno),\x0a\x09make\x20ParseForm\x20ignore\x20unknown\x20content\x20types\x20(thanks\x20Roger\x20Peppe),\x0a\x09parse\x20CONNECT\x20requests\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20net/rpc:\x20fix\x20data\x20race\x20in\x20benchmark,\x0a\x09fix\x20race\x20in\x20TestClientWriteError\x20test,\x0a\x09log\x20Call\x20reply\x20discard.\x0a*\x20net:\x20Dial,\x20ListenPacket\x20with\x20\"ip:protocol\"\x20network\x20for\x20raw\x20IP\x20sockets\x20(thanks\x20Mikio\x20Hara),\x0a\x09actually\x20reset\x20deadline\x20when\x20time\x20is\x20zero,\x0a\x09consistent\x20OpError\x20message\x20(thanks\x20Mikio\x20Hara),\x0a\x09fix\x20dialing\x20google\x20test\x20(thanks\x20Mikio\x20Hara),\x0a\x09make\x20WriteTo\x20fail\x20when\x20UDPConn\x20is\x20already\x20connected\x20(thanks\x20Mikio\x20Hara).\x0a*\x20regexp:\x20remove\x20vestigial\x20Error\x20type.\x0a*\x20runtime:\x20add\x20type\x20algorithms\x20for\x20zero-sized\x20types,\x0a\x09move\x20NumCPU\x20declaration\x20into\x20debug.go.\x0a*\x20spec:\x20function\x20invocation,\x20panic\x20on\x20*nil.\x0a*\x20syscall:\x20add\x20NOTE_*\x20constants\x20on\x20OS\x20X\x20(thanks\x20Robert\x20Figueiredo).\x0a*\x20test:\x20explicitly\x20use\x20variables\x20to\x20avoid\x20gccgo\x20\"not\x20used\"\x20error.\x0a*\x20text/template:\x20add\x20example\x20for\x20Template.\x0a</pre>\x0a\x0a<h2\x20id=\"2012-01-20\">2012-01-20</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20renamed\x20the\x20exp/sql\x20package\x20to\x20database/sql,\x20and\x20moved\x0autf8.String\x20from\x20unicode/utf8\x20to\x20exp/utf8string.\x0a\x0aPackage\x20net's\x20SetTimeout\x20methods\x20were\x20changed\x20to\x20SetDeadline.\x0a\x0aMany\x20functions\x20in\x20package\x20os\x20now\x20take\x20a\x20os.FileMode\x20argument\x20instead\x20of\x20a\x0aplain\x20uint32.\x20An\x20os.ModeSticky\x20constant\x20is\x20also\x20now\x20defined.\x0a\x0aThe\x20meaning\x20of\x20the\x20first\x20buffer\x20element\x20for\x20image.YCbCr\x20has\x20changed\x20to\x20match\x0athe\x20semantics\x20of\x20the\x20other\x20image\x20types\x20like\x20image.RGBA.\x0a\x0aThe\x20NewMD5,\x20NewSHA1\x20and\x20NewSHA256\x20functions\x20in\x20crypto/hmac\x20have\x20been\x0adeprecated.\x20Use\x20New\x20instead,\x20explicitly\x20passing\x20the\x20hash\x20function.\x0a\x0aOther\x20changes:\x0a*\x20buildscripts:\x20move\x20to\x20buildscript\x20directory\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20bytes:\x20add\x20the\x20usual\x20copyright\x20notice\x20to\x20example_test.go\x20(thanks\x20Olivier\x20Duperray).\x0a*\x20cmd/go:\x20remove\x20mentions\x20of\x20'gotest'\x20from\x20the\x20documentation,\x0a\x09skip\x20_obj\x20directories\x20in\x20package\x20scans.\x0a*\x20container/heap:\x20better\x20package\x20documentation.\x0a*\x20crypto/elliptic:\x20add\x20constant-time\x20P224.\x0a*\x20crypto/hmac:\x20Add\x20HMAC-SHA224\x20and\x20HMAC-SHA384/512\x20(thanks\x20Luit\x20van\x20Drongelen),\x0a*\x20crypto/tls:\x20add\x20FreeBSD\x20root\x20certificate\x20location\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20crypto/x509:\x20remove\x20explicit\x20uses\x20of\x20rsa.\x0a*\x20doc:\x20various\x20updates\x20(thanks\x20Jongmin\x20Kim,\x20Scott\x20Lawrence,\x20Shenghou\x20Ma,\x20Stefan\x20Nilsson).\x0a*\x20encoding/json:\x20allow\x20/\x20and\x20%\x20in\x20tag\x20names,\x0a\x09document\x20angle\x20bracket\x20escaping,\x0a\x09fix\x20comments,\x20tweak\x20tests\x20for\x20tag\x20names\x20(thanks\x20Mikio\x20Hara).\x0a*\x20encoding/xml:\x20marshal/unmarshal\x20xml.Name\x20in\x20field\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20exp/inotify:\x20fix\x20data\x20race\x20in\x20linux\x20tests.\x0a*\x20exp/proxy:\x20fix\x20build\x20after\x20URL\x20changes\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20exp/sql:\x20copy\x20when\x20scanning\x20into\x20[]byte\x20by\x20default,\x0a\x09rename\x20NullableString\x20to\x20NullString\x20and\x20allow\x20its\x20use\x20as\x20a\x20parameter.\x0a*\x20exp/ssh:\x20add\x20marshal\x20functions\x20for\x20uint32\x20and\x20uint64\x20types,\x0a\x09handle\x20versions\x20with\x20just\x20'\\n',\x0a\x09rename\x20(some)\x20fields\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20exp/terminal:\x20fix\x20build\x20on\x20non-Linux\x20using\x20Makefiles.\x0a*\x20fmt:\x20enable\x20and\x20fix\x20malloc\x20test,\x0a*\x20gc:\x20don't\x20emit\x20pkgpath\x20for\x20error\x20type,\x0a\x09don't\x20fault\x20on\x20return\x20outside\x20function\x20(thanks\x20Scott\x20Lawrence),\x0a\x09fieldnames\x20in\x20structliterals\x20in\x20exported\x20inlines\x20should\x20not\x20be\x20qualified\x20if\x20they're\x20embedded\x20builtin\x20types,\x0a\x09fix\x20infinite\x20recursion\x20for\x20embedded\x20interfaces,\x0a\x09give\x20esc.c's\x20sink\x20an\x20orig\x20so\x20-mm\x20diagnostics\x20work\x20again,\x0a\x09handle\x20printing\x20of\x20string/arrayrune\x20conversions.\x0a\x09remove\x20redundant\x20code\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20go/build:\x20no\x20back\x20slash\x20in\x20FindTree\x20returned\x20pkg\x20name\x20(thanks\x20Alex\x20Brainman).\x0a*\x20go/doc:\x20collect\x20imports,\x0a\x09don't\x20shadow\x20receiver.\x0a\x09rewrote\x20and\x20completed\x20test\x20framework.\x0a\x09print\x20only\x20one\x20newline\x20between\x20paragraphs\x0a*\x20go/parser:\x20expressions\x20may\x20have\x20comments.\x0a*\x20go/scanner:\x20fix\x20example\x20(thanks\x20Olivier\x20Duperray).\x0a*\x20go/token:\x20replaced\x20Files()\x20with\x20Iterate().\x0a*\x20godoc:\x20add\x20anchors\x20to\x20cmd\x20documentation\x20headings,\x0a\x09remove\x20\"need\x20more\x20packages?\"\x20link,\x0a\x09specify\x20HTML\x20page\x20metadata\x20with\x20a\x20JSON\x20blob,\x0a\x09support\x20canonical\x20Paths\x20in\x20HTML\x20metadata.\x0a*\x20html/template:\x20fix\x20docs\x20after\x20API\x20changes\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20html:\x20in\x20foreign\x20content,\x20check\x20for\x20HTML\x20integration\x20points\x20in\x20breakout.\x0a*\x20image/color:\x20rename\x20modelYCbCr\x20to\x20yCbCrModel\x20(thanks\x20Benny\x20Siegert),\x0a\x09simplify\x20documentation\x20(thanks\x20David\x20Crawshaw).\x0a*\x20image:\x20add\x20PixOffset\x20methods.\x0a*\x20math/rand:\x20decrease\x20test\x20duration\x20in\x20short\x20mode,\x0a\x09document\x20default\x20initial\x20seed\x20for\x20global\x20generator\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20mime:\x20make\x20FormatMediaType\x20take\x20full\x20type\x20for\x20consistency.\x0a*\x20misc/cgo/test:\x20make\x20tests\x20run\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20net/http/cgi:\x20increase\x20a\x20flaky\x20test\x20timeout.\x0a*\x20net/http:\x20change\x20test\x20to\x20use\x20override\x20param\x20instead\x20of\x20chan,\x0a\x09log\x20handler\x20panic\x20before\x20closing\x20HTTP\x20connection,\x0a\x09send\x20cookies\x20in\x20jar\x20on\x20redirect\x20(thanks\x20Jeff\x20Hodges),\x0a\x09the\x20documentation\x20should\x20call\x20NewRequest\x20with\x20the\x20right\x20signature\x20(thanks\x20Christoph\x20Hack),\x0a\x09update\x20the\x20Client\x20docs\x20a\x20bit.\x0a*\x20net/url:\x20cleaned\x20up\x20URL\x20interface\x20(v2)\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20net:\x20consistent\x20log\x20format\x20in\x20test\x20(thanks\x20Mikio\x20Hara),\x0a\x09various\x20build\x20fixes\x20(thanks\x20Mikio\x20Hara),\x0a\x09use\x20NewTimer,\x20not\x20NewTicker,\x20in\x20fd_windows.go.\x0a*\x20old/netchan:\x20fix\x20data\x20race\x20on\x20client\x20hashmap.\x0a*\x20os/exec:\x20trivial\x20allocation\x20removal\x20in\x20LookPath\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20os:\x20remove\x20old\x20note\x20about\x20NewSyscallError\x20being\x20special\x20(thanks\x20Alex\x20Brainman),\x0a*\x20path:\x20added\x20examples\x20(thanks\x20Sanjay\x20Menakuru).\x0a*\x20pkg:\x20Add\x20and\x20fix\x20Copyright\x20of\x20\"hand\x20generated\"\x20files\x20(thanks\x20Olivier\x20Duperray),\x0a\x09add\x20missing\x20godoc\x20comments\x20to\x20windows\x20versions\x20(thanks\x20Alex\x20Brainman).\x0a*\x20regexp:\x20add\x20SubexpNames.\x0a*\x20runtime:\x20implement\x20runtime.usleep\x20for\x20FreeBSD/386\x20and\x20amd64\x20(thanks\x20Shenghou\x20Ma),\x0a\x09madvise\x20and\x20SysUnused\x20for\x20Darwin\x20(thanks\x20Dave\x20Cheney).\x0a*\x20sync/atomic:\x20fix\x20data\x20race\x20in\x20tests.\x0a*\x20syscall:\x20add\x20Unix\x20method\x20to\x20TimeSpec,\x20TimeVal,\x0a\x09fix\x20plan9\x20build\x20(thanks\x20Mikio\x20Hara).\x0a*\x20test:\x20change\x20several\x20tests\x20to\x20not\x20print,\x0a\x09fix\x20bug364\x20to\x20actually\x20run,\x0a\x09match\x20gccgo\x20error\x20messages\x20for\x20bug345,\x0a\x09split\x20golden.out\x20into\x20expected\x20output\x20per\x20test.\x0a*\x20testing:\x20do\x20not\x20recover\x20example's\x20panic\x20(thanks\x20Shenghou\x20Ma),\x0a\x09document\x20examples.\x0a*\x20text/template/parse:\x20use\x20human\x20error\x20prints.\x0a*\x20text/template:\x20fix\x20nil\x20error\x20on\x20redefinition.\x0a*\x20time:\x20add\x20Since,\x20which\x20returns\x20the\x20time\x20elapsed\x20since\x20some\x20past\x20time\x20t.\x0a</pre>\x0a\x0a<h2\x20id=\"2012-01-15\">2012-01-15</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20two\x20package\x20changes\x20that\x20may\x20require\x20changes\x20to\x0aclient\x20code.\x0a\x0aThe\x20image\x20package's\x20Tiled\x20type\x20has\x20been\x20renamed\x20to\x20Repeated.\x0a\x0aThe\x20encoding/xml\x20package\x20has\x20been\x20changed\x20to\x20make\x20more\x20idiomatic\x20use\x20of\x20struct\x0atags,\x20among\x20other\x20things.\x20If\x20you\x20use\x20the\x20xml\x20package\x20please\x20read\x20the\x20change\x0adescription\x20to\x20see\x20if\x20your\x20code\x20is\x20affected:\x0a\x09http://code.google.com/p/go/source/detail?r=70e914beb409\x0a\x0aFunction\x20inlining\x20is\x20now\x20enabled\x20by\x20default\x20in\x20the\x20gc\x20compiler.\x0a\x0aOther\x20changes:\x0a*\x20bytes:\x20Buffer\x20read\x20of\x200\x20bytes\x20at\x20EOF\x20shouldn't\x20be\x20an\x20EOF.\x0a*\x20cgo:\x20if\x20value\x20for\x20constant\x20did\x20not\x20parse,\x20get\x20it\x20from\x20DWARF\x20info,\x0a\x09write\x20_cgo_export.h\x20to\x20object\x20directory,\x20not\x20source\x20dir.\x0a*\x20cmd/go:\x20add\x20-p\x20flag\x20for\x20parallelism\x20(like\x20make\x20-j),\x0a\x09add\x20-v\x20flag\x20to\x20build\x20and\x20install,\x0a\x09add\x20...\x20patterns\x20in\x20import\x20path\x20arguments,\x0a\x09fix\x20data\x20race\x20during\x20build,\x0a\x09fix\x20import\x20directory\x20list\x20for\x20compilation,\x0a\x09fix\x20linker\x20arguments,\x0a\x09handle\x20cgo\x20pkg-config\x20pragmas,\x0a\x09handle\x20path\x20to\x20cmd\x20directory,\x0a\x09include\x20test\x20files\x20in\x20fmt,\x20vet,\x20and\x20fix\x20(thanks\x20Sanjay\x20Menakuru),\x0a\x09kill\x20test\x20processes\x20after\x2010\x20minutes,\x0a\x09pass\x20arguments\x20to\x20command\x20for\x20run\x20(thanks\x20Eric\x20Eisner),\x0a\x09rely\x20on\x20exit\x20code\x20to\x20tell\x20if\x20test\x20passed,\x0a\x09use\x20relative\x20paths\x20in\x20go\x20fix,\x20go\x20fmt,\x20go\x20vet\x20output.\x0a*\x20cmd/gofmt:\x20fix\x20simplify.go\x20by\x20running\x20gofmt\x20on\x20cmd/gofmt\x20(thanks\x20Olivier\x20Duperray).\x0a*\x20crypto/openpgp:\x20assorted\x20cleanups,\x0a\x09truncate\x20hashes\x20before\x20checking\x20DSA\x20signatures.\x0a*\x20crypto/tls:\x20improve\x20TLS\x20Client\x20Authentication\x20(thanks\x20Jeff\x20R.\x20Allen),\x0a\x09update\x20generate_cert.go\x20for\x20new\x20time\x20package.\x0a*\x20dashboard:\x20better\x20caching,\x20bug\x20fixes.\x0a*\x20doc:\x20update\x20\"How\x20to\x20Write\x20Go\x20Code\"\x20to\x20use\x20the\x20go\x20tool.\x0a\x09fix\x20broken\x20function\x20codewalk\x20examples.\x0a*\x20encoding/asn1:\x20document\x20support\x20for\x20*big.Int\x20(thanks\x20Florian\x20Weimer).\x0a*\x20encoding/gob:\x20fix\x20panic\x20when\x20decoding\x20[]byte\x20to\x20incompatible\x20slice\x20types\x20(thanks\x20Alexey\x20Borzenkov).\x0a*\x20encoding/json:\x20don't\x20marshal\x20special\x20float\x20values\x20(thanks\x20Evan\x20Shaw).\x0a*\x20encoding/xml:\x20major\x20Go\x201\x20fixup\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20exp/proxy:\x20new\x20package.\x0a*\x20exp/sql:\x20\x20add\x20time.Time\x20support,\x0a\x09close\x20Rows\x20on\x20EOF,\x0a\x09fix\x20potential\x20corruption\x20in\x20QueryRow.Scan\x20into\x20a\x20*[]byte.\x0a*\x20exp/ssh:\x20various\x20small\x20fixes\x20(thanks\x20Dave\x20Cheney).\x0a*\x20exp/terminal:\x20add\x20SetPrompt\x20and\x20handle\x20large\x20pastes,\x0a\x09add\x20to\x20level\x20Makefile\x20for\x20the\x20(non-Linux?)\x20systems\x20that\x20need\x20it.\x0a*\x20flag:\x20add\x20Duration\x20flag\x20type,\x0a\x09change\x20Set\x20method\x20Value\x20interface\x20to\x20return\x20error\x20instead\x20of\x20bool.\x0a*\x20gc:\x20better\x20errors\x20messages,\x0a\x09avoid\x20false\x20positives\x20when\x20using\x20scalar\x20struct\x20fields\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09closure\x20code\x20gen\x20improvements,\x0a\x09disallow\x20declaration\x20of\x20variables\x20outside\x20package,\x0a\x09fix\x20switch\x20on\x20interface\x20values\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09inlining\x20bug\x20fixes,\x0a\x09improve\x20unsafe.Pointer\x20type-check\x20error\x20messages\x20(thanks\x20Ryan\x20Hitchman),\x0a\x09put\x20limit\x20on\x20size\x20of\x20exported\x20recursive\x20interface\x20(thanks\x20Lorenzo\x20Stoakes),\x0a*\x20go-mode.el:\x20fix\x20syntax\x20highlighting\x20of\x20backticks\x20(thanks\x20Florian\x20Weimer).\x0a*\x20go/ast:\x20remove\x20unnecessary\x20result\x20value\x20from\x20ast.Fprint/Print.\x0a*\x20go/build:\x20allow\x20colon\x20in\x20#cgo\x20flags,\x0a\x09pass\x20CgoLDFLAGS\x20at\x20end\x20of\x20link\x20command.\x0a*\x20go/doc:\x20new\x20API,\x20don't\x20ignore\x20anonymous\x20non-exported\x20fields,\x20initial\x20testing\x20support.\x0a*\x20go/parser:\x20remove\x20unused\x20Parse*\x20functions.\x20Simplified\x20ParseExpr\x20signature.\x0a*\x20go/printer:\x20don't\x20crash\x20if\x20AST\x20contains\x20BadXXX\x20nodes.\x0a*\x20go/scanner:\x2017%\x20faster\x20scanning,\x20remove\x20InsertSemis\x20mode.\x0a*\x20goinstall:\x20use\x20correct\x20checkout\x20URL\x20for\x20Google\x20Code\x20svn\x20repos.\x0a*\x20gotest:\x20make\x20_testmain.go\x20conform\x20to\x20gofmt\x20rules\x20(thanks\x20Benny\x20Siegert).\x0a*\x20goyacc:\x20fix\x20units.y\x20build\x20breakage\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20html/template:\x20reenable\x20testcases\x20and\x20fix\x20mis-escaped\x20sequences\x20(thanks\x20Mike\x20Samuel).\x0a*\x20html:\x20\"in\x20select\x20in\x20table\"\x20insertion\x20mode\x20(thanks\x20Andrew\x20Balholm),\x0a\x09adjust\x20foreign\x20attributes,\x0a\x09foreign\x20element\x20HTML\x20integration\x20points,\x20tag\x20name\x20adjustment,\x0a\x09parse\x20<frameset>\x20inside\x20body\x20(thanks\x20Andrew\x20Balholm),\x0a\x09propagate\x20foreign\x20namespaces\x20only\x20when\x20adding\x20foreign\x20content.\x0a*\x20json:\x20better\x20error\x20messages\x20when\x20the\x20,string\x20option\x20is\x20misused.\x0a*\x20ld:\x20parse\x20but\x20do\x20not\x20implement\x20-X\x20flag.\x0a*\x20log/syslog:\x20add\x20Alert\x20method\x20(thanks\x20Vadim\x20Vygonets).\x0a*\x20make.bash:\x20remove\x20old\x20dregs\x20(thanks\x20Alex\x20Brainman).\x0a*\x20math/big:\x20simplify\x20fast\x20string\x20conversion.\x0a*\x20math:\x20fix\x20typo\x20in\x20all_test.go\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/windows:\x20add\x20src/pkg/runtime/z*\x20files\x20to\x20installation\x20script\x20(thanks\x20Alex\x20Brainman).\x0a*\x20net/http:\x20don't\x20ignore\x20Request.Write's\x20Flush\x20error,\x0a\x09allow\x20cookies\x20with\x20negative\x20Max-Age\x20attribute\x20as\x20these\x20are\x20(thanks\x20Volker\x20Dobler).\x0a*\x20net/textproto:\x20avoid\x20corruption\x20when\x20reading\x20a\x20single\x20header.\x0a*\x20net:\x20add\x20IP-level\x20socket\x20option\x20helpers\x20for\x20Unix\x20variants\x20(thanks\x20Mikio\x20Hara),\x0a\x09fix\x20incorrect\x20mode\x20on\x20ListenIP,\x20ListenUDP\x20(thanks\x20Mikio\x20Hara),\x0a\x09make\x20use\x20of\x20the\x20kernel\x20state\x20to\x20listen\x20on\x20TCP,\x20Unix\x20(thanks\x20Mikio\x20Hara),\x0a\x09platform-dependent\x20default\x20socket\x20options\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os:\x20add\x20ModeCharDevice.\x0a*\x20runtime:\x20add\x20NumCPU,\x0a\x09delete\x20duplicate\x20implementation\x20of\x20pcln\x20walker,\x0a\x09distinct\x20panic\x20message\x20for\x20call\x20of\x20nil\x20func\x20value,\x0a\x09enable\x20runtime.ncpu\x20on\x20FreeBSD\x20(thanks\x20Devon\x20H.\x20O'Dell),\x0a\x09make\x20garbage\x20collector\x20faster\x20by\x20deleting\x20code,\x0a\x09regenerate\x20defs_darwin_{386,amd64}.h\x20(thanks\x20Dave\x20Cheney),\x0a\x09runtime.usleep()\x20bugfix\x20on\x20darwin/amd64\x20and\x20linux/arm\x20(thanks\x20Shenghou\x20Ma).\x0a*\x20spec:\x20pointer\x20comparison\x20for\x20pointers\x20to\x200-sized\x20variables,\x0a\x09change\x20the\x20wording\x20regarding\x20select\x20statement\x20choice.\x0a*\x20strconv:\x20fix\x20round\x20up\x20corner\x20case,\x0a\x09faster\x20FormatFloat(x,\x20*,\x20-1,\x2064)\x20using\x20Grisu3\x20algorithm\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09implement\x20fast\x20path\x20for\x20rounding\x20already\x20short\x20numbers\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09return\x20ErrSyntax\x20when\x20unquoting\x20illegal\x20octal\x20sequences.\x0a*\x20syscall:\x20linux-only\x20support\x20for\x20parent\x20death\x20signal\x20(thanks\x20Albert\x20Strasheim),\x0a\x09make\x20Environ\x20return\x20original\x20order.\x0a*\x20testing:\x20fix\x20defer\x20race,\x0a\x09use\x20flag.Duration\x20for\x20-timeout\x20flag.\x0a*\x20text/template:\x20handle\x20panic\x20values\x20that\x20are\x20not\x20errors\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09for\x20range\x20on\x20a\x20map,\x20sort\x20the\x20keys\x20if\x20feasible.\x0a*\x20time:\x20add\x20ParseDuration,\x0a\x09fix\x20docs\x20for\x20After\x20and\x20NewTicker.\x0a*\x20windows:\x20use\x20ArbitraryUserPointer\x20as\x20TLS\x20slot\x20(thanks\x20Wei\x20Guangjing).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-12-22\">2011-12-22</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20changes\x20to\x20the\x20images/ycbcr\x20and\x20testing\x20packages,\x20and\x0achanges\x20to\x20the\x20build\x20system.\x0a\x0aThe\x20types\x20for\x20managing\x20Y'CbCr\x20images\x20in\x20the\x20image/ycbcr\x20have\x20been\x20moved\x20to\x20the\x0aimage\x20and\x20image/color\x20packages.\x20A\x20gofix\x20module\x20will\x20rewrite\x20affected\x20code.\x0a\x0aThe\x20testing\x20package's\x20B\x20type\x20(used\x20when\x20running\x20benchmarks)\x20now\x20has\x20the\x20same\x0amethods\x20as\x20T\x20(used\x20in\x20tests),\x20such\x20as\x20Print,\x20Error,\x20and\x20Fatal.\x0a\x0aThis\x20weekly\x20adds\x20a\x20new\x20command\x20named\x20'go'\x20for\x20building\x20and\x20testing\x20go\x20programs.\x0aFor\x20Go\x201,\x20the\x20go\x20command\x20will\x20replace\x20the\x20makefile-based\x20approach\x20that\x20we\x20have\x0abeen\x20using.\x20It\x20is\x20not\x20yet\x20ready\x20for\x20general\x20use,\x20but\x20all.bash\x20does\x20use\x20it\x20to\x0abuild\x20the\x20tree.\x20If\x20you\x20have\x20problems\x20building\x20the\x20weekly,\x20you\x20can\x20'export\x0aUSE_GO_TOOL=false'\x20before\x20running\x20all.bash\x20to\x20fall\x20back\x20to\x20the\x20makefiles.\x0a\x0aOther\x20changes:\x0a*\x20archive/zip:\x20add\x20SetModTime\x20method\x20to\x20FileHeader.\x0a*\x20build:\x20make\x20use\x20of\x20env\x20(thanks\x20Mikio\x20Hara),\x0a\x09fixes\x20to\x20make\x20\"go\x20install\"\x20work\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20bytes:\x20add\x20two\x20Buffer\x20examples.\x0a*\x20cgo:\x20support\x20export\x20for\x20built-in\x20types\x20(thanks\x20Maxim\x20Pimenov).\x0a*\x20cmd/go:\x20avoid\x20infinite\x20loop\x20with\x20package\x20specific\x20flags\x20(thanks\x20Mikio\x20Hara),\x0a\x09fixes\x20to\x20build\x20standard\x20library,\x0a\x09implement\x20test\x20command,\x0a\x09make\x20sure\x20use\x20of\x20pthread\x20for\x20gcc-4.5\x20and\x20beyond\x20(thanks\x20Mikio\x20Hara),\x0a\x09respect\x20$GCFLAGS,\x0a\x09use\x20spaces\x20consistently\x20in\x20help\x20message\x20(thanks\x20Roger\x20Peppe),\x0a\x09many\x20other\x20improvements.\x0a*\x20codereview:\x20initialize\x20\"found\"\x20in\x20codereview.py\x20(thanks\x20Miki\x20Tebeka).\x0a*\x20crypto/mime/net/time:\x20add\x20netbsd\x20to\x20+build\x20tags\x20(thanks\x20Joel\x20Sing).\x0a*\x20crypto/tls:\x20don't\x20assume\x20an\x20RSA\x20private\x20key\x20in\x20the\x20API.\x0a*\x20crypto/x509:\x20don't\x20crash\x20with\x20nil\x20receiver\x20in\x20accessor\x20method.\x0a*\x20doc/effective_go:\x20discuss\x20redeclaration.\x0a*\x20doc:\x20delete\x20go\x20course\x20notes,\x0a\x09refer\x20to\x20http://build.golang.org/\x20where\x20applicable\x20(thanks\x20Robert\x20Hencke),\x0a\x09suggest\x20code.google.com/p/go\x20instead\x20of\x20go.googlecode.com/hg.\x0a*\x20encoding/binary:\x20add\x20Write\x20and\x20Read\x20examples,\x0a\x09add\x20more\x20benchmarks\x20(thanks\x20Roger\x20Peppe).\x0a*\x20encoding/gob:\x20arrays\x20are\x20zero\x20only\x20if\x20their\x20elements\x20are\x20zero.\x0a*\x20encoding/json:\x20cleanup\x20leftover\x20variables\x20in\x20array\x20decoding\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09examples\x20for\x20Marshal\x20and\x20Unmarshal.\x0a*\x20exp/ssh:\x20rename\x20ClientAuthPublicKey\x20helper\x20ClientAuthKeyring\x20(thanks\x20Dave\x20Cheney),\x0a\x09simplify\x20Stdin/out/errPipe\x20methods\x20(thanks\x20Dave\x20Cheney).\x0a*\x20fmt:\x20speed\x20up\x20floating\x20point\x20print,\x20clean\x20up\x20some\x20code,\x0a\x09make\x20the\x20malloc\x20test\x20check\x20its\x20counts.\x0a*\x20gc:\x20allow\x20use\x20of\x20unsafe.Pointer\x20in\x20generated\x20code,\x0a\x09avoid\x20unsafe\x20in\x20defn\x20of\x20package\x20runtime,\x0a\x09better\x20linenumbers\x20for\x20inlined\x20functions,\x0a\x09better\x20loopdepth\x20analysis\x20for\x20labels,\x0a\x09implement\x20and\x20test\x20\\r\x20in\x20raw\x20strings,\x0a\x09inlining,\x20allow\x20empty\x20bodies,\x20fix\x20_\x20arguments,\x0a\x09omit\x20argument\x20names\x20from\x20function\x20types\x20in\x20error\x20messages.\x0a*\x20go/ast,\x20parser:\x20remember\x20short\x20variable\x20decls.\x20w/\x20correspoding\x20ident\x20objects.\x0a*\x20go/build:\x20add\x20new\x20+build\x20tags\x20'cgo'\x20and\x20'nocgo'.\x0a*\x20go/doc,\x20godoc:\x20move\x20export\x20filtering\x20into\x20go/doc\x0a*\x20go/printer,\x20gofmt:\x20fine\x20tuning\x20of\x20line\x20spacing.\x0a*\x20go/scanner:\x20strip\x20CRs\x20from\x20raw\x20literals.\x0a*\x20gob:\x20isZero\x20for\x20struct\x20values.\x0a*\x20godoc:\x20allow\x20examples\x20for\x20methods\x20(thanks\x20Volker\x20Dobler),\x0a\x09show\x20methods\x20of\x20anonymous\x20fields.\x0a*\x20goinstall:\x20only\x20suggest\x20-fix\x20for\x20bad\x20imports\x20when\x20appropriate.\x0a*\x20govet:\x20add\x20checking\x20for\x20printf\x20verbs,\x0a\x09divide\x20the\x20program\x20into\x20one\x20file\x20per\x20vetting\x20suite.\x0a*\x20html:\x20more\x20parser\x20improvements\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20json:\x20some\x20tests\x20to\x20demonstrate\x20bad\x20error\x20messages,\x0a\x09use\x20strconv.Append\x20variants\x20to\x20avoid\x20allocations\x20in\x20encoding.\x0a*\x20ld:\x20add\x20support\x20for\x20netbsd\x20signature\x20note\x20section\x20(thanks\x20Joel\x20Sing),\x0a\x09allow\x20for\x20IMAGE_REL_AMD64_ADDR32NB\x20relocation\x20type\x20(thanks\x20Alex\x20Brainman).\x0a*\x20math/big:\x20Rand\x20shouldn't\x20hang\x20if\x20argument\x20is\x20also\x20receiver.\x0a*\x20misc/builder:\x20set\x20default\x20builder\x20host\x20to\x20build.golang.org.\x0a*\x20misc/dashboard:\x20delete\x20old\x20build\x20dashboard\x20code\x20,\x0a\x09improvements\x20and\x20fixes\x20for\x20the\x20go\x20implementation.\x0a*\x20misc/vim:\x20fix\x20go\x20filetype\x20detection\x20(thanks\x20Paul\x20Sbarra).\x0a*\x20net,\x20syscall,\x20os:\x20set\x20CLOEXEC\x20flag\x20on\x20epoll/kqueue\x20descriptor.\x0a*\x20net,\x20syscall:\x20interface\x20address\x20and\x20mask\x20(thanks\x20Mikio\x20Hara).\x0a*\x20net/http:\x20added\x20interface\x20for\x20a\x20cookie\x20jar\x20(thanks\x20Volker\x20Dobler),\x0a\x09test\x20fixes\x20(thanks\x20Alex\x20Brainman).\x0a*\x20net:\x20add\x20DialTimeout,\x0a\x09sort\x20Makefile\x20entries\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os,\x20syscall:\x20beginnings\x20of\x20NetBSD\x20support\x20(thanks\x20Christopher\x20Nielsen).\x0a*\x20os/exec:\x20add\x20test\x20to\x20verify\x20net\x20package's\x20epoll\x20fd\x20doesn't\x20go\x20to\x20child,\x0a\x09disable\x20the\x20ExtraFiles\x20test\x20on\x20darwin.\x0a*\x20os:\x20don't\x20trust\x20O_CLOEXEC\x20on\x20OS\x20X,\x0a\x09make\x20sure\x20Remove\x20returns\x20correct\x20error\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20path,\x20path/filepath:\x20add\x20Dir\x20to\x20complement\x20Base.\x0a*\x20path/filepath.Rel:\x20document\x20that\x20the\x20returned\x20path\x20is\x20always\x20relative.\x0a*\x20runtime:\x20don't\x20panic\x20on\x20SIGILL,\x20just\x20crash.\x0a*\x20spec:\x20be\x20precise\x20about\x20newlines.\x0a*\x20sql:\x20add\x20Rows.Columns.\x0a*\x20strconv:\x20fix\x20bug\x20in\x20extended-float\x20based\x20conversion,\x0a\x09implement\x20faster\x20parsing\x20of\x20decimal\x20numbers,\x20and\x0a\x09reduce\x20buffer\x20size\x20for\x20multi-precision\x20decimals\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20syscall:\x20regenerate\x20z-files\x20for\x20linux/arm\x20(thanks\x20Mikio\x20Hara),\x0a\x09sort\x20Makefile,\x20mkall.sh\x20and\x20mkerrors.sh\x20entries\x20(thanks\x20Mikio\x20Hara).\x0a*\x20test/bench/go1:\x20first\x20draft\x20of\x20Go\x201\x20benchmark\x20suite.\x0a*\x20testing:\x20compare\x20Log\x20to\x20Println\x20(thanks\x20Robert\x20Hencke),\x0a\x09make\x20signalling\x20safer\x20for\x20parallel\x20tests.\x0a*\x20text/template:\x20better\x20error\x20message\x20for\x20empty\x20templates,\x0a\x09fix\x20handing\x20of\x20nil\x20arguments\x20to\x20functions\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20time:\x20add\x20JSON\x20marshaler\x20for\x20Time\x20(thanks\x20Robert\x20Hencke),\x0a\x09new\x20AddDate\x20method\x20(thanks\x20Roger\x20Peppe).\x0a*\x20various:\x20use\x20$GCFLAGS\x20and\x20$GCIMPORTS\x20like\x20Make\x20does\x20(thanks\x20Maxim\x20Pimenov).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-12-14\">2011-12-14</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20language\x20changes\x20and\x20changes\x20to\x20goinstall\x20and\x20gofmt.\x0a\x0aEquality\x20and\x20inequality\x20(==\x20and\x20!=)\x20are\x20now\x20defined\x20for\x20struct\x20and\x20array\x0avalues,\x20respectively,\x20provided\x20the\x20elements\x20of\x20the\x20data\x20structures\x20can\x0athemselves\x20be\x20compared.\x20See\x20the\x20Go\x201\x20release\x20notes\x20for\x20the\x20details:\x0a\x09http://weekly.golang.org/doc/go1.html#equality\x0a\x0aThe\x20rune\x20type\x20is\x20now\x20an\x20alias\x20for\x20int32\x20and\x20character\x20literals\x20have\x20the\x20default\x0atype\x20of\x20rune.\x20Code\x20that\x20uses\x20int\x20where\x20it\x20should\x20use\x20rune\x20will\x20break.\x20\x0aSee\x20the\x20Go\x201\x20release\x20notes\x20for\x20the\x20details:\x0a\x09http://weekly.golang.org/doc/go1.html#rune\x0a\x0aGoinstall\x20now\x20expects\x20Google\x20Code\x20import\x20paths\x20to\x20be\x20of\x20the\x20form:\x0a\x09\"code.google.com/p/go-tour/tree\"\x0aIt\x20will\x20reject\x20imports\x20in\x20the\x20old\x20style\x20\"go-tour.googlecode.com/hg/tree\".\x0aThere\x20is\x20a\x20gofix\x20module\x20to\x20rename\x20such\x20imports.\x0aUse\x20goinstall\x20-fix\x20to\x20update\x20broken\x20packages.\x0a\x0aGofmt's\x20flags\x20have\x20been\x20modified\x20slightly.\x0aThe\x20-tabintent\x20flag\x20has\x20been\x20renamed\x20-tabs.\x0aThe\x20-spaces\x20flag\x20has\x20been\x20removed.\x0a\x0aOther\x20changes:\x0a*\x205c,\x206c,\x208c:\x20support\x2064-bit\x20switch\x20value\x20(thanks\x20Anthony\x20Martin).\x0a*\x208c:\x20handle\x2064-bit\x20switch\x20value.\x0a*\x20archive/tar:\x20use\x20struct\x20comparison\x20not\x20DeepEqual\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20archive/zip:\x20make\x20zip\x20understand\x20os.FileMode\x20(thanks\x20Roger\x20Peppe).\x0a*\x20bufio:\x20make\x20the\x20minimum\x20read\x20buffer\x20size\x2016\x20bytes.\x0a*\x20build:\x20disable\x20cgo\x20on\x20Windows/amd64,\x0a\x09regularize\x20packages\x20so\x20they\x20may\x20be\x20built\x20without\x20Makefiles.\x0a*\x20bytes:\x20faster\x20Count,\x20Index,\x20Equal.\x0a*\x20cgo:\x20add\x20basic\x20gccgo\x20support\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20codereview:\x20fix\x20path\x20slash\x20issue\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20compress/flate:\x20fix\x20out\x20of\x20bounds\x20error.\x0a*\x20contribute.html:\x20do\x20not\x20fill\x20in\x20the\x20reviewer\x20field\x20(thanks\x20Florian\x20Weimer).\x0a*\x20crypto/aes:\x20made\x20faster\x20by\x20eliminating\x20some\x20indirection\x20(thanks\x20Taru\x20Karttunen).\x0a*\x20crypto/dsa:\x20don't\x20truncate\x20input\x20hashes.\x0a*\x20doc/go_tutorial:\x20make\x20clear\x20the\x20file\x20example\x20is\x20Unix-specific.\x0a*\x20doc:\x20add\x20Defer,\x20Panic,\x20and\x20Recover\x20article,\x0a\x09add\x20Error\x20Handling\x20article,\x0a\x09add\x20Go\x201\x20release\x20notes\x20document.\x0a*\x20encoding/gob:\x20better\x20error\x20messages\x20when\x20types\x20mismatch.\x0a*\x20env.bash:\x20export\x20CGO_ENABLED\x20so\x20cgo\x20tests\x20run\x20(thanks\x20Alex\x20Brainman).\x0a*\x20exp/sql:\x20simplify\x20some\x20string\x20conversions.\x0a*\x20exp/ssh:\x20Wait\x20returns\x20an\x20*ExitError\x20(thanks\x20Gustav\x20Paul).\x0a*\x20exp/ssh:\x20improve\x20client\x20channel\x20close\x20behavior\x20(thanks\x20Dave\x20Cheney).\x0a*\x20fmt:\x20don't\x20recur\x20if\x20String\x20method\x20(etc.)\x20misbehaves.\x0a*\x20gc:\x20better\x20error\x20messages,\x0a\x09inlining\x20(disabled\x20without\x20-l),\x0a\x09many\x20bug\x20fixes\x20(thanks\x20Lucio\x20De\x20Re\x20and\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20go/printer,\x20godoc:\x20print\x20comments\x20in\x20example\x20code.\x0a*\x20go:\x20implement\x20doc,\x20fmt,\x20fix,\x20list,\x20vet,\x20build,\x20and\x20install.\x0a*\x20gobuilder:\x20goinstall\x20packages\x20after\x20building\x20go\x20tree.\x0a*\x20godoc:\x20&lt;pre&gt;\x20must\x20not\x20occur\x20inside\x20&lt;p&gt;\x20(thanks\x20Olivier\x20Duperray),\x0a\x09added\x20an\x20opensearch\x20description\x20document\x20(thanks\x20Christoph\x20Hack),\x0a\x09text\x20wrapping.\x0a*\x20gofix:\x20add\x20httputil\x20fix\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20gotest:\x20use\x20go/build\x20more\x20(thanks\x20Robert\x20Hencke).\x0a*\x20gzip:\x20convert\x20between\x20Latin-1\x20and\x20Unicode\x20(thanks\x20Vadim\x20Vygonets).\x0a*\x20html/template:\x20define\x20the\x20FuncMap\x20type\x20locally.\x0a*\x20html:\x20a\x20first\x20step\x20at\x20parsing\x20foreign\x20content\x20(MathML,\x20SVG),\x0a\x09more\x20parser\x20improvements\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20http:\x20close\x20connection\x20after\x20printing\x20panic\x20stack\x20trace\x20(thanks\x20Roger\x20Peppe),\x0a\x09fix\x20failing\x20Transport\x20HEAD\x20request\x20with\x20gzip-looking\x20response.\x0a*\x20json:\x20treat\x20renamed\x20byte\x20slices\x20the\x20same\x20as\x20[]byte.\x0a*\x20ld:\x20first\x20pass\x20at\x20linker\x20support\x20for\x20NetBSD\x20binaries\x20(thanks\x20Christopher\x20Nielsen),\x0a\x09fix\x20memory\x20leaks\x20(thanks\x20Scott\x20Lawrence),\x0a\x09increase\x20default\x20stack\x20size\x20on\x20Windows\x20for\x20cgo.\x0a*\x20math:\x20delete\x20non-Sqrt-based\x20Hypot,\x0a\x09implement,\x20document,\x20and\x20fix\x20special\x20cases\x20(thanks\x20Charles\x20L.\x20Dorian),\x0a*\x20misc/benchcmp:\x20don't\x20require\x20\"Benchmark\"\x20at\x20beginning\x20of\x20line.\x0a*\x20misc/osx:\x20rename\x20profile.go\x20to\x20profile_go\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20net/http:\x20fix\x20trivial\x20example\x20server\x20(thanks\x20Olivier\x20Duperray),\x0a\x09net/http:\x20make\x20test\x20remove\x20temporary\x20file\x20and\x20directory.\x0a*\x20net/smtp:\x20add\x20CRAM-MD5\x20authentication\x20(thanks\x20Vadim\x20Vygonets).\x0a*\x20reflect:\x20fix\x20Slice\x20cap\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20regexp:\x20performance\x20improvements;\x20avoid\x20allocation\x20of\x20input\x20interface.\x0a*\x20runtime:\x20bump\x20gc\x20'extra\x20bytes'\x20check\x20(thanks\x20Christopher\x20Wedgwood),\x0a\x09madvise\x20and\x20SysUnused\x20for\x20Linux\x20(thanks\x20S\xc3\xa9bastien\x20Paolacci),\x0a\x09make\x20gc_test\x20test\x20extra\x20allocated\x20space,\x20not\x20total\x20space,\x0a\x09support\x20for\x20NetBSD\x20(thanks\x20Christopher\x20Nielsen).\x0a*\x20spec:\x20adjust\x20complex\x20constant\x20example\x20(thanks\x20Robert\x20Hencke),\x0a\x09values\x20of\x20underlying\x20type\x20uintptr\x20can\x20be\x20converted\x20to\x20unsafe.Pointer,\x0a\x09var\x20x\x20=\x20'a'\x20defaults\x20to\x20type\x20rune.\x0a*\x20strconv:\x20include\x20package\x20and\x20function\x20name\x20in\x20error\x20strings,\x0a\x09make\x20QuoteRune\x20etc.\x20take\x20a\x20rune\x20argument,\x0a\x09some\x20performance\x20improvements.\x0a*\x20syscall:\x20add\x20constants\x20for\x20flock()\x20system\x20call\x20under\x20Linux,\x0a\x09regenerate\x20z-files\x20for\x20darwin,\x20freebsd\x20(thanks\x20Mikio\x20Hara),\x0a\x09regenerate\x20z-files\x20for\x20openbsd,\x0a\x09return\x20error,\x20not\x20uintptr,\x20when\x20function\x20returns\x20error\x20(thanks\x20Alex\x20Brainman).\x0a*\x20test/bench:\x20move\x20to\x20test/bench/shootout.\x0a*\x20test/garbage:\x20move\x20to\x20test/bench/garbage.\x0a*\x20test:\x20make\x20array\x20smaller\x20in\x20nilptr\x20test.\x0a*\x20time:\x20allow\x20sleep\x20tests\x20to\x20run\x20for\x20200%\x20too\x20long,\x0a\x09fix\x20Time.Add\x20(thanks\x20Hector\x20Chu),\x0a\x09fix\x20daysIn\x20for\x20December\x20(thanks\x20Peter\x20Mundy),\x0a\x09gob\x20marshaler\x20for\x20Time\x20(thanks\x20Robert\x20Hencke),\x0a\x09use\x20Duration\x20for\x20AfterFunc.\x0a*\x20various:\x20a\x20grab-bag\x20of\x20time.Duration\x20cleanups.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-12-06\">2011-12-06</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20a\x20language\x20change\x20and\x20changes\x20to\x20the\x20strconv\x20and\x20go/doc\x0apackages.\x20The\x20package\x20changes\x20require\x20changes\x20to\x20client\x20code.\x0aThe\x20language\x20change\x20is\x20backwards-compatible.\x0a\x0aType\x20elision\x20in\x20arrays,\x20slices,\x20or\x20maps\x20of\x20composite\x20literals\x20has\x20been\x0aextended\x20to\x20include\x20pointers\x20to\x20composite\x20literals.\x20Code\x20like\x20this\x0a\x09var\x20t\x20=\x20[]*T{&amp;T{},\x20&amp;T{}}\x0amay\x20now\x20be\x20written\x20as\x0a\x09var\x20t\x20=\x20[]*T{{},\x20{}}\x0aYou\x20can\x20use\x20gofmt\x20-s\x20to\x20simplify\x20such\x20code.\x0a\x0aThe\x20strconv\x20package\x20has\x20been\x20given\x20a\x20more\x20idiomatic\x20and\x20efficient\x20interface.\x0aClient\x20code\x20can\x20be\x20updated\x20with\x20gofix.\x20See\x20the\x20docs\x20for\x20the\x20details:\x0a\x09http://weekly.golang.org/pkg/strconv/\x0a\x0aThe\x20go/doc\x20package's\x20ToHTML\x20function\x20now\x20takes\x20a\x20[]byte\x20argument\x20instead\x20of\x20a\x0astring.\x0a\x0aOther\x20changes:\x0a*\x20crypto/aes:\x20eliminate\x20some\x20bounds\x20checking\x20and\x20truncation\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20crypto/x509:\x20if\x20a\x20parent\x20cert\x20has\x20a\x20raw\x20subject,\x20use\x20it.\x0a*\x20encoding/gob:\x20don't\x20send\x20type\x20info\x20for\x20unexported\x20fields.\x0a*\x20exp/ssh:\x20allow\x20for\x20msgUserAuthBanner\x20during\x20authentication\x20(thanks\x20Gustav\x20Paul).\x0a*\x20fmt:\x20benchmark\x20floating\x20point,\x0a\x09only\x20use\x20Stringer\x20or\x20Error\x20for\x20strings.\x0a*\x20gc:\x20changes\x20in\x20export\x20format\x20in\x20preparation\x20of\x20inlining,\x0a\x09disallow\x20map/func\x20equality\x20via\x20interface\x20comparison,\x0a\x09use\x20gofmt\x20spacing\x20when\x20printing\x20map\x20type.\x0a*\x20go/doc:\x20exclude\x20lines\x20ending\x20in\x20':'\x20from\x20possible\x20headings.\x0a*\x20gobuilder:\x20-commit\x20mode\x20for\x20packages,\x0a\x09cripple\x20-package\x20mode\x20temporarily,\x0a\x09use\x20new\x20dashboard\x20protocol.\x0a*\x20godoc:\x20improved\x20output\x20of\x20examples\x20in\x20html\x20(thanks\x20Volker\x20Dobler).\x0a*\x20gofmt:\x20handle\x20&T\x20in\x20composite\x20literal\x20simplify.\x0a*\x20goinstall:\x20honour\x20-install=false\x20flag\x20when\x20-make=true.\x0a*\x20hash:\x20rewrite\x20comment\x20on\x20Hash.Sum\x20method.\x0a*\x20html:\x20more\x20parser\x20improvements\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20image:\x20avoid\x20func\x20comparison\x20during\x20ColorModel\x20comparison.\x0a*\x20math:\x20add\x20special-cases\x20comments\x20to\x20Sinh\x20and\x20Tanh\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/dashboard:\x20further\x20implementation\x20work.\x0a*\x20net,\x20syscall:\x20remove\x20BindToDevice\x20from\x20UDPConn,\x20IPConn\x20(thanks\x20Mikio\x20Hara).\x0a*\x20net/mail:\x20correctly\x20compare\x20parsed\x20times\x20in\x20the\x20test.\x0a*\x20os/exec:\x20make\x20LookPath\x20always\x20search\x20CWD\x20under\x20Windows\x20(thanks\x20Benny\x20Siegert).\x0a*\x20runtime:\x20prep\x20for\x20type-specific\x20algorithms.\x0a*\x20strconv:\x2034%\x20to\x2063%\x20faster\x20conversions.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-12-02\">2011-12-02</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20changes\x20to\x20the\x20hash\x20package\x20and\x20a\x20gofix\x20for\x20the\x0atime\x20and\x20os.FileInfo\x20changes\x20in\x20the\x20last\x20snapshot.\x0a\x0aThe\x20hash.Hash's\x20Sum\x20method\x20has\x20been\x20given\x20a\x20[]byte\x20argument,\x0apermitting\x20the\x20user\x20to\x20append\x20the\x20hash\x20to\x20an\x20existing\x20byte\x20slice.\x0aExisting\x20code\x20that\x20uses\x20Sum\x20can\x20pass\x20nil\x20as\x20the\x20argument.\x0aGofix\x20will\x20make\x20this\x20change\x20automatically.\x0a\x0aOther\x20changes:\x0a*\x20crypto/tls:\x20cleanup\x20certificate\x20load\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20exp/ssh:\x20add\x20Std{in,out,err}Pipe\x20methods\x20to\x20Session\x20(thanks\x20Dave\x20Cheney).\x0a*\x20dashboard:\x20don't\x20choke\x20on\x20weird\x20builder\x20names.\x0a*\x20exp/ssh:\x20export\x20type\x20signal,\x20now\x20Signal\x20(thanks\x20Gustav\x20Paul).\x0a*\x20os:\x20add\x20ModeType\x20constant\x20to\x20mask\x20file\x20type\x20bits\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20text/template:\x20replace\x20Add\x20with\x20AddParseTree.\x0a*\x20go/doc:\x20detect\x20headings\x20and\x20format\x20them\x20in\x20html\x20(thanks\x20Volker\x20Dobler).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-12-01\">2011-12-01</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20changes\x20to\x20the\x20time,\x20os,\x20and\x20text/template\x0apackages.\x20The\x20changes\x20to\x20the\x20time\x20and\x20os\x20packages\x20are\x20significant\x20and\x20related.\x0aCode\x20that\x20uses\x20package\x20time,\x20package\x20text/template,\x20or\x20package\x20os's\x20FileInfo\x0atype\x20will\x20require\x20changes.\x0a\x0aIn\x20package\x20time,\x20there\x20is\x20now\x20one\x20type\x20-\x20time.Time\x20-\x20to\x20represent\x20times.\x0aNote\x20that\x20time.Time\x20should\x20be\x20used\x20as\x20a\x20value,\x20in\x20contrast\x20to\x20old\x20code\x0awhich\x20typically\x20used\x20a\x20*time.Time,\x20a\x20pointer\x20to\x20a\x20large\x20struct.\x20\x20(Drop\x20the\x20*.)\x0aAny\x20function\x20that\x20previously\x20accepted\x20a\x20*time.Time,\x20an\x20int64\x0anumber\x20of\x20seconds\x20since\x201970,\x20or\x20an\x20int64\x20number\x20of\x20nanoseconds\x0asince\x201970\x20should\x20now\x20accept\x20a\x20time.Time.\x20\x20Especially\x20as\x20a\x20replacement\x0afor\x20the\x20int64s,\x20the\x20type\x20is\x20good\x20documentation\x20about\x20the\x20meaning\x20of\x0aits\x20value.\x0a\x0aWhether\x20you\x20were\x20previously\x20calling\x20time.Seconds,\x20time.Nanoseconds,\x0atime.LocalTime,\x20or\x20time.UTC,\x20the\x20replacement\x20is\x20the\x20new\x20function\x0atime.Now.\x0a\x0aIf\x20you\x20previously\x20wrote\x20code\x20like:\x0a\x0a\x20\x20\x20\x20\x20\x20\x20t0\x20:=\x20time.Nanoseconds()\x0a\x20\x20\x20\x20\x20\x20\x20myFunction()\x0a\x20\x20\x20\x20\x20\x20\x20t1\x20:=\x20time.Nanoseconds()\x0a\x20\x20\x20\x20\x20\x20\x20delta\x20:=\x20t1\x20-\x20t0\x0a\x20\x20\x20\x20\x20\x20\x20fmt.Printf(\"That\x20took\x20%.2f\x20seconds\\n\",\x20float64(t1-t0)/1e9)\x0a\x0ayou\x20can\x20now\x20write:\x0a\x0a\x20\x20\x20\x20\x20\x20\x20t0\x20:=\x20time.Now()\x0a\x20\x20\x20\x20\x20\x20\x20myFunction()\x0a\x20\x20\x20\x20\x20\x20\x20t1\x20:=\x20time.Now()\x0a\x20\x20\x20\x20\x20\x20\x20delta\x20:=\x20t1.Sub(t0)\x0a\x20\x20\x20\x20\x20\x20\x20fmt.Printf(\"That\x20took\x20%s\\n\",\x20delta)\x0a\x0aIn\x20this\x20snippet,\x20the\x20variable\x20delta\x20is\x20of\x20the\x20new\x20type\x20time.Duration,\x20the\x0areplacement\x20for\x20the\x20many\x20int64\x20parameters\x20that\x20were\x20nanosecond\x0acounts\x20(but\x20not\x20since\x201970).\x0a\x0aGofix\x20can\x20do\x20the\x20above\x20conversions\x20and\x20some\x20others,\x20but\x20it\x20does\x20not\x0arewrite\x20explicit\x20int64\x20types\x20as\x20time.Time.\x20It\x20is\x20very\x20likely\x20that\x20you\x20will\x0aneed\x20to\x20edit\x20your\x20program\x20to\x20change\x20these\x20types\x20after\x20running\x20gofix.\x0aAs\x20always,\x20be\x20sure\x20to\x20read\x20the\x20changes\x20that\x20gofix\x20makes\x20using\x20your\x0aversion\x20control\x20system's\x20diff\x20feature.\x0a\x0aSee\x20http://weekly.golang.org/pkg/time/\x20for\x20details.\x0a\x0aIn\x20package\x20os,\x20the\x20FileInfo\x20struct\x20is\x20replaced\x20by\x20a\x20FileInfo\x20interface,\x0aadmitting\x20implementations\x20by\x20code\x20beyond\x20the\x20operating\x20system.\x0aCode\x20that\x20refers\x20to\x20*os.FileInfo\x20(a\x20pointer\x20to\x20the\x20old\x20struct)\x20should\x0ainstead\x20refer\x20to\x20os.FileInfo\x20(the\x20new\x20interface).\x0aThe\x20interface\x20has\x20just\x20a\x20few\x20methods:\x0a\x0a\x20\x20\x20\x20\x20\x20\x20type\x20FileInfo\x20interface\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Name()\x20string\x20\x20\x20\x20\x20\x20\x20//\x20base\x20name\x20of\x20the\x20file\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Size()\x20int64\x20\x20\x20\x20\x20\x20\x20\x20//\x20length\x20in\x20bytes\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Mode()\x20FileMode\x20\x20\x20\x20\x20//\x20file\x20mode\x20bits\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ModTime()\x20time.Time\x20//\x20modification\x20time\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IsDir()\x20bool\x20\x20\x20\x20\x20\x20\x20\x20//\x20abbreviation\x20for\x20Mode().IsDir()\x0a\x20\x20\x20\x20\x20\x20\x20}\x0a\x0aIf\x20you\x20need\x20access\x20to\x20the\x20underlying\x20stat_t\x20provided\x20by\x20the\x20operating\x0asystem\x20kernel,\x20you\x20can\x20access\x20it\x20by\x20assuming\x20that\x20the\x20FileInfo\x20you\x20are\x0aholding\x20is\x20actually\x20an\x20*os.FileStat,\x20and\x20that\x20it's\x20Sys\x20field\x20is\x20actually\x20a\x0a*syscall.Stat_t,\x20as\x20in:\x0a\x0a\x20\x20\x20\x20\x20\x20\x20dev\x20:=\x20fi.(*os.FileStat).Sys.(*syscall.Stat_t).Dev\x0a\x0aOf\x20course,\x20this\x20is\x20not\x20necessarily\x20portable\x20across\x20different\x20operating\x0asystems.\x0a\x0aGofix\x20will\x20take\x20care\x20of\x20rewriting\x20*os.FileInfo\x20to\x20os.FileInfo\x20for\x20you,\x0aand\x20it\x20will\x20also\x20rewrite\x20expressions\x20like\x20fi.Name\x20into\x20calls\x20like\x20fi.Name().\x0a\x0aSee\x20http://weekly.golang.org/pkg/os/#FileInfo\x20for\x20details.\x0a\x0aThe\x20template\x20package\x20has\x20been\x20changed\x20to\x20export\x20a\x20new,\x20simpler\x20API.\x0aThe\x20Set\x20type\x20is\x20gone.\x20Instead,\x20templates\x20are\x20automatically\x20associated\x20by\x0abeing\x20parsed\x20together;\x20nested\x20definitions\x20implicitly\x20create\x20associations.\x0aOnly\x20associated\x20templates\x20can\x20invoke\x20one\x20another.\x0aThis\x20approach\x20dramatically\x20reduces\x20the\x20breadth\x20of\x20the\x20construction\x20API.\x0aThe\x20html/template\x20package\x20has\x20been\x20updated\x20also.\x0aThere's\x20a\x20gofix\x20for\x20the\x20simplest\x20and\x20most\x20common\x20uses\x20of\x20the\x20old\x20API.\x0aCode\x20that\x20doesn't\x20mention\x20the\x20Set\x20type\x20is\x20likely\x20to\x20work\x20after\x20running\x20gofix;\x0acode\x20that\x20uses\x20Set\x20will\x20need\x20to\x20be\x20updated\x20by\x20hand.\x0aThe\x20template\x20definition\x20language\x20itself\x20is\x20unchanged.\x0a\x0aSee\x20http://weekly.golang.org/pkg/text/template/\x20for\x20details.\x0a\x0a\x0aOther\x20changes:\x0a*\x20cgo:\x20add\x20support\x20for\x20callbacks\x20from\x20dynamic\x20libraries.\x0a*\x20codereview:\x20gofmt\x20check\x20for\x20non-src/\x20files\x20(thanks\x20David\x20Crawshaw).\x0a*\x20crypto/openpgp/packet:\x20fix\x20private\x20key\x20checksum.\x0a*\x20crypto/tls:\x20add\x20openbsd\x20root\x20certificate\x20location,\x0a\x09don't\x20rely\x20on\x20map\x20iteration\x20order.\x0a*\x20crypto/x509,\x20crypto/tls:\x20support\x20PKCS#8\x20private\x20keys.\x0a*\x20dashboard:\x20start\x20of\x20reimplementation\x20in\x20Go\x20for\x20App\x20Engine.\x0a*\x20encoding/xml:\x20fix\x20copy\x20bug.\x0a*\x20exp/gui:\x20move\x20exp/gui\x20and\x20exp/gui/x11\x20to\x20http://code.google.com/p/x-go-binding\x0a*\x20exp/ssh:\x20various\x20improvements\x20(thanks\x20Dave\x20Cheney\x20and\x20Gustav\x20Paul).\x0a*\x20filepath/path:\x20fix\x20Rel\x20buffer\x20sizing\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20gc:\x20fix\x20Nconv\x20bug\x20(thanks\x20R\xc3\xa9my\x20Oudompheng)\x20and\x20other\x20fixes.\x0a*\x20go/printer,\x20gofmt:\x20performance\x20improvements.\x0a*\x20gofix:\x20test\x20and\x20fix\x20missorted\x20renames.\x0a*\x20goinstall:\x20add\x20-fix\x20flag\x20to\x20run\x20gofix\x20on\x20packages\x20on\x20build\x20failure,\x0a\x09better\x20error\x20reporting,\x0a\x09don't\x20hit\x20network\x20unless\x20a\x20checkout\x20or\x20update\x20is\x20required,\x0a\x09support\x20Google\x20Code\x20sub-repositories.\x0a*\x20html:\x20parser\x20improvements\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20http:\x20fix\x20sniffing\x20bug\x20causing\x20short\x20writes.\x0a*\x20json:\x20speed\x20up\x20encoding,\x20caching\x20reflect\x20calls.\x0a*\x20ld:\x20align\x20ELF\x20data\x20sections.\x0a*\x20math/big:\x20fix\x20destination\x20leak\x20into\x20result\x20value\x20(thanks\x20Roger\x20Peppe),\x0a\x09use\x20recursive\x20subdivision\x20for\x20significant\x20speedup.\x0a*\x20math:\x20faster\x20Cbrt\x20and\x20Sincos\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/osx:\x20scripts\x20to\x20make\x20OS\x20X\x20package\x20and\x20disk\x20image\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20os:\x20fail\x20if\x20Open(\"\")\x20is\x20called\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20runtime:\x20make\x20sure\x20stack\x20is\x2016-byte\x20aligned\x20on\x20syscall\x20(thanks\x20Alex\x20Brainman).\x0a*\x20spec,\x20gc:\x20allow\x20direct\x20conversion\x20between\x20string\x20and\x20named\x20[]byte,\x20[]rune.\x0a*\x20sql:\x20add\x20Tx.Stmt\x20to\x20use\x20an\x20existing\x20prepared\x20stmt\x20in\x20a\x20transaction,\x0a\x09more\x20driver\x20docs\x20&\x20tests;\x20no\x20functional\x20changes.\x0a*\x20strings:\x20add\x20ContainsAny\x20and\x20ContainsRune\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20syscall:\x20add\x20SUSv3\x20RLIMIT/RUSAGE\x20constants\x20(thanks\x20S\xc3\xa9bastien\x20Paolacci),\x0a\x09fix\x20openbsd\x20sysctl\x20hostname/domainname\x20workaround,\x0a\x09implement\x20Syscall15\x20(thanks\x20Alex\x20Brainman).\x0a*\x20time:\x20fix\x20Timer\x20stop.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-11-18\">2011-11-18</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20some\x20language\x20changes.\x0a\x0aMap\x20and\x20function\x20value\x20comparisons\x20are\x20now\x20disallowed\x20(except\x20for\x20comparison\x0awith\x20nil)\x20as\x20per\x20the\x20Go\x201\x20plan.\x20Function\x20equality\x20was\x20problematic\x20in\x20some\x0acontexts\x20and\x20map\x20equality\x20compares\x20pointers,\x20not\x20the\x20maps'\x20content.\x0a\x0aAs\x20an\x20experiment,\x20structs\x20are\x20now\x20allowed\x20to\x20be\x20copied\x20even\x20if\x20they\x20contain\x0aunexported\x20fields.\x20This\x20gives\x20packages\x20the\x20ability\x20to\x20return\x20opaque\x20values\x20in\x0atheir\x20APIs.\x0a\x0aOther\x20changes:\x0a*\x206a,\x208a:\x20allow\x20$(-1)\x20for\x20consistency\x20with\x20$1,\x20$(1),\x20$-1.\x0a*\x206l:\x20code\x20generation\x20fixes\x20(thanks\x20Micha\xc5\x82\x20Derkacz).\x0a*\x20build:\x20fix\x20check\x20for\x20selinux\x20allow_execstack\x20on\x20Fedora\x20(thanks\x20Bobby\x20Powers).\x0a*\x20builtin:\x20document\x20delete.\x0a*\x20cgo:\x20don't\x20panic\x20on\x20undeclared\x20enums/structs\x20(thanks\x20R\xc3\xa9my\x20Oudompheng),\x0a\x09fix\x20g0\x20stack\x20guard.\x0a*\x20crypto/tls:\x20fix\x20handshake\x20message\x20test.\x0a*\x20crypto:\x20update\x20incorrect\x20references\x20to\x20Cipher\x20interface;\x20should\x20be\x20Block.\x0a*\x20doc:\x20clean\x20ups,\x20additions,\x20and\x20fixes\x20to\x20several\x20documents.\x0a*\x20doc/install:\x20add\x20openbsd\x20(thanks\x20Joel\x20Sing!).\x0a*\x20doc:\x20link\x20to\x20Chinese\x20translation\x20of\x20A\x20Tour\x20of\x20Go.\x0a*\x20encoding/json:\x20add\x20marshal/unmarshal\x20benchmark,\x0a\x09decode\x20[]\x20as\x20empty\x20slice,\x20not\x20nil\x20slice,\x0a\x09make\x20BenchmarkSkipValue\x20more\x20consistent.\x0a*\x20env.bash:\x20check\x20for\x20presence\x20of\x20make/gmake\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20exp/sql:\x20NumInput()\x20allow\x20-1\x20to\x20ignore\x20checking\x20(thanks\x20Yasuhiro\x20Matsumoto),\x0a\x09add\x20DB.Close,\x20fix\x20bugs,\x20remove\x20Execer\x20on\x20Driver\x20(only\x20Conn),\x0a\x09document\x20that\x20for\x20drivers,\x20io.EOF\x20means\x20no\x20more\x20rows,\x0a\x09add\x20client\x20side\x20support\x20for\x20publickey\x20auth\x20(thanks\x20Dave\x20Cheney),\x0a\x09add\x20direct-tcpip\x20client\x20support\x20(thanks\x20Dave\x20Cheney),\x0a\x09change\x20test\x20listen\x20address,\x20also\x20exit\x20test\x20if\x20fails,\x0a\x09other\x20fixes\x20and\x20improvements\x20(thanks\x20Dave\x20Cheney).\x0a*\x20exp/terminal:\x20rename\x20shell\x20to\x20terminal\x20and\x20add\x20SetSize.\x0a*\x20fcgi:\x20fix\x20server\x20capability\x20discovery.\x0a*\x20fmt:\x20distinguish\x20empty\x20vs\x20nil\x20slice/map\x20in\x20%#v.\x0a*\x20gc:\x20better\x20error,\x20type\x20checks,\x20and\x20many\x20fixes,\x0a\x09remove\x20m[k]\x20=\x20x,\x20false\x20syntax\x20(use\x20delete(m,\x20k)\x20instead),\x0a\x09support\x20for\x20building\x20with\x20Plan\x209\x20yacc\x20(thanks\x20Anthony\x20Martin).\x0a*\x20go/printer:\x20make\x20//line\x20formatting\x20idempotent.\x0a*\x20godefs:\x20delete,\x20replaced\x20by\x20cgo\x20-godefs.\x0a*\x20godoc:\x20document\x20-templates\x20flag,\x20fix\x20remote\x20search,\x0a\x09provide\x20mode\x20for\x20flat\x20(non-indented)\x20directory\x20listings.\x0a*\x20gofmt:\x20leave\x20nil\x20nodes\x20of\x20the\x20AST\x20unchanged\x20(thanks\x20R\xc3\xa9my\x20Oudompheng).\x0a*\x20html/template:\x20indirect\x20top-level\x20values\x20before\x20printing.\x0a*\x20html:\x20more\x20parser\x20improvements\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20http:\x20fix\x20serving\x20from\x20CWD\x20with\x20http.ServeFile,\x0a\x09make\x20Dir(\"\")\x20equivalent\x20to\x20Dir(\".\").\x0a*\x20ld:\x20fix\x20.bss\x20for\x20ldpe\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20math/big:\x20replace\x20nat{}\x20-&gt;\x20nat(nil).\x0a*\x20math:\x20faster\x20Lgamma\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20mime:\x20implement\x20TypeByExtension\x20for\x20windows.\x0a*\x20misc/bbedit:\x20error\x20and\x20rune\x20support\x20(thanks\x20Anthony\x20Starks).\x0a*\x20misc/benchcmp:\x20benchmark\x20comparison\x20script.\x0a*\x20misc/emacs:\x20add\x20delete\x20builtin\x20(thanks\x20Bobby\x20Powers).\x0a*\x20misc/kate:\x20add\x20error\x20and\x20rune\x20(thanks\x20Evan\x20Shaw).\x0a*\x20misc/notepadplus:\x20error\x20and\x20rune\x20support\x20(thanks\x20Anthony\x20Starks).\x0a*\x20misc/windows:\x20Windows\x20installer\x20in\x20MSI\x20format\x20(thanks\x20Joe\x20Poirier).\x0a*\x20net,\x20io/ioutil:\x20remove\x20use\x20of\x20os.Time\x20(thanks\x20Anthony\x20Martin).\x0a*\x20net/http:\x20fix\x20EOF\x20handling\x20on\x20response\x20body\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09fix\x20sniffing\x20when\x20using\x20ReadFrom,\x0a\x09use\x20t.Errorf\x20from\x20alternate\x20goroutine\x20in\x20test.\x0a*\x20os:\x20remove\x20undocumented\x20Envs\x20(use\x20os.Environ\x20instead).\x0a*\x20reflect:\x20empty\x20slice/map\x20is\x20not\x20DeepEqual\x20to\x20nil,\x0a\x09make\x20Value\x20an\x20opaque\x20struct.\x0a*\x20runtime,\x20syscall:\x20convert\x20from\x20godefs\x20to\x20cgo.\x0a*\x20runtime:\x20add\x20nanotime\x20for\x20Plan\x209\x20(thanks\x20Anthony\x20Martin),\x0a\x09add\x20timer\x20support,\x20use\x20for\x20package\x20time,\x0a\x09avoid\x20allocation\x20for\x20make([]T,\x200).\x0a*\x20strconv:\x20add\x20Ftoa\x20benchmarks,\x20make\x20Ftoa\x20faster.\x0a*\x20syscall:\x20delete\x20syscall.Sleep,\x20take\x20over\x20env\x20implementation,\x20use\x20error.\x0a*\x20testing:\x20add\x20file:line\x20stamps\x20to\x20messages,\x20print\x20results\x20to\x20standard\x20output.\x0a*\x20text/template:\x20refactor\x20set\x20parsing.\x0a*\x20time:\x20add\x20ISOWeek\x20method\x20to\x20Time\x20(thanks\x20Volker\x20Dobler).\x0a*\x20various:\x20avoid\x20func\x20compare,\x20reduce\x20overuse\x20of\x20os.EINVAL\x20+\x20others.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-11-09\">2011-11-09</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20renames\x20various\x20Go\x20packages\x20as\x20described\x20in\x20the\x20Go\x201\x20plan.\x0aImport\x20statements\x20in\x20client\x20code\x20can\x20be\x20updated\x20automatically\x20with\x20gofix.\x0a\x0aThe\x20changes\x20are:\x0a\x09asn1\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20encoding/asn1\x0a\x09big\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20math/big\x0a\x09cmath\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20math/cmplx\x0a\x09csv\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20encoding/csv\x0a\x09exec\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20os/exec\x0a\x09exp/template/html\x20-&gt;\x20html/template\x0a\x09gob\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20encoding/gob\x0a\x09http\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/http\x0a\x09http/cgi\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/http/cgi\x0a\x09http/fcgi\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/http/fcgi\x0a\x09http/httptest\x20\x20\x20\x20\x20-&gt;\x20net/http/httptest\x0a\x09http/pprof\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/http/pprof\x0a\x09json\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20encoding/json\x0a\x09mail\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/mail\x0a\x09rpc\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/rpc\x0a\x09rpc/jsonrpc\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/rpc/jsonrpc\x0a\x09scanner\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20text/scanner\x0a\x09smtp\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/smtp\x0a\x09syslog\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20log/syslog\x0a\x09tabwriter\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20text/tabwriter\x0a\x09template\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20text/template\x0a\x09template/parse\x20\x20\x20\x20-&gt;\x20text/template/parse\x0a\x09rand\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20math/rand\x0a\x09url\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20net/url\x0a\x09utf16\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20unicode/utf16\x0a\x09utf8\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20unicode/utf8\x0a\x09xml\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20encoding/xml\x0a</pre>\x0a\x0a<h2\x20id=\"2011-11-08\">2011-11-08</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20some\x20package\x20changes.\x0a\x0aIn\x20preparation\x20for\x20the\x20Go\x201\x20package\x20reorganziation\x20the\x20sources\x20for\x20various\x0apackages\x20have\x20been\x20moved,\x20but\x20the\x20import\x20paths\x20remain\x20unchanged.\x20This\x0ainconsistency\x20breaks\x20goinstall\x20at\x20this\x20snapshot.\x20If\x20you\x20use\x20goinstall,\x20please\x0astay\x20synced\x20to\x20the\x20previous\x20weekly\x20snapshot\x20until\x20the\x20next\x20one\x20is\x20tagged.\x0a\x0aThe\x20Error\x20methods\x20in\x20the\x20html,\x20bzip2,\x20and\x20sql\x20packages\x20that\x20return\x20error\x20values\x0ahave\x20been\x20renamed\x20to\x20Err.\x0a\x0aSome\x20non-core\x20parts\x20of\x20the\x20http\x20package\x20have\x20been\x20moved\x20to\x20net/http/httputil.\x0aThe\x20Dump*\x20and\x20NewChunked*\x20functions\x20and\x20ClientConn,\x20ServerConn,\x20and\x0aReverseProxy\x20types\x20have\x20been\x20moved\x20from\x20http\x20to\x20httputil.\x0a\x0aThe\x20API\x20for\x20html/template\x20is\x20now\x20a\x20direct\x20copy\x20of\x20the\x20template\x20API,\x20instead\x20of\x0aexposing\x20a\x20single\x20Escape\x20function.\x20For\x20HTML\x20templates,\x20use\x20the\x0ahtml/template\x20package\x20as\x20you\x20would\x20the\x20template\x20package.\x0a\x0aOther\x20changes:\x0a*\x20all:\x20rename\x20os.EOF\x20to\x20io.EOF\x20in\x20non-code\x20contexts\x20(thanks\x20Vincent\x20Vanackere),\x0a\x09sort\x20imports\x20with\x20gofix.\x0a*\x20archive/zip:\x20close\x20file\x20opened\x20with\x20OpenReader\x20(thanks\x20Dmitry\x20Chestnykh).\x0a*\x20bufio:\x20return\x20nil\x20line\x20from\x20ReadLine\x20on\x20error,\x20as\x20documented.\x0a*\x20builtin:\x20document\x20basic\x20types\x20and\x20the\x20built-in\x20error\x20type.\x0a*\x20bytes:\x20add\x20Contains\x20function.\x0a*\x20exp/sql:\x20finish\x20implementation\x20of\x20transactions,\x20flesh\x20out\x20types,\x20docs.\x0a*\x20exp/ssh:\x20improved\x20client\x20authentication\x20support\x20(thanks\x20Dave\x20Cheney).\x0a*\x20gc:\x20better\x20error\x20message\x20for\x20range\x20over\x20non-receive\x20channel,\x0a\x09bug\x20fixes\x20and\x20clean-ups,\x0a\x09detect\x20type\x20switch\x20variable\x20not\x20used\x20cases,\x0a\x09fix\x20escaping\x20of\x20package\x20paths\x20in\x20symbol\x20names,\x0a\x09helpful\x20error\x20message\x20on\x20method\x20call\x20on\x20pointer\x20to\x20pointer,\x0a\x09portably\x20read\x20archive\x20headers\x20(thanks\x20Ron\x20Minnich).\x0a*\x20gob:\x20fix\x20bug\x20when\x20registering\x20the\x20same\x20type\x20multiple\x20times.\x0a*\x20gofix:\x20avoid\x20panic\x20on\x20body-less\x20functions\x20in\x20netudpgroup,\x0a\x09make\x20fix\x20order\x20implicit\x20by\x20date.\x0a*\x20gofmt,\x20gofix:\x20sort\x20imports.\x0a*\x20goinstall:\x20support\x20launchpad.net/~user\x20branches\x20(thanks\x20Jani\x20Monoses).\x0a*\x20gopack:\x20do\x20not\x20look\x20for\x20Go\x20metadata\x20in\x20non-Go\x20objects.\x0a*\x20gotest:\x20don't\x20run\x20examples\x20that\x20have\x20no\x20expected\x20output.\x0a*\x20html:\x20the\x20parser\x20bug\x20fixing\x20campaign\x20continues\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20http:\x20fix\x20whitespace\x20handling\x20in\x20sniffer,\x0a\x09only\x20recognize\x20application/x-www-form-urlencoded\x20in\x20ParseForm,\x0a\x09support\x20Trailers\x20in\x20ReadRequest.\x0a*\x20lib9:\x20add\x20ctime.\x0a*\x20math:\x20faster\x20Gamma\x20(thanks\x20Charles\x20L.\x20Dorian),\x0a\x09improved\x20accuracy\x20for\x20Tan\x20(thanks\x20Charles\x20L.\x20Dorian),\x0a\x09improved\x20high-angle\x20test\x20for\x20Cos,\x20Sin\x20and\x20Tan\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20net:\x20implement\x20LookupTXT\x20for\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20os,text,unicode:\x20renamings.\x0a*\x20runtime/cgo:\x20fix\x20data\x20declaration\x20to\x20be\x20extern.\x0a*\x20runtime:\x20add\x20timespec\x20definition\x20for\x20freebsd,\x0a\x09add\x20windows\x20callback\x20tests\x20(thanks\x20Alex\x20Brainman),\x0a\x09fix\x20prototype\x20for\x20openbsd\x20thrsleep,\x0a\x09fix\x20set\x20and\x20not\x20used,\x0a\x09unify\x20mutex\x20code\x20across\x20OSes,\x0a\x09windows_386\x20sighandler\x20to\x20use\x20correct\x20g\x20(thanks\x20Alex\x20Brainman).\x0a*\x20template:\x20format\x20error\x20with\x20pointer\x20receiver,\x0a\x09make\x20redefinition\x20of\x20a\x20template\x20in\x20a\x20set\x20more\x20consistent.\x0a*\x20test:\x20clear\x20execute\x20bit\x20from\x20source\x20file\x20(thanks\x20Mikio\x20Hara),\x0a\x09make\x20closedchan.go\x20exit\x20with\x20failure\x20if\x20something\x20fails.\x0a*\x20time:\x20faster\x20Nanoseconds\x20call.\x0a*\x20websocket:\x20return\x20an\x20error\x20HTTP\x20response\x20for\x20bad\x20websocket\x20request.\x0a*\x20xml:\x20allow\x20parsing\x20of\x20&lt;_&gt;\x20&lt;/_&gt;.\x20(thanks\x20David\x20Crawshaw).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-11-02\">2011-11-02\x20(new\x20error\x20type)</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20introduces\x20the\x20built-in\x20error\x20type,\x20defined\x20as\x0a\x0a\x20\x20\x20\x20\x20\x20\x20type\x20error\x20interface\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Error()\x20string\x0a\x20\x20\x20\x20\x20\x20\x20}\x0a\x0aThe\x20error\x20type\x20replaces\x20os.Error.\x20Notice\x20that\x20the\x20method\x20name\x20has\x20changed\x20from\x0aString\x20to\x20Error.\x20Package\x20fmt's\x20Print\x20formats\x20both\x20Stringers\x20and\x20errors:\x0ain\x20general\x20there\x20is\x20no\x20need\x20to\x20implement\x20both\x20String\x20and\x20Error\x20methods.\x0a\x0aGofix\x20can\x20update\x20most\x20code.\x20If\x20you\x20have\x20split\x20your\x20package\x20across\x20many\x20files,\x0ait\x20may\x20help\x20to\x20use\x20the\x20-force=error\x20command-line\x20option,\x20which\x20forces\x20gofix\x20to\x0aapply\x20the\x20error\x20fix\x20even\x20if\x20it\x20is\x20not\x20obvious\x20that\x20a\x20particular\x20file\x20needs\x20it.\x0aAs\x20always,\x20it\x20is\x20a\x20good\x20idea\x20to\x20read\x20and\x20test\x20the\x20changes\x20that\x20gofix\x20made\x0abefore\x20committing\x20them\x20to\x20your\x20version\x20control\x20system.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-11-01\">2011-11-01</h2>\x0a\x0a<pre>\x0a*\x206l:\x20remove\x20mention\x20of\x20-e\x20flag\x20-\x20it\x20does\x20nothing.\x0a*\x20cc:\x20change\x20cas\x20to\x20newcase\x20(thanks\x20Ron\x20Minnich).\x0a*\x20crypto/openpgp/error:\x20use\x20Error\x20in\x20names\x20of\x20error\x20impl\x20types.\x0a*\x20crypto/rsa:\x20change\x20public\x20exponent\x20from\x203\x20to\x2065537.\x0a*\x20crypto/tls:\x20add\x20Error\x20method\x20to\x20alert.\x0a*\x20doc:\x20add\x20link\x20to\x20A\x20Tour\x20of\x20Go\x20in\x20Japanese,\x0a\x09add\x20'all'\x20make\x20rule\x20to\x20build\x20all\x20docs,\x0a\x09refer\x20to\x20tour.golang.org\x20instead\x20of\x20go-tour.appspot.com.\x0a*\x20exp/norm:\x20fixed\x20bug\x20that\x20crept\x20in\x20with\x20moving\x20to\x20the\x20new\x20regexp.\x0a*\x20exp/ssh:\x20fix\x20length\x20header\x20leaking\x20into\x20channel\x20data\x20(thanks\x20Dave\x20Cheney).\x0a*\x20fmt:\x20handle\x20os.Error\x20values\x20explicity\x20(as\x20distinct\x20from\x20Stringer).\x0a*\x20gc:\x20clean\x20up\x20printing,\x0a\x09fix\x20[568]g\x20-V\x20crash\x20(thanks\x20Mikio\x20Hara),\x0a\x09test\x20+\x20fix\x20escape\x20analysis\x20bug.\x0a*\x20go/build:\x20avoid\x20os.Error\x20in\x20tests.\x0a*\x20go/doc:\x20remove\x20os.NewError\x20anti-heuristic.\x0a*\x20go/parser:\x20test\x20and\x20fix\x20:=\x20scoping\x20bug.\x0a*\x20gob:\x20split\x20uses\x20of\x20gobError,\x20remove\x20unnecessary\x20embedding.\x0a*\x20gofix:\x20test\x20import\x20insertion,\x20deletion.\x0a*\x20goinstall:\x20intelligent\x20vcs\x20selection\x20for\x20common\x20sites\x20(thanks\x20Julian\x20Phillips).\x0a*\x20gopack:\x20change\x20archive\x20file\x20name\x20length\x20back\x20to\x2016.\x0a*\x20html:\x20fix\x20print\x20argument\x20in\x20test,\x0a\x09more\x20parser\x20improvements\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20json:\x20properly\x20handle\x20nil\x20slices\x20(thanks\x20Alexander\x20Reece).\x0a*\x20math:\x20improved\x20accuracy\x20for\x20Sin\x20and\x20Cos\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/emacs:\x20fix\x20restoration\x20of\x20windows\x20after\x20gofmt\x20(thanks\x20Jan\x20Newmarch).\x0a*\x20misc/vim:\x20add\x20rune\x20keyword\x20(thanks\x20Jongmin\x20Kim).\x0a*\x20misc/windows:\x20can\x20be\x20used\x20for\x20amd64\x20(thanks\x20Alex\x20Brainman).\x0a*\x20net:\x20document\x20why\x20we\x20do\x20not\x20use\x20SO_REUSEADDR\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20os:\x20do\x20not\x20interpret\x200-length\x20read\x20as\x20EOF.\x0a*\x20pkg:\x20remove\x20.String()\x20from\x20some\x20print\x20arguments.\x0a*\x20rpc:\x20avoid\x20infinite\x20loop\x20on\x20input\x20error.\x0a*\x20runtime/pprof:\x20document\x20OS\x20X\x20being\x20broken.\x0a*\x20runtime:\x20lock\x20the\x20main\x20goroutine\x20to\x20the\x20main\x20OS\x20thread\x20during\x20init.\x0a*\x20spec:\x20define\x20that\x20initialization\x20is\x20sequential.\x0a*\x20strconv:\x20use\x20better\x20errors\x20than\x20os.EINVAL,\x20os.ERANGE.\x0a*\x20syscall:\x20fix\x20Await\x20msg\x20on\x20Plan\x209\x20(thanks\x20Andrey\x20Mirtchovski).\x0a*\x20template:\x20do\x20not\x20use\x20error\x20as\x20stringer,\x0a\x09fix\x20error\x20checking\x20on\x20execute\x20without\x20parse\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20test/alias.go:\x20additional\x20tests.\x0a*\x20test:\x20error-related\x20fixes.\x0a*\x20textproto:\x20prevent\x20long\x20lines\x20in\x20HTTP\x20headers\x20from\x20causing\x20HTTP\x20400\x20responses.\x0a*\x20time:\x20add\x20RFC1123\x20with\x20numeric\x20timezone\x20format\x20(thanks\x20Scott\x20Lawrence).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-10-26\">2011-10-26\x20(new\x20rune\x20type)</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20introduces\x20the\x20rune\x20type,\x20an\x20alias\x20for\x20int\x20that\x0ashould\x20be\x20used\x20for\x20Unicode\x20code\x20points.\x0a\x0aA\x20future\x20release\x20of\x20Go\x20(after\x20Go\x201)\x20will\x20change\x20rune\x20to\x20be\x20an\x0aalias\x20for\x20int32\x20instead\x20of\x20int.\x20\x20Using\x20rune\x20consistently\x20is\x20the\x20way\x0ato\x20make\x20your\x20code\x20build\x20both\x20before\x20and\x20after\x20this\x20change.\x0a\x0aTo\x20test\x20your\x20code\x20for\x20rune\x20safety,\x20you\x20can\x20rebuild\x20the\x20Go\x20tree\x20with\x0a\x0a\x09GOEXPERIMENT=rune32\x20./all.bash\x0a\x0awhich\x20builds\x20a\x20compiler\x20in\x20which\x20rune\x20is\x20an\x20alias\x20for\x20int32\x20instead\x20of\x20int.\x0a\x0aAlso,\x20run\x20govet\x20on\x20your\x20code\x20to\x20identify\x20methods\x20that\x20might\x20need\x20to\x20have\x20their\x0asignatures\x20updated.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-10-25\">2011-10-25</h2>\x0a\x0a<pre>\x0a*\x20big:\x20make\x20SetString\x20return\x20nil\x20if\x20an\x20error\x20occurs,\x0a\x09new\x20Rat.Inv\x20method,\x0a\x09usable\x20zero\x20Rat\x20values\x20without\x20need\x20for\x20explicit\x20initialization.\x0a*\x20codereview:\x20show\x20LGTMs\x20in\x20hg\x20p.\x0a*\x20crypto/x509:\x20fix\x20names\x20in\x20certificate\x20generation.\x0a*\x20exp/ssh:\x20add\x20experimental\x20ssh\x20client,\x0a\x09introduce\x20Session\x20to\x20replace\x20Cmd\x20for\x20interactive\x20commands,\x0a\x09server\x20cleanups\x20(thanks\x20Dave\x20Cheney).\x0a*\x20exp/types:\x20fix\x20crash\x20in\x20parseBasicType\x20on\x20unknown\x20type.\x0a*\x20fmt:\x20don't\x20panic\x20formatting\x20nil\x20interfaces\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20go/ast,\x20go/token:\x20actually\x20run\x20tests;\x20fix\x20go/ast\x20test.\x0a*\x20gotest:\x20explicit\x20-help\x20flag,\x20use\x20$GCFLAGS\x20like\x20make\x20does.\x0a*\x20govet:\x20check\x20canonical\x20dynamic\x20method\x20signatures.\x0a*\x20html:\x20improved\x20parsing\x20(thanks\x20Andrew\x20Balholm),\x0a\x09parse\x20&lt;select&gt;\x20tags,\x20parse\x20and\x20render\x20comment\x20nodes,\x0a\x09remove\x20the\x20Tokenizer.ReturnComments\x20option.\x0a*\x20http:\x20Transport:\x20with\x20TLS\x20InsecureSkipVerify,\x20skip\x20hostname\x20check.\x0a*\x20misc/vim:\x20add\x20highlighting\x20for\x20delete\x20(thanks\x20Dave\x20Cheney).\x0a*\x20net:\x20do\x20not\x20set\x20SO_REUSEADDR\x20for\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20os/inotify:\x20move\x20to\x20exp/inotify\x20(thanks\x20Mikio\x20Hara).\x0a*\x20runtime:\x20include\x20bootstrap\x20m\x20in\x20mcpu\x20accounting\x20(thanks\x20Hector\x20Chu).\x0a*\x20syscall:\x20use\x20uintptr\x20for\x20Mount\x20flags.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-10-18\">2011-10-18</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20some\x20language\x20and\x20package\x20changes\x20that\x20may\x0arequire\x20code\x20changes.\x20Please\x20read\x20these\x20notes\x20carefully,\x20as\x20there\x20are\x20many\x0achanges\x20and\x20your\x20code\x20will\x20likely\x20be\x20affected.\x0a\x0aThe\x20syntax\x20for\x20map\x20deletion\x20has\x20been\x20changed.\x20Code\x20that\x20looks\x20like:\x0a\x09m[x]\x20=\x200,\x20false\x0ashould\x20be\x20written\x20as:\x0a\x09delete(m,\x20x)\x0aThe\x20compiler\x20still\x20accepts\x20m[x]\x20=\x200,\x20false\x20for\x20now;\x20even\x20so,\x20you\x20can\x20use\x20gofix\x0ato\x20rewrite\x20such\x20assignments\x20into\x20delete(m,\x20x).\x0a\x0aThe\x20Go\x20compiler\x20will\x20reject\x20a\x20return\x20statement\x20without\x20arguments\x20when\x20any\x20of\x0athe\x20result\x20variables\x20has\x20been\x20shadowed.\x20Code\x20rejected\x20as\x20a\x20result\x20of\x20this\x0achange\x20is\x20likely\x20to\x20be\x20buggy.\x0a\x0aReceive-only\x20channels\x20(&lt;-chan\x20T)\x20cannot\x20be\x20closed.\x0aThe\x20compiler\x20will\x20diagnose\x20such\x20attempts.\x0a\x0aThe\x20first\x20element\x20of\x20a\x20map\x20iteration\x20is\x20chosen\x20at\x20random.\x20Code\x20that\x20depends\x20on\x0aiteration\x20order\x20will\x20need\x20to\x20be\x20updated.\x0a\x0aGoroutines\x20may\x20be\x20run\x20during\x20program\x20initialization.\x0a\x0aA\x20string\x20may\x20be\x20appended\x20to\x20a\x20byte\x20slice.\x20This\x20code\x20is\x20now\x20legal:\x0a\x09var\x20b\x20[]byte\x0a\x09var\x20s\x20string\x0a\x09b\x20=\x20append(b,\x20s...)\x0a\x0aThe\x20gotry\x20command\x20and\x20its\x20associated\x20try\x20package\x20have\x20been\x20deleted.\x0aIt\x20was\x20a\x20fun\x20experiment\x20that\x20-\x20in\x20the\x20end\x20-\x20didn't\x20carry\x20its\x20weight.\x0a\x0aThe\x20gotype\x20tool\x20has\x20been\x20moved\x20to\x20exp/gotype\x20and\x20its\x20associated\x20go/types\x0apackage\x20has\x20been\x20moved\x20to\x20exp/types.\x20The\x20deprecated\x20go/typechecker\x20package\x20has\x0abeen\x20deleted.\x0a\x0aThe\x20enbflint\x20tool\x20has\x20been\x20moved\x20to\x20pkg/exp/ebnflint\x20and\x20its\x20associated\x20ebnf\x0apackage\x20has\x20been\x20moved\x20to\x20pkg/exp/ebnf.\x0a\x0aThe\x20netchan\x20package\x20has\x20been\x20moved\x20to\x20old/netchan.\x0a\x0aThe\x20http/spdy\x20package\x20has\x20been\x20moved\x20to\x20exp/spdy.\x0a\x0aThe\x20exp/datafmt\x20package\x20has\x20been\x20deleted.\x0a\x0aThe\x20container/vector\x20package\x20has\x20been\x20deleted.\x20Slices\x20are\x20better:\x0a\x09http://code.google.com/p/go-wiki/wiki/SliceTricks\x0a\x0aOther\x20changes:\x0a*\x205l/6l/8l:\x20correct\x20ELFRESERVE\x20diagnostic\x20(thanks\x20Anthony\x20Martin).\x0a*\x206l/8l:\x20support\x20OS\x20X\x20code\x20signing\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20asn1:\x20accept\x20UTF8\x20strings\x20as\x20ASN.1\x20ANY\x20values.\x0a*\x20big:\x20handle\x20aliasing\x20correctly\x20for\x20Rat.SetFrac.\x0a*\x20build:\x20add\x20missing\x20nuke\x20target\x20(thanks\x20Anthony\x20Martin),\x0a\x09catch\x20future\x20accidental\x20dependencies\x20to\x20exp\x20or\x20old\x20packages,\x0a\x09more\x20robustly\x20detect\x20gold\x202.20\x20(thanks\x20Christopher\x20Wedgwood),\x0a\x09pass\x20$GCFLAGS\x20to\x20compiler,\x0a\x09stop\x20on\x20failed\x20deps.bash.\x0a*\x20crypto/tls:\x20add\x203DES\x20ciphersuites,\x0a\x09add\x20server\x20side\x20SNI\x20support,\x0a\x09fetch\x20root\x20CA\x20from\x20Windows\x20store\x20(thanks\x20Mikkel\x20Krautz),\x0a\x09fetch\x20root\x20certificates\x20using\x20Mac\x20OS\x20API\x20(thanks\x20Mikkel\x20Krautz),\x0a\x09fix\x20broken\x20looping\x20code\x20in\x20windows\x20root\x20CA\x20fetcher\x20(thanks\x20Mikkel\x20Krautz),\x0a\x09more\x20Unix\x20root\x20certificate\x20locations.\x0a*\x20crypto/x509:\x20add\x20code\x20for\x20dealing\x20with\x20PKIX\x20public\x20keys,\x0a\x09keep\x20the\x20raw\x20Subject\x20and\x20Issuer.\x0a*\x20csv:\x20fix\x20overly\x20aggressive\x20TrimLeadingSpace.\x0a*\x20exp/ssh:\x20general\x20cleanups\x20for\x20client\x20support\x20(thanks\x20Dave\x20Cheney).\x0a*\x20exp/template/html:\x20fix\x20bug\x20in\x20cssEscaper.\x0a*\x20exp/terminal:\x20split\x20terminal\x20handling\x20from\x20exp/ssh.\x0a*\x20exp/winfsnotify:\x20filesystem\x20watcher\x20for\x20Windows\x20(thanks\x20Hector\x20Chu).\x0a*\x20fmt:\x20fix\x20test\x20relying\x20on\x20map\x20iteration\x20order.\x0a*\x20gc:\x20changes\x20to\x20export\x20format\x20in\x20preparation\x20for\x20inlining,\x0a\x09pass\x20FlagNoPointers\x20to\x20runtime.new,\x0a\x09preserve\x20uint8\x20and\x20byte\x20distinction\x20in\x20errors\x20and\x20import\x20data,\x0a\x09stricter\x20multiple\x20assignment\x20+\x20test,\x0a\x09treat\x20uintptr\x20as\x20potentially\x20containing\x20a\x20pointer.\x0a*\x20go/scanner:\x20remove\x20AllowIllegalChars\x20mode.\x0a*\x20go/token:\x20document\x20deserialization\x20property.\x0a*\x20gob:\x20avoid\x20one\x20copy\x20for\x20every\x20message\x20written.\x0a*\x20godefs:\x20add\x20enum/const\x20testdata\x20(thanks\x20Dave\x20Cheney).\x0a*\x20godoc:\x20generate\x20package\x20toc\x20in\x20template,\x20not\x20in\x20JavaScript,\x0a\x09show\x20\"unexported\"\x20declarations\x20when\x20executing\x20\"godoc\x20builtin\",\x0a\x09show\x20correct\x20source\x20name\x20with\x20-path.\x0a*\x20gofix:\x20make\x20fix\x20order\x20explicit,\x20add\x20mapdelete.\x0a*\x20gofmt:\x20fix\x20//line\x20handling,\x0a\x09disallow\x20rewrites\x20for\x20incomplete\x20programs.\x0a*\x20gotest:\x20avoid\x20conflicts\x20with\x20the\x20name\x20of\x20the\x20tested\x20package\x20(thanks\x20Esko\x20Luontola),\x0a\x09test\x20example\x20code.\x0a*\x20goyacc:\x20clean\x20up\x20after\x20units\x20(thanks\x20Anthony\x20Martin),\x0a\x09make\x20more\x20gofmt-compliant.\x0a*\x20html:\x20add\x20a\x20Render\x20function,\x20various\x20bug\x20fixes\x20and\x20improvements,\x0a\x09parser\x20improvements\x20(thanks\x20Andrew\x20Balholm).\x0a*\x20http:\x20DoS\x20protection:\x20cap\x20non-Handler\x20Request.Body\x20reads,\x0a\x09RoundTrippers\x20shouldn't\x20mutate\x20Request,\x0a\x09avoid\x20panic\x20caused\x20by\x20nil\x20URL\x20(thanks\x20Anthony\x20Martin),\x0a\x09fix\x20read\x20timeouts\x20and\x20closing,\x0a\x09remove\x20Request.RawURL.\x0a*\x20image/tiff:\x20implement\x20PackBits\x20decoding\x20(thanks\x20Benny\x20Siegert).\x0a*\x20ld:\x20fix\x20\"cannot\x20create\x208.out.exe\"\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko).\x0a*\x20misc/emacs:\x20add\x20a\x20\"godoc\"\x20command,\x20like\x20M-x\x20man\x20(thanks\x20Evan\x20Martin).\x0a*\x20misc/swig:\x20delete\x20binaries\x20(thanks\x20Anthony\x20Martin).\x0a*\x20misc/windows:\x20automated\x20toolchain\x20packager\x20(thanks\x20Joe\x20Poirier).\x0a*\x20net/windows:\x20implement\x20ip\x20protocol\x20name\x20to\x20number\x20resolver\x20(thanks\x20Alex\x20Brainman).\x0a*\x20net:\x20add\x20File\x20method\x20to\x20IPConn\x20(thanks\x20Mikio\x20Hara),\x0a\x09allow\x20LookupSRV\x20on\x20non-standard\x20DNS\x20names,\x0a\x09fix\x20\"unexpected\x20socket\x20family\"\x20error\x20from\x20WriteToUDP\x20(thanks\x20Albert\x20Strasheim),\x0a\x09fix\x20socket\x20leak\x20in\x20case\x20of\x20Dial\x20failure\x20(thanks\x20Chris\x20Farmiloe),\x0a\x09remove\x20duplicate\x20error\x20information\x20in\x20Dial\x20(thanks\x20Andrey\x20Mirtchovski),\x0a\x09return\x20error\x20from\x20CloseRead\x20and\x20CloseWrite\x20(thanks\x20Albert\x20Strasheim),\x0a\x09skip\x20ICMP\x20test\x20on\x20Windows\x20too\x20unless\x20uid\x200.\x0a*\x20reflect:\x20disallow\x20Interface\x20method\x20on\x20Value\x20obtained\x20via\x20unexported\x20name,\x0a\x09make\x20unsafe\x20use\x20of\x20SliceHeader\x20gc-friendly.\x0a*\x20rpc:\x20don't\x20panic\x20on\x20write\x20error.\x0a*\x20runtime:\x20faster\x20strings,\x0a\x09fix\x20crash\x20if\x20user\x20sets\x20MemProfileRate=0,\x0a\x09fix\x20crash\x20when\x20returning\x20from\x20syscall\x20during\x20gc\x20(thanks\x20Hector\x20Chu),\x0a\x09fix\x20memory\x20leak\x20in\x20parallel\x20garbage\x20collector.\x0a*\x20scanner:\x20invalidate\x20scanner.Position\x20when\x20no\x20token\x20is\x20present.\x0a*\x20spec:\x20define\x20order\x20of\x20multiple\x20assignment.\x0a*\x20syscall/windows:\x20dll\x20function\x20load\x20and\x20calling\x20changes\x20(thanks\x20Alex\x20Brainman).\x0a*\x20syscall:\x20add\x20#ifdefs\x20to\x20fix\x20the\x20manual\x20corrections\x20in\x20ztypes_linux_arm.go\x20(thanks\x20Dave\x20Cheney),\x0a\x09adjust\x20Mount\x20to\x20accommodate\x20stricter\x20FS\x20implementations.\x0a*\x20testing:\x20fix\x20time\x20reported\x20for\x20failing\x20tests.\x0a*\x20utf8:\x20add\x20Valid\x20and\x20ValidString.\x0a*\x20websocket:\x20tweak\x20hybi\x20ReadHandshake\x20to\x20support\x20Firefox\x20(thanks\x20Luca\x20Greco).\x0a*\x20xml:\x20match\x20Marshal's\x20XMLName\x20behavior\x20in\x20Unmarshal\x20(thanks\x20Chris\x20Farmiloe).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-10-06\">2011-10-06</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20changes\x20to\x20the\x20io,\x20image,\x20and\x20math\x20packages\x20that\x0amay\x20require\x20changes\x20to\x20client\x20code.\x0a\x0aThe\x20io\x20package's\x20Copyn\x20function\x20has\x20been\x20renamed\x20to\x20CopyN.\x0a\x0aThe\x20math\x20package's\x20Fabs,\x20Fdim,\x20Fmax,\x20Fmin\x20and\x20Fmod\x20functions\x0ahave\x20been\x20renamed\x20to\x20Abs,\x20Dim,\x20Max,\x20Min,\x20and\x20Mod.\x0a\x0aParts\x20of\x20the\x20image\x20package\x20have\x20been\x20moved\x20to\x20the\x20new\x20image/color\x20package.\x0aThe\x20spin-off\x20renames\x20some\x20types.\x20The\x20new\x20names\x20are\x20simply\x20better:\x0a\x09image.Color\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20color.Color\x0a\x09image.ColorModel\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20color.Model\x0a\x09image.ColorModelFunc\x20\x20\x20\x20\x20-&gt;\x20color.ModelFunc\x0a\x09image.PalettedColorModel\x20-&gt;\x20color.Palette\x0a\x09image.RGBAColor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20color.RGBA\x0a\x09image.RGBAColorModel\x20\x20\x20\x20\x20-&gt;\x20color.RGBAModel\x0a\x09image.RGBA64Color\x20\x20\x20\x20\x20\x20\x20\x20-&gt;\x20color.RGBA64\x0a\x09image.RGBA64ColorModel\x20\x20\x20-&gt;\x20color.RGBA64Model\x0a(similarly\x20for\x20NRGBAColor,\x20GrayColorModel,\x20etc)\x0aThe\x20image.ColorImage\x20type\x20stays\x20in\x20the\x20image\x20package,\x20but\x20is\x20renamed:\x0a\x09image.ColorImage\x20-&gt;\x20image.Uniform\x0aThe\x20image.Image\x20implementations\x20(image.RGBA,\x20image.RGBA64,\x20image.NRGBA,\x0aimage.Alpha,\x20etc)\x20do\x20not\x20change\x20their\x20name,\x20and\x20gain\x20a\x20nice\x20symmetry:\x0aan\x20image.RGBA\x20is\x20an\x20image\x20of\x20color.RGBA,\x20etc.\x0aThe\x20image.Black,\x20image.Opaque\x20uniform\x20images\x20remain\x20unchanged\x20(although\x20their\x0atype\x20is\x20renamed\x20from\x20image.ColorImage\x20to\x20image.Uniform).\x0aThe\x20corresponding\x20color\x20types\x20(color.Black,\x20color.Opaque,\x20etc)\x20are\x20new.\x0aNothing\x20in\x20the\x20image/ycbcr\x20is\x20renamed\x20yet.\x20The\x20ycbcr.YCbCrColor\x20and\x0aycbcr.YCbCrImage\x20types\x20will\x20eventually\x20migrate\x20to\x20color.YCbCr\x20and\x20image.YCbCr,\x0aat\x20a\x20later\x20date.\x0a\x0a*\x205g/6g/8g:\x20fix\x20loop\x20finding\x20bug,\x20fix\x20-f(),\x20registerize\x20variables\x20again.\x0a*\x205l/6l/8l:\x20add\x20a\x20DT_DEBUG\x20dynamic\x20tag\x20to\x20a\x20dynamic\x20ELF\x20binary.\x0a*\x20archive/zip:\x20read\x20and\x20write\x20unix\x20file\x20modes\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20build:\x20clear\x20execute\x20bit\x20from\x20source\x20files\x20(thanks\x20Mikio\x20Hara).\x0a*\x20bytes:\x20add\x20EqualFold.\x0a*\x20cgo:\x20allow\x20Windows\x20path\x20characters\x20in\x20flag\x20directives\x20(thanks\x20Joe\x20Poirier),\x0a\x09support\x20for\x20mingw-w64\x204.5.1\x20and\x20newer\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20codereview:\x20extra\x20repo\x20sanity\x20check,\x0a\x09fix\x20for\x20Mercurial\x201.9.2,\x0a\x09fix\x20hg\x20change\x20in\x20Windows\x20console\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20crypto/elliptic:\x20use\x20%x\x20consistently\x20in\x20error\x20print.\x0a*\x20doc/spec:\x20remove\x20notes\x20about\x20gccgo\x20limitations,\x20now\x20fixed.\x0a*\x20doc:\x20add\x20'Debugging\x20Go\x20code\x20with\x20GDB'\x20tutorial,\x0a\x09fix\x20memory\x20model\x20read\x20visibility\x20bug.\x0a*\x20encoding/binary:\x20PutX\x20functions\x20require\x20buffer\x20of\x20sufficient\x20size,\x0a\x09added\x20benchmarks,\x20support\x20for\x20varint\x20encoding.\x0a*\x20exec:\x20add\x20Command.ExtraFiles.\x0a*\x20exp/sql{,/driver}:\x20new\x20database\x20packages.\x0a*\x20exp/ssh:\x20move\x20common\x20code\x20to\x20common.go\x20(thanks\x20Dave\x20Cheney).\x0a*\x20exp/template/html:\x20work\x20continues.\x0a*\x20fmt:\x20replace\x20channel\x20cache\x20with\x20slice.\x0a*\x20gc:\x20limit\x20helper\x20threads\x20based\x20on\x20ncpu.\x0a*\x20go/doc,\x20godoc,\x20gotest:\x20support\x20for\x20reading\x20example\x20documentation.\x0a*\x20go:\x20documentation\x20and\x20skeleton\x20implementation\x20of\x20new\x20command.\x0a*\x20gob:\x20protect\x20against\x20invalid\x20message\x20length,\x0a\x09allow\x20sequential\x20decoders\x20on\x20the\x20same\x20input\x20stream.\x0a*\x20hgpatch:\x20do\x20not\x20use\x20hg\x20exit\x20status\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20http:\x20add\x20Location\x20method\x20to\x20Response,\x0a\x09don't\x20send\x20a\x20400\x20Bad\x20Request\x20after\x20a\x20client\x20shutdown.\x0a*\x20index/suffixarray:\x204.5x\x20faster\x20index\x20serialization\x20(to\x20memory).\x0a*\x20io/ioutil:\x20add\x20a\x20comment\x20on\x20why\x20devNull\x20is\x20a\x20ReaderFrom.\x0a*\x20json:\x20use\x20strings.EqualFold\x20instead\x20of\x20strings.ToLower.\x0a*\x20misc/emacs:\x20fix\x20indent\x20bug.\x0a*\x20net:\x20add\x20shutdown:\x20TCPConn.CloseWrite\x20and\x20CloseRead.\x0a*\x20net:\x20use\x20AF_UNSPEC\x20instead\x20of\x20individual\x20address\x20family\x20(thanks\x20Mikio\x20Hara).\x0a*\x20path/filepath:\x20added\x20Rel\x20as\x20the\x20complement\x20of\x20Abs\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20pkg/syscall:\x20add\x20Mkfifo\x20for\x20linux\x20platforms.\x0a*\x20regexp:\x20move\x20to\x20old/regexp,\x20replace\x20with\x20exp/regexp,\x20speedups.\x0a*\x20runtime/gdb:\x20fix\x20pretty\x20printing\x20of\x20channels,\x0a\x09gracefully\x20handle\x20not\x20being\x20able\x20to\x20find\x20types.\x0a*\x20runtime:\x20check\x20for\x20nil\x20value\x20pointer\x20in\x20select\x20syncsend\x20case,\x0a\x09faster\x20finalizers,\x0a\x09fix\x20malloc\x20sampling\x20bug,\x0a\x09fix\x20map\x20memory\x20leak,\x0a\x09fix\x20spurious\x20deadlock\x20reporting,\x0a\x09fix\x20usleep\x20on\x20linux/386\x20and\x20re-enable\x20parallel\x20gc\x20(thanks\x20Hector\x20Chu),\x0a\x09parallelize\x20garbage\x20collector\x20mark\x20+\x20sweep.\x0a*\x20strconv:\x20faster\x20Unquote\x20in\x20common\x20case.\x0a*\x20strings:\x20add\x20EqualFold,\x20Replacer,\x20NewReplacer.\x0a*\x20suffixarray:\x20add\x20benchmarks\x20for\x20construction\x20(thanks\x20Eric\x20Eisner).\x0a*\x20syscall:\x20add\x20GetsockoptByte,\x20SetsockoptByte\x20for\x20openbsd\x20(thanks\x20Mikio\x20Hara),\x0a\x09add\x20IPv4\x20ancillary\x20data\x20for\x20linux\x20(thanks\x20Mikio\x20Hara),\x0a\x09mark\x20stdin,\x20stdout,\x20stderr\x20non-inheritable\x20by\x20child\x20processes\x20(thanks\x20Alex\x20Brainman),\x0a\x09mksyscall_windows.pl\x20creates\x20non-syscall\x20packages\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko),\x0a\x09update\x20multicast\x20socket\x20options\x20(thanks\x20Mikio\x20Hara).\x0a*\x20testing:\x20support\x20for\x20running\x20tests\x20in\x20parallel\x20(thanks\x20Miki\x20Tebeka).\x0a*\x20time:\x20make\x20month/day\x20name\x20comparisons\x20case\x20insenstive.\x0a*\x20unicode:\x20fix\x20make\x20tables.\x0a*\x20vim:\x20Send\x20GoFmt\x20errors\x20to\x20a\x20location\x20list\x20(thanks\x20Paul\x20Sbarra).\x0a*\x20websocket:\x20add\x20hybi-13\x20support,\x20add\x20mutex\x20to\x20make\x20websocket\x20full-duplex.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-09-21\">2011-09-21</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20contains\x20several\x20improvements,\x20bug\x20fixes,\x20and\x20new\x20packages.\x0a\x0a*\x20archive/tar:\x20document\x20Header\x20fields\x20and\x20Type\x20flags\x20(thanks\x20Mike\x20Rosset).\x0a*\x20bytes:\x20fix\x20Replace\x20so\x20it\x20actually\x20copies\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20cgo:\x20use\x20GOARCH\x20from\x20the\x20environment\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko).\x0a*\x20codereview:\x20save\x20CL\x20messages\x20in\x20$(hg\x20root)/last-change.\x0a*\x20crypto/bcrypt:\x20new\x20package\x20(thanks\x20Jeff\x20Hodges).\x0a*\x20crypto/blowfish:\x20exposing\x20the\x20blowfish\x20key\x20schedule\x20(thanks\x20Jeff\x20Hodges).\x0a*\x20doc:\x20link\x20to\x20golang-france.\x0a*\x20doc:\x20when\x20configuring\x20gold\x20for\x20gccgo,\x20use\x20--enable-gold=default.\x0a*\x20exp/norm:\x20changed\x20trie\x20to\x20produce\x20smaller\x20tables.\x0a*\x20exp/ssh:\x20new\x20package,\x0a\x09refactor\x20halfConnection\x20to\x20transport\x20(thanks\x20Dave\x20Cheney).\x0a*\x20exp/template/html:\x20more\x20fixes\x20and\x20improvements.\x0a*\x20filepath:\x20fix\x20Glob\x20to\x20return\x20no\x20error\x20on\x20nonmatching\x20patterns.\x0a*\x20gc:\x20disallow\x20invalid\x20map\x20keys,\x0a\x09handle\x20complex\x20CONVNOP.\x0a*\x20gob:\x20allocation\x20fixes.\x0a*\x20godoc:\x20simplify\x20internal\x20FileSystem\x20interface.\x0a*\x20http/cgi:\x20clean\x20up\x20environment\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20http:\x20always\x20include\x20Content-Length\x20header,\x20even\x20for\x200\x20(thanks\x20Dave\x20Grijalva),\x0a\x09check\x20explicit\x20wrong\x20Request.ContentLength\x20values,\x0a\x09fix\x20TLS\x20handshake\x20blocking\x20server\x20accept\x20loop,\x0a\x09prevent\x20DumpRequest\x20from\x20adding\x20implicit\x20headers.\x0a*\x20httptest:\x20add\x20NewUnstartedServer.\x0a*\x20json:\x20clearer\x20Unmarshal\x20doc,\x0a\x09skip\x20nil\x20in\x20UnmarshalJSON\x20and\x20(for\x20symmetry)\x20MarshalJSON.\x0a*\x20net:\x20use\x20/etc/hosts\x20first\x20when\x20looking\x20up\x20IP\x20addresses\x20(thanks\x20Andrey\x20Mirtchovski).\x0a*\x20reflect:\x20add\x20comment\x20about\x20the\x20doubled\x20semantics\x20of\x20Value.String.\x0a*\x20runtime:\x20implement\x20pprof\x20support\x20for\x20windows\x20(thanks\x20Hector\x20Chu),\x0a\x09increase\x20stack\x20system\x20space\x20on\x20windows/amd64\x20(thanks\x20Hector\x20Chu).\x0a*\x20suffixarray:\x20generate\x20less\x20garbage\x20during\x20construction\x20(thanks\x20Eric\x20Eisner),\x0a\x09improved\x20serialization\x20code\x20using\x20gob\x20instead\x20of\x20encoding/binary.\x0a*\x20sync/atomic:\x20replace\x20MFENCE\x20with\x20LOCK\x20XADD.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-09-16\">2011-09-16</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20changes\x20to\x20the\x20image,\x20path/filepath,\x20and\x20time\x0apackages.\x20Code\x20that\x20uses\x20these\x20packages\x20may\x20need\x20to\x20be\x20updated.\x0a\x0aThe\x20image\x20package's\x20NewX\x20functions\x20(NewRGBA,\x20NewNRGBA,\x20etc)\x20have\x20been\x20changed\x0ato\x20take\x20a\x20Rectangle\x20argument\x20instead\x20of\x20a\x20width\x20and\x20height.\x0aGofix\x20can\x20make\x20these\x20changes\x20automatically.\x0a\x0aThe\x20path/filepath\x20package's\x20Walk\x20function\x20has\x20been\x20changed\x20to\x20take\x20a\x20WalkFunc\x0afunction\x20value\x20instead\x20of\x20a\x20Visitor\x20interface\x20value.\x20WalkFunc\x20is\x20like\x20the\x0aVisitor's\x20VisitDir\x20and\x20VisitFile\x20methods\x20except\x20it\x20handles\x20both\x20files\x20and\x0adirectories:\x0a\x09func(path\x20string,\x20info\x20*os.FileInfo,\x20err\x20os.Error)\x20os.Error\x0aTo\x20skip\x20walking\x20a\x20directory\x20(like\x20returning\x20false\x20from\x20VisitDir)\x20the\x20WalkFunc\x0amust\x20return\x20SkipDir.\x0a\x0aThe\x20time\x20package's\x20Time\x20struct's\x20Weekday\x20field\x20has\x20been\x20changed\x20to\x20a\x20method.\x0aThe\x20value\x20is\x20calculated\x20on\x20demand,\x20avoiding\x20the\x20need\x20to\x20re-parse\x0aprogrammatically-constructed\x20Time\x20values\x20to\x20find\x20the\x20correct\x20weekday.\x0a\x0aThere\x20are\x20no\x20gofixes\x20for\x20the\x20filepath\x20or\x20time\x20API\x20changes,\x20but\x20instances\x20of\x20the\x0aold\x20APIs\x20will\x20be\x20caught\x20by\x20the\x20compiler.\x20The\x20Weekday\x20one\x20is\x20easy\x20to\x20update\x20by\x0ahand.\x20The\x20Walk\x20one\x20may\x20take\x20more\x20consideration,\x20but\x20will\x20have\x20fewer\x20instances\x0ato\x20fix.\x0a\x0a*\x20build:\x20add\x20build\x20comments\x20to\x20core\x20packages.\x0a*\x20codereview:\x20Mercurial\x201.9\x20fix\x20for\x20hg\x20diff\x20@nnn.\x0a*\x20crypto/tls:\x20handle\x20non-TLS\x20more\x20robustly,\x0a\x09support\x20SSLv3.\x0a*\x20debug/elf:\x20permit\x20another\x20case\x20of\x20SHT_NOBITS\x20section\x20overlap\x20in\x20test.\x0a*\x20exm/template/html:\x20more\x20work\x20on\x20this\x20auto-escaping\x20HTML\x20template\x20package.\x0a*\x20exp/norm:\x20added\x20regression\x20test\x20tool\x20for\x20the\x20standard\x20Unicode\x20test\x20set.\x0a*\x20exp/regexp/syntax:\x20fix\x20invalid\x20input\x20parser\x20crash,\x0a\x09import\x20all\x20RE2\x20parse\x20tests\x20+\x20fix\x20bugs.\x0a*\x20exp/regexp:\x20add\x20MustCompilePOSIX,\x20CompilePOSIX,\x20leftmost-longest\x20matching.\x0a*\x20flag:\x20make\x20zero\x20FlagSet\x20useful.\x0a*\x20gc:\x20clean\x20up\x20if\x20grammar.\x0a*\x20go/build:\x20handle\x20cgo,\x20//\x20+build\x20comments.\x0a*\x20go/printer:\x20use\x20panic/defer\x20instead\x20of\x20goroutine\x20for\x20handling\x20errors.\x0a*\x20go/token:\x20support\x20to\x20serialize\x20file\x20sets.\x0a*\x20godoc,\x20suffixarray:\x20switch\x20to\x20exp/regexp.\x0a*\x20godoc:\x20show\x20packages\x20matching\x20a\x20query\x20at\x20the\x20top,\x0a\x09support\x20for\x20complete\x20index\x20serialization,\x0a\x09use\x20go/build\x20to\x20find\x20files\x20in\x20a\x20package.\x0a*\x20gofmt:\x20accept\x20program\x20fragments\x20on\x20standard\x20input,\x20add\x20else\x20test.\x0a*\x20http/cgi:\x20add\x20openbsd\x20environment\x20configuration.\x0a*\x20http:\x20document\x20that\x20Response.Body\x20is\x20non-nil.\x0a*\x20image/png:\x20don't\x20use\x20a\x20goroutine\x20to\x20decode,\x20to\x20permit\x20decode\x20during\x20init.\x0a*\x20json:\x20if\x20a\x20field's\x20tag\x20is\x20\"-\",\x20ignore\x20the\x20field\x20for\x20encoding\x20and\x20decoding.\x0a*\x20ld:\x20grow\x20dwarf\x20includestack\x20on\x20demand.\x0a*\x20net,\x20syscall:\x20implement\x20SetsockoptIPMReq(),\x20and\x0a\x09move\x20to\x20winsock\x20v2.2\x20for\x20multicast\x20support\x20(thanks\x20Paul\x20Lalonde).\x0a*\x20net:\x20add\x20a\x20LookupTXT\x20function.\x0a*\x20os:\x20os.RemoveAll\x20to\x20check\x20for\x20wboth\x20error\x20codes\x20on\x20Windows\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko).\x0a*\x20path/filepath:\x20fix\x20Visitor\x20doc\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09make\x20UNC\x20file\x20names\x20work\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20runtime:\x20optimizations\x20to\x20channels\x20on\x20Windows\x20(thanks\x20Hector\x20Chu),\x0a\x09syscall\x20to\x20return\x20both\x20AX\x20and\x20DX\x20for\x20windows/386\x20(thanks\x20Alex\x20Brainman).\x0a*\x20sync/atomic:\x20add\x2064-bit\x20Load\x20and\x20Store.\x0a*\x20syscall:\x20add\x20route\x20flags\x20for\x20linux\x20(thanks\x20Mikio\x20Hara).\x0a*\x20test:\x20add\x20test\x20for\x20inheriting\x20private\x20method\x20from\x20anonymous\x20field.\x0a*\x20websocket:\x20fix\x20infinite\x20recursion\x20in\x20Addr.String()\x20(thanks\x20Tarmigan\x20Casebolt),\x0a\x09rename\x20websocket.WebSocketAddr\x20to\x20*websocket.Addr.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-09-07\">2011-09-07</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20consists\x20of\x20improvements\x20and\x20bug\x20fixes,\x20including\x20fixes\x0afor\x20issues\x20introduced\x20by\x20escape\x20analysis\x20changes\x20in\x20the\x20gc\x20compiler.\x0a\x0a*\x20build:\x20clear\x20execute\x20bit\x20from\x20Go\x20files\x20(thanks\x20Mike\x20Rosset),\x0a\x09error\x20out\x20if\x20problem\x20with\x20sudo.bash\x20/usr/local/bin\x20(thanks\x20Mike\x20Rosset).\x0a*\x20exp/norm:\x20add\x20Reader\x20and\x20Writer,\x0a\x09performance\x20improvements\x20of\x20quickSpan.\x0a*\x20exp/regexp:\x20bug\x20fixes\x20and\x20RE2\x20tests.\x0a*\x20exp/template/html:\x20string\x20replacement\x20refactoring,\x0a\x09tweaks\x20to\x20js{,_test}.go.\x0a*\x20gc:\x20add\x20-p\x20flag\x20to\x20catch\x20import\x20cycles\x20earlier,\x0a\x09fix\x20label\x20recursion\x20bugs,\x0a\x09fix\x20zero-length\x20struct\x20eval,\x0a\x09zero\x20stack-allocated\x20slice\x20backing\x20arrays,\x0a*\x20gc,\x20ld:\x20fix\x20Windows\x20file\x20paths\x20(thanks\x20Hector\x20Chu).\x0a*\x20go/parser:\x20accept\x20corner\x20cases\x20of\x20signature\x20syntax.\x0a*\x20gobuilder:\x20ignore\x20_test.go\x20files\x20when\x20looking\x20for\x20docs,\x20more\x20logging.\x0a*\x20godoc:\x20minor\x20tweaks\x20for\x20App\x20Engine\x20use.\x0a*\x20gofix:\x20do\x20not\x20convert\x20url\x20in\x20field\x20names\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20gofmt:\x20indent\x20multi-line\x20signatures.\x0a*\x20gopprof:\x20regexp\x20fixes\x20(thanks\x20Hector\x20Chu).\x0a*\x20image/png:\x20check\x20zlib\x20checksum\x20during\x20Decode.\x0a*\x20libmach:\x20fix\x20incorrect\x20use\x20of\x20memset\x20(thanks\x20Dave\x20Cheney).\x0a*\x20misc/goplay:\x20fix\x20template\x20output.\x0a*\x20net:\x20ParseCIDR\x20returns\x20IPNet\x20instead\x20of\x20IPMask\x20(thanks\x20Mikio\x20Hara),\x0a\x09sync\x20CIDRMask\x20code,\x20doc.\x0a*\x20os:\x20use\x20GetFileAttributesEx\x20to\x20implement\x20Stat\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20runtime:\x20fix\x20openbsd\x20386\x20raisesigpipe,\x0a\x09implement\x20exception\x20handling\x20on\x20windows/amd64\x20(thanks\x20Hector\x20Chu),\x0a\x09test\x20for\x20concurrent\x20channel\x20consumers\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20sort:\x20use\x20heapsort\x20to\x20bail\x20out\x20quicksort\x20(thanks\x20Ziad\x20Hatahet).\x0a*\x20sync/atomic:\x20add\x20LoadUintptr,\x20add\x20Store\x20functions.\x0a*\x20syscall:\x20update\x20routing\x20message\x20attributes\x20handling\x20(thanks\x20Mikio\x20Hara).\x0a*\x20template:\x20fix\x20deadlock,\x0a\x09indirect\x20or\x20dereference\x20function\x20arguments\x20if\x20necessary,\x0a\x09slightly\x20simplify\x20the\x20test\x20for\x20assignability\x20of\x20arguments.\x0a*\x20url:\x20handle\x20;\x20in\x20ParseQuery.\x0a*\x20websocket:\x20fix\x20incorrect\x20prints\x20found\x20by\x20govet\x20(thanks\x20Robert\x20Hencke).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-09-01\">2011-09-01</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20contains\x20performance\x20improvements\x20and\x20bug\x20fixes.\x0a\x0aThe\x20gc\x20compiler\x20now\x20does\x20escape\x20analysis,\x20which\x20improves\x20program\x20performance\x0aby\x20placing\x20variables\x20on\x20the\x20call\x20stack\x20instead\x20of\x20the\x20heap\x20when\x20it\x20is\x20safe\x20to\x0ado\x20so.\x0a\x0aThe\x20container/vector\x20package\x20is\x20deprecated\x20and\x20will\x20be\x20removed\x20at\x20some\x20point\x0ain\x20the\x20future.\x0a\x0aOther\x20changes:\x0a*\x20archive/tar:\x20support\x20symlinks.\x20(thanks\x20Mike\x20Rosset)\x0a*\x20big:\x20fix\x20nat.scan\x20bug.\x20(thanks\x20Evan\x20Shaw)\x0a*\x20bufio:\x20handle\x20a\x20\"\\r\\n\"\x20that\x20straddles\x20the\x20buffer.\x0a\x09add\x20openbsd.\x0a\x09avoid\x20redundant\x20bss\x20declarations.\x0a\x09fix\x20unused\x20parameters.\x0a\x09fix\x20windows/amd64\x20build\x20with\x20newest\x20mingw-w64.\x20(thanks\x20Hector\x20Chu)\x0a*\x20bytes:\x20clarify\x20that\x20NewBuffer\x20is\x20not\x20for\x20beginners.\x0a*\x20cgo:\x20explain\x20how\x20to\x20free\x20something.\x0a\x09fix\x20GoBytes.\x20(thanks\x20Gustavo\x20Niemeyer)\x0a\x09fixes\x20callback\x20for\x20windows\x20amd64.\x20(thanks\x20Wei\x20Guangjing)\x0a\x09note\x20that\x20CString\x20result\x20must\x20be\x20freed.\x20(thanks\x20Gustavo\x20Niemeyer)\x0a*\x20cov:\x20remove\x20tautological\x20#defines.\x20(thanks\x20Lucio\x20De\x20Re)\x0a*\x20dashboard:\x20yet\x20another\x20utf-8\x20fix.\x0a*\x20doc/codelab/wiki:\x20fix\x20Makefile.\x0a*\x20doc/progs:\x20fix\x20windows/amd64.\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko)\x0a*\x20doc/tmpltohtml:\x20update\x20to\x20new\x20template\x20package.\x0a*\x20doc:\x20emphasize\x20that\x20environment\x20variables\x20are\x20optional.\x0a*\x20effective_go:\x20convert\x20to\x20use\x20tmpltohtml.\x0a*\x20exp/norm:\x20reduced\x20the\x20size\x20of\x20the\x20byte\x20buffer\x20used\x20by\x20reorderBuffer\x20by\x20half\x20by\x20reusing\x20space\x20when\x20combining.\x0a\x09a\x20few\x20minor\x20fixes\x20to\x20support\x20the\x20implementation\x20of\x20norm.\x0a\x09added\x20implementation\x20for\x20[]byte\x20versions\x20of\x20methods.\x0a*\x20exp/template/html:\x20add\x20some\x20tests\x20for\x20\">\"\x20attributes.\x0a\x09added\x20handling\x20for\x20URL\x20attributes.\x0a\x09differentiate\x20URL-valued\x20attributes\x20(such\x20as\x20href).\x0a\x09reworked\x20escapeText\x20to\x20recognize\x20attr\x20boundaries.\x0a*\x20exp/wingui:\x20made\x20compatible\x20with\x20windows/amd64.\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko)\x0a*\x20flag:\x20add\x20Parsed,\x20restore\x20Usage.\x0a*\x20gc:\x20add\x20openbsd.\x0a\x09escape\x20analysis.\x0a\x09fix\x20build\x20on\x20Plan\x209.\x20(thanks\x20Lucio\x20De\x20Re)\x0a\x09fix\x20div\x20bug.\x0a\x09fix\x20pc/line\x20table.\x20(thanks\x20Julian\x20Phillips)\x0a\x09fix\x20some\x20spurious\x20leaks.\x0a\x09make\x20static\x20initialization\x20more\x20static.\x0a\x09remove\x20JCXZ;\x20add\x20JCXZW,\x20JCXZL,\x20and\x20JCXZQ\x20instructions.\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko)\x0a\x09shuffle\x20#includes.\x0a\x09simplify\x20escape\x20analysis\x20recursion.\x0a\x09tweak\x20and\x20enable\x20escape\x20analysis.\x0a*\x20go/ast\x20cleanup:\x20base\x20File/PackageExports\x20on\x20FilterFile/FilterPackage\x20code.\x0a\x09adjustments\x20to\x20filter\x20function.\x0a\x09fix\x20ast.MergePackageFiles\x20to\x20collect\x20infos\x20about\x20imports.\x20(thanks\x20Sebastien\x20Binet)\x0a\x09generalize\x20ast.FilterFile.\x0a*\x20go/build:\x20add\x20test\x20support\x20&\x20use\x20in\x20gotest.\x0a\x09separate\x20test\x20imports\x20out\x20when\x20scanning.\x20(thanks\x20Gustavo\x20Niemeyer)\x0a*\x20go/parser:\x20fix\x20type\x20switch\x20scoping.\x0a\x09fix\x20type\x20switch\x20scoping.\x0a*\x20gob:\x20explain\x20that\x20Debug\x20isn't\x20useful\x20unless\x20it's\x20compiled\x20in.\x0a*\x20gobuilder:\x20increase\x20log\x20limit.\x0a*\x20godashboard:\x20fix\x20utf-8\x20in\x20user\x20names.\x0a*\x20godoc:\x20first\x20step\x20towards\x20reducing\x20index\x20size.\x0a\x09add\x20dummy\x20playground.js\x20to\x20silence\x20godoc\x20warning\x20at\x20start-up.\x0a\x09added\x20systematic\x20throttling\x20to\x20indexing\x20goroutine.\x0a\x09fix\x20bug\x20in\x20zip.go.\x0a\x09support\x20for\x20reading/writing\x20(splitted)\x20index\x20files.\x0a\x09use\x20virtual\x20file\x20system\x20when\x20generating\x20package\x20synopses.\x0a*\x20gofix:\x20forgot\x20to\x20rename\x20the\x20URL\x20type.\x0a\x09osopen:\x20fixed=true\x20when\x20changing\x20O_CREAT.\x20(thanks\x20Tarmigan\x20Casebolt)\x0a*\x20goinstall:\x20error\x20out\x20with\x20paths\x20that\x20end\x20with\x20'/'.\x20(thanks\x20Tarmigan\x20Casebolt)\x0a\x09report\x20lack\x20of\x20$GOPATH\x20on\x20errors.\x20(thanks\x20Gustavo\x20Niemeyer)\x0a\x09select\x20the\x20tag\x20that\x20is\x20closest\x20to\x20runtime.Version.\x0a*\x20gotry:\x20add\x20missing\x20$.\x20(thanks\x20Tarmigan\x20Casebolt)\x0a*\x20http:\x20add\x20MaxBytesReader\x20to\x20limit\x20request\x20body\x20size.\x0a\x09add\x20file\x20protocol\x20transport.\x0a\x09adjust\x20test\x20threshold\x20for\x20larger\x20suse\x20buffers.\x0a\x09delete\x20error\x20kludge.\x0a\x09on\x20invalid\x20request,\x20send\x20400\x20response.\x0a\x09return\x20413\x20instead\x20of\x20400\x20when\x20the\x20request\x20body\x20is\x20too\x20large.\x20(thanks\x20Dave\x20Cheney)\x0a\x09support\x20setting\x20Transport's\x20TLS\x20client\x20config.\x0a*\x20image/tiff:\x20add\x20a\x20decode\x20benchmark.\x20(thanks\x20Benny\x20Siegert)\x0a\x09decoder\x20optimization.\x20(thanks\x20Benny\x20Siegert)\x0a*\x20image:\x20add\x20PalettedImage\x20interface,\x20and\x20make\x20image/png\x20recognize\x20it.\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko)\x0a*\x20io:\x20add\x20TeeReader.\x20(thanks\x20Hector\x20Chu)\x0a*\x20json:\x20add\x20struct\x20tag\x20option\x20to\x20wrap\x20literals\x20in\x20strings.\x0a\x09calculate\x20Offset\x20for\x20Indent\x20correctly.\x20(thanks\x20Jeff\x20Hodges)\x0a\x09fix\x20decode\x20bug\x20with\x20struct\x20tag\x20names\x20with\x20,opts\x20being\x20ignored.\x0a*\x20ld:\x20handle\x20Plan\x209\x20ar\x20format.\x20(thanks\x20Lucio\x20De\x20Re)\x0a\x09remove\x20duplicate\x20bss\x20definitions.\x0a*\x20libmach:\x20support\x20reading\x20symbols\x20from\x20Windows\x20.exe\x20for\x20nm.\x20(thanks\x20Mateusz\x20Czapli\xc5\x84ski)\x0a*\x20math:\x20fix\x20Pow10\x20loop.\x20(thanks\x20Volker\x20Dobler)\x0a*\x20mime:\x20ParseMediaType\x20returns\x20os.Error\x20now,\x20not\x20a\x20nil\x20map.\x0a\x09media\x20type\x20formatter.\x20(thanks\x20Pascal\x20S.\x20de\x20Kloe)\x0a\x09text\x20charset\x20defaults.\x20(thanks\x20Pascal\x20S.\x20de\x20Kloe)\x0a*\x20misc/dashboard:\x20remove\x20limit\x20for\x20json\x20package\x20list.\x0a*\x20misc/emacs:\x20refine\x20label\x20detection.\x0a*\x20net:\x20add\x20ParseMAC\x20function.\x20(thanks\x20Paul\x20Borman)\x0a\x09change\x20the\x20internal\x20form\x20of\x20IPMask\x20for\x20IPv4.\x20(thanks\x20Mikio\x20Hara)\x0a\x09disable\x20\"tcp\"\x20test\x20on\x20openbsd.\x0a\x09fix\x20windows\x20build.\x20(thanks\x20Alex\x20Brainman)\x0a\x09join\x20and\x20leave\x20a\x20IPv6\x20group\x20address,\x20on\x20a\x20specific\x20interface.\x20(thanks\x20Mikio\x20Hara)\x0a\x09make\x20use\x20of\x20IPv4len,\x20IPv6len.\x20(thanks\x20Mikio\x20Hara)\x0a\x09move\x20internal\x20string\x20manipulation\x20routines\x20to\x20parse.go.\x20(thanks\x20Mikio\x20Hara)\x0a*\x20os:\x20disable\x20Hostname\x20test\x20on\x20OpenBSD.\x0a\x09fix\x20WNOHANG\x20Waitmsg.\x20(thanks\x20Gustavo\x20Niemeyer)\x0a*\x20reflect:\x20add\x20Value.Bytes,\x20Value.SetBytes\x20methods.\x0a*\x20rpc:\x20add\x20benchmark\x20for\x20async\x20rpc\x20calls.\x0a*\x20runtime:\x20add\x20openbsd\x20386\x20defs.h.\x0a\x09add\x20runtime\x20support\x20for\x20openbsd\x20386.\x0a\x09add\x20runtime\xc2\xb7\x20prefix\x20to\x20showframe.\x0a\x09ctrlhandler\x20for\x20windows\x20amd64.\x20(thanks\x20Wei\x20Guangjing)\x0a\x09fix\x20stack\x20cleanup\x20on\x20windows/amd64.\x20(thanks\x20Hector\x20Chu)\x0a\x09fix\x20void\x20warnings.\x0a\x09go\x20interface\x20to\x20cdecl\x20calbacks.\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko)\x0a\x09handle\x20string\x20+\x20char\x20literals\x20in\x20goc2c.\x0a\x09make\x20arm\x20work\x20on\x20Ubuntu\x20Natty\x20qemu.\x0a\x09openbsd\x20thread\x20tweaks.\x0a\x09simplify\x20stack\x20traces.\x0a\x09speed\x20up\x20cgo\x20calls.\x20(thanks\x20Alex\x20Brainman)\x0a\x09use\x20cgo\x20runtime\x20functions\x20to\x20call\x20windows\x20syscalls.\x20(thanks\x20Alex\x20Brainman)\x0a\x09windows/amd64\x20callbacks\x20fixed\x20and\x20syscall\x20fixed\x20to\x20allow\x20using\x20it\x20in\x20callbacks.\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko)\x0a*\x20strconv:\x20put\x20decimal\x20on\x20stack.\x0a*\x20spec:\x20update\x20section\x20on\x20Implementation\x20Differences.\x0a*\x20syscall:\x20SOMAXCONN\x20should\x20be\x200x7fffffff\x20at\x20winsock2.\x20(thanks\x20Yasuhiro\x20Matsumoto)\x0a\x09add\x20openbsd\x20386.\x0a\x09handle\x20RTM_NEWROUTE\x20in\x20ParseNetlinkRouteAttr\x20on\x20Linux.\x20(thanks\x20Albert\x20Strasheim)\x0a\x09handle\x20routing\x20entry\x20in\x20ParseRoutingSockaddr\x20on\x20BSD\x20variants.\x20(thanks\x20Mikio\x20Hara)\x0a\x09openbsd\x20amd64\x20syscall\x20support.\x0a\x09use\x20the\x20vdso\x20page\x20on\x20linux\x20x86\x20for\x20faster\x20syscalls\x20instead\x20of\x20int\x20$0x80.\x20(thanks\x20Yuval\x20Pavel\x20Zholkover)\x0a*\x20template/parse:\x20give\x20if,\x20range,\x20and\x20with\x20a\x20common\x20representation.\x0a*\x20template:\x20grammar\x20fix\x20for\x20template\x20documentation.\x20(thanks\x20Bill\x20Neubauer)\x0a\x09range\x20over\x20channel.\x0a\x09remove\x20else\x20and\x20end\x20nodes\x20from\x20public\x20view.\x0a*\x20test:\x20put\x20GOROOT/bin\x20before\x20all\x20others\x20in\x20run.\x0a*\x20time:\x20fix\x20Plan\x209\x20build.\x20(thanks\x20Fazlul\x20Shahriar)\x0a\x09fix\x20zone\x20during\x20windows\x20test.\x0a*\x20type\x20switches:\x20test\x20for\x20pathological\x20case.\x0a*\x20version.bash:\x20update\x20VERSION\x20on\x20-save\x20if\x20already\x20present.\x20(thanks\x20Gustavo\x20Niemeyer)\x0a*\x20websocket:\x20implements\x20new\x20version\x20of\x20WebSocket\x20protocol.\x20(thanks\x20Fumitoshi\x20Ukai)\x0a*\x20windows/386:\x20clean\x20stack\x20after\x20syscall.\x20(thanks\x20Jaroslavas\x20Po\xc4\x8depko)\x0a*\x20xml:\x20marshal\x20\"parent>child\"\x20tags\x20correctly.\x20(thanks\x20Ross\x20Light)\x0a</pre>\x0a\x0a<h2\x20id=\"2011-08-17\">2011-08-17\x20(<a\x20href=\"release.html#r60\">base\x20for\x20r60</a>)</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20contains\x20some\x20package\x20re-shuffling.\x20Users\x20of\x20the\x20http\x20and\x0atemplate\x20packages\x20may\x20be\x20affected.\x0a\x0aThis\x20weekly\x20replaces\x20the\x20template\x20package\x20with\x20exp/template.\x0aThe\x20original\x20template\x20package\x20is\x20still\x20available\x20as\x20old/template.\x0aThe\x20old/template\x20package\x20is\x20deprecated\x20and\x20will\x20be\x20removed\x20at\x20some\x20point\x0ain\x20the\x20future.\x20The\x20Go\x20tree\x20has\x20been\x20updated\x20to\x20use\x20the\x20new\x20template\x20package.\x0aWe\x20encourage\x20users\x20of\x20the\x20old\x20template\x20package\x20to\x20switch\x20to\x20the\x20new\x20one.\x0aCode\x20that\x20uses\x20template\x20or\x20exp/template\x20will\x20need\x20to\x20change\x0aits\x20import\x20lines\x20to\x20\"old/template\"\x20or\x20\"template\",\x20respectively.\x0a\x0aThe\x20http\x20package's\x20URL\x20parsing\x20and\x20query\x20escaping\x20code\x20(such\x20as\x20ParseURL\x20and\x0aURLEscape)\x20has\x20been\x20moved\x20to\x20the\x20new\x20url\x20package,\x20with\x20several\x20simplifications\x0ato\x20the\x20names.\x20Client\x20code\x20can\x20be\x20updated\x20automatically\x20with\x20gofix.\x0a\x0a*\x20asn1:\x20support\x20unmarshaling\x20structs\x20with\x20int32\x20members\x20(thanks\x20Dave\x20Cheney).\x0a*\x20build:\x20allow\x20builds\x20without\x20cgo\x20or\x20hg,\x0a\x09support\x20versioning\x20without\x20hg\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20builtin:\x20add\x20documentation\x20for\x20builtins.\x0a*\x20cgo:\x20omit\x20duplicate\x20symbols\x20in\x20writeDefs\x20(thanks\x20Julian\x20Phillips).\x0a*\x20misc:\x20add\x20support\x20for\x20OpenBSD.\x0a*\x20doc/codewalk:\x20new\x20Markov\x20chain\x20codewalk.\x0a*\x20exp/norm:\x20added\x20trie\x20lookup\x20code\x20and\x20associated\x20tests,\x0a\x09generate\x20trie\x20struct\x20in\x20triegen.go\x20for\x20better\x20encapsulation,\x0a\x09implementation\x20of\x20decomposition\x20and\x20composing\x20functionality.\x0a*\x20exp/template/html:\x20new\x20experimental\x20package\x20for\x20auto-escaping\x20HTML\x20templates.\x0a*\x20exp/template:\x20don't\x20panic\x20on\x20range\x20of\x20nil\x20interface,\x0a\x09rename\x20Parse*File\x20and\x20Parse*Files\x20for\x20clarity,\x0a\x09support\x20field\x20syntax\x20on\x20maps\x20(thanks\x20Gustavo\x20Niemeyer),\x20and\x0a\x09many\x20other\x20fixes\x20and\x20changes.\x0a*\x20gc:\x20implement\x20nil\x20chan\x20and\x20nil\x20map\x20support.\x0a*\x20go/parser:\x20range\x20clause\x20and\x20type\x20literal\x20fixes.\x0a*\x20godoc:\x20show\x20all\x20top-level\x20decls\x20for\x20(fake)\x20package\x20builtin.\x0a*\x20goinstall:\x20really\x20report\x20all\x20newly-installed\x20public\x20packages.\x0a*\x20html:\x20parse\x20more\x20malformed\x20tags.\x0a*\x20http:\x20fix\x20ParseMultipartForm\x20after\x20MultipartReader\x20error,\x0a\x09fix\x20side\x20effects\x20in\x20DefaultTransport's\x20RoundTrip\x20method\x20(thanks\x20Dave\x20Grijalva).\x0a*\x20json:\x20fix\x20[]unmarshaler\x20case.\x0a*\x20ld:\x20make\x20addaddrplus4\x20static\x20(thanks\x20Lucio\x20De\x20Re).\x0a*\x20syscall:\x20move\x20multicast\x20address\x20handling\x20to\x20the\x20net\x20package.\x0a*\x20net:\x20Plan\x209\x20support\x20(thanks\x20Fazlul\x20Shahriar),\x0a\x09add\x20SetTimeout\x20to\x20Listener\x20interface\x20(thanks\x20Aleksandar\x20Dezelin),\x0a\x09add\x20multicast\x20stubs\x20for\x20OpenBSD,\x0a\x09return\x20correct\x20local\x20address\x20for\x20an\x20accepted\x20TCP\x20connection\x20(thanks\x20Mikio\x20Hara).\x0a*\x20reflect:\x20panic\x20on\x20Invalid\x20Interface\x20call\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20rpc:\x20implement\x20ServeRequest\x20to\x20synchronously\x20serve\x20a\x20single\x20request,\x0a\x09make\x20Server.Mutex\x20unexported.\x0a*\x20runtime:\x20better\x20checks\x20for\x20syscall.NewCallback\x20parameter\x20(thanks\x20Alex\x20Brainman),\x0a\x09correct\x20SEH\x20installation\x20during\x20callbacks\x20(thanks\x20Alex\x20Brainman),\x0a\x09fix\x20GC\x20bitmap\x20corruption,\x0a\x09fix\x20pseudo-randomness\x20on\x20some\x20selects\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20syscall:\x20make\x20LazyDLL/LazyProc.Mutex\x20unexported.\x0a*\x20test:\x20allow\x20multiple\x20patterns\x20in\x20errchk,\x0a\x09new\x20nil\x20semantics.\x0a*\x20time:\x20take\x20fractional\x20seconds\x20even\x20if\x20not\x20in\x20the\x20format\x20string.\x0a*\x20url:\x20new\x20package.\x0a*\x20utf8:\x20rename\x20some\x20internal\x20constants\x20to\x20remove\x20leading\x20underscores.\x0a*\x20xml:\x20escape\x20string\x20chardata\x20in\x20xml.Marshal.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-08-10\">2011-08-10</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20contains\x20performance\x20improvements\x20and\x20bug\x20fixes.\x0a\x0aThere\x20are\x20no\x20outward-facing\x20changes,\x20but\x20imports\x20of\x20the\x20old-style\x0acontainer/vector\x20package\x20have\x20also\x20been\x20removed\x20from\x20the\x20core\x20library\x20(thanks\x0aJohn\x20Asmuth,\x20Kyle\x20Consalus).\x0a\x0aOther\x20changes:\x0a\x0a*\x205g:\x20fix\x20set\x20but\x20not\x20used\x20error\x20(thanks\x20Dave\x20Cheney).\x0a*\x20cmd/ld:\x20Corrected\x20mismatched\x20print\x20formats\x20and\x20variables\x20(thanks\x20Lucio\x20De\x20Re).\x0a*\x20errchk:\x20add\x20-0\x20flag.\x0a*\x20exp/norm:\x20fix\x20build\x20by\x20adding\x20a\x20test\x20placeholder,\x0a\x09maketables\x20tool\x20for\x20generating\x20tables\x20for\x20normalization.\x0a*\x20exp/template:\x20bug\x20fixes,\x0a\x09ensure\x20that\x20a\x20valid\x20Set\x20is\x20returned\x20even\x20on\x20error\x20(thanks\x20Roger\x20Peppe),\x0a\x09make\x20index\x20on\x20maps\x20return\x20zero\x20when\x20key\x20not\x20present\x20(thanks\x20Roger\x20Peppe),\x0a\x09split\x20the\x20parse\x20tree\x20into\x20a\x20separate\x20package\x20exp/template/parse,\x0a\x09add\x20url\x20query\x20formatting\x20filter.\x0a*\x20faq:\x20lots\x20of\x20small\x20tweaks\x20plus\x20a\x20couple\x20of\x20new\x20discussions,\x0a\x09variant\x20types,\x20unions.\x0a*\x20fmt:\x20call\x20UpdateMemStats\x20in\x20malloc\x20counter.\x0a*\x20go/build:\x20use\x20GOBIN\x20as\x20binary\x20path\x20for\x20GOROOT.\x0a*\x20gob:\x20add\x20UpdateMemStats\x20calls\x20to\x20malloc\x20counter,\x0a\x09avoid\x20a\x20couple\x20of\x20init-time\x20allocations,\x0a\x09don't\x20invoke\x20GobEncoder\x20on\x20zero\x20values.\x0a*\x20gofmt:\x20update\x20test\x20script\x20so\x20'make\x20test'\x20succeeds.\x0a*\x20html:\x20parse\x20doctype\x20tokens;\x20merge\x20adjacent\x20text\x20nodes.\x0a*\x20http:\x20add\x20more\x20MPEG-4\x20MIME\x20types\x20to\x20sniffer,\x20and\x20disable\x20MP4\x20sniffing,\x0a\x09add\x20test\x20to\x20serve\x20content\x20in\x20index.html\x20(thanks\x20Yasuhiro\x20Matsumoto),\x0a\x09configurable\x20and\x20default\x20request\x20header\x20size\x20limit,\x0a\x09correct\x20format\x20flags\x20when\x20printing\x20errors\x20in\x20tests\x20(thanks\x20Alex\x20Brainman),\x0a\x09correct\x20path\x20to\x20serve\x20index.html\x20(thanks\x20Yasuhiro\x20Matsumoto),\x0a*\x20ld:\x20add\x20one\x20empty\x20symbol\x20into\x20pe\x20to\x20make\x20dumpbin\x20works\x20(thanks\x20Wei\x20Guangjing),\x0a\x09fail\x20linking\x20if\x20the\x20top-level\x20package\x20is\x20not\x20main.\x0a*\x20misc/vim:\x20godoc\x20command\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20net:\x20add\x20support\x20for\x20openbsd\x20(thanks\x20Joel\x20Sing),\x0a\x09fix\x20/proc/net/igmp,igmp6\x20reading\x20bug\x20on\x20linux\x20(thanks\x20Mikio\x20Hara),\x0a\x09implement\x20windows\x20LookupMX\x20and\x20LookupAddr\x20(thanks\x20Mikio\x20Hara),\x0a\x09sort\x20SRV\x20records\x20before\x20returning\x20from\x20LookupSRV\x20(thanks\x20Alex\x20Brainman),\x0a*\x20os:\x20add\x20support\x20for\x20openbsd\x20(thanks\x20Joel\x20Sing).\x0a*\x20runtime:\x20add\x20more\x20specialized\x20type\x20algorithms,\x0a\x09correct\x20Note\x20documentation,\x0a\x09faster\x20chan\x20creation\x20on\x20Linux/FreeBSD/Plan9,\x0a\x09openbsd\x20amd64\x20runtime\x20support\x20(thanks\x20Joel\x20Sing),\x0a\x09remove\x20unnecessary\x20locking\x20(thanks\x20Hector\x20Chu).\x0a*\x20scanner:\x20correct\x20error\x20position\x20for\x20illegal\x20UTF-8\x20encodings.\x0a*\x20syscall:\x20delay\x20load\x20of\x20dll\x20functions\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09move\x20BSD\x20mmap\x20syscall\x20(thanks\x20Joel\x20Sing),\x0a\x09update\x20routing\x20message\x20support\x20for\x20BSD\x20variants\x20(thanks\x20Mikio\x20Hara).\x0a*\x20test/bench:\x20note\x20changes\x20after\x20recent\x20improvements\x20to\x20locking\x20and\x20runtime.\x0a*\x20time:\x20add\x20nanoseconds\x20to\x20the\x20Time\x20structure,\x0a\x09parse\x20and\x20format\x20fractional\x20seconds.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-07-29\">2011-07-29</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20contains\x20performance\x20improvements\x20and\x20many\x20bug\x20fixes.\x0a\x0a*\x206l:\x20OpenBSD\x20support.\x0a*\x20archive/zip:\x20handle\x20zip\x20files\x20with\x20more\x20than\x2065535\x20files,\x0a\x09more\x20efficient\x20reader\x20and\x20bug\x20fix.\x0a*\x20big:\x20refine\x20printf\x20formatting\x20and\x20optimize\x20string\x20conversion.\x0a*\x20build:\x20fixes\x20for\x20mingw-w64\x20(thanks\x20Wei\x20Guangjing),\x0a\x09miscellaneous\x20fixes.\x0a*\x20cgo:\x20add\x20GoBytes,\x20fix\x20gmp\x20example.\x0a*\x20exp/norm:\x20API\x20for\x20normalization\x20library.\x0a*\x20exp/regexp:\x20implement\x20regexp\x20API\x20using\x20exp/regexp/syntax.\x0a*\x20exp/template:\x20more\x20tweaks\x20and\x20fixes,\x20convert\x20the\x20tree\x20to\x20use\x20exp/template.\x0a*\x20fmt:\x20handle\x20precision\x200\x20format\x20strings\x20in\x20standard\x20way.\x0a*\x20gc:\x20a\x20raft\x20of\x20bug\x20fixes.\x0a*\x20go/parser:\x20report\x20illegal\x20label\x20declarations\x20at\x20':'.\x0a*\x20gob:\x20send\x20empty\x20but\x20non-nil\x20maps.\x0a*\x20godoc:\x20allow\x20form\x20feed\x20in\x20text\x20files,\x0a\x09app\x20engine\x20configuration\x20and\x20updated\x20documentation.\x0a*\x20goinstall:\x20abort\x20and\x20warn\x20when\x20using\x20any\x20url\x20scheme,\x20not\x20just\x20'http://',\x0a\x09write\x20to\x20goinstall.log\x20in\x20respective\x20GOPATH.\x0a*\x20html:\x20handle\x20character\x20entities\x20without\x20semicolons\x20(thanks\x20Andrew\x20Balholm),\x0a\x09parse\x20misnested\x20formatting\x20tags\x20according\x20to\x20the\x20HTML5\x20spec,\x0a\x09sync\x20html/testdata/webkit\x20with\x20upstream\x20WebKit.\x0a*\x20http:\x20content-type\x20sniffing,\x0a\x09make\x20serveFile\x20redirects\x20relative\x20(thanks\x20Andrew\x20Balholm),\x0a\x09other\x20fixes.\x0a*\x20image/tiff:\x20Do\x20not\x20panic\x20when\x20RowsPerStrip\x20is\x20missing\x20(thanks\x20Benny\x20Siegert).\x0a*\x20io/ioutil:\x20improve\x20performance\x20of\x20ioutil.Discard\x20(thanks\x20Mike\x20Solomon).\x0a*\x20ld:\x20detect\x20all\x20import\x20cycles,\x0a\x09ldpe\x20fixes\x20(thanks\x20Wei\x20Guangjing),\x0a\x09remove\x20cseekend\x20and\x20redo\x20pe\x20writing\x20(thanks\x20Alex\x20Brainman),\x0a\x09remove\x20overlap\x20of\x20ELF\x20sections\x20on\x20dynamic\x20binaries\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20net/textproto:\x20avoid\x201\x20copy\x20in\x20ReadLine,\x20ReadContinuedLine.\x0a*\x20net:\x20fix\x20memory\x20corruption\x20in\x20windows\x20*netFD.ReadFrom\x20(thanks\x20Alex\x20Brainman).\x0a*\x20runtime:\x20faster\x20entersyscall/exitsyscall,\x0a\x09fix\x20scheduler\x20races\x20(thanks\x20Hector\x20Chu),\x0a\x09higher\x20goroutine\x20arg\x20limit,\x20clearer\x20error,\x0a\x09parallelism-related\x20performance\x20optimizations\x20and\x20fixes,\x0a\x09replace\x20byte-at-a-time\x20zeroing\x20loop\x20with\x20memclr\x20(thanks\x20Quan\x20Yong\x20Zhai).\x0a*\x20sort:\x20fix\x20Float64Slice\x20sort;\x20NaN\x20smallest\x20value\x20(thanks\x20Florian\x20Uekermann).\x0a*\x20src:\x20removed\x20some\x20uses\x20of\x20container/vector\x20(thanks\x20John\x20Asmuth).\x0a*\x20sync:\x20improve\x20Once\x20fast\x20path.\x0a*\x20unicode:\x20fix\x20case-mapping\x20for\x20roman\x20numerals.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-07-19\">2011-07-19</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20a\x20language\x20change\x20and\x20a\x20change\x20to\x20the\x20image\x0apackage\x20that\x20may\x20require\x20changes\x20to\x20client\x20code.\x0a\x0aThe\x20language\x20change\x20is\x20that\x20an\x20\"else\"\x20block\x20is\x20now\x20required\x20to\x20have\x20braces\x0aexcept\x20if\x20the\x20body\x20of\x20the\x20\"else\"\x20is\x20another\x20\"if\".\x20Since\x20gofmt\x20always\x20puts\x20those\x0abraces\x20in\x20anyway,\x20programs\x20will\x20not\x20be\x20affected\x20unless\x20they\x20contain\x20\"else\x20for\",\x0a\"else\x20switch\",\x20or\x20\"else\x20select\".\x20Run\x20gofmt\x20to\x20fix\x20any\x20such\x20programs.\x0a\x0aThe\x20image\x20package\x20has\x20had\x20significant\x20changes\x20made\x20to\x20the\x20Pix\x20field\x20of\x20struct\x0atypes\x20such\x20as\x20image.RGBA\x20and\x20image.NRGBA.\x20The\x20image.Image\x20interface\x20type\x20has\x0anot\x20changed,\x20though,\x20and\x20you\x20should\x20not\x20need\x20to\x20change\x20your\x20code\x20if\x20you\x20don't\x0aexplicitly\x20refer\x20to\x20Pix\x20fields.\x20For\x20example,\x20if\x20you\x20decode\x20a\x20number\x20of\x20images\x0ausing\x20the\x20image/jpeg\x20package,\x20compose\x20them\x20using\x20image/draw,\x20and\x20then\x20encode\x0athe\x20result\x20using\x20image/png,\x20then\x20your\x20code\x20should\x20still\x20work\x20as\x20before.\x0a\x0aIf\x20you\x20do\x20explicitly\x20refer\x20to\x20Pix\x20fields,\x20there\x20are\x20two\x20changes.\x20\x20First,\x20Pix[0]\x0anow\x20refers\x20to\x20the\x20pixel\x20at\x20Bounds().Min\x20instead\x20of\x20the\x20pixel\x20at\x20(0,\x200).\x20Second,\x0athe\x20element\x20type\x20of\x20the\x20Pix\x20slice\x20is\x20now\x20uint8\x20instead\x20of\x20image.FooColor.\x20For\x0aexample,\x20for\x20an\x20image.RGBA,\x20the\x20channel\x20values\x20will\x20be\x20packed\x20R,\x20G,\x20B,\x20A,\x20R,\x20G,\x0aB,\x20A,\x20etc.\x20For\x2016-bits-per-channel\x20color\x20types,\x20the\x20pixel\x20data\x20will\x20be\x20stored\x0aas\x20big-endian\x20uint8s.\x0a\x0aMost\x20Pix\x20field\x20types\x20have\x20changed,\x20and\x20so\x20if\x20your\x20code\x20still\x20compiles\x20after\x0athis\x20change,\x20then\x20you\x20probably\x20don't\x20need\x20to\x20make\x20any\x20further\x20changes\x20(unless\x0ayou\x20use\x20an\x20image.Paletted's\x20Pix\x20field).\x20If\x20you\x20do\x20get\x20compiler\x20errors,\x20code\x0athat\x20used\x20to\x20look\x20like\x20this:\x0a\x0a\x09//\x20Get\x20the\x20R,\x20G,\x20B,\x20A\x20values\x20for\x20the\x20pixel\x20at\x20(x,\x20y).\x0a\x09var\x20m\x20*image.RGBA\x20=\x20loadAnImage()\x0a\x09c\x20:=\x20m.Pix[y*m.Stride\x20+\x20x]\x0a\x09r,\x20g,\x20b,\x20a\x20:=\x20c.R,\x20c.G,\x20c.B,\x20c.A\x0a\x0ashould\x20now\x20look\x20like\x20this:\x0a\x0a\x09//\x20Get\x20the\x20R,\x20G,\x20B,\x20A\x20values\x20for\x20the\x20pixel\x20at\x20(x,\x20y).\x0a\x09var\x20m\x20*image.RGBA\x20=\x20loadAnImage()\x0a\x09i\x20:=\x20(y-m.Rect.Min.Y)*m.Stride\x20+\x20(x-m.Rect.Min.X)*4\x0a\x09r\x20:=\x20m.Pix[i+0]\x0a\x09g\x20:=\x20m.Pix[i+1]\x0a\x09b\x20:=\x20m.Pix[i+2]\x0a\x09a\x20:=\x20m.Pix[i+3]\x0a\x0aThis\x20image\x20package\x20change\x20will\x20not\x20be\x20fixed\x20by\x20gofix:\x20how\x20best\x20to\x20translate\x0acode\x20into\x20something\x20efficient\x20and\x20idiomatic\x20depends\x20on\x20the\x20surrounding\x20context,\x0aand\x20is\x20not\x20easily\x20automatable.\x20Examples\x20of\x20what\x20to\x20do\x20can\x20be\x20found\x20in\x20the\x0achanges\x20to\x20image/draw/draw.go\x20in\x20http://codereview.appspot.com/4675076/\x0a\x0aOther\x20changes:\x0a*\x206l:\x20change\x20default\x20output\x20name\x20to\x206.out.exe\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20archive/zip:\x20add\x20Writer,\x0a\x09add\x20Mtime_ns\x20function\x20to\x20get\x20modified\x20time\x20in\x20sensible\x20format.\x0a*\x20cc,\x20ld,\x20gc:\x20fixes\x20for\x20Plan\x209\x20build\x20(thanks\x20Lucio\x20De\x20Re).\x0a*\x20cgi:\x20close\x20stdout\x20reader\x20pipe\x20when\x20finished.\x0a*\x20cgo:\x20add\x20missing\x20semicolon\x20in\x20generated\x20struct,\x0a\x09windows\x20amd64\x20port\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20codereview:\x20fix\x20for\x20Mercurial\x201.9.\x0a*\x20dashboard:\x20list\x20\"most\x20installed\x20this\x20week\"\x20with\x20rolling\x20count.\x0a*\x20debug/elf:\x20read\x20ELF\x20Program\x20headers\x20(thanks\x20Matthew\x20Horsnell).\x0a*\x20debug/pe:\x20fixes\x20ImportedSymbols\x20for\x20Win64\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20debug/proc:\x20remove\x20unused\x20package.\x0a*\x20doc/talks/io2010:\x20update\x20with\x20gofix\x20and\x20handle\x20the\x20errors.\x0a*\x20exp/eval,\x20exp/ogle:\x20remove\x20packages\x20eval\x20and\x20ogle.\x0a*\x20exp/regexp/syntax:\x20add\x20Prog.NumCap.\x0a*\x20exp/template:\x20API\x20changes,\x20bug\x20fixes,\x20and\x20tweaks.\x0a*\x20flag:\x20make\x20-help\x20nicer.\x0a*\x20fmt:\x20Scan(&amp;int)\x20was\x20mishandling\x20a\x20lone\x20digit.\x0a*\x20gc:\x20fix\x20closure\x20bug,\x0a\x09fix\x20to\x20build\x20with\x20clang\x20(thanks\x20Dave\x20Cheney),\x0a\x09make\x20size\x20of\x20struct{}\x20and\x20[0]byte\x200\x20bytes\x20(thanks\x20Robert\x20Hencke),\x0a\x09some\x20enhancements\x20to\x20printing\x20debug\x20info.\x0a*\x20gif:\x20fix\x20local\x20color\x20map\x20and\x20coordinates.\x0a*\x20go/build:\x20fixes\x20for\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09include\x20processing\x20of\x20.c\x20files\x20for\x20cgo\x20packages\x20(thanks\x20Alex\x20Brainman),\x0a\x09less\x20aggressive\x20failure\x20when\x20GOROOT\x20not\x20found.\x0a*\x20go/printer:\x20changed\x20max.\x20number\x20of\x20newlines\x20from\x203\x20to\x202.\x0a*\x20gob:\x20register\x20more\x20slice\x20types\x20(thanks\x20Bobby\x20Powers).\x0a*\x20godoc:\x20support\x20for\x20file\x20systems\x20stored\x20in\x20.zip\x20files.\x0a*\x20goinstall,\x20dashboard:\x20Google\x20Code\x20now\x20supports\x20git\x20(thanks\x20Tarmigan\x20Casebolt).\x0a*\x20hash/crc32:\x20add\x20SSE4.2\x20support.\x0a*\x20html:\x20update\x20section\x20references\x20in\x20comments\x20to\x20the\x20latest\x20HTML5\x20spec.\x0a*\x20http:\x20drain\x20the\x20pipe\x20output\x20in\x20TestHandlerPanic\x20to\x20avoid\x20logging\x20deadlock,\x0a\x09fix\x20Content-Type\x20of\x20file\x20extension\x20(thanks\x20Yasuhiro\x20Matsumoto),\x0a\x09implement\x20http.FileSystem\x20for\x20zip\x20files,\x0a\x09let\x20FileServer\x20work\x20when\x20path\x20doesn't\x20begin\x20with\x20a\x20slash,\x0a\x09support\x20for\x20periodic\x20flushing\x20in\x20ReverseProxy.\x0a*\x20image/draw:\x20add\x20benchmarks.\x0a*\x20json:\x20add\x20omitempty\x20struct\x20tag\x20option,\x0a\x09allow\x20using\x20'$'\x20and\x20'-'\x20as\x20the\x20struct\x20field's\x20tag\x20(thanks\x20Mikio\x20Hara),\x0a\x09encode\x20\\r\x20and\x20\\n\x20in\x20strings\x20as\x20e.g.\x20\"\\n\",\x20not\x20\"\\u000A\"\x20(thanks\x20Evan\x20Martin),\x0a\x09escape\x20<\x20and\x20>\x20in\x20any\x20JSON\x20string\x20for\x20XSS\x20prevention.\x0a*\x20ld:\x20allow\x20seek\x20within\x20write\x20buffer<\x0a\x09add\x20a\x20PT_LOAD\x20PHDR\x20entry\x20for\x20the\x20PHDR\x20(thanks\x20David\x20Anderson).\x0a*\x20net:\x20windows/amd64\x20port\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20os:\x20plan9:\x20add\x20Process.Signal\x20as\x20a\x20way\x20to\x20send\x20notes\x20(thanks\x20Yuval\x20Pavel\x20Zholkover).\x0a*\x20os:\x20don't\x20permit\x20Process.Signal\x20after\x20a\x20successful\x20Wait.\x0a*\x20path/filepath:\x20fixes\x20for\x20windows\x20paths\x20(thanks\x20Alex\x20Brainman).\x0a*\x20reflect:\x20add\x20Value.NumMethod,\x0a\x09panic\x20if\x20Method\x20index\x20is\x20out\x20of\x20range\x20for\x20a\x20type.\x0a*\x20runtime:\x20faster\x20entersyscall,\x20exitsyscall,\x0a\x09fix\x20panic\x20for\x20make(chan\x20[0]byte),\x0a\x09fix\x20subtle\x20select\x20bug\x20(thanks\x20Hector\x20Chu),\x0a\x09make\x20goc2c\x20build\x20on\x20Plan\x209\x20(thanks\x20Lucio\x20De\x20Re),\x0a\x09make\x20TestSideEffectOrder\x20work\x20twice,\x0a\x09several\x20parallelism-related\x20optimizations\x20and\x20fixes,\x0a\x09stdcall_raw\x20stack\x2016byte\x20align\x20for\x20Win64\x20(thanks\x20Wei\x20Guangjing),\x0a\x09string-related\x20optimizations\x20(thanks\x20Quan\x20Yong\x20Zhai),\x0a\x09track\x20running\x20goroutine\x20count.\x0a*\x20strconv:\x20handle\x20[-+]Infinity\x20in\x20atof.\x0a*\x20sync:\x20add\x20fast\x20paths\x20to\x20WaitGroup,\x0a\x09improve\x20RWMutex\x20performance.\x0a*\x20syscall:\x20add\x20Flock\x20on\x20Linux,\x0a\x09parse\x20and\x20encode\x20SCM_RIGHTS\x20and\x20SCM_CREDENTIALS\x20(thanks\x20Albert\x20Strasheim).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-07-07\">2011-07-07\x20(<a\x20href=\"release.html#r59\">base\x20for\x20r59</a>)</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20snapshot\x20includes\x20changes\x20to\x20the\x20strings,\x20http,\x20reflect,\x20json,\x20and\x0axml\x20packages.\x20Code\x20that\x20uses\x20these\x20packages\x20will\x20need\x20changes.\x20Most\x20of\x20these\x0achanges\x20can\x20be\x20made\x20automatically\x20with\x20gofix.\x0a\x0aThe\x20strings\x20package's\x20Split\x20function\x20has\x20itself\x20been\x20split\x20into\x20Split\x20and\x0aSplitN.\x20SplitN\x20is\x20the\x20same\x20as\x20the\x20old\x20Split.\x20The\x20new\x20Split\x20is\x20equivalent\x20to\x0aSplitN\x20with\x20a\x20final\x20argument\x20of\x20-1.\x0a\x0aThe\x20http\x20package\x20has\x20a\x20new\x20FileSystem\x20interface\x20that\x20provides\x20access\x20to\x20files.\x0aThe\x20FileServer\x20helper\x20now\x20takes\x20a\x20FileSystem\x20argument\x20instead\x20of\x20an\x20explicit\x0afile\x20system\x20root.\x20By\x20implementing\x20your\x20own\x20FileSystem\x20you\x20can\x20use\x20the\x0aFileServer\x20to\x20serve\x20arbitrary\x20data.\x0a\x0aThe\x20reflect\x20package\x20supports\x20a\x20new\x20struct\x20tag\x20scheme\x20that\x20enables\x20sharing\x20of\x0astruct\x20tags\x20between\x20multiple\x20packages.\x0aIn\x20this\x20scheme,\x20the\x20tags\x20must\x20be\x20of\x20the\x20form:\x0a\x20\x20\x20\x20\x20\x20\x20\x20key:\"value\"\x20key2:\"value2\"\x0areflect.StructField's\x20Tag\x20field\x20now\x20has\x20type\x20StructTag\x20(a\x20string\x20type),\x20which\x0ahas\x20method\x20Get(key\x20string)\x20string\x20that\x20returns\x20the\x20associated\x20value.\x0aClients\x20of\x20json\x20and\x20xml\x20will\x20need\x20to\x20be\x20updated.\x20Code\x20that\x20says\x0a\x20\x20\x20\x20\x20\x20\x20\x20type\x20T\x20struct\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20X\x20int\x20\"name\"\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0ashould\x20become\x0a\x20\x20\x20\x20\x20\x20\x20\x20type\x20T\x20struct\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20X\x20int\x20`json:\"name\"`\x20\x20//\x20or\x20`xml:\"name\"`\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0aUse\x20govet\x20to\x20identify\x20struct\x20tags\x20that\x20need\x20to\x20be\x20changed\x20to\x20use\x20the\x20new\x20syntax.\x0a\x0aOther\x20changes:\x0a*\x205l,\x206l,\x208l:\x20drop\x20use\x20of\x20ed\x20during\x20build.\x0a*\x20asn1:\x20support\x20T61\x20and\x20UTF8\x20string.\x0a*\x20bufio:\x20do\x20not\x20cache\x20Read\x20errors\x20(thanks\x20Graham\x20Miller).\x0a*\x20build:\x20make\x20version.bash\x20aware\x20of\x20branches.\x0a*\x20cgi:\x20don't\x20depend\x20on\x20CGI.pm\x20for\x20tests.\x0a*\x20codereview:\x20make\x20--ignore_hgpatch_failure\x20work\x20again,\x0a\x09restrict\x20sync\x20to\x20default\x20branch.\x0a*\x20crypto/openpgp:\x20add\x20ability\x20to\x20reserialize\x20keys,\x0a\x09bug\x20fix\x20(thanks\x20Gideon\x20Jan-Wessel\x20Redelinghuys).\x0a*\x20crypto/tls:\x20fix\x20generate_cert.go.\x0a*\x20crypto/x509:\x20prevent\x20chain\x20cycles\x20in\x20Verify.\x0a*\x20csv:\x20new\x20package.\x0a*\x20doc:\x20remove\x20ed\x20from\x20apt-get\x20package\x20list.\x0a*\x20docs:\x20fold\x20the\x20prog.sh\x20scripting\x20from\x20makehtml\x20into\x20htmlgen\x20itself.\x0a*\x20ebnflint:\x20better\x20handling\x20of\x20stdin.\x0a*\x20exp/regexp/syntax:\x20new\x20experimental\x20RE2-based\x20regexp\x20implementation.\x0a*\x20exp/template:\x20a\x20new\x20experimental\x20templating\x20package.\x0a*\x20fmt:\x20add\x20SkipSpace\x20to\x20fmt's\x20ScanState\x20interface.\x0a*\x20fmt:\x20rename\x20errno\x20and\x20error\x20to\x20err\x20for\x20doc\x20consistency.\x0a*\x20gc:\x20avoid\x20package\x20name\x20ambiguity\x20in\x20error\x20messages,\x0a\x09fix\x20package\x20quoting\x20logic,\x0a\x09fixes\x20for\x20Plan\x209\x20(thanks\x20Lucio\x20De\x20Re).\x0a*\x20go/build:\x20evaluate\x20symlinks\x20before\x20comparing\x20path\x20to\x20GOPATH.\x0a*\x20gob:\x20use\x20exported\x20fields\x20in\x20structs\x20in\x20the\x20package\x20documentation.\x0a*\x20godoc:\x20ignore\x20directories\x20that\x20begin\x20with\x20'.',\x0a\x09search\x20GOPATH\x20for\x20documentation.\x0a*\x20gofix:\x20os/signal,\x20path/filepath,\x20and\x20sort\x20fixes\x20(thanks\x20Robert\x20Hencke),\x0a*\x20goinstall:\x20add\x20support\x20for\x20generic\x20hosts\x20(thanks\x20Julian\x20Phillips),\x0a\x09only\x20report\x20successfully-installed\x20packages\x20to\x20the\x20dashboard,\x0a\x09try\x20to\x20access\x20via\x20https\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20gotest:\x20add\x20-test.benchtime\x20and\x20-test.cpu\x20flags.\x0a*\x20html:\x20fixes\x20and\x20improvements\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20http/cgi:\x20add\x20Handler.Dir\x20to\x20specify\x20working\x20directory\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20http:\x20add\x20StripPrefix\x20handler\x20wrapper,\x0a\x09assume\x20ContentLength\x200\x20on\x20GET\x20requests,\x0a\x09better\x20handling\x20of\x200-length\x20Request.Body,\x0a\x09do\x20TLS\x20handshake\x20explicitly\x20before\x20copying\x20TLS\x20state,\x0a\x09document\x20that\x20ServerConn\x20and\x20ClientConn\x20are\x20low-level,\x0a\x09make\x20NewChunkedReader\x20public\x20(thanks\x20Andrew\x20Balholm),\x0a\x09respect\x20Handlers\x20setting\x20Connection:\x20close\x20in\x20their\x20response.\x0a*\x20image:\x20more\x20tests,\x20Paletted.Opaque\x20optimization.\x0a*\x20io.WriteString:\x20if\x20the\x20object\x20has\x20a\x20WriteString\x20method,\x20use\x20it\x20(thanks\x20Evan\x20Shaw).\x0a*\x20ld:\x20elide\x20the\x20Go\x20symbol\x20table\x20when\x20using\x20-s\x20(thanks\x20Anthony\x20Martin).\x0a*\x20ld:\x20fix\x20ELF\x20strip\x20by\x20removing\x20overlap\x20of\x20sections\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20mime/multipart:\x20parse\x20LF-delimited\x20messages,\x20not\x20just\x20CRLF.\x0a*\x20mime:\x20permit\x20lower-case\x20media\x20type\x20parameters\x20(thanks\x20Pascal\x20S.\x20de\x20Kloe).\x0a*\x20misc/dashboard:\x20new\x20features\x20and\x20improvements\x20(not\x20yet\x20deployed).\x0a*\x20misc/emacs:\x20update\x20list\x20of\x20builtins\x20(thanks\x20Quan\x20Yong\x20Zhai).\x0a*\x20misc/vim:\x20allow\x20only\x20utf-8\x20for\x20file\x20encoding\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20os:\x20fix\x20documentation\x20for\x20FileInfo.Name,\x0a\x09simplify\x20WriteString,\x0a\x09use\x20a\x20different\x20symbol\x20from\x20syscall\x20in\x20mkunixsignals.sh.\x0a*\x20path/filepath:\x20enable\x20TestWalk\x20to\x20run\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20reflect:\x20add\x20MethodByName,\x0a\x09allow\x20Len\x20on\x20String\x20values.\x0a*\x20regexp:\x20document\x20that\x20Regexp\x20is\x20thread-safe.\x0a*\x20runtime/cgo:\x20check\x20for\x20errors\x20from\x20pthread_create\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20runtime:\x20add\x20Semacquire/Semrelease\x20benchmarks,\x0a\x09improved\x20Semacquire/Semrelease\x20implementation,\x0a\x09windows/amd64\x20port\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20sync:\x20add\x20fast\x20path\x20to\x20Once,\x0a\x09improve\x20Mutex\x20to\x20allow\x20successive\x20acquisitions,\x0a\x09new\x20and\x20improved\x20benchmarks.\x0a*\x20syscall:\x20regenerate\x20zerrors\x20for\x20darwin/linux/freebsd,\x0a\x09support\x20for\x20tty\x20options\x20in\x20StartProcess\x20(thanks\x20Ken\x20Rockot).\x0a*\x20testing:\x20make\x20ResetTimer\x20not\x20start/stop\x20the\x20timer,\x0a\x09scale\x20benchmark\x20precision\x20to\x200.01ns\x20if\x20needed.\x0a*\x20time:\x20zero-pad\x20two-digit\x20years.\x0a*\x20unicode/maketables:\x20update\x20debugging\x20data.\x0a*\x20windows:\x20define\x20and\x20use\x20syscall.Handle\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20xml:\x20add\x20Marshal\x20and\x20MarshalIndent.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-06-23\">2011-06-23</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20a\x20language\x20change\x20that\x20restricts\x20the\x20use\x20of\x20goto.\x0aIn\x20essence,\x20a\x20\"goto\"\x20statement\x20outside\x20a\x20block\x20cannot\x20jump\x20to\x20a\x20label\x20inside\x0athat\x20block.\x20Your\x20code\x20may\x20require\x20changes\x20if\x20it\x20uses\x20goto.\x0aThis\x20changeset\x20shows\x20how\x20the\x20new\x20rule\x20affected\x20the\x20Go\x20tree:\x0a\x09http://code.google.com/p/go/source/detail?r=dc6d3cf9279d\x0a\x0aThe\x20os.ErrorString\x20type\x20has\x20been\x20hidden.\x20If\x20your\x20code\x20uses\x20os.ErrorString\x20it\x0amust\x20be\x20changed.\x20Most\x20uses\x20of\x20os.ErrorString\x20can\x20be\x20replaced\x20with\x20os.NewError.\x0a\x0aOther\x20changes:\x0a*\x205c:\x20do\x20not\x20use\x20R9\x20and\x20R10.\x0a*\x208l:\x20more\x20fixes\x20for\x20Plan\x209\x20(thanks\x20Lucio\x20De\x20Re).\x0a*\x20build:\x20Make.ccmd:\x20link\x20with\x20mach\x20lib\x20(thanks\x20Joe\x20Poirier).\x0a*\x20build:\x20exclude\x20packages\x20that\x20fail\x20on\x20Plan\x209\x20(thanks\x20Anthony\x20Martin).\x0a*\x20cc:\x20nit:\x20silence\x20comment\x20warnings\x20(thanks\x20Dave\x20Cheney).\x0a*\x20codereview.py:\x20note\x20that\x20hg\x20change\x20-d\x20abandons\x20a\x20change\x20list\x20(thanks\x20Robert\x20Hencke).\x0a*\x20crypto/openpgp:\x20add\x20ElGamal\x20support.\x0a*\x20doc/faq:\x20add\x20question\x20about\x20converting\x20from\x20[]T\x20to\x20[]interface{}.\x0a*\x20doc:\x20Effective\x20Go:\x20fix\x20variadic\x20function\x20example\x20(thanks\x20Ben\x20Lynn).\x0a*\x20exec:\x20LookPath\x20should\x20not\x20search\x20%PATH%\x20for\x20files\x20like\x20c:cmd.exe\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20support\x20for\x20Plan\x209\x20(thanks\x20Anthony\x20Martin),\x0a\x20\x20\x20\x20\x20\x20\x20\x20better\x20error\x20message\x20for\x20windows\x20LookPath\x20(thanks\x20Alex\x20Brainman).\x0a*\x20fmt:\x20catch\x20panics\x20from\x20calls\x20to\x20String\x20etc.\x0a*\x20gc:\x20descriptive\x20panic\x20for\x20nil\x20pointer\x20-&gt;\x20value\x20method\x20call,\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20goto\x20restriction,\x0a\x20\x20\x20\x20\x20\x20\x20\x20unsafe.Alignof,\x20unsafe.Offsetof,\x20unsafe.Sizeof\x20now\x20return\x20uintptr.\x0a*\x20go/build:\x20include\x20Import\x20objects\x20in\x20Script\x20Inputs.\x0a*\x20godefs:\x20rudimentary\x20tests\x20(thanks\x20Robert\x20Hencke).\x0a*\x20goinstall:\x20refactor\x20and\x20generalize\x20repo\x20handling\x20code\x20(thanks\x20Julian\x20Phillips),\x0a\x20\x20\x20\x20\x20\x20\x20\x20temporarily\x20use\x20Makefiles\x20by\x20default\x20(override\x20with\x20-make=false).\x0a*\x20gopprof:\x20update\x20list\x20of\x20memory\x20allocators.\x0a*\x20http:\x20add\x20Server.ListenAndServeTLS,\x0a\x20\x20\x20\x20\x20\x20\x20\x20buffer\x20request.Write,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20req.Cookie(name)\x20with\x20cookies\x20in\x20one\x20header,\x0a\x20\x20\x20\x20\x20\x20\x20\x20permit\x20handlers\x20to\x20explicitly\x20remove\x20the\x20Date\x20header,\x0a\x20\x20\x20\x20\x20\x20\x20\x20write\x20Header\x20keys\x20with\x20empty\x20values.\x0a*\x20image:\x20basic\x20test\x20for\x20the\x2016-bits-per-color-channel\x20types.\x0a*\x20io:\x20clarify\x20Read,\x20ReadAt,\x20Copy,\x20Copyn\x20EOF\x20behavior.\x0a*\x20ld:\x20don't\x20attempt\x20to\x20build\x20dynamic\x20sections\x20unnecessarily\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20libmach:\x20fix\x20disassembly\x20of\x20FCMOVcc\x20and\x20FCOMI\x20(thanks\x20Anthony\x20Martin),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20tracing\x20on\x20linux\x20(for\x20cov)\x20(thanks\x20Anthony\x20Martin).\x0a*\x20mime:\x20fix\x20RFC\x20references\x20(thanks\x20Pascal\x20S.\x20de\x20Kloe).\x0a*\x20misc/gobuilder:\x20run\x20make\x20single-threaded\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20misc/godashboard:\x20Accept\x20sub-directories\x20for\x20goinstall's\x20report\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20nacl,\x20tiny:\x20remove\x20vestiges\x20(thanks\x20Robert\x20Hencke).\x0a*\x20net,\x20syscall:\x20interface\x20for\x20windows\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20os:\x20change\x20Waitmsg\x20String\x20method\x20to\x20use\x20pointer\x20receiver\x20(thanks\x20Graham\x20Miller).\x0a*\x20runtime:\x20don't\x20use\x20twice\x20the\x20memory\x20with\x20grsec-like\x20kernels\x20(thanks\x20Gustavo\x20Niemeyer),\x0a*\x20spec:\x20disallow\x20goto\x20into\x20blocks.\x0a*\x20sync:\x20restore\x20GOMAXPROCS\x20during\x20benchmarks.\x0a*\x20syscall:\x20add\x20LSF\x20support\x20for\x20linux\x20(thanks\x20Mikio\x20Hara),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20socket\x20control\x20message\x20support\x20for\x20darwin,\x20freebsd,\x20linux\x20(thanks\x20Mikio\x20Hara),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20tty\x20support\x20to\x20StartProcess\x20(thanks\x20Ken\x20Rockot),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20build\x20for\x20Sizeof\x20change.\x0a*\x20test:\x20test\x20of\x20goto\x20restrictions.\x0a*\x20time:\x20add\x20support\x20for\x20Plan\x209\x20(thanks\x20Anthony\x20Martin).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-06-16\">2011-06-16</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20changes\x20to\x20the\x20sort\x20and\x20image/draw\x20packages\x20that\x20will\x0arequire\x20changes\x20to\x20client\x20code.\x0a\x0aThe\x20sort.IntArray\x20type\x20has\x20been\x20renamed\x20to\x20IntSlice,\x20and\x20similarly\x20for\x0aStringArray\x20and\x20Float64Array.\x0a\x0aThe\x20image/draw\x20package's\x20Draw\x20function\x20now\x20takes\x20an\x20additional\x20argument,\x0aa\x20compositing\x20operator.\x20If\x20in\x20doubt,\x20use\x20draw.Over.\x0a\x0aOther\x20changes:\x0a*\x20build:\x20fix\x20header\x20files\x20for\x20Plan\x209\x20(thanks\x20Lucio\x20De\x20Re).\x0a*\x20cgo:\x20handle\x20new\x20Apple\x20LLVM-based\x20gcc\x20from\x20Xcode\x204.2.\x0a*\x20crypto/openpgp:\x20add\x20ability\x20to\x20encrypt\x20and\x20sign\x20messages.\x0a*\x20doc/gopher:\x20add\x20goggled\x20gopher\x20logo\x20for\x20App\x20Engine.\x0a*\x20doc:\x20Update\x20notes\x20for\x203-day\x20Go\x20course.\x0a*\x20exec:\x20make\x20LookPath\x20work\x20when\x20PATHEXT\x20var\x20not\x20set\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20exp/regexp/syntax:\x20syntax\x20data\x20structures,\x20parser,\x20escapes,\x20character\x20classes.\x0a*\x20exp/template:\x20lexical\x20scanner\x20for\x20new\x20template\x20package.\x0a*\x20fmt:\x20debugging\x20formats\x20for\x20characters:\x20%+q\x20%#U.\x0a*\x20gc:\x20frame\x20compaction\x20for\x20arm,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20go\x20print()\x20and\x20go\x20println(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20work\x20around\x20goto\x20bug.\x0a*\x20go/build:\x20fixes,\x20self-contained\x20tests.\x0a*\x20go/printer,\x20gofmt:\x20print\x20\"select\x20{}\"\x20on\x20one\x20line.\x0a*\x20godoc:\x20replace\x20OS\x20file\x20system\x20accesses\x20in\x20favor\x20of\x20a\x20FileSystem\x20interface.\x0a*\x20gofix:\x20fix\x20inconsistent\x20indentation\x20in\x20help\x20output\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20goinstall:\x20use\x20go/build\x20package\x20to\x20scan\x20and\x20build\x20packages.\x0a*\x20http/spdy:\x20improve\x20error\x20handling\x20(thanks\x20William\x20Chan).\x0a*\x20http:\x20use\x20runtime/debug.Stack()\x20to\x20dump\x20stack\x20trace\x20on\x20panic.\x0a*\x20ld:\x20dwarf\x20emit\x20filenames\x20in\x20debug_line\x20header\x20instead\x20of\x20as\x20extended\x20opcodes,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20link\x20Windows\x20PE\x20__declspec(dllimport)\x20symbol\x20(thanks\x20Wei\x20Guangjing),\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20.rodata\x20section\x20read-only\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20mail:\x20decode\x20RFC\x202047\x20\"B\"\x20encoding.\x0a*\x20mime/multipart:\x20remove\x20temp\x20files\x20after\x20tests\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20net:\x20export\x20all\x20fields\x20in\x20Interface\x20(thanks\x20Mikio\x20Hara),\x0a\x20\x20\x20\x20\x20\x20\x20\x20rearrange\x20source\x20to\x20run\x20more\x20tests\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20sendfile\x20for\x20win32\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20os:\x20Plan\x209,\x20fix\x20OpenFile\x20&amp;\x20Chmod,\x20add\x20Process.Kill\x20(thanks\x20Yuval\x20Pavel\x20Zholkover).\x0a*\x20runtime:\x20fix\x20Plan\x209\x20\"lingering\x20goroutines\x20bug\"\x20(thanks\x20Yuval\x20Pavel\x20Zholkover).\x0a*\x20spec:\x20clarify\x20rules\x20for\x20append,\x20scope\x20rules\x20for\x20:=,\x0a\x20\x20\x20\x20\x20\x20\x20\x20specify\x20constant\x20conversions,\x0a\x20\x20\x20\x20\x20\x20\x20\x20unsafe.Alignof/Offsetof/Sizeof\x20return\x20uintptr.\x0a*\x20syscall,\x20os,\x20exec:\x20add\x20*syscall.SysProcAttr\x20field\x20to\x20os.ProcAttr\x20and\x20exec.Cmd.\x0a*\x20syscall:\x20add\x20ptrace\x20on\x20darwin\x20(thanks\x20Jeff\x20Hodges),\x0a\x20\x20\x20\x20\x20\x20\x20\x20mksyscall_windows.pl\x20should\x20output\x20unix\x20newline\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20BPF\x20support\x20for\x20BSD\x20variants\x20(thanks\x20Mikio\x20Hara),\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20strict\x20in\x20perl\x20scripts\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20xml:\x20handle\x20non-string\x20attribute\x20fields\x20(thanks\x20Maxim\x20Ushakov).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-06-09\">2011-06-09\x20(<a\x20href=\"release.html#r58\">base\x20for\x20r58</a>)</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20changes\x20to\x20the\x20strconv,\x20http,\x20and\x20exp/draw\x20packages.\x0aClient\x20code\x20that\x20uses\x20the\x20http\x20or\x20exp/draw\x20packages\x20will\x20need\x20to\x20be\x20changed,\x0aand\x20code\x20that\x20uses\x20strconv\x20or\x20fmt's\x20\"%q\"\x20formatting\x20directive\x20merits\x20checking.\x0a\x0aThe\x20strconv\x20package's\x20Quote\x20function\x20now\x20escapes\x20only\x20those\x20Unicode\x20code\x20points\x0anot\x20classified\x20as\x20printable\x20by\x20unicode.IsPrint.\x20Previously\x20Quote\x20would\x20escape\x0aall\x20non-ASCII\x20characters.\x20This\x20also\x20affects\x20the\x20fmt\x20package's\x20\"%q\"\x20formatting\x0adirective.\x20The\x20previous\x20quoting\x20behavior\x20is\x20still\x20available\x20via\x20strconv's\x20new\x0aQuoteToASCII\x20function.\x20\x20\x20\x0a\x0aMost\x20instances\x20of\x20the\x20type\x20map[string][]string\x20in\x20the\x20http\x20package\x20have\x20been\x0areplaced\x20with\x20the\x20new\x20Values\x20type.\x20The\x20http.Values\x20type\x20has\x20the\x20Get,\x20Set,\x20Add,\x0aand\x20Del\x20helper\x20methods\x20to\x20make\x20working\x20with\x20query\x20parameters\x20and\x20form\x20values\x0amore\x20convenient.\x0a\x0aThe\x20exp/draw\x20package\x20has\x20been\x20split\x20into\x20the\x20image/draw\x20and\x20exp/gui\x20packages.\x0a\x0aOther\x20changes:\x0a*\x208l,\x20ld:\x20initial\x20adjustments\x20for\x20Plan\x209\x20native\x20compilation\x20of\x208l\x20(thanks\x20Lucio\x20De\x20Re).\x0a*\x20arm:\x20floating\x20point\x20improvements\x20(thanks\x20Fan\x20Hongjian).\x0a*\x20big:\x20Improved\x20speed\x20of\x20nat-to-string\x20conversion\x20(thanks\x20Michael\x20T.\x20Jones),\x0a\x20\x20\x20\x20\x20\x20\x20\x20Rat\x20outputs\x20the\x20requested\x20precision\x20from\x20FloatString\x20(thanks\x20Graham\x20Miller),\x0a\x20\x20\x20\x20\x20\x20\x20\x20gobs\x20for\x20big.Rats.\x0a*\x20cgo:\x20support\x20non\x20intel\x20gcc\x20machine\x20flags\x20(thanks\x20Dave\x20Cheney).\x0a*\x20compress/lzw:\x20do\x20not\x20use\x20background\x20goroutines,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reduce\x20decoder\x20buffer\x20size\x20from\x203*4096\x20to\x202*4096.\x0a*\x20crypto/twofish:\x20fix\x20Reset\x20index\x20overflow\x20bug.\x0a*\x20crypto:\x20reorg,\x20cleanup\x20and\x20add\x20function\x20for\x20generating\x20CRLs.\x0a*\x20exec:\x20export\x20the\x20underlying\x20*os.Process\x20in\x20Cmd.\x0a*\x20gc:\x20enable\x20building\x20under\x20clang/2.9\x20(thanks\x20Dave\x20Cheney),\x0a\x20\x20\x20\x20\x20\x20\x20\x20preparatory\x20work\x20toward\x20escape\x20analysis,\x20compact\x20stack\x20frames.\x0a*\x20go/build:\x20new\x20incomplete\x20package\x20for\x20building\x20go\x20programs.\x0a*\x20godefs:\x20do\x20not\x20assume\x20forward\x20type\x20references\x20are\x20enums\x20(thanks\x20Robert\x20Hencke).\x0a*\x20gofix,\x20gofmt:\x20fix\x20diff\x20regression\x20from\x20exec\x20change.\x0a*\x20html:\x20improve\x20attribute\x20parsing,\x20note\x20package\x20status.\x0a*\x20http:\x20don't\x20fail\x20on\x20accept\x20hitting\x20EMFILE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20handling\x20of\x200-length\x20HTTP\x20requests.\x0a*\x20image/draw:\x20fix\x20clipping\x20bug\x20where\x20sp/mp\x20were\x20not\x20shifted\x20when\x20r.Min\x20was.\x0a*\x20image/gif:\x20fix\x20buglet\x20in\x20graphics\x20extension.\x0a*\x20image/tiff:\x20support\x20for\x20bit\x20depths\x20other\x20than\x208\x20(thanks\x20Benny\x20Siegert).\x0a*\x20ld:\x20fix\x20and\x20simplify\x20ELF\x20symbol\x20generation\x20(thanks\x20Anthony\x20Martin)\x0a*\x20libmach:\x20use\x20the\x20standardized\x20format\x20for\x20designated\x20initializers\x20(thanks\x20Jeff\x20Hodges)\x0a*\x20mail:\x20address\x20list\x20parsing.\x0a*\x20net:\x20add\x20network\x20interface\x20identification\x20API\x20(thanks\x20Mikio\x20Hara),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20bug\x20in\x20net.Interfaces:\x20handle\x20elastic\x20sdl_data\x20size\x20correctly\x20(thanks\x20Mikio\x20Hara).\x0a*\x20netchan:\x20added\x20drain\x20method\x20to\x20importer\x20(thanks\x20David\x20Jakob\x20Fritz).\x0a*\x20os:\x20add\x20Process.Kill\x20and\x20Process.Signal\x20(thanks\x20Evan\x20Shaw),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20Getenv\x20for\x20Plan\x209\x20(thanks\x20Yuval\x20Pavel\x20Zholkover).\x0a*\x20runtime:\x20improve\x20memmove\x20by\x20checking\x20memory\x20overlap\x20(thanks\x20Quan\x20Yong\x20Zhai),\x0a\x20\x20\x20\x20\x20\x20\x20\x20support\x20for\x20Linux\x20grsecurity\x20systems\x20(thanks\x20Jonathan\x20Mark).\x0a*\x20spec:\x20handle\x20a\x20corner\x20case\x20for\x20shifts.\x0a*\x20testing:\x20check\x20that\x20tests\x20and\x20benchmarks\x20do\x20not\x20affect\x20GOMAXPROCS\x20(thanks\x20Dmitriy\x20Vyukov).\x0a*\x20unicode:\x20add\x20IsPrint\x20and\x20related\x20properties,\x20general\x20categories.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-06-02\">2011-06-02</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20changes\x20to\x20the\x20exec\x20package\x20that\x20will\x20require\x20changes\x0ato\x20client\x20code.\x0a\x0aThe\x20exec\x20package\x20has\x20been\x20re-designed\x20with\x20a\x20more\x20convenient\x20and\x20succinct\x20API.\x0aThis\x20code:\x0a\x09args\x20:=\x20[]string{\"diff\",\x20\"-u\",\x20\"file1.txt\",\x20\"file2.txt\"}\x0a\x09p,\x20err\x20:=\x20exec.Run(\"/usr/bin/diff\",\x20args,\x20os.Environ(),\x20\"\",\x0a\x09\x09exec.DevNull,\x20exec.Pipe,\x20exec.DevNull)\x0a\x09if\x20err\x20!=\x20nil\x20{\x0a\x09\x09return\x20nil,\x20err\x0a\x09}\x0a\x09var\x20buf\x20bytes.Buffer\x0a\x09io.Copy(&amp;buf,\x20p.Stdout)\x0a\x09w,\x20err\x20:=\x20p.Wait(0)\x0a\x09p.Close()\x0a\x09if\x20err\x20!=\x20nil\x20{\x0a\x09\x09return\x20nil,\x20err\x0a\x09}\x0a\x09return\x20buf.Bytes(),\x20err\x0acan\x20be\x20rewritten\x20as:\x0a\x09return\x20exec.Command(\"diff\",\x20\"-u\",\x20\"file1.txt\",\x20\"file2.txt\").Output()\x0aSee\x20the\x20exec\x20package\x20documentation\x20for\x20the\x20details\x20(\"godoc\x20exec\").\x0a\x0aBy\x20setting\x20the\x20GOPATH\x20environment\x20variable\x20you\x20can\x20use\x20goinstall\x20to\x20build\x20and\x0ainstall\x20your\x20own\x20code\x20and\x20external\x20libraries\x20outside\x20of\x20the\x20Go\x20tree\x20(and\x20avoid\x0awriting\x20Makefiles).\x0aSee\x20the\x20goinstall\x20command\x20documentation\x20for\x20the\x20details\x20(\"godoc\x20goinstall\").\x0a\x0aOther\x20changes:\x0a*\x205g:\x20alignment\x20fixes.\x0a*\x206l,\x208l:\x20fix\x20Mach-O\x20binaries\x20with\x20many\x20dynamic\x20libraries.\x0a*\x208l:\x20emit\x20resources\x20(.rsrc)\x20in\x20Windows\x20PE.\x20\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20asn1:\x20fix\x20marshaling\x20of\x20empty\x20optional\x20RawValues\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20big:\x20make\x20Int\x20and\x20Rat\x20implement\x20fmt.Scanner\x20(thanks\x20Evan\x20Shaw),\x0a\x09~8x\x20faster\x20number\x20scanning,\x0a\x09remove\x20some\x20unnecessary\x20conversions.\x0a*\x20cgo:\x20restrict\x20#cgo\x20directives\x20to\x20prevent\x20shell\x20expansion\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09support\x20pkg-config\x20for\x20flags\x20and\x20libs\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20compress/flate:\x20fix\x20Huffman\x20tree\x20bug,\x0a\x09do\x20not\x20use\x20background\x20goroutines.\x0a*\x20crypto/openpgp:\x20add\x20support\x20for\x20symmetrically\x20encrypting\x20files.\x0a*\x20crypto/tls/generate_cert.go:\x20fix\x20misspelling\x20of\x20O_CREATE.\x0a*\x20dashboard:\x20send\x20notification\x20emails\x20when\x20the\x20build\x20breaks.\x0a*\x20doc:\x20mention\x20go/printer\x20instead\x20of\x20container/vector\x20in\x20effective\x20go,\x0a\x09put\x20Release\x20History\x20link\x20on\x20'Documentation'\x20page,\x0a\x09put\x20Weekly\x20Snapshot\x20History\x20link\x20on\x20'Contributing'\x20page.\x0a*\x20encoding/base64:\x20add\x20DecodeString\x20and\x20EncodeToString.\x0a*\x20encoding/binary:\x20add\x20a\x20non-reflect\x20fast\x20path\x20for\x20Read,\x0a\x09add\x20a\x20non-reflect\x20fast\x20path\x20for\x20Write.\x0a*\x20encoding/hex:\x20add\x20hex\x20dumping.\x0a*\x20encoding/line:\x20delete\x20package.\x20Its\x20functionality\x20is\x20now\x20in\x20bufio.\x0a*\x20filepath:\x20Abs\x20must\x20always\x20return\x20a\x20clean\x20path\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20fmt:\x20fix\x20bug\x20in\x20UnreadRune,\x0a\x09make\x20%q\x20work\x20for\x20integers,\x20printing\x20a\x20quoted\x20character\x20literal,\x0a\x09return\x20EOF\x20when\x20out\x20of\x20input\x20in\x20Scan*.\x0a*\x20gc:\x20check\x20parameter\x20declarations\x20in\x20interface\x20fields\x20(thanks\x20Anthony\x20Martin),\x0a\x09disallow\x20...\x20in\x20type\x20conversions\x20(thanks\x20Anthony\x20Martin),\x0a\x09do\x20not\x20force\x20heap\x20allocation\x20on\x20referencing\x20outer\x20variable\x20in\x20a\x20closure,\x0a\x09fix\x20m[x],\x20_\x20=\x20y.(T),\x0a\x09implement\x20new\x20shift\x20rules,\x0a\x09patch\x20y.tab.c\x20to\x20fix\x20build\x20when\x20using\x20Bison\x202.5,\x0a\x09relax\x20assignability\x20of\x20method\x20receivers\x20(thanks\x20Anthony\x20Martin),\x0a\x09typecheck\x20the\x20whole\x20tree\x20before\x20walking.\x0a*\x20go/scanner:\x20don't\x20allow\x20\"0x\"\x20and\x20\"0X\"\x20as\x20integers\x20(thanks\x20Evan\x20Shaw).\x0a*\x20gobuilder:\x20fixes\x20for\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20godoc:\x20basic\x20setup\x20for\x20running\x20godoc\x20on\x20local\x20app\x20engine\x20emulator,\x0a\x09display\x20advert\x20for\x20the\x20package\x20dashboard\x20on\x20package\x20list\x20page.\x0a*\x20goinstall:\x20fixes\x20for\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09more\x20verbose\x20logging\x20with\x20-v.\x0a*\x20gotest,\x20pkg/exec:\x20use\x20bash\x20to\x20run\x20shell\x20scripts\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20http/spdy:\x20redo\x20interfaces,\x20flesh\x20out\x20implementation\x20&amp;\x20frame\x20types\x20(thanks\x20William\x20Chan).\x0a*\x20http:\x20Transport\x20hook\x20to\x20register\x20non-http(s)\x20protocols,\x0a\x09add\x20client+server\x20benchmark,\x0a\x09catch\x20Handler\x20goroutine\x20panics,\x0a\x09fix\x20Set-Cookie\x20date\x20parsing,\x0a\x09have\x20client\x20set\x20Content-Length\x20when\x20possible,\x0a\x09let\x20Transport\x20use\x20a\x20custom\x20net.Dial\x20function,\x0a\x09propagate\x20Set-Cookie\x20in\x20reverse\x20proxy,\x0a\x09ServeFile\x20shouldn't\x20send\x20Content-Length\x20when\x20Content-Encoding\x20is\x20set.\x0a*\x20image:\x20add\x20a\x20SubImage\x20method.\x0a*\x20image/gif:\x20simplify\x20blockReader.Read.\x0a*\x20image/png:\x20fix\x20encoding\x20of\x20images\x20that\x20don't\x20start\x20at\x20(0,\x200).\x0a*\x20io,\x20net,\x20http:\x20sendfile\x20support.\x0a*\x20io:\x20add\x20ByteScanner,\x20RuneScanner\x20interfaces.\x0a*\x20ld:\x20add\x20-w\x20to\x20disable\x20dwarf,\x20make\x20errors\x20obviously\x20from\x20dwarf.\x0a*\x20mail:\x20new\x20package.\x0a*\x20mime/multipart:\x20misc\x20code/doc\x20fixes.\x0a*\x20misc/cgo:\x20remove\x20reference\x20to\x20'destroy'\x20function.\x0a*\x20misc/emacs:\x20don't\x20select\x20the\x20mark\x20after\x20gofmt\x20(thanks\x20Eric\x20Eisner).\x0a*\x20misc/gophertool:\x20Chrome\x20extension\x20to\x20aid\x20in\x20Go\x20development\x0a*\x20misc/vim:\x20limit\x20Fmt\x20command\x20to\x20Go\x20buffers\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20net:\x20if\x20we\x20stop\x20polling,\x20remove\x20any\x20pending\x20events\x20for\x20the\x20socket,\x0a\x09update\x20IP\x20multicast\x20socket\x20options\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os:\x20Fix\x20test\x20to\x20work\x20on\x20Solaris,\x0a\x09fix\x20Readdir(0)\x20on\x20EOF,\x0a\x09fix\x20Readdir,\x20Readdirnames\x20(thanks\x20Yuval\x20Pavel\x20Zholkover),\x0a\x09fix\x20os.MkdirAll\x20with\x20backslash\x20path\x20separator\x20(thanks\x20Yasuhiro\x20Matsumoto),\x0a\x09handle\x20OpenFile\x20flag\x20parameter\x20properly\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20path/filepath:\x20remove\x20string\x20constants.\x0a*\x20pkg:\x20spelling\x20tweaks,\x20I-Z\x20(thanks\x20Robert\x20Hencke).\x0a*\x20quietgcc:\x20fix\x20typo,\x20respect\x20$TMPDIR.\x0a*\x20runtime:\x20do\x20not\x20garbage\x20collect\x20windows\x20callbacks\x20(thanks\x20Alex\x20Brainman),\x0a\x09fix\x20mmap\x20error\x20return\x20on\x20linux\x20(thanks\x20Dmitry\x20Chestnykh),\x0a\x09reset\x20GOMAXPROCS\x20during\x20tests,\x0a\x09save\x20cdecl\x20registers\x20in\x20Windows\x20SEH\x20handler\x20(thanks\x20Alexey\x20Borzenkov).\x0a*\x20spec:\x20be\x20precise\x20with\x20the\x20use\x20of\x20the\x20informal\x20ellipsis\x20and\x20the\x20Go\x20token,\x0a\x09clarify\x20rules\x20for\x20shifts.\x0a*\x20strconv:\x20add\x20QuoteRune;\x20analogous\x20to\x20Quote\x20but\x20for\x20runes\x20rather\x20than\x20strings.\x0a*\x20strings:\x20implement\x20UnreadByte,\x20UnreadRune.\x0a*\x20sync:\x20always\x20wake\x20up\x20sleeping\x20goroutines\x20on\x20Cond.Signal\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20sync/atomic:\x20fix\x20check64.\x0a*\x20syscall:\x20add\x20ProcAttr\x20field\x20to\x20pass\x20an\x20unescaped\x20command\x20line\x20on\x20windows\x20(thanks\x20Vincent\x20Vanackere),\x0a\x09add\x20routing\x20messages\x20support\x20for\x20Linux\x20and\x20BSD\x20(thanks\x20Mikio\x20Hara).\x0a*\x20template:\x20fixes\x20and\x20clean-ups\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20time:\x20fix\x20Format\x20bug:\x20midnight/noon\x20are\x2012AM/PM\x20not\x200AM/PM.\x0a*\x20unicode:\x20make\x20the\x20tables\x20smaller.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-05-22\">2011-05-22</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20changes\x20to\x20the\x20http\x20package\x20that\x20will\x20require\x20changes\x20to\x0aclient\x20code.\x0a\x0aThe\x20finalURL\x20return\x20value\x20of\x20the\x20Client.Get\x20method\x20has\x20been\x20removed.\x0aThis\x20value\x20is\x20now\x20accessible\x20via\x20the\x20new\x20Request\x20field\x20on\x20http.Response.\x0aFor\x20example,\x20this\x20code:\x0a\x0a\x09res,\x20finalURL,\x20err\x20:=\x20http.Get(...)\x0a\x0ashould\x20be\x20rewritten\x20as:\x0a\x0a\x09res,\x20err\x20:=\x20http.Get(...)\x0a\x09if\x20err\x20!=\x20nil\x20{\x0a\x09\x09//\x20...\x0a\x09}\x0a\x09finalURL\x20:=\x20res.Request.URL.String()\x0a\x0aUses\x20of\x20http.Get\x20that\x20assign\x20the\x20finalURL\x20value\x20to\x20_\x20can\x20be\x20rewritten\x0aautomatically\x20with\x20gofix.\x0a\x0aThis\x20snapshot\x20also\x20includes\x20an\x20optimization\x20to\x20the\x20append\x20function\x20that\x20makes\x20it\x0abetween\x202\x20and\x205\x20times\x20faster\x20in\x20typical\x20use\x20cases.\x0a\x0aOther\x20changes:\x0a*\x205a,\x206a,\x208a,\x20cc:\x20remove\x20old\x20environment\x20variables.\x0a*\x205c,\x205g:\x20fix\x20build\x20with\x20too-smart\x20gcc.\x0a*\x205l,\x208l:\x20add\x20ELF\x20symbol\x20table\x20to\x20binary.\x0a*\x205l:\x20delete\x20pre-ARMv4\x20instruction\x20implementations,\x20other\x20fixes.\x0a*\x206l,\x208l:\x20emit\x20windows\x20dwarf\x20sections\x20like\x20other\x20platforms\x20(thanks\x20Alex\x20Brainman).\x0a*\x206l:\x20fix\x20emit\x20windows\x20dwarf\x20sections\x20(thanks\x20Wei\x20Guangjing).\x0a*\x208g:\x20fix\x20conversion\x20from\x20float\x20to\x20uint64\x20(thanks\x20Anthony\x20Martin).\x0a*\x20Make.cmd:\x20create\x20TARGDIR\x20if\x20necessary\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20asn1:\x20add\x20big\x20support.\x0a*\x20big:\x20add\x20Int\x20methods\x20to\x20act\x20on\x20numbered\x20bits\x20(thanks\x20Roger\x20Peppe),\x0a\x09better\x20support\x20for\x20string\x20conversions,\x0a\x09support\x20%v\x20and\x20#\x20modifier,\x20better\x20handling\x20of\x20unknown\x20formats.\x0a*\x20cgi:\x20export\x20RequestFromMap\x20(thanks\x20Evan\x20Shaw),\x0a\x09set\x20Request.TLS\x20and\x20Request.RemoteAddr\x20for\x20children.\x0a*\x20cgo:\x20use\x20packed\x20struct\x20to\x20fix\x20Windows\x20behavior.\x0a*\x20codereview:\x20add\x20release\x20branch\x20support,\x0a\x09fetch\x20metadata\x20using\x20JSON\x20API,\x20not\x20XML\x20scraping,\x0a\x09handle\x20'null\x20as\x20missing\x20field'\x20in\x20rietveld\x20json.\x0a*\x20compress/lzw:\x20silently\x20drop\x20implied\x20codes\x20that\x20are\x20too\x20large.\x0a*\x20compress/zlib:\x20actually\x20use\x20provided\x20dictionary\x20in\x20NewWriterDict\x0a*\x20crypto/openpgp:\x20add\x20key\x20generation\x20support,\x0a\x09change\x20PublicKey.Serialize\x20to\x20include\x20the\x20header.\x0a*\x20crypto/rand:\x20add\x20utility\x20functions\x20for\x20number\x20generation\x20(thanks\x20Anthony\x20Martin).\x0a*\x20crypto/tls:\x20export\x20the\x20verified\x20chains.\x0a*\x20crypto/x509/crl:\x20add\x20package.\x0a*\x20crypto/x509:\x20export\x20raw\x20SubjectPublicKeyInfo,\x0a\x09support\x20DSA\x20public\x20keys\x20in\x20X.509\x20certs,\x0a\x09support\x20parsing\x20and\x20verifying\x20DSA\x20signatures\x20(thanks\x20Jonathan\x20Allie).\x0a*\x20doc/roadmap:\x20put\x20\"App\x20Engine\x20support\"\x20under\x20\"Done\".\x0a*\x20doc:\x20add\x20I/O\x202011\x20talks\x20to\x20talks/,\x20docs.html,\x20and\x20front\x20page.\x0a*\x20effective\x20go:\x20explain\x20about\x20values/pointers\x20in\x20String()\x20example,\x0a\x09update\x20to\x20new\x20Open\x20signature.\x0a*\x20exp/draw:\x20fast\x20paths\x20for\x20drawing\x20a\x20YCbCr\x20or\x20an\x20NRGBA\x20onto\x20an\x20RGBA.\x0a*\x20filepath:\x20make\x20EvalSymlinks\x20work\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20flag:\x20allow\x20distinct\x20sets\x20of\x20flags.\x0a*\x20gc:\x20fix\x20type\x20switch\x20error\x20message\x20for\x20invalid\x20cases\x20(thanks\x20Lorenzo\x20Stoakes),\x0a\x09fix\x20unsafe.Sizeof,\x0a\x09preserve\x20original\x20expression\x20for\x20errors.\x0a*\x20go/ast,\x20go/doc,\x20godoc:\x20consider\x20struct\x20fields\x20and\x20interface\x20methods\x20when\x20filtering\x20ASTs.\x0a*\x20go/ast:\x20consider\x20anonymous\x20fields\x20and\x20set\x20Incomplete\x20bit\x20when\x20filtering\x20ASTs,\x0a\x09properly\x20maintain\x20map\x20of\x20package\x20global\x20imports.\x0a*\x20go/doc,\x20godoc:\x20when\x20filtering\x20for\x20godoc,\x20don't\x20remove\x20elements\x20of\x20a\x20declaration.\x0a*\x20go/parser:\x20accept\x20parenthesized\x20receive\x20operations\x20in\x20select\x20statements,\x0a\x09always\x20introduce\x20an\x20ast.Object\x20when\x20declaring\x20an\x20identifier.\x0a*\x20go/printer,\x20gofmt:\x20fix\x20alignment\x20of\x20\"=\"\x20in\x20const/var\x20declarations,\x0a\x09fix\x20formatting\x20of\x20expression\x20lists\x20(missing\x20blank).\x0a*\x20go/printer:\x20added\x20simple\x20performance\x20benchmark,\x0a\x09make\x20tests\x20follow\x20syntactic\x20restrictions,\x0a\x09more\x20accurate\x20comment\x20for\x20incomplete\x20structs/interfaces,\x0a*\x20go/token:\x20faster\x20FileSet.Position\x20implementation.\x0a*\x20go/types:\x20type\x20checker\x20API\x20+\x20testing\x20infrastructure.\x0a*\x20godoc:\x20added\x20-index\x20flag\x20to\x20enable/disable\x20search\x20index,\x0a\x09if\x20there\x20is\x20no\x20search\x20box,\x20don't\x20run\x20the\x20respective\x20JS\x20code.\x0a*\x20gofmt:\x20update\x20test.sh\x20(exclude\x20a\x20file\x20w/\x20incorrect\x20syntax).\x0a*\x20html:\x20parse\x20empty,\x20unquoted,\x20and\x20single-quoted\x20attribute\x20values.\x0a*\x20http/cgi:\x20correctly\x20set\x20request\x20Content-Type\x20(thanks\x20Evan\x20Shaw),\x0a\x09pass\x20down\x20environment\x20variables\x20for\x20IRIX\x20and\x20Solaris.\x0a*\x20http/pprof:\x20fix\x20POST\x20reading\x20bug.\x0a*\x20http/spdy:\x20new\x20incomplete\x20package\x20(thanks\x20Ross\x20Light).\x0a*\x20http:\x20Client.Do\x20should\x20follow\x20redirects\x20for\x20GET\x20and\x20HEAD,\x0a\x09add\x20Header.Write\x20method\x20(thanks\x20Evan\x20Shaw),\x0a\x09add\x20Request.SetBasicAuth\x20method,\x0a\x09add\x20Transport.ProxySelector,\x0a\x09add\x20http.SetCookie(ResponseWriter,\x20*Cookie),\x0a\x09don't\x20Clean\x20query\x20string\x20in\x20relative\x20redirects,\x0a\x09fix\x20FormFile\x20nil\x20pointer\x20dereference\x20on\x20missing\x20multipart\x20form,\x0a\x09fix\x20racy\x20test\x20with\x20a\x20simpler\x20version,\x0a\x09fix\x20two\x20Transport\x20gzip+persist\x20crashes,\x0a\x09include\x20Host\x20header\x20in\x20requests,\x0a\x09make\x20HEAD\x20client\x20request\x20follow\x20redirects\x20(thanks\x20Eivind\x20Uggedal).\x0a\x09update\x20cookie\x20doc\x20to\x20reference\x20new\x20RFC\x206265,\x0a\x09write\x20cookies\x20according\x20to\x20RFC\x206265\x20(thanks\x20Christian\x20Himpel).\x0a*\x20image/bmp:\x20implement\x20a\x20BMP\x20decoder.\x0a*\x20image/gif:\x20new\x20package\x20provides\x20a\x20GIF\x20decoder.\x0a*\x20image/jpeg:\x20decode\x20grayscale\x20images,\x20not\x20just\x20color\x20images.\x0a\x09optimizations\x20and\x20tweaks.\x0a*\x20image/png:\x20encode\x20paletted\x20images\x20with\x20alpha\x20channel\x20(thanks\x20Dmitry\x20Chestnykh),\x0a\x09speed\x20up\x20opaque\x20RGBA\x20encoding.\x0a*\x20image/tiff:\x20implement\x20a\x20decoder\x20(thanks\x20Benny\x20Siegert).\x0a*\x20image:\x20add\x20type-specific\x20Set\x20methods\x20and\x20use\x20them\x20when\x20decoding\x20PNG,\x0a\x09make\x20AlphaColor.Set\x20conform\x20to\x20usual\x20signature\x20(thanks\x20Roger\x20Peppe),\x0a\x09png\x20&amp;\x20jpeg\x20encoding\x20benchmarks.\x0a*\x20ld:\x20do\x20not\x20emit\x20reference\x20to\x20dynamic\x20library\x20named\x20\"\",\x0a\x09fix\x20alignment\x20of\x20rodata\x20section\x20on\x20Plan\x209\x20(thanks\x20Anthony\x20Martin),\x0a\x09make\x20ELF\x20binaries\x20with\x20no\x20shared\x20library\x20dependencies\x20static\x20binaries.\x0a*\x20make.bash:\x20remove\x20old\x20bash\x20version\x20of\x20gotest\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20make:\x20add\x20nuke\x20target\x20for\x20C\x20commands\x20and\x20libs\x20(thanks\x20Anthony\x20Martin).\x0a*\x20mime/multipart:\x20add\x20FileName\x20accessor\x20on\x20Part,\x0a\x09add\x20Writer,\x0a\x09return\x20an\x20error\x20on\x20Reader\x20EOF,\x20not\x20(nil,\x20nil).\x0a*\x20misc/cgo/test:\x20run\x20tests.\x0a*\x20misc/emacs:\x20use\x20UTF-8\x20when\x20invoking\x20gofmt\x20as\x20a\x20subprocess\x20(thanks\x20Sameer\x20Ajmani).\x0a*\x20misc/vim:\x20new\x20Vim\x20indentation\x20script.\x0a*\x20net,\x20http:\x20add\x20and\x20make\x20use\x20of\x20IP\x20address\x20scope\x20identification\x20API\x20(thanks\x20Mikio\x20Hara).\x0a*\x20net:\x20default\x20to\x20127.0.0.1,\x20not\x20localhost,\x20in\x20TestICMP,\x0a\x09don't\x20crash\x20on\x20unexpected\x20DNS\x20SRV\x20responses,\x0a\x09enable\x20SO_REUSEPORT\x20on\x20BSD\x20variants\x20(thanks\x20Mikio\x20Hara),\x0a\x09protocol\x20family\x20adaptive\x20address\x20family\x20selection\x20(thanks\x20Mikio\x20Hara),\x0a\x09re-enable\x20wildcard\x20listening\x20(thanks\x20Mikio\x20Hara),\x0a\x09sort\x20records\x20returned\x20by\x20LookupSRV\x20(thanks\x20Gary\x20Burd).\x0a*\x20os:\x20make\x20Readdir\x20&amp;\x20Readdirnames\x20return\x20os.EOF\x20at\x20end,\x0a\x09make\x20Setenv\x20update\x20C\x20environment\x20variables.\x0a*\x20reflect:\x20allow\x20unexported\x20key\x20in\x20Value.MapIndex.\x0a*\x20runtime,\x20sync/atomic:\x20fix\x20arm\x20cas.\x0a*\x20runtime:\x20add\x20newline\x20to\x20\"finalizer\x20already\x20set\"\x20error\x20(thanks\x20Albert\x20Strasheim),\x0a\x09handle\x20out-of-threads\x20on\x20Linux\x20gracefully\x20(thanks\x20Albert\x20Strasheim),\x0a\x09fix\x20function\x20args\x20not\x20checked\x20warning\x20on\x20ARM\x20(thanks\x20Dave\x20Cheney),\x0a\x09make\x20StackSystem\x20part\x20of\x20StackGuard\x20(thanks\x20Alexey\x20Borzenkov),\x0a\x09maybe\x20fix\x20Windows\x20build\x20broken\x20by\x20cgo\x20setenv\x20CL.\x0a*\x20spec:\x20clarify\x20semantics\x20of\x20integer\x20division,\x0a\x09clarify\x20semantics\x20of\x20range\x20clause,\x0a\x09fix\x20error\x20in\x20production\x20syntax,\x0a\x09narrow\x20syntax\x20for\x20expression\x20and\x20select\x20statements,\x0a\x09newlines\x20cannot\x20be\x20used\x20inside\x20a\x20char\x20or\x20\"\"\x20string\x20literal,\x0a\x09restricted\x20expressions\x20may\x20still\x20be\x20parenthesized.\x0a*\x20strings:\x20make\x20Reader.Read\x20use\x20copy\x20instead\x20of\x20an\x20explicit\x20loop.\x0a*\x20syscall:\x20add\x20Windows\x20file\x20mapping\x20functions\x20and\x20constants\x20(thanks\x20Evan\x20Shaw),\x0a\x09add\x20IPv6\x20scope\x20zone\x20ID\x20support\x20(thanks\x20Mikio\x20Hara),\x0a\x09add\x20netlink\x20support\x20for\x20linux/386,\x20linux/amd64,\x20linux/arm\x20(thanks\x20Mikio\x20Hara),\x0a\x09add\x20Sendfile,\x0a\x09adjust\x20freebsd\x20syscalls.master\x20URL\x20properly\x20(thanks\x20Mikio\x20Hara),\x0a\x09change\x20Overlapped.HEvent\x20type,\x20it\x20is\x20a\x20handle\x20(thanks\x20Alex\x20Brainman).\x0a*\x20syslog:\x20fix\x20skipping\x20of\x20net\x20tests\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20template:\x20support\x20string,\x20int\x20and\x20float\x20literals\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20xml:\x20fix\x20reflect\x20error.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-04-27\">2011-04-27\x20(<a\x20href=\"release.html#r57\">base\x20for\x20r57</a>)</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20revisions\x20to\x20the\x20reflect\x20package\x20to\x20make\x20it\x20more\x0aefficient,\x20after\x20the\x20last\x20weekly's\x20major\x20API\x20update.\x20If\x20your\x20code\x20uses\x20reflect\x0ait\x20may\x20require\x20further\x20changes,\x20not\x20all\x20of\x20which\x20can\x20be\x20made\x20automatically\x20by\x0agofix.\x20For\x20the\x20full\x20details\x20of\x20the\x20change,\x20see\x0a\x09http://codereview.appspot.com/4435042\x0aAlso,\x20the\x20Typeof\x20and\x20NewValue\x20functions\x20have\x20been\x20renamed\x20to\x20TypeOf\x20and\x20ValueOf.\x0a\x0aOther\x20changes:\x0a*\x205c:\x20make\x20alignment\x20rules\x20match\x205g,\x20just\x20like\x206c\x20matches\x206g.\x0a*\x208g,\x208l:\x20fix\x20\"set\x20but\x20not\x20used\"\x20gcc\x20error\x20(thanks\x20Fazlul\x20Shahriar).\x0a*\x20all-qemu.bash:\x20remove\x20DISABLE_NET_TESTS.\x0a*\x20build:\x20remove\x20DISABLE_NET_TESTS.\x0a*\x20builder:\x20build\x20multiple\x20targets\x20in\x20parallel.\x0a*\x20cgo:\x20avoid\x20\"incompatible\x20pointer\x20type\"\x20warning\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20codereview:\x20add\x20'hg\x20undo'\x20command,\x20various\x20other\x20fixes.\x0a*\x20compress/flate:\x20dictionary\x20support.\x0a*\x20compress/zlib:\x20add\x20FDICT\x20flag\x20in\x20Reader/Writer\x20(thanks\x20Ross\x20Light).\x0a*\x20container/heap:\x20fix\x20circular\x20dependency\x20in\x20test.\x0a*\x20crypto/openpgp:\x20better\x20handling\x20of\x20keyrings.\x0a*\x20crypto/rsa:\x20support\x20>\x203\x20primes.\x0a*\x20crypto/tls:\x20add\x20server-side\x20OCSP\x20stapling\x20support.\x0a*\x20crypto/x509:\x20memorize\x20chain\x20building.\x0a*\x20crypto:\x20move\x20certificate\x20verification\x20into\x20x509.\x0a*\x20dashboard:\x20build\x20most\x20recent\x20revision\x20first.\x0a*\x20doc:\x20mention\x20make\x20version\x20in\x20install.html.\x0a*\x20expvar:\x20add\x20Func\x20for\x20functions\x20that\x20return\x20values\x20that\x20are\x20JSON\x20marshalable.\x0a*\x20fmt:\x20decrease\x20recursion\x20depth\x20in\x20tests\x20to\x20permit\x20them\x20to\x20run\x20under\x20gccgo,\x0a\x09tweak\x20the\x20doc\x20for\x20%U.\x0a*\x20gc:\x20allow\x20complex\x20types\x20to\x20be\x20receiver\x20types\x20(thanks\x20Robert\x20Hencke),\x0a\x09correct\x20handling\x20of\x20unexported\x20method\x20names\x20in\x20embedded\x20interfaces,\x0a\x09explain\x20why\x20invalid\x20receiver\x20types\x20are\x20invalid,\x0a\x09fix\x20copy([]int,\x20string)\x20error\x20message\x20(thanks\x20Quan\x20Yong\x20Zhai),\x0a\x09fix\x20'invalid\x20recursive\x20type'\x20error\x20(thanks\x20Lorenzo\x20Stoakes),\x0a\x09many\x20bug\x20fixes.\x0a*\x20go\x20spec:\x20attempt\x20at\x20clarifying\x20language\x20for\x20\"append\",\x0a\x09for\x20map\x20types,\x20mention\x20indexing\x20operations.\x0a*\x20go/types:\x20update\x20for\x20export\x20data\x20format\x20change.\x0a*\x20gob:\x20fix\x20handling\x20of\x20indirect\x20receivers\x20for\x20GobDecoders,\x0a\x09fix\x20trivial\x20bug\x20in\x20map\x20marshaling,\x0a\x09have\x20errorf\x20always\x20prefix\x20the\x20message\x20with\x20\"gob:\x20\",\x0a\x09test\x20case\x20for\x20indirection\x20to\x20large\x20field,\x0a\x09use\x20new\x20Implements\x20and\x20AssignableTo\x20methods\x20in\x20reflect,\x0a\x09when\x20decoding\x20a\x20string,\x20allocate\x20a\x20string,\x20not\x20a\x20[]byte.\x0a*\x20gobuilder:\x20permit\x20builders\x20of\x20the\x20form\x20goos-goarch-foo,\x0a\x09respect\x20MAKEFLAGS\x20if\x20provided\x20(thanks\x20Dave\x20Cheney).\x0a*\x20godoc:\x20use\x20\"search\"\x20input\x20type\x20for\x20search\x20box\x20(thanks\x20Dmitry\x20Chestnykh).\x0a*\x20gofix:\x20add\x20support\x20for\x20reflect\x20rename.\x0a*\x20gofmt:\x20add\x20-d\x20(diff)\x20(thanks\x20David\x20Crawshaw),\x0a\x09don't\x20crash\x20when\x20rewriting\x20nil\x20interfaces\x20in\x20AST,\x0a\x09exclude\x20test\x20case\x20that\x20doesn't\x20compile\x20w/o\x20errors,\x0a\x09gofmt\x20test\x20harness\x20bug\x20fix.\x0a*\x20goinstall:\x20support\x20GOPATH;\x20building\x20and\x20installing\x20outside\x20the\x20Go\x20tree,\x0a\x09support\x20building\x20executable\x20commands.\x0a*\x20gopack:\x20fix\x20prefix\x20bug,\x0a\x09preserve\x20safe\x20flag\x20when\x20not\x20adding\x20unsafe\x20objects\x20to\x20archive.\x0a*\x20gotest:\x20add\x20timing,\x20respect\x20$GOARCH,\x0a\x09generate\x20gofmt-compliant\x20code.\x0a*\x20http/cgi:\x20copy\x20some\x20PATH\x20environment\x20variables\x20to\x20child,\x0a\x09improve\x20Location\x20response\x20handling,\x0a\x09pass\x20some\x20default\x20environment\x20variables.\x0a*\x20http/fcgi:\x20new\x20package\x20(thanks\x20Evan\x20Shaw).\x0a*\x20http:\x20add\x20NewRequest\x20helper,\x0a\x09add\x20MultipartForm,\x20ParseMultipartForm,\x20and\x20FormFile\x20to\x20Request,\x0a\x09be\x20clear\x20when\x20failing\x20to\x20connect\x20to\x20a\x20proxy,\x0a\x09bug\x20fixes\x20and\x20new\x20tests,\x0a\x09consume\x20request\x20bodies\x20before\x20replying,\x0a\x09don't\x20quote\x20Set-Cookie\x20Domain\x20and\x20Path\x20(thanks\x20Petar\x20Maymounkov),\x0a\x09fix\x20IP\x20confusion\x20in\x20TestServerTimeouts,\x0a\x09handler\x20timeout\x20support,\x0a\x09ServerConn,\x20ClientConn:\x20add\x20real\x20Close\x20(thanks\x20Petar\x20Maymounkov),\x0a\x09make\x20Client\x20redirect\x20policy\x20configurable,\x0a\x09put\x20a\x20limit\x20on\x20POST\x20size,\x0a\x09reverse\x20proxy\x20handler.\x0a*\x20image/jpeg:\x20add\x20an\x20encoder,\x0a\x09decode\x20to\x20a\x20YCbCr\x20image\x20instead\x20of\x20an\x20RGBA\x20image.\x0a*\x20ioutil:\x20add\x20Discard.\x0a*\x20json:\x20keep\x20track\x20of\x20error\x20offset\x20in\x20SyntaxError.\x0a*\x20ld:\x20defend\x20against\x20some\x20broken\x20object\x20files,\x0a\x09do\x20not\x20emit\x20empty\x20dwarf\x20pe\x20sections\x20(thanks\x20Alex\x20Brainman),\x0a\x09fix\x206l\x20-d\x20on\x20Mac,\x20diagnose\x20invalid\x20use\x20of\x20-d,\x0a\x09fix\x20Plan\x209\x20symbol\x20table\x20(thanks\x20Anthony\x20Martin),\x0a\x09remove\x20MachoLoad\x20limit.\x0a*\x20make:\x20prevent\x20rm\x20provoking\x20'text\x20file\x20busy'\x20errors\x20(thanks\x20Lorenzo\x20Stoakes).\x0a*\x20mime/multipart:\x20add\x20ReadForm\x20for\x20parsing\x20multipart\x20forms,\x0a\x09limit\x20line\x20length\x20to\x20prevent\x20abuse.\x0a*\x20mime:\x20RFC\x202231\x20continuation\x20/\x20non-ASCII\x20support,\x0a\x09bunch\x20more\x20tests,\x20few\x20minor\x20parsing\x20fixes.\x0a*\x20misc/goplay:\x20fix\x20Tab\x20and\x20Shift+Enter\x20in\x20Firefox\x20(thanks\x20Dmitry\x20Chestnykh).\x0a*\x20net:\x20disable\x20one\x20more\x20external\x20network\x20test,\x0a\x09fix\x20EAI_BADFLAGS\x20error\x20on\x20freebsd\x20(thanks\x20Mikio\x20Hara),\x0a\x09fix\x20ParseIP\x20(thanks\x20Quan\x20Yong\x20Zhai),\x0a\x09fix\x20dialgoogle_test.go\x20(thanks\x20Quan\x20Yong\x20Zhai),\x0a\x09try\x20/etc/hosts\x20before\x20loading\x20DNS\x20config\x20(thanks\x20Dmitry\x20Chestnykh),\x0a\x09use\x20C\x20library\x20resolver\x20on\x20FreeBSD,\x20Linux,\x20OS\x20X\x20/\x20amd64,\x20386.\x0a*\x20os/user:\x20new\x20package\x20to\x20look\x20up\x20users.\x0a*\x20os:\x20Open\x20with\x20O_APPEND|O_CREATE\x20to\x20append\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09fix\x20race\x20in\x20ReadAt/WriteAt\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09turn\x20EPIPE\x20exit\x20into\x20panic.\x0a*\x20rc/env.bash:\x20fix\x20to\x20build\x20on\x20windows\x20under\x20msys\x20(thanks\x20Joe\x20Poirier).\x0a*\x20reflect:\x20allow\x20Slice\x20of\x20arrays,\x0a\x09fix\x20Copy\x20of\x20arrays\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x09require\x20package\x20qualifiers\x20to\x20match\x20during\x20interface\x20check,\x0a\x09add\x20Type.Implements,\x20Type.AssignableTo,\x20Value.CallSlice,\x0a\x09make\x20Set\x20match\x20Go.\x0a*\x20rpc:\x20allow\x20the\x20first\x20argument\x20of\x20a\x20method\x20to\x20be\x20a\x20value\x20rather\x20than\x20a\x20pointer,\x0a\x09run\x20benchmarks\x20over\x20HTTP\x20as\x20well\x20as\x20direct\x20network\x20connections.\x0a*\x20run.bash:\x20remove\x20redundant\x20rebuilds.\x0a*\x20runtime/plan9:\x20warning\x20remediation\x20for\x20Plan\x209\x20(thanks\x20Lucio\x20De\x20Re),\x0a*\x20runtime:\x20many\x20bug\x20fixes,\x0a\x09fix\x20GOMAXPROCS\x20vs\x20garbage\x20collection\x20bug\x20(thanks\x20Dmitriy\x20Vyukov),\x0a\x09fix\x20mkversion\x20to\x20output\x20valid\x20path\x20separators\x20(thanks\x20Peter\x20Mundy),\x0a\x09more\x20graceful\x20out-of-memory\x20crash,\x0a\x09require\x20package\x20qualifiers\x20to\x20match\x20during\x20interface\x20check,\x0a\x09skip\x20functions\x20with\x20no\x20lines\x20when\x20building\x20src\x20line\x20table,\x0a\x09turn\x20\"too\x20many\x20EPIPE\"\x20into\x20real\x20SIGPIPE.\x0a*\x20src/pkg:\x20make\x20package\x20doc\x20comments\x20consistently\x20start\x20with\x20\"Package\x20foo\".\x0a*\x20syscall:\x20Madvise\x20and\x20Mprotect\x20for\x20Linux\x20(thanks\x20Albert\x20Strasheim),\x0a\x09Mlock,\x20Munlock,\x20Mlockall,\x20Munlockall\x20on\x20Linux\x20(thanks\x20Albert\x20Strasheim),\x0a\x09add\x20BPF\x20support\x20for\x20darwin/386,\x20darwin/amd64\x20(thanks\x20Mikio\x20Hara),\x0a\x09correct\x20Windows\x20CreateProcess\x20input\x20parameters\x20(thanks\x20Alex\x20Brainman),\x0a\x09fix\x20Ftruncate\x20under\x20linux/arm5\x20(thanks\x20Dave\x20Cheney),\x0a\x09permit\x20StartProcess\x20to\x20hide\x20the\x20executed\x20program\x20on\x20windows\x20(thanks\x20Vincent\x20Vanackere).\x0a*\x20test/bench:\x20update\x20timings;\x20moving\x20to\x20new\x20machine.\x0a*\x20time:\x20support\x20Irix\x206\x20location\x20for\x20zoneinfo\x20files.\x0a*\x20tutorial:\x20modernize\x20the\x20definition\x20and\x20use\x20of\x20Open,\x0a\x09replace\x20the\x20forever\x20loops\x20with\x20finite\x20counts\x20in\x20sieve\x20programs.\x0a*\x20websocket:\x20include\x20*http.Request\x20in\x20websocket.Conn.\x0a*\x20xml:\x20Parser\x20hook\x20for\x20non-UTF-8\x20charset\x20converters.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-04-13\">2011-04-13</h2>\x0a\x0a<pre>\x0aweekly.2011-04-13\x0a\x0aThis\x20weekly\x20snapshot\x20includes\x20major\x20changes\x20to\x20the\x20reflect\x20package\x20and\x20the\x0aos.Open\x20function.\x20\x20Code\x20that\x20uses\x20reflect\x20or\x20os.Open\x20will\x20require\x20updating,\x0awhich\x20can\x20be\x20done\x20mechanically\x20using\x20the\x20gofix\x20tool.\x0a\x0aThe\x20reflect\x20package's\x20Type\x20and\x20Value\x20types\x20have\x20changed.\x20\x20Type\x20is\x20now\x20an\x0ainterface\x20that\x20implements\x20all\x20the\x20possible\x20type\x20methods.\x20\x20Instead\x20of\x20a\x20type\x0aswitch\x20on\x20a\x20reflect.Type\x20t,\x20switch\x20on\x20t.Kind().\x20\x20Value\x20is\x20now\x20a\x20struct\x20value\x0athat\x20implements\x20all\x20the\x20possible\x20value\x20methods.\x20\x20Instead\x20of\x20a\x20type\x20switch\x20on\x20a\x0areflect.Value\x20v,\x20switch\x20on\x20v.Kind().\x20\x20See\x20the\x20change\x20for\x20the\x20full\x20details:\x0a\x20\x20\x20\x20\x20\x20\x20\x20http://code.google.com/p/go/source/detail?r=843855f3c026\x0a\x0aThe\x20os\x20package's\x20Open\x20function\x20has\x20been\x20replaced\x20by\x20three\x20functions:\x0a\x20\x20\x20\x20\x20\x20\x20\x20OpenFile(name,\x20flag,\x20perm)\x20//\x20same\x20as\x20old\x20Open\x0a\x20\x20\x20\x20\x20\x20\x20\x20Open(name)\x20//\x20same\x20as\x20old\x20Open(name,\x20O_RDONLY,\x200)\x0a\x20\x20\x20\x20\x20\x20\x20\x20Create(name)\x20//\x20same\x20as\x20old\x20Open(name,\x20O_RDWR|O_TRUNC|O_CREAT,\x200666)\x0a\x0aTo\x20update\x20your\x20code\x20to\x20use\x20the\x20new\x20APIs,\x20run\x20\"gofix\x20path/to/code\".\x20\x20Gofix\x20can't\x0ahandle\x20all\x20situations\x20perfectly,\x20so\x20read\x20and\x20test\x20the\x20changes\x20it\x20makes\x20before\x0acommitting\x20them.\x0a\x0aOther\x20changes:\x0a*\x20archive/zip:\x20add\x20func\x20OpenReader,\x20type\x20ReadCloser\x20(thanks\x20Dmitry\x20Chestnykh).\x0a*\x20asn1:\x20Implement\x20correct\x20marshaling\x20of\x20length\x20octets\x20(thanks\x20Luit\x20van\x20Drongelen).\x0a*\x20big:\x20don't\x20crash\x20when\x20printing\x20nil\x20ints.\x0a*\x20bufio:\x20add\x20ReadLine,\x20to\x20replace\x20encoding/line.\x0a*\x20build:\x20make\x20the\x20build\x20faster,\x20quieter.\x0a*\x20codereview:\x20automatically\x20port\x20old\x20diffs\x20forward,\x0a\x20\x20\x20\x20\x20\x20\x20\x20drop\x20Author:\x20line\x20on\x20self-clpatch,\x0a\x20\x20\x20\x20\x20\x20\x20\x20recognize\x20code\x20URL\x20without\x20trailing\x20slash.\x0a*\x20crypto/block:\x20remove\x20deprecated\x20package.\x0a*\x20crypto/des:\x20new\x20package\x20implementating\x20DES\x20and\x20TDEA\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20crypto/ecdsa,\x20crypto/rsa:\x20use\x20io.ReadFull\x20to\x20read\x20from\x20random\x20source\x20(thanks\x20Dmitry\x20Chestnykh).\x0a*\x20crypto/rsa:\x20add\x203-prime\x20support,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20support\x20for\x20precomputing\x20CRT\x20values,\x0a\x20\x20\x20\x20\x20\x20\x20\x20flip\x20the\x20CRT\x20code\x20over\x20so\x20that\x20it\x20matches\x20PKCS#1.\x0a*\x20crypto/x509:\x20expose\x20complete\x20DER\x20data\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20doc:\x20new\x20\"Functions\"\x20codewalk\x20(thanks\x20John\x20DeNero).\x0a*\x20doc/roadmap:\x20add\x20sections\x20on\x20tools,\x20packages.\x0a*\x20fmt:\x20allow\x20%U\x20for\x20unsigned\x20integers.\x0a*\x20gc:\x20fixes\x20and\x20optimizations.\x0a*\x20go/printer,\x20gofmt:\x20use\x20blank\x20to\x20separate\x20import\x20rename\x20from\x20import\x20path.\x0a*\x20go/scanner:\x20better\x20TokenString\x20output.\x0a*\x20go/types:\x20new\x20Go\x20type\x20hierarchy\x20implementation\x20for\x20AST.\x0a*\x20godashboard:\x20show\x20packages\x20at\x20launchpad.net\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20gofix:\x20add\x20-diff,\x20various\x20fixes\x20and\x20helpers.\x0a*\x20gotest:\x20fix\x20a\x20bug\x20in\x20error\x20handling,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fixes\x20for\x20[^.]_test\x20file\x20pattern\x20(thanks\x20Peter\x20Mundy),\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20\\r\\n\x20returned\x20by\x20gomake\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20gotype:\x20use\x20go/types\x20GcImporter.\x0a*\x20govet:\x20make\x20name-matching\x20for\x20printf\x20etc.\x20case-insensitive.\x0a*\x20http:\x20allow\x20override\x20of\x20Content-Type\x20for\x20ServeFile,\x0a\x20\x20\x20\x20\x20\x20\x20\x20client\x20gzip\x20support,\x0a\x20\x20\x20\x20\x20\x20\x20\x20do\x20not\x20listen\x20on\x200.0.0.0\x20during\x20test,\x0a\x20\x20\x20\x20\x20\x20\x20\x20flesh\x20out\x20server\x20Expect\x20handling\x20+\x20tests.\x0a*\x20image/ycbcr:\x20new\x20package.\x0a*\x20image:\x20allow\x20\"?\"\x20wildcards\x20when\x20registering\x20image\x20formats.\x0a*\x20io:\x20fixes\x20for\x20Read\x20with\x20n\x20>\x200,\x20os.EOF\x20(thanks\x20Robert\x20Hencke).\x0a*\x20ld:\x20correct\x20Plan\x209\x20compiler\x20warnings\x20(thanks\x20Lucio\x20De\x20Re),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ELF\x20header\x20function\x20declarations\x20(thanks\x20Lucio\x20De\x20Re),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20Mach-O\x20X86_64_RELOC_SIGNED\x20relocations\x20(thanks\x20Mikkel\x20Krautz),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20Mach-O\x20bss\x20bug\x20(thanks\x20Mikkel\x20Krautz),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20dwarf\x20decoding\x20of\x20strings\x20for\x20struct's\x20fieldnames\x20(thanks\x20Luuk\x20van\x20Dijk),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fixes\x20and\x20optimizations\x20(25%\x20faster).\x0a*\x20log:\x20generalize\x20getting\x20and\x20setting\x20flags\x20and\x20prefix.\x0a*\x20misc/cgo/life:\x20enable\x20build\x20and\x20test\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20misc/vim:\x20add\x20plugin\x20with\x20Fmt\x20command\x20(thanks\x20Dmitry\x20Chestnykh),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20type\x20highlighting\x20for\x20new\x20reflect\x20package.\x0a*\x20net:\x20disable\x20multicast\x20tests\x20by\x20default\x20(thanks\x20Dave\x20Cheney),\x0a\x20\x20\x20\x20\x20\x20\x20\x20sort\x20records\x20returned\x20by\x20LookupMX\x20(thanks\x20Corey\x20Thomasson).\x0a*\x20openpgp:\x20Fix\x20improper\x20:=\x20shadowing\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20os:\x20rename\x20Open\x20to\x20OpenFile,\x20add\x20new\x20Open,\x20Create,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20Readdir\x20in\x20Plan\x209\x20(thanks\x20Fazlul\x20Shahriar).\x0a*\x20os/inotify:\x20use\x20_test\x20for\x20test\x20files,\x20not\x20_obj.\x0a*\x20pkg/path:\x20enable\x20tests\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20reflect:\x20new\x20Type\x20and\x20Value\x20API.\x0a*\x20src/pkg/Makefile:\x20trim\x20per-directory\x20make\x20output\x20except\x20on\x20failure.\x0a*\x20syscall:\x20Add\x20DT_*\x20and\x20MADV_*\x20constants\x20on\x20Linux\x20(thanks\x20Albert\x20Strasheim),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20Mmap,\x20Munmap\x20on\x20Linux,\x20FreeBSD,\x20OS\x20X,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20StartProcess\x20in\x20Plan\x209\x20(thanks\x20Fazlul\x20Shahriar),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20Windows\x20Signaled\x20(thanks\x20Alex\x20Brainman).\x0a*\x20test/bench:\x20enable\x20build\x20and\x20test\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-04-04\">2011-04-04</h2>\x0a\x0a<pre>\x0aThis\x20snapshot\x20includes\x20changes\x20to\x20the\x20net\x20package.\x20Your\x20code\x20will\x20require\x0achanges\x20if\x20it\x20uses\x20the\x20Dial\x20or\x20LookupHost\x20functions.\x0a\x0aThe\x20laddr\x20argument\x20has\x20been\x20removed\x20from\x20net.Dial,\x20and\x20the\x20cname\x20return\x20value\x0ahas\x20been\x20removed\x20from\x20net.LookupHost.\x20The\x20new\x20net.LookupCNAME\x20function\x20can\x20be\x0aused\x20\x20to\x20find\x20the\x20canonical\x20host\x20for\x20a\x20given\x20name.\x20\x20You\x20can\x20update\x20your\x0anetworking\x20code\x20with\x20gofix.\x0a\x0aThe\x20gotest\x20shell\x20script\x20has\x20been\x20replaced\x20by\x20a\x20Go\x20program,\x20making\x20testing\x0asignificantly\x20faster.\x0a\x0aOther\x20changes:\x0a*\x20asn1:\x20extensions\x20needed\x20for\x20parsing\x20Kerberos.\x0a*\x20bufio:\x20Write\x20and\x20WriteString\x20cleanup\x20(thanks\x20Evan\x20Shaw).\x0a*\x20bytes,\x20strings:\x20simplify\x20Join\x20(thanks\x20Evan\x20Shaw).\x0a*\x20crypto/cipher:\x20bad\x20CTR\x20IV\x20length\x20now\x20triggers\x20panic.\x0a*\x20crypto/tls:\x20extend\x20NPN\x20support\x20to\x20the\x20client,\x0a\x09added\x20X509KeyPair\x20function\x20to\x20parse\x20a\x20Certificate\x20from\x20memory.\x0a*\x20crypto/x509:\x20parse\x20Extended\x20Key\x20Usage\x20extension\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20debug/gosym:\x20remove\x20need\x20for\x20gotest\x20to\x20run\x20preparatory\x20commands.\x0a*\x20fmt:\x20implement\x20precision\x20(length\x20of\x20input)\x20values\x20for\x20%q:\x20%.20q.\x0a*\x20go/parser:\x20fix\x20scoping\x20for\x20local\x20type\x20declarations\x20(thanks\x20Roger\x20Peppe),\x0a\x09package\x20name\x20must\x20not\x20be\x20the\x20blank\x20identifier.\x0a*\x20go/printer,\x20gofmt:\x20remove\x20special\x20case\x20for\x20multi-line\x20raw\x20strings.\x0a*\x20gopack:\x20add\x20P\x20flag\x20to\x20remove\x20prefix\x20from\x20filename\x20information.\x0a*\x20gotest:\x20add\x20-test.timeout\x20option,\x0a\x09replace\x20the\x20shell\x20script\x20with\x20the\x20compiled\x20program\x20written\x20in\x20go,\x0a\x09execute\x20gomake\x20properly\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20gotry:\x20move\x20into\x20its\x20own\x20directory,\x20separate\x20from\x20gotest.\x0a*\x20gotype:\x20support\x20for\x20more\x20tests,\x20added\x20one\x20new\x20test.\x0a*\x20http:\x20add\x20Transport.MaxIdleConnsPerHost,\x0a\x09use\x20upper\x20case\x20hex\x20in\x20URL\x20escaping\x20(thanks\x20Matt\x20Jones).\x0a*\x20httptest:\x20add\x20NewTLSServer.\x0a*\x20misc/kate:\x20reorganize,\x20remove\x20closed()\x20(thanks\x20Evan\x20Shaw).\x0a*\x20misc/notepadplus:\x20support\x20for\x20notepad++\x20(thanks\x20Anthony\x20Starks).\x0a*\x20net:\x20implement\x20non-blocking\x20connect\x20(thanks\x20Alexey\x20Borzenkov).\x0a*\x20os:\x20fix\x20MkdirAll(\"/thisdoesnotexist\")\x20(thanks\x20Albert\x20Strasheim),\x0a\x09Plan\x209\x20support\x20(thanks\x20Yuval\x20Pavel\x20Zholkover),\x0a\x09add\x20a\x20few\x20missing\x20Plan\x209\x20errors\x20(thanks\x20Andrey\x20Mirtchovski),\x0a\x09fix\x20FileInfo.Name\x20returned\x20by\x20Stat\x20(thanks\x20David\x20Forsythe).\x0a*\x20path/filepath.Glob:\x20add\x20an\x20error\x20return,\x0a\x09don't\x20drop\x20known\x20matches\x20on\x20error.\x0a*\x20path/filepath:\x20add\x20support\x20for\x20Plan\x209\x20(thanks\x20Andrey\x20Mirtchovski).\x0a*\x20scanner:\x20treat\x20line\x20comments\x20like\x20in\x20Go.\x0a*\x20syscall:\x20Plan\x209\x20support\x20(thanks\x20Yuval\x20Pavel\x20Zholkover),\x0a\x09StartProcess\x20Chroot\x20and\x20Credential\x20(thanks\x20Albert\x20Strasheim),\x0a\x09add\x20BPF\x20support\x20for\x20freebsd/386,\x20freebsd/amd64\x20(thanks\x20Mikio\x20Hara),\x0a\x09make\x20[Raw]Syscall6\x20pass\x206th\x20arg\x20on\x20linux/386\x20(thanks\x20Evan\x20Shaw).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-03-28\">2011-03-28</h2>\x0a\x0a<pre>\x0aThis\x20weekly\x20release\x20includes\x20improved\x20support\x20for\x20testing.\x0a\x0aMemory\x20and\x20CPU\x20profiling\x20is\x20now\x20available\x20via\x20the\x20gotest\x20tool.\x20Gotest\x20will\x0aproduce\x20memory\x20and\x20CPU\x20profiling\x20data\x20when\x20invoked\x20with\x20the\x20-test.memprofile\x0aand\x20-test.cpuprofile\x20flags.\x20Run\x20\"godoc\x20gotest\"\x20for\x20details.\x0a\x0aWe\x20have\x20also\x20introduced\x20a\x20way\x20for\x20tests\x20to\x20run\x20quickly\x20when\x20an\x20exhaustive\x20test\x0ais\x20unnecessary.\x20Gotest's\x20new\x20-test.short\x20flag\x20in\x20combination\x20with\x20the\x20testing\x0apackage's\x20new\x20Short\x20function\x20allows\x20you\x20to\x20write\x20tests\x20that\x20can\x20be\x20run\x20in\x0anormal\x20or\x20\"short\"\x20mode;\x20short\x20mode\x20is\x20now\x20used\x20by\x20all.bash\x20to\x20reduce\x0ainstallation\x20time.\x0aThe\x20Makefiles\x20know\x20about\x20the\x20flag\x20-\x20you\x20can\x20just\x20run\x20\"make\x20testshort\".\x0a\x0aOther\x20changes:\x0a*\x20.hgignore:\x20Ignore\x20all\x20goinstalled\x20packages\x20(thanks\x20Evan\x20Shaw).\x0a*\x20build:\x20add\x20all-qemu.bash,\x20handful\x20of\x20arm\x20fixes,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20support\x20for\x20SWIG,\x20and\x20add\x20two\x20SWIG\x20examples,\x0a\x20\x20\x20\x20\x20\x20\x20\x20diagnose\x20Ubuntu's\x20buggy\x20copy\x20of\x20gold,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20broken\x20awk\x20in\x20version.bash\x20(thanks\x20Dave\x20Cheney),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reenable\x20clean.bash\x20without\x20gomake\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20cgo:\x20fix\x20index-out-of-bounds\x20bug.\x0a*\x20codereview:\x20permit\x20CLs\x20of\x20the\x20form\x20weekly.DATE\x0a*\x20crypto/ecdsa:\x20truncate\x20hash\x20values.\x0a*\x20crypto/openpgp:\x20add\x20DSA\x20signature\x20support.\x0a*\x20dashboard:\x20remove\x20old\x20python/bash\x20builder,\x20update\x20README.\x0a*\x20doc:\x20explain\x20release\x20and\x20weekly\x20tags\x20in\x20install.html.\x0a*\x20exec:\x20document\x20dir\x20option\x20for\x20Run\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20flag:\x20document\x20Nflag\x20function\x20(thanks\x20Fazlul\x20Shahriar).\x0a*\x20gc:\x20remove\x20interim\x20...\x20error\x20which\x20rejects\x20valid\x20code.\x0a*\x20go/ast:\x20implemented\x20NewPackage,\x0a\x20\x20\x20\x20\x20\x20\x20\x20merge\x20CaseClause\x20and\x20TypeCaseClause.\x0a*\x20go/parser:\x20fix\x20memory\x20leak\x20by\x20making\x20a\x20copy\x20of\x20token\x20literals,\x0a\x20\x20\x20\x20\x20\x20\x20\x20resolve\x20identifiers\x20properly.\x0a*\x20go/printer,\x20gofmt:\x20avoid\x20exponential\x20layout\x20algorithm,\x0a\x20\x20\x20\x20\x20\x20\x20\x20gofmt:\x20simplify\x20struct\x20formatting\x20and\x20respect\x20line\x20breaks.\x0a*\x20go/scanner:\x20to\x20interpret\x20line\x20comments\x20with\x20Windows\x20filenames\x20(thanks\x20Alex\x20Brainman).\x0a*\x20go/token:\x20use\x20array\x20instead\x20of\x20map\x20for\x20token-&gt;string\x20table.\x0a*\x20gob:\x20optimizations\x20to\x20reduce\x20allocations,\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20pointers\x20in\x20bootstrapType\x20so\x20interfaces\x20behave\x20properly.\x0a*\x20gobuilder:\x20recognize\x20CLs\x20of\x20the\x20form\x20weekly.DATE.\x0a*\x20godefs:\x20handle\x20volatile.\x0a*\x20godoc:\x20add\x20-template\x20flag\x20to\x20specify\x20custom\x20templates,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20path\x20problem\x20for\x20windows\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20gofix:\x20httpserver\x20-\x20rewrite\x20rw.SetHeader\x20to\x20rw.Header.Set.\x0a*\x20gofmt:\x20add\x20profiling\x20flag.\x0a*\x20gopprof:\x20fix\x20bug:\x20do\x20not\x20rotate\x20180\x20degrees\x20for\x20large\x20scrolls,\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20list\x20of\x20memory\x20allocation\x20functions.\x0a*\x20gotest:\x20fix\x20gofmt\x20issue\x20in\x20generated\x20_testmain.go.\x0a*\x20http:\x20add\x20NewProxyClientConn,\x0a\x20\x20\x20\x20\x20\x20\x20\x20avoid\x20crash\x20when\x20asked\x20for\x20multiple\x20file\x20ranges,\x0a\x20\x20\x20\x20\x20\x20\x20\x20don't\x20chunk\x20304\x20responses,\x0a\x20\x20\x20\x20\x20\x20\x20\x20export\x20Transport,\x20add\x20keep-alive\x20support.\x0a*\x20ld:\x20return\x20>\x200\x20exit\x20code\x20on\x20unsafe\x20import.\x0a*\x20misc/bbedit:\x20remove\x20closed\x20keyword\x20(thanks\x20Anthony\x20Starks).\x0a*\x20misc/emacs:\x20gofmt:\x20don't\x20clobber\x20the\x20current\x20buffer\x20on\x20failure.\x0a*\x20misc/vim:\x20remove\x20'closed'\x20as\x20a\x20builtin\x20function.\x0a*\x20net:\x20add\x20FileConn,\x20FilePacketConn,\x20FileListener\x20(thanks\x20Albert\x20Strasheim),\x0a\x20\x20\x20\x20\x20\x20\x20\x20don't\x20force\x20epoll/kqueue\x20to\x20wake\x20up\x20in\x20order\x20to\x20add\x20new\x20events,\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20OS-specific\x20AddFD\x20routine\x20wake\x20up\x20polling\x20thread,\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20preallocated\x20buffer\x20for\x20epoll\x20and\x20kqueue/kevent.\x0a*\x20path/filepath:\x20add\x20EvalSymlinks\x20function,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20TestEvalSymlinks\x20when\x20run\x20under\x20symlinked\x20GOROOT.\x0a*\x20path:\x20work\x20for\x20windows\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20rpc:\x20increase\x20server_test\x20timeout\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20\x20optimizations\x20to\x20reduce\x20allocations.\x0a*\x20runtime:\x20fix\x20darwin/amd64\x20thread\x20VM\x20footprint\x20(thanks\x20Alexey\x20Borzenkov),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20gdb\x20support\x20for\x20goroutines,\x0a\x20\x20\x20\x20\x20\x20\x20\x20more\x20stack\x20split\x20fixes,\x0a\x20\x20\x20\x20\x20\x20\x20\x20os-specific\x20types\x20and\x20code\x20for\x20setitimer,\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20defs.h\x20for\x20freebsd-386\x20(thanks\x20Devon\x20H.\x20O'Dell).\x0a*\x20strings:\x20Map:\x20avoid\x20allocation\x20when\x20string\x20is\x20unchanged.\x0a*\x20syscall:\x20GetsockoptInt\x20(thanks\x20Albert\x20Strasheim),\x0a\x20\x20\x20\x20\x20\x20\x20\x20StartProcess\x20fixes\x20for\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20permit\x20non-blocking\x20syscalls,\x0a\x20\x20\x20\x20\x20\x20\x20\x20rename\x20from\x20.sh\x20to\x20.pl,\x20because\x20these\x20files\x20are\x20in\x20Perl.\x0a*\x20test:\x20enable\x20tests\x20using\x20v,\x20ok\x20:=\x20&lt;-ch\x20syntax\x20(thanks\x20Robert\x20Hencke).\x0a*\x20time:\x20give\x20a\x20helpful\x20message\x20when\x20we\x20can't\x20set\x20the\x20time\x20zone\x20for\x20testing.\x0a\x20\x20\x20\x20\x20\x20\x20\x20isolate\x20syscall\x20reference\x20in\x20sys.go.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-03-15\">2011-03-15</h2>\x0a\x0a<pre>\x0aThis\x20week's\x20release\x20introduces\x20a\x20new\x20release\x20tagging\x20scheme.\x20We\x20intend\x20to\x0acontinue\x20with\x20our\x20weekly\x20releases,\x20but\x20have\x20renamed\x20the\x20existing\x20tags\x20from\x0a\"release\"\x20to\x20\"weekly\".\x20The\x20\"release\"\x20tag\x20will\x20now\x20be\x20applied\x20to\x20one\x20hand-picked\x0astable\x20release\x20each\x20month\x20or\x20two.\x0a\x0aThe\x20revision\x20formerly\x20tagged\x20\"release.2011-03-07.1\"\x20(now\x20\"weekly.2011-03-07.1\")\x0ahas\x20been\x20nominated\x20our\x20first\x20stable\x20release,\x20and\x20has\x20been\x20given\x20the\x20tag\x0a\"release.r56\".\x20As\x20we\x20tag\x20each\x20stable\x20release\x20we\x20will\x20post\x20an\x20announcement\x20to\x0athe\x20new\x20golang-announce\x20mailing\x20list:\x0a\x20\x20http://groups.google.com/group/golang-announce\x0a\x0aYou\x20can\x20continue\x20to\x20keep\x20your\x20Go\x20installation\x20updated\x20using\x20\"hg\x20update\x0arelease\",\x20but\x20now\x20you\x20should\x20only\x20need\x20to\x20update\x20once\x20we\x20tag\x20a\x20new\x20stable\x0arelease,\x20which\x20we\x20will\x20announce\x20here.\x20If\x20you\x20wish\x20to\x20stay\x20at\x20the\x20leading\x20edge,\x0ayou\x20should\x20switch\x20to\x20the\x20weekly\x20tag\x20with\x20\"hg\x20update\x20weekly\".\x0a\x0a\x0aThis\x20weekly\x20release\x20includes\x20significant\x20changes\x20to\x20the\x20language\x20spec\x20and\x20the\x0ahttp,\x20os,\x20and\x20syscall\x20packages.\x20Your\x20code\x20may\x20need\x20to\x20be\x20changed.\x20It\x20also\x0aintroduces\x20the\x20new\x20gofix\x20tool.\x0a\x0aThe\x20closed\x20function\x20has\x20been\x20removed\x20from\x20the\x20language.\x20The\x20syntax\x20for\x20channel\x0areceives\x20has\x20been\x20changed\x20to\x20return\x20an\x20optional\x20second\x20value,\x20a\x20boolean\x20value\x0aindicating\x20whether\x20the\x20channel\x20is\x20closed.\x20This\x20code:\x0a\x09v\x20:=\x20&lt;-ch\x0a\x09if\x20closed(ch)\x20{\x0a\x09\x09//\x20channel\x20is\x20closed\x0a\x09}\x0ashould\x20now\x20be\x20written\x20as:\x0a\x09v,\x20ok\x20:=\x20&lt;-ch\x0a\x09if\x20!ok\x20{\x0a\x09\x09//\x20channel\x20is\x20closed\x0a\x09}\x0a\x0aIt\x20is\x20now\x20illegal\x20to\x20declare\x20unused\x20labels,\x20just\x20as\x20it\x20is\x20illegal\x20to\x20declare\x0aunused\x20local\x20variables.\x0a\x0aThe\x20new\x20gofix\x20tool\x20finds\x20Go\x20programs\x20that\x20use\x20old\x20APIs\x20and\x20rewrites\x20them\x20to\x20use\x0anewer\x20ones.\x20\x20After\x20you\x20update\x20to\x20a\x20new\x20Go\x20release,\x20gofix\x20helps\x20make\x20the\x0anecessary\x20changes\x20to\x20your\x20programs.\x20Gofix\x20will\x20handle\x20the\x20http,\x20os,\x20and\x20syscall\x0apackage\x20changes\x20described\x20below,\x20and\x20we\x20will\x20update\x20the\x20program\x20to\x20keep\x20up\x20with\x0afuture\x20changes\x20to\x20the\x20libraries.\x0a\x0aThe\x20Hijack\x20and\x20Flush\x20methods\x20have\x20been\x20removed\x20from\x20the\x20http.ResponseWriter\x0ainterface\x20and\x20are\x20accessible\x20via\x20the\x20new\x20http.Hijacker\x20and\x20http.Flusher\x0ainterfaces.\x20The\x20RemoteAddr\x20and\x20UsingTLS\x20methods\x20have\x20been\x20moved\x20from\x0ahttp.ResponseWriter\x20to\x20http.Request.\x0a\x0aThe\x20http.ResponseWriter\x20interface's\x20SetHeader\x20method\x20has\x20been\x20replaced\x20by\x20a\x0aHeader()\x20method\x20that\x20returns\x20the\x20response's\x20http.Header.\x20Caller\x20code\x20needs\x20to\x0achange.\x20This\x20code:\x0a\x09rw.SetHeader(\"Content-Type\",\x20\"text/plain\")\x0ashould\x20now\x20be\x20written\x20as:\x0a\x09rw.Header().Set(\"Content-Type\",\x20\"text/plain\")\x0aThe\x20os\x20and\x20syscall\x20packages'\x20StartProcess\x20functions\x20now\x20take\x20their\x20final\x20three\x0aarguments\x20as\x20an\x20*os.ProcAttr\x20and\x20*syscall.ProcAttr\x20values,\x20respectively.\x20This\x0acode:\x0a\x09os.StartProcess(bin,\x20args,\x20env,\x20dir,\x20fds)\x0ashould\x20now\x20be\x20written\x20as:\x0a\x09os.StartProcess(bin,\x20args,\x20&amp;os.ProcAttr{Files:\x20fds,\x20Dir:\x20dir,\x20Env:\x20env})\x0a\x0aThe\x20gob\x20package\x20will\x20now\x20encode\x20and\x20decode\x20values\x20of\x20types\x20that\x20implement\x20the\x0agob.GobEncoder\x20and\x20gob.GobDecoder\x20interfaces.\x20This\x20allows\x20types\x20with\x20unexported\x0afields\x20to\x20transmit\x20self-consistent\x20descriptions;\x20one\x20instance\x20is\x20big.Int\x20and\x0abig.Rat.\x0a\x0aOther\x20changes:\x0a*\x205l,\x206l,\x208l:\x20reduce\x20binary\x20size\x20about\x2040%\x20by\x20omitting\x20symbols\x20for\x20type,\x20string,\x20go.string.\x0a*\x205l,\x208l:\x20output\x20missing\x20section\x20symbols\x20(thanks\x20Anthony\x20Martin).\x0a*\x206l,\x208l:\x20fix\x20gdb\x20crash.\x0a*\x20Make.cmd:\x20also\x20clean\x20_test*\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20big:\x20implemented\x20custom\x20Gob(En/De)coder\x20for\x20Int\x20type.\x0a*\x20build:\x20remove\x20duplicate\x20dependency\x20in\x20Make.cmd\x20(thanks\x20Robert\x20Hencke),\x0a\x20\x20\x20\x20\x20\x20\x20\x20run\x20gotest\x20in\x20misc/cgo/test.\x0a*\x20codereview.py:\x20don't\x20suggest\x20change\x20-d\x20if\x20user\x20is\x20not\x20CL\x20author\x20(thanks\x20Robert\x20Hencke).\x0a*\x20compress/lzw:\x20benchmark\x20a\x20range\x20of\x20input\x20sizes.\x0a*\x20crypto/ecdsa:\x20add\x20package.\x0a*\x20crypto/elliptic:\x20add\x20the\x20N\x20value\x20of\x20each\x20curve.\x0a*\x20crypto/openpgp:\x20bug\x20fixes\x20and\x20fix\x20misnamed\x20function.\x0a*\x20crypto/tls:\x20fix\x20compile\x20error\x20(thanks\x20Dave\x20Cheney).\x0a*\x20doc:\x20Effective\x20Go:\x20some\x20small\x20cleanups,\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20FAQ.\x20hello,\x20world\x20is\x20now\x201.1MB,\x20down\x20from\x201.8MB,\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20codelab\x20wiki\x20to\x20fix\x20template.Execute\x20argument\x20order.\x0a*\x20flag:\x20visit\x20the\x20flags\x20in\x20sorted\x20order,\x20for\x20nicer\x20messages.\x0a*\x20fmt:\x20do\x20not\x20export\x20EOF\x20=\x20-1.\x0a*\x20fmt:\x20make\x20ScanState.Token\x20more\x20general\x20(thanks\x20Roger\x20Peppe).\x0a*\x20gc:\x20diagnose\x20unused\x20labels,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20handling\x20of\x20return\x20values\x20named\x20_,\x0a\x20\x20\x20\x20\x20\x20\x20\x20include\x20all\x20dependencies\x20in\x20export\x20metadata,\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20unsafe.Pointer\x20its\x20own\x20kind\x20of\x20type,\x20instead\x20of\x20an\x20equivalent\x20to\x20*any.\x0a*\x20go/ast,\x20go/parser:\x20populate\x20identifier\x20scopes\x20at\x20parse\x20time.\x0a*\x20go/ast:\x20add\x20FileSet\x20parameter\x20to\x20ast.Print\x20and\x20ast.Fprint.\x0a*\x20go/parser:\x20first\x20constant\x20in\x20a\x20constant\x20declaration\x20must\x20have\x20a\x20value.\x0a*\x20gob:\x20efficiency\x20and\x20reliability\x20fixes.\x0a*\x20gofmt:\x20remove\x20-trace\x20and\x20-ast\x20flags.\x0a*\x20goinstall:\x20handle\x20$(GOOS)\x20and\x20$(GOARCH)\x20in\x20filenames,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20.c\x20files\x20with\x20gc\x20when\x20cgo\x20isn't\x20used,\x20and\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20.s\x20files\x20with\x20gc\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20gopack:\x20omit\x20time\x20stamps,\x20makes\x20output\x20deterministic.\x0a*\x20gotype:\x20commandline\x20tool\x20to\x20typecheck\x20go\x20programs.\x0a*\x20govet:\x20handle\x20'*'\x20in\x20print\x20format\x20strings.\x0a*\x20hash:\x20new\x20FNV-1a\x20implementation\x20(thanks\x20Pascal\x20S.\x20de\x20Kloe).\x0a*\x20http/cgi:\x20child\x20support\x20(e.g.\x20Go\x20CGI\x20under\x20Apache).\x0a*\x20http:\x20adapt\x20Cookie\x20code\x20to\x20follow\x20IETF\x20draft\x20(thanks\x20Petar\x20Maymounkov),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20test\x20for\x20fixed\x20HTTP/1.0\x20keep-alive\x20issue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20don't\x20hit\x20external\x20network\x20in\x20client_test.go,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20transport\x20crash\x20when\x20request\x20URL\x20is\x20nil,\x0a\x20\x20\x20\x20\x20\x20\x20\x20rename\x20interface\x20Transport\x20to\x20RoundTripper,\x0a\x20\x20\x20\x20\x20\x20\x20\x20run\x20tests\x20even\x20with\x20DISABLE_NET_TESTS=1.\x0a*\x20httptest:\x20default\x20the\x20Recorder\x20status\x20code\x20to\x20200\x20on\x20a\x20Write.\x0a*\x20io/ioutil:\x20clean-up\x20of\x20ReadAll\x20and\x20ReadFile.\x0a*\x20ioutil:\x20add\x20NopCloser.\x0a*\x20ld:\x20preserve\x20symbol\x20sizes\x20during\x20data\x20layout.\x0a*\x20lib9,\x20libmach:\x20Change\x20GOOS\x20references\x20to\x20GOHOSTOS\x20(thanks\x20Evan\x20Shaw).\x0a*\x20libmach:\x20correct\x20string\x20comparison\x20to\x20revive\x206cov\x20on\x20darwin\x20(thanks\x20Dave\x20Cheney).\x0a*\x20misc/vim:\x20Add\x20indent\x20script\x20for\x20Vim\x20(thanks\x20Ross\x20Light).\x0a*\x20net,\x20os,\x20syslog:\x20fixes\x20for\x20Solaris\x20support.\x0a*\x20net:\x20don't\x20loop\x20to\x20drain\x20wakeup\x20pipe.\x0a*\x20nm:\x20document\x20-S\x20flag.\x0a*\x20openpgp:\x20add\x20PublicKey\x20KeyId\x20string\x20accessors.\x0a*\x20rpc:\x20optimizations,\x20add\x20benchmarks\x20and\x20memory\x20profiling,\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20httptest.Server\x20for\x20tests\x20(thanks\x20Robert\x20Hencke).\x0a*\x20runtime:\x20reduce\x20lock\x20contention\x20via\x20wakeup\x20on\x20scheduler\x20unlock,\x0a\x20\x20\x20\x20\x20\x20\x20\x20scheduler,\x20cgo\x20reorganization,\x0a\x20\x20\x20\x20\x20\x20\x20\x20split\x20non-debugging\x20malloc\x20interface\x20out\x20of\x20debug.go\x20into\x20mem.go.\x0a*\x20spec:\x20clarify\x20return\x20statement\x20rules.\x0a*\x20strings:\x20add\x20IndexRune\x20tests,\x20ASCII\x20fast\x20path,\x0a\x20\x20\x20\x20\x20\x20\x20\x20better\x20benchmark\x20names;\x20add\x20BenchmarkIndex.\x0a*\x20syscall:\x20implement\x20Mount\x20and\x20Unmount\x20for\x20linux,\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20Reboot\x20for\x20linux.\x0a*\x20time:\x20fix\x20Time.ZoneOffset\x20documentation\x20(thanks\x20Peter\x20Mundy).\x0a*\x20tls:\x20move\x20PeerCertificates\x20to\x20ConnectionState.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-03-07\">2011-03-07\x20(<a\x20href=\"release.html#r56\">base\x20for\x20r56</a>)</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20changes\x20to\x20the\x20reflect\x20and\x20path\x20packages.\x0aCode\x20that\x20uses\x20reflect\x20or\x20path\x20may\x20need\x20to\x20be\x20updated.\x0a\x0aThe\x20reflect\x20package's\x20Value.Addr\x20method\x20has\x20been\x20renamed\x20to\x20Value.UnsafeAddr.\x0aCode\x20that\x20uses\x20the\x20Addr\x20method\x20will\x20have\x20to\x20call\x20UnsafeAddr\x20instead.\x0a\x0aThe\x20path\x20package\x20has\x20been\x20split\x20into\x20two\x20packages:\x20path\x20and\x20path/filepath.\x0aPackage\x20path\x20manipulates\x20slash-separated\x20paths,\x20regardless\x20of\x20operating\x20system.\x0aPackage\x20filepath\x20implements\x20the\x20local\x20operating\x20system's\x20native\x20file\x20paths.\x0aOS-specific\x20functioanlity\x20in\x20pacakge\x20path,\x20such\x20as\x20Walk,\x20moved\x20to\x20filepath.\x0a\x0aOther\x20changes:\x0a*\x20build:\x20fixes\x20and\x20simplifications\x20(thanks\x20Dave\x20Cheney),\x0a\x20\x20\x20\x20\x20\x20\x20\x20move\x20$GOBIN\x20ahead\x20of\x20/bin,\x20/usr/bin\x20in\x20build\x20$PATH.\x0a*\x20bzip2:\x20speed\x20up\x20decompression.\x0a*\x20cgo:\x20fix\x20dwarf\x20type\x20parsing\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20\x20put\x20temporary\x20source\x20files\x20in\x20_obj\x20(thanks\x20Roger\x20Peppe),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20bug\x20involving\x200-argument\x20callbacks.\x0a*\x20compress/lzw:\x20optimizations.\x0a*\x20doc:\x20add\x20FAQ\x20about\x20\"implements\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20FAQ\x20about\x20large\x20binaries\x20,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20FAQ\x20about\x20stack\x20vs\x20heap\x20allocation,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20internationalization\x20to\x20roadmap,\x0a\x20\x20\x20\x20\x20\x20\x20\x20describe\x20platform-specific\x20conventions\x20in\x20code.html.\x0a*\x20fmt:\x20allow\x20recursive\x20calls\x20to\x20Fscan\x20etc\x20(thanks\x20Roger\x20Peppe),\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20%#p\x20suppress\x20leading\x200x.\x0a*\x20gc,\x20gopack:\x20add\x20some\x20missing\x20flags\x20to\x20the\x20docs.\x0a*\x20gc:\x20fix\x20init\x20of\x20packages\x20named\x20main\x20(thanks\x20Gustavo\x20Niemeyer),\x0a*\x20gob:\x20make\x20recursive\x20map\x20and\x20slice\x20types\x20work,\x20and\x20other\x20fixes.\x0a\x20\x20\x20\x20\x20\x20\x20\x20tentative\x20support\x20for\x20GobEncoder/GobDecoder\x20interfaces.\x0a*\x20gobuilder:\x20add\x20-package\x20flag\x20to\x20build\x20external\x20packages\x20and\x20-v\x20for\x20verbose.\x0a*\x20gofmt:\x20exclude\x20test\x20file\x20that\x20is\x20not\x20legal\x20Go.\x0a*\x20goinstall:\x20protect\x20against\x20malicious\x20filenames\x20(thanks\x20Roger\x20Peppe).\x0a*\x20goyacc:\x20provide\x20-p\x20flag\x20to\x20set\x20prefix\x20for\x20names,\x20documentation\x20update.\x0a*\x20http:\x20add\x20cookie\x20support\x20(thanks\x20Petar\x20Maymounkov),\x0a\x20\x20\x20\x20\x20\x20\x20\x20allow\x20handlers\x20to\x20send\x20non-chunked\x20responses,\x0a\x20\x20\x20\x20\x20\x20\x20\x20export\x20ParseHTTPVersion,\x0a\x20\x20\x20\x20\x20\x20\x20\x20expose\x20Client's\x20Transport,\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20WriteProxy,\x0a\x20\x20\x20\x20\x20\x20\x20\x20rename\x20ClientTransport\x20to\x20Transport.\x0a*\x20http/cgi:\x20new\x20package.\x0a*\x20http/httptest:\x20new\x20package.\x0a*\x20image:\x20add\x20a\x20decoding\x20test\x20for\x20common\x20file\x20formats.\x0a*\x20io/ioutil:\x20add\x20TempDir.\x0a*\x20mime/multipart:\x20Header\x20changed\x20from\x20map\x20to\x20MIMEHeader\x0a*\x20path/filepath:\x20new\x20OS-specific\x20path\x20support\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20reflect:\x20add\x20PtrTo,\x20add\x20Value.Addr\x20(old\x20Addr\x20is\x20now\x20UnsafeAddr).\x0a*\x20runtime:\x20use\x20kernel-supplied\x20compare-and-swap\x20on\x20linux/arm.\x0a*\x20spec:\x20minor\x20clarification\x20of\x20scope\x20rule\x20for\x20functions.\x0a*\x20sync/atomic:\x20new\x20package\x20to\x20expose\x20atomic\x20operations.\x0a*\x20syscall:\x20regenerate\x20zerrors_freebsd_amd64.go\x20(thanks\x20Mikio\x20Hara),\x0a\x20\x20\x20\x20\x20\x20\x20\x20work\x20around\x20FreeBSD\x20execve\x20kernel\x20bug\x20(thanks\x20Devon\x20H.\x20O'Dell).\x0a*\x20template:\x20document\x20the\x20delimiters.\x0a*\x20testing:\x20run\x20GC\x20before\x20each\x20benchmark\x20run\x20(thanks\x20Roger\x20Peppe).\x0a*\x20unsafe:\x20fix\x20the\x20documentation.\x0a*\x20websocket:\x20use\x20httptest.Server\x20for\x20tests\x20(thanks\x20Robert\x20Hencke).\x0a*\x20xml:\x20permit\x20nested\x20directives\x20(thanks\x20Chris\x20Dollin).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-02-24\">2011-02-24</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20changes\x20to\x20the\x20http\x20package\x20and\x20a\x20small\x20language\x20change.\x0aYour\x20code\x20will\x20require\x20changes\x20if\x20it\x20manipulates\x20http\x20Headers\x20or\x20omits\x20the\x0acondition\x20in\x20if\x20statements.\x0a\x0aThe\x20new\x20http.Header\x20type\x20replaces\x20map[string]string\x20in\x20the\x20Header\x20and\x20Trailer\x0afields\x20of\x20http.Request\x20and\x20http.Response.\x0aA\x20Header\x20value\x20can\x20be\x20manipulated\x20via\x20its\x20Get,\x20Set,\x20Add,\x20and\x20Del\x20methods.\x0aSee\x20http://golang.org/pkg/http/#Header\x0a\x0aThe\x20condition\x20is\x20now\x20mandatory\x20in\x20if\x20statements.\x0aPreviously\x20it\x20would\x20default\x20to\x20true,\x20as\x20in\x20switch\x20and\x20for\x20statements.\x0aThis\x20code\x20is\x20now\x20illegal:\x0a\x09if\x20x\x20:=\x20foo();\x20{\x0a\x09\x09//\x20code\x20that\x20is\x20always\x20executed\x0a\x09}\x0aThe\x20same\x20effect\x20can\x20be\x20achieved\x20like\x20this:\x0a\x09if\x20x\x20:=\x20foo();\x20true\x20{\x0a\x09\x09//\x20code\x0a\x09}\x0aOr,\x20in\x20a\x20simpler\x20form:\x0a\x09{\x0a\x09\x09x\x20:=\x20foo()\x0a\x09\x09//\x20code\x0a\x09}\x0a\x0aOther\x20changes:\x0a*\x206l:\x20new\x20-Hwindowsgui\x20flag\x20allows\x20to\x20build\x20windows\x20gui\x20pe\x20(thanks\x20Alex\x20Brainman),\x0a\x09pe\x20fixes\x20(thanks\x20Wei\x20Guangjing).\x0a*\x208l,\x206l:\x20allow\x20for\x20more\x20os\x20threads\x20to\x20be\x20created\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman),\x0a*\x20build:\x20reduce\x20the\x20use\x20of\x20subshells\x20in\x20recursive\x20make,\x20and\x0a\x09remove\x20unused\x20NaCl\x20conditional\x20from\x20make.bash\x20(thanks\x20Dave\x20Cheney).\x0a*\x20codereview:\x20fix\x20clpatch\x20with\x20empty\x20diffs\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20compress/bzip2:\x20add\x20package.\x0a*\x20compress/lzw:\x20implement\x20a\x20decoder.\x0a*\x20crypto/openpgp:\x20add\x20package.\x0a*\x20crypto/rand:\x20add\x20read\x20buffer\x20to\x20speed\x20up\x20small\x20requests\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20crypto/rsa:\x20left-pad\x20OAEP\x20results\x20when\x20needed.\x0a*\x20crypto/tls:\x20make\x20protocol\x20negotiation\x20failure\x20fatal.\x0a*\x20fmt:\x20stop\x20giving\x20characters\x20to\x20the\x20Scan\x20method\x20of\x20Scanner\x20when\x20we\x20hit\x20a\x20newline\x20in\x20Scanln.\x0a*\x20gc:\x20interface\x20error\x20message\x20fixes,\x0a\x09make\x20string\x20const\x20comparison\x20unsigned\x20(thanks\x20Jeff\x20R.\x20Allen).\x0a*\x20go\x20spec:\x20minor\x20clarification\x20on\x20channel\x20types.\x0a*\x20go/ast,\x20parser:\x20condition\x20in\x20if\x20statement\x20is\x20mandatory.\x0a*\x20gob:\x20compute\x20information\x20about\x20a\x20user's\x20type\x20once.\x0a\x09protect\x20against\x20pure\x20recursive\x20types.\x0a*\x20godoc:\x20accept\x20symbolic\x20links\x20as\x20path\x20names\x20provided\x20to\x20-path,\x0a\x09add\x20robots.txt,\x20log\x20errors\x20when\x20reading\x20filter\x20files.\x0a*\x20html:\x20tokenize\x20HTML\x20comments.\x0a*\x20http:\x20add\x20proxy\x20support\x20(thanks\x20Yasuhiro\x20Matsumoto),\x0a\x09implement\x20with\x20net/textproto\x20(thanks\x20Petar\x20Maymounkov),\x0a\x09send\x20full\x20URL\x20in\x20proxy\x20requests,\x0a\x09introduce\x20start\x20of\x20Client\x20and\x20ClientTransport.\x0a*\x20image/png:\x20support\x20for\x20more\x20formats\x20(thanks\x20Mikael\x20Tillenius).\x0a*\x20json:\x20only\x20use\x20alphanumeric\x20tags,\x0a\x09use\x20base64\x20to\x20encode\x20[]byte\x20(thanks\x20Roger\x20Peppe).\x0a*\x20ld:\x20detect\x20stack\x20overflow\x20due\x20to\x20NOSPLIT,\x20drop\x20rpath,\x20support\x20weak\x20symbols.\x0a*\x20misc/dashboard/builder:\x20talk\x20to\x20hg\x20with\x20utf-8\x20encoding.\x0a*\x20misc/dashboard:\x20notify\x20golang-dev\x20on\x20build\x20failure.\x0a*\x20net:\x20*netFD.Read\x20to\x20return\x20os.EOF\x20on\x20eof\x20under\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09add\x20IPv4\x20multicast\x20to\x20UDPConn\x20(thanks\x20Dave\x20Cheney),\x0a\x09more\x20accurate\x20IPv4-in-IPv6\x20API\x20test\x20(thanks\x20Mikio\x20Hara),\x0a\x09reject\x20invalid\x20net:proto\x20network\x20names\x20(thanks\x20Olivier\x20Antoine).\x0a*\x20netchan:\x20allow\x20use\x20of\x20arbitrary\x20connections\x20(thanks\x20Roger\x20Peppe).\x0a*\x20os:\x20add\x20ENODATA\x20and\x20ENOTCONN\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20reflect:\x20add\x20a\x20couple\x20of\x20sentences\x20explaining\x20how\x20Methods\x20operate,\x0a\x09add\x20a\x20secret\x20method\x20to\x20ArrayOrSliceType\x20to\x20ensure\x20it's\x20only\x20implemented\x20by\x20arrays\x20and\x20slices,\x0a\x09add\x20pointer\x20word\x20to\x20CommonType\x20(placeholder\x20for\x20future\x20work).\x0a*\x20runtime-gdb.py:\x20gdb\x20pretty\x20printer\x20for\x20go\x20strings\x20properly\x20handles\x20length.\x0a*\x20runtime:\x20various\x20bug\x20fixes,\x20more\x20complete\x20stack\x20traces,\x0a\x09record\x20$GOROOT_FINAL\x20for\x20runtime.GOROOT.\x0a*\x20spec:\x20delete\x20incorrect\x20mention\x20of\x20selector\x20working\x20on\x20pointer\x20to\x20interface\x20type.\x0a*\x20sync:\x20add\x20Cond\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20syscall:\x20add\x20MCL_*\x20flags\x20for\x20mlockall\x20(thanks\x20Albert\x20Strasheim),\x0a\x09implement\x20chmod()\x20for\x20win32\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20test/bench:\x20update\x20timings\x20for\x20new\x20GC.\x0a*\x20testing:\x20rename\x20cmdline\x20flags\x20to\x20avoid\x20conflicts\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20textproto:\x20introduce\x20Header\x20type\x20(thanks\x20Petar\x20Maymounkov).\x0a*\x20websocket:\x20use\x20new\x20interface\x20to\x20access\x20Header.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-02-15\">2011-02-15</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20changes\x20to\x20the\x20io,\x20os,\x20and\x20template\x20packages.\x0aYou\x20may\x20need\x20to\x20update\x20your\x20code.\x0a\x0aThe\x20io.ReadByter\x20and\x20io.ReadRuner\x20interface\x20types\x20have\x20been\x20renamed\x20to\x0aio.ByteReader\x20and\x20io.RuneReader\x20respectively.\x0a\x0aThe\x20os\x20package's\x20ForkExec\x20function\x20has\x20been\x20superseded\x20by\x20the\x20new\x20StartProcess\x0afunction\x20and\x20an\x20API\x20built\x20around\x20the\x20Process\x20type:\x0a\x09http://golang.org/pkg/os/#Process\x0a\x0aThe\x20order\x20of\x20arguments\x20to\x20template.Execute\x20has\x20been\x20reversed\x20to\x20be\x20consistent\x0athe\x20notion\x20of\x20\"destination\x20first\",\x20as\x20with\x20io.Copy,\x20fmt.Fprint,\x20and\x20others.\x0a\x0aGotest\x20now\x20works\x20for\x20package\x20main\x20in\x20directories\x20using\x20Make.cmd-based\x20makefiles.\x0a\x0aThe\x20memory\x20allocation\x20runtime\x20problems\x20from\x20the\x20last\x20release\x20are\x20not\x20completely\x0afixed.\x20\x20The\x20virtual\x20memory\x20exhaustion\x20problems\x20encountered\x20by\x20people\x20using\x0aulimit\x20-v\x20have\x20been\x20fixed,\x20but\x20there\x20remain\x20known\x20garbage\x20collector\x20problems\x0awhen\x20using\x20GOMAXPROCS\x20>\x201.\x0a\x0aOther\x20changes:\x0a*\x205l:\x20stopped\x20generating\x2064-bit\x20eor.\x0a*\x208l:\x20more\x20work\x20on\x20plan9\x20support\x20(thanks\x20Yuval\x20Pavel\x20Zholkover).\x0a*\x20archive/zip:\x20handle\x20files\x20with\x20data\x20descriptors.\x0a*\x20arm:\x20working\x20peep-hole\x20optimizer.\x0a*\x20asn1:\x20marshal\x20true\x20as\x20255,\x20not\x201.\x0a*\x20buffer.go:\x20minor\x20optimization,\x20expanded\x20comment.\x0a*\x20build:\x20drop\x20syslog\x20on\x20DISABLE_NET_TESTS=1\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20allow\x20clean.bash\x20to\x20work\x20on\x20fresh\x20checkout,\x0a\x20\x20\x20\x20\x20\x20\x20change\x20\"all\x20tests\x20pass\"\x20message\x20to\x20be\x20more\x20obvious,\x0a\x20\x20\x20\x20\x20\x20\x20fix\x20spaces\x20in\x20GOROOT\x20(thanks\x20Christopher\x20Nielsen).\x0a*\x20bytes:\x20fix\x20bug\x20in\x20buffer.ReadBytes\x20(thanks\x20Evan\x20Shaw).\x0a*\x205g:\x20better\x20int64\x20code,\x0a\x20\x20\x20\x20\x20\x20\x20don't\x20use\x20MVN\x20instruction.\x0a*\x20cgo:\x20don't\x20run\x20cgo\x20when\x20not\x20compiling\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20fix\x20_cgo_run\x20timestamp\x20file\x20order\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20fix\x20handling\x20of\x20signed\x20enumerations\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20os/arch\x20dependent\x20#cgo\x20directives\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20rename\x20internal\x20f\x20to\x20avoid\x20conflict\x20with\x20possible\x20C\x20global\x20named\x20f.\x0a*\x20codereview:\x20fix\x20hgpatch\x20on\x20windows\x20(thanks\x20Yasuhiro\x20Matsumoto),\x0a\x20\x20\x20\x20\x20\x20\x20record\x20repository,\x20base\x20revision,\x0a\x20\x20\x20\x20\x20\x20\x20use\x20cmd.communicate\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20container/ring:\x20replace\x20Iter()\x20with\x20Do().\x0a*\x20crypto/cipher:\x20add\x20resync\x20open\x20to\x20OCFB\x20mode.\x0a*\x20crypto/openpgp/armor:\x20bug\x20fixes.\x0a*\x20crypto/openpgp/packet:\x20new\x20subpackage.\x0a*\x20crypto/tls:\x20load\x20a\x20chain\x20of\x20certificates\x20from\x20a\x20file,\x0a\x20\x20\x20\x20\x20\x20\x20select\x20best\x20cipher\x20suite,\x20not\x20worst.\x0a*\x20crypto/x509:\x20add\x20support\x20for\x20name\x20constraints.\x0a*\x20debug/pe:\x20ImportedSymbols\x20fixes\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20doc/code:\x20update\x20to\x20reflect\x20that\x20package\x20names\x20need\x20not\x20be\x20unique.\x0a*\x20doc/codelab/wiki:\x20a\x20bunch\x20of\x20fixes\x20(thanks\x20Andrey\x20Mirtchovski).\x0a*\x20doc/install:\x20update\x20for\x20new\x20versions\x20of\x20Mercurial.\x0a*\x20encoding/line:\x20fix\x20line\x20returned\x20after\x20EOF.\x0a*\x20flag:\x20allow\x20hexadecimal\x20(0xFF)\x20and\x20octal\x20(0377)\x20input\x20for\x20integer\x20flags.\x0a*\x20fmt.Scan:\x20scan\x20binary-exponent\x20floating\x20format,\x202.4p-3,\x0a\x20\x20\x20\x20\x20\x20\x20hexadecimal\x20(0xFF)\x20and\x20octal\x20(0377)\x20integers.\x0a*\x20fmt:\x20document\x20%%;\x20also\x20%b\x20for\x20floating\x20point.\x0a*\x20gc,\x20ld:\x20detect\x20stale\x20or\x20incompatible\x20object\x20files,\x0a\x20\x20\x20\x20\x20\x20\x20package\x20name\x20main\x20no\x20longer\x20reserved.\x0a*\x20gc:\x20correct\x20receiver\x20in\x20method\x20missing\x20error\x20(thanks\x20Lorenzo\x20Stoakes),\x0a\x20\x20\x20\x20\x20\x20\x20correct\x20rounding\x20of\x20denormal\x20constants\x20(thanks\x20Eoghan\x20Sherry),\x0a\x20\x20\x20\x20\x20\x20\x20select\x20receive\x20bug\x20fix.\x0a*\x20go/printer,\x20gofmt:\x20smarter\x20handling\x20of\x20multi-line\x20raw\x20strings.\x0a*\x20go/printer:\x20line\x20comments\x20must\x20always\x20end\x20in\x20a\x20newline,\x0a\x20\x20\x20\x20\x20\x20\x20remove\x20notion\x20of\x20\"Styler\",\x20remove\x20HTML\x20mode.\x0a*\x20gob:\x20allow\x20Decode(nil)\x20and\x20have\x20it\x20just\x20discard\x20the\x20next\x20value.\x0a*\x20godoc:\x20use\x20IsAbs\x20to\x20test\x20for\x20absolute\x20paths\x20(fix\x20for\x20win32)\x20(thanks\x20Yasuhiro\x20Matsumoto),\x0a\x20\x20\x20\x20\x20\x20\x20don't\x20hide\x20package\x20lookup\x20error\x20if\x20there's\x20no\x20command\x20with\x20the\x20same\x20name.\x0a*\x20gotest:\x20enable\x20unit\x20tests\x20for\x20main\x20programs.\x0a*\x20http:\x20add\x20Server\x20type\x20supporting\x20timeouts,\x0a\x20\x20\x20\x20\x20\x20\x20add\x20pipelining\x20to\x20ClientConn,\x20ServerConn\x20(thanks\x20Petar\x20Maymounkov),\x0a\x20\x20\x20\x20\x20\x20\x20handle\x20unchunked,\x20un-lengthed\x20HTTP/1.1\x20responses.\x0a*\x20io:\x20add\x20RuneReader.\x0a*\x20json:\x20correct\x20Marshal\x20documentation.\x0a*\x20netchan:\x20graceful\x20handling\x20of\x20closed\x20connection\x20(thanks\x20Graham\x20Miller).\x0a*\x20os:\x20implement\x20new\x20Process\x20API\x20(thanks\x20Alex\x20Brainman).\x0a*\x20regexp\x20tests:\x20make\x20some\x20benchmarks\x20more\x20meaningful.\x0a*\x20regexp:\x20add\x20support\x20for\x20matching\x20against\x20text\x20read\x20from\x20RuneReader\x20interface.\x0a*\x20rpc:\x20make\x20more\x20tolerant\x20of\x20errors,\x20properly\x20discard\x20values\x20(thanks\x20Roger\x20Peppe).\x0a*\x20runtime:\x20detect\x20failed\x20thread\x20creation\x20on\x20Windows,\x0a\x20\x20\x20\x20\x20\x20\x20faster\x20allocator,\x20garbage\x20collector,\x0a\x20\x20\x20\x20\x20\x20\x20fix\x20virtual\x20memory\x20exhaustion,\x0a\x20\x20\x20\x20\x20\x20\x20implemented\x20windows\x20console\x20ctrl\x20handler\x20(SIGINT)\x20(thanks\x20Hector\x20Chu),\x0a\x20\x20\x20\x20\x20\x20\x20more\x20detailed\x20panic\x20traces,\x20line\x20number\x20work,\x0a\x20\x20\x20\x20\x20\x20\x20improved\x20Windows\x20callback\x20handling\x20(thanks\x20Hector\x20Chu).\x0a*\x20spec:\x20adjust\x20notion\x20of\x20Assignability,\x0a\x20\x20\x20\x20\x20\x20\x20allow\x20import\x20of\x20packages\x20named\x20main,\x0a\x20\x20\x20\x20\x20\x20\x20clarification\x20re:\x20method\x20sets\x20of\x20newly\x20declared\x20pointer\x20types,\x0a\x20\x20\x20\x20\x20\x20\x20fix\x20a\x20few\x20typos\x20(thanks\x20Anthony\x20Martin),\x0a\x20\x20\x20\x20\x20\x20\x20fix\x20Typeof()\x20return\x20type\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20move\x20to\x20Unicode\x206.0.\x0a*\x20sync:\x20diagnose\x20Unlock\x20of\x20unlocked\x20Mutex,\x0a\x20\x20\x20\x20\x20\x20\x20new\x20Waitgroup\x20type\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20syscall:\x20add\x20SetsockoptIpMreq\x20(thanks\x20Dave\x20Cheney),\x0a\x20\x20\x20\x20\x20\x20\x20add\x20sockaddr_dl,\x20sysctl\x20with\x20routing\x20message\x20support\x20for\x20darwin,\x20freebsd\x20(thanks\x20Mikio\x20Hara),\x0a\x20\x20\x20\x20\x20\x20\x20do\x20not\x20use\x20NULL\x20for\x20zero-length\x20read,\x20write,\x0a\x20\x20\x20\x20\x20\x20\x20implement\x20windows\x20version\x20of\x20Fsync\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20make\x20ForkExec\x20acquire\x20the\x20ForkLock\x20under\x20windows\x20(thanks\x20Hector\x20Chu),\x0a\x20\x20\x20\x20\x20\x20\x20make\x20windows\x20API\x20return\x20errno\x20instead\x20of\x20bool\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20remove\x20obsolete\x20socket\x20IO\x20control\x20(thanks\x20Mikio\x20Hara).\x0a*\x20template:\x20add\x20simple\x20formatter\x20chaining\x20(thanks\x20Kyle\x20Consalus),\x0a\x20\x20\x20\x20\x20\x20\x20allow\x20a\x20leading\x20'*'\x20to\x20indirect\x20through\x20a\x20pointer.\x0a*\x20testing:\x20include\x20elapsed\x20time\x20in\x20test\x20output\x0a*\x20windows:\x20replace\x20remaining\x20__MINGW32__\x20instances\x20with\x20_WIN32\x20(thanks\x20Joe\x20Poirier).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-02-01\">2011-02-01</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20significant\x20changes\x20to\x20channel\x20operations\x20and\x20minor\x0achanges\x20to\x20the\x20log\x20package.\x20Your\x20code\x20will\x20require\x20modification\x20if\x20it\x20uses\x0achannels\x20in\x20non-blocking\x20communications\x20or\x20the\x20log\x20package's\x20Exit\x20functions.\x0a\x0aNon-blocking\x20channel\x20operations\x20have\x20been\x20removed\x20from\x20the\x20language.\x0aThe\x20equivalent\x20operations\x20have\x20always\x20been\x20possible\x20using\x20a\x20select\x20statement\x0awith\x20a\x20default\x20clause.\x20\x20If\x20a\x20default\x20clause\x20is\x20present\x20in\x20a\x20select,\x20that\x20clause\x0awill\x20execute\x20(only)\x20if\x20no\x20other\x20is\x20ready,\x20which\x20allows\x20one\x20to\x20avoid\x20blocking\x20on\x0aa\x20communication.\x0a\x0aFor\x20example,\x20the\x20old\x20non-blocking\x20send\x20operation,\x0a\x0a\x09if\x20ch\x20&lt;-\x20v\x20{\x0a\x09\x09//\x20sent\x0a\x09}\x20else\x20{\x0a\x09\x09//\x20not\x20sent\x0a\x09}\x0a\x0ashould\x20be\x20rewritten\x20as,\x0a\x0a\x09select\x20{\x0a\x09case\x20ch\x20&lt;-\x20v:\x0a\x09\x09//\x20sent\x0a\x09default:\x0a\x09\x09//\x20not\x20sent\x0a\x09}\x0a\x0aSimilarly,\x20this\x20receive,\x0a\x0a\x09v,\x20ok\x20:=\x20&lt;-ch\x0a\x09if\x20ok\x20{\x0a\x09\x09//\x20received\x0a\x09}\x20else\x20{\x0a\x09\x09//\x20not\x20received\x0a\x09}\x0a\x0ashould\x20be\x20rewritten\x20as,\x0a\x0a\x09select\x20{\x0a\x09case\x20v\x20:=\x20&lt;-ch:\x0a\x09\x09//\x20received\x0a\x09default:\x0a\x09\x09//\x20not\x20received\x0a\x09}\x0a\x0aThis\x20change\x20is\x20a\x20prelude\x20to\x20redefining\x20the\x20'comma-ok'\x20syntax\x20for\x20a\x20receive.\x0aIn\x20a\x20later\x20release,\x20a\x20receive\x20expression\x20will\x20return\x20the\x20received\x20value\x20and\x20an\x0aoptional\x20boolean\x20indicating\x20whether\x20the\x20channel\x20has\x20been\x20closed.\x20These\x20changes\x0aare\x20being\x20made\x20in\x20two\x20stages\x20to\x20prevent\x20this\x20semantic\x20change\x20from\x20silently\x0abreaking\x20code\x20that\x20uses\x20'comma-ok'\x20with\x20receives.\x0aThere\x20are\x20no\x20plans\x20to\x20have\x20a\x20boolean\x20expression\x20form\x20for\x20sends.\x0a\x0aSends\x20to\x20a\x20closed\x20channel\x20will\x20panic\x20immediately.\x20Previously,\x20an\x20unspecified\x0anumber\x20of\x20sends\x20would\x20fail\x20silently\x20before\x20causing\x20a\x20panic.\x0a\x0aThe\x20log\x20package's\x20Exit,\x20Exitf,\x20and\x20Exitln\x20functions\x20have\x20been\x20renamed\x20Fatal,\x0aFatalf,\x20and\x20Fatalln\x20respectively.\x20This\x20brings\x20them\x20in\x20line\x20with\x20the\x20naming\x20of\x0athe\x20testing\x20package.\x20\x0a\x0aThe\x20port\x20to\x20the\x20\"tiny\"\x20operating\x20system\x20has\x20been\x20removed.\x20It\x20is\x20unmaintained\x0aand\x20untested.\x20It\x20was\x20a\x20toy\x20to\x20show\x20that\x20Go\x20can\x20run\x20on\x20raw\x20hardware\x20and\x20it\x0aserved\x20its\x20purpose.\x20The\x20source\x20code\x20will\x20of\x20course\x20remain\x20in\x20the\x20repository\x0ahistory,\x20so\x20it\x20could\x20be\x20brought\x20back\x20if\x20needed\x20later.\x0a\x0aThis\x20release\x20also\x20changes\x20some\x20of\x20the\x20internal\x20structure\x20of\x20the\x20memory\x0aallocator\x20in\x20preparation\x20for\x20other\x20garbage\x20collector\x20changes.\x20\x0aIf\x20you\x20run\x20into\x20problems,\x20please\x20let\x20us\x20know.\x0aThere\x20is\x20one\x20known\x20issue\x20that\x20we\x20are\x20aware\x20of\x20but\x20have\x20not\x20debugged\x20yet:\x0a\x09http://code.google.com/p/go/issues/detail?id=1464&amp;.\x0a\x0aOther\x20changes\x20in\x20this\x20release:\x0a*\x205l:\x20document\x20-F,\x20force\x20it\x20on\x20old\x20ARMs\x20(software\x20floating\x20point\x20emulation)\x0a*\x206g:\x20fix\x20registerization\x20of\x20temporaries\x20(thanks\x20Eoghan\x20Sherry),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20uint64(uintptr(unsafe.Pointer(&amp;x))).\x0a*\x206l:\x20Relocate\x20CMOV*\x20instructions\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20\x20windows/amd64\x20port\x20(thanks\x20Wei\x20Guangjing).\x0a*\x208l:\x20add\x20PE\x20dynexport,\x20emit\x20DWARF\x20in\x20Windows\x20PE,\x20and\x0a\x20\x20\x20\x20\x20\x20\x20\x20code\x20generation\x20fixes\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20bufio:\x20make\x20Flush\x20a\x20no-op\x20when\x20the\x20buffer\x20is\x20empty.\x0a*\x20bytes:\x20Add\x20Buffer.ReadBytes,\x20Buffer.ReadString\x20(thanks\x20Evan\x20Shaw).\x0a*\x20cc:\x20mode\x20to\x20generate\x20go-code\x20for\x20types\x20and\x20variables.\x0a*\x20cgo:\x20define\x20CGO_CFLAGS\x20and\x20CGO_LDFLAGS\x20in\x20Go\x20files\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20\x20windows/386\x20port\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20codereview:\x20fix\x20windows\x20(thanks\x20Hector\x20Chu),\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20file\x20patterns\x20better,\x0a\x20\x20\x20\x20\x20\x20\x20\x20more\x20ASCII\x20vs.\x20Unicode\x20nonsense.\x0a*\x20crypto/dsa:\x20add\x20support\x20for\x20DSA.\x0a*\x20crypto/openpgp:\x20add\x20s2k.\x0a*\x20crypto/rand:\x20use\x20defer\x20to\x20unlock\x20mutex\x20(thanks\x20Anschel\x20Schaffer-Cohen).\x0a*\x20crypto/rsa:\x20correct\x20docstring\x20for\x20SignPKCS1v15.\x0a*\x20crypto:\x20add\x20package,\x20a\x20common\x20place\x20to\x20store\x20identifiers\x20for\x20hash\x20functions.\x0a*\x20doc/codelab/wiki:\x20update\x20to\x20work\x20with\x20template\x20changes,\x20add\x20to\x20run.bash.\x0a*\x20doc/spec:\x20clarify\x20address\x20operators.\x0a*\x20ebnflint:\x20exit\x20with\x20non-zero\x20status\x20on\x20error.\x0a*\x20encoding/base32:\x20new\x20package\x20(thanks\x20Miek\x20Gieben).\x0a*\x20encoding/line:\x20make\x20it\x20an\x20io.Reader\x20too.\x0a*\x20exec:\x20use\x20custom\x20error\x20for\x20LookPath\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20fmt/doc:\x20define\x20width\x20and\x20precision\x20for\x20strings.\x0a*\x20gc:\x20clearer\x20error\x20for\x20struct\x20==\x20struct,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20send\x20precedence,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20invalid\x20name\x20in\x20type\x20switch,\x0a\x20\x20\x20\x20\x20\x20\x20\x20special\x20case\x20code\x20for\x20single-op\x20blocking\x20and\x20non-blocking\x20selects.\x0a*\x20go/scanner:\x20fix\x20build\x20(adjust\x20scanner\x20EOF\x20linecount).\x0a*\x20gob:\x20better\x20debugging,\x20commentary,\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20nested\x20interfaces\x20work,\x0a\x20\x20\x20\x20\x20\x20\x20\x20report\x20an\x20error\x20when\x20encoding\x20a\x20non-empty\x20struct\x20with\x20no\x20public\x20fields.\x0a*\x20godoc:\x20full\x20text\x20index\x20for\x20whitelisted\x20non-Go\x20files,\x0a\x20\x20\x20\x20\x20\x20\x20\x20show\x20line\x20numbers\x20for\x20non-go\x20files\x20(bug\x20fix).\x0a*\x20gofmt\x20-r:\x20match(...)\x20arguments\x20may\x20be\x20nil;\x20add\x20missing\x20guards.\x0a*\x20govet:\x20add\x20Panic\x20to\x20the\x20list\x20of\x20functions.\x0a*\x20http:\x20add\x20host\x20patterns\x20(thanks\x20Jose\x20Luis\x20V\xc3\xa1zquez\x20Gonz\xc3\xa1lez),\x0a\x20\x20\x20\x20\x20\x20\x20\x20follow\x20relative\x20redirect\x20in\x20Get.\x0a*\x20json:\x20handle\x20capital\x20floating\x20point\x20exponent\x20(1E100)\x20(thanks\x20Pieter\x20Droogendijk).\x0a*\x20ld:\x20add\x20-I\x20option\x20to\x20set\x20ELF\x20interpreter,\x0a\x20\x20\x20\x20\x20\x20\x20\x20more\x20robust\x20decoding\x20of\x20reflection\x20type\x20info\x20in\x20generating\x20dwarf.\x0a*\x20lib9:\x20update\x20to\x20Unicode\x206.0.0.\x0a*\x20make.bash:\x20stricter\x20selinux\x20test\x20(don't\x20complain\x20unless\x20it\x20is\x20enabled).\x0a*\x20misc/vim:\x20Import/Drop\x20commands\x20(thanks\x20Gustavo\x20Niemeyer),\x0a\x20\x20\x20\x20\x20\x20\x20\x20set\x20'syntax\x20sync'\x20to\x20a\x20large\x20value\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20net:\x20fix\x20race\x20condition\x20in\x20test,\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20cname\x20in\x20LookupHost.\x0a*\x20netchan:\x20avoid\x20race\x20condition\x20in\x20test,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fixed\x20documentation\x20for\x20import\x20(thanks\x20Anschel\x20Schaffer-Cohen).\x0a*\x20os:\x20add\x20ETIMEDOUT\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20runtime:\x20generate\x20Go\x20defs\x20for\x20C\x20types,\x0a\x20\x20\x20\x20\x20\x20\x20\x20implementation\x20of\x20callback\x20functions\x20for\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20Walk\x20web\x20browser\x20example\x20work\x20(thanks\x20Hector\x20Chu),\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20select\x20fairer,\x0a\x20\x20\x20\x20\x20\x20\x20\x20prefer\x20fixed\x20stack\x20allocator\x20over\x20general\x20memory\x20allocator,\x0a\x20\x20\x20\x20\x20\x20\x20\x20simpler\x20heap\x20map,\x20memory\x20allocation.\x0a*\x20scanner:\x20fix\x20Position\x20returned\x20by\x20Scan,\x20Pos,\x0a\x20\x20\x20\x20\x20\x20\x20\x20don't\x20read\x20ahead\x20in\x20Init.\x0a*\x20suffixarray:\x20use\x20binary\x20search\x20for\x20both\x20ends\x20of\x20Lookup\x20(thanks\x20Eric\x20Eisner).\x0a*\x20syscall:\x20add\x20missing\x20network\x20interface\x20constants\x20(thanks\x20Mikio\x20Hara).\x0a*\x20template:\x20treat\x20map\x20keys\x20as\x20zero,\x20not\x20non-existent\x20(thanks\x20Roger\x20Peppe).\x0a*\x20time:\x20allow\x20canceling\x20of\x20After\x20events\x20(thanks\x20Roger\x20Peppe),\x0a\x20\x20\x20\x20\x20\x20\x20\x20support\x20Solaris\x20zoneinfo\x20directory.\x0a*\x20token/position:\x20added\x20SetLinesForContent.\x0a*\x20unicode:\x20update\x20to\x20unicode\x206.0.0.\x0a*\x20unsafe:\x20add\x20missing\x20case\x20to\x20doc\x20for\x20Pointer.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-01-20\">2011-01-20</h2>\x0a\x0a<pre>\x0aThis\x20release\x20removes\x20the\x20float\x20and\x20complex\x20types\x20from\x20the\x20language.\x0a\x0aThe\x20default\x20type\x20for\x20a\x20floating\x20point\x20literal\x20is\x20now\x20float64,\x20and\x0athe\x20default\x20type\x20for\x20a\x20complex\x20literal\x20is\x20now\x20complex128.\x0a\x0aExisting\x20code\x20that\x20uses\x20float\x20or\x20complex\x20must\x20be\x20rewritten\x20to\x0ause\x20explicitly\x20sized\x20types.\x0a\x0aThe\x20two-argument\x20constructor\x20cmplx\x20is\x20now\x20spelled\x20complex.\x0a</pre>\x0a\x0a<h2\x20id=\"2011-01-19\">2011-01-19</h2>\x0a\x0a<pre>\x0aThe\x205g\x20(ARM)\x20compiler\x20now\x20has\x20registerization\x20enabled.\x20\x20If\x20you\x20discover\x20it\x0acauses\x20bugs,\x20use\x205g\x20-N\x20to\x20disable\x20the\x20registerizer\x20and\x20please\x20let\x20us\x20know.\x0a\x0aThe\x20xml\x20package\x20now\x20allows\x20the\x20extraction\x20of\x20nested\x20XML\x20tags\x20by\x20specifying\x0astruct\x20tags\x20of\x20the\x20form\x20\"parent>child\".\x20See\x20the\x20XML\x20documentation\x20for\x20an\x0aexample:\x20http://golang.org/pkg/xml/\x0a\x0a*\x205a,\x205l,\x206a,\x206l,\x208a,\x208l:\x20handle\x20out\x20of\x20memory,\x20large\x20allocations\x20(thanks\x20Jeff\x20R.\x20Allen).\x0a*\x208l:\x20pe\x20changes\x20(thanks\x20Alex\x20Brainman).\x0a*\x20arm:\x20fixes\x20and\x20improvements.\x0a*\x20cc:\x20fix\x20vlong\x20condition.\x0a*\x20cgo:\x20add\x20complex\x20float,\x20complex\x20double\x20(thanks\x20Sebastien\x20Binet),\x0a\x20\x20\x20\x20\x20\x20\x20\x20in\x20_cgo_main.c\x20define\x20all\x20provided\x20symbols\x20as\x20functions.\x0a*\x20codereview:\x20don't\x20mail\x20change\x20lists\x20with\x20no\x20files\x20(thanks\x20Ryan\x20Hitchman).\x0a*\x20crypto/cipher:\x20add\x20OFB\x20mode.\x0a*\x20expvar:\x20add\x20Float.\x0a*\x20fmt:\x20document\x20%X\x20of\x20string,\x20[]byte.\x0a*\x20gc,\x20runtime:\x20make\x20range\x20on\x20channel\x20safe\x20for\x20multiple\x20goroutines.\x0a*\x20gc:\x20fix\x20typed\x20constant\x20declarations\x20(thanks\x20Anthony\x20Martin).\x0a*\x20go\x20spec:\x20adjust\x20language\x20for\x20constant\x20typing.\x0a*\x20go/scanner:\x20Make\x20Init\x20take\x20a\x20*token.File\x20instead\x20of\x20a\x20*token.FileSet.\x0a*\x20godoc:\x20bring\x20back\x20\"indexing\x20in\x20progress\"\x20message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20don't\x20double\x20HTML-escape\x20search\x20result\x20snippets,\x0a\x20\x20\x20\x20\x20\x20\x20\x20enable\x20qualified\x20identifiers\x20(\"math.Sin\")\x20as\x20query\x20strings\x20again,\x0a\x20\x20\x20\x20\x20\x20\x20\x20peephole\x20optimization\x20for\x20generated\x20HTML,\x0a\x20\x20\x20\x20\x20\x20\x20\x20remove\x20tab\x20before\x20formatted\x20section.\x0a*\x20gofmt,\x20go/printer:\x20do\x20not\x20insert\x20extra\x20line\x20breaks\x20where\x20they\x20may\x20break\x20the\x20code.\x0a*\x20http:\x20fix\x20Content-Range\x20and\x20Content-Length\x20in\x20response\x20(thanks\x20Clement\x20Skau),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20scheme-relative\x20URL\x20parsing;\x20add\x20ParseRequestURL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20HEAD\x20requests\x20correctly,\x0a\x20\x20\x20\x20\x20\x20\x20\x20support\x20for\x20relative\x20URLs.\x0a*\x20math:\x20handle\x20denormalized\x20numbers\x20in\x20Frexp,\x20Ilogb,\x20Ldexp,\x20and\x20Logb\x20(thanks\x20Eoghan\x20Sherry).\x0a*\x20net,\x20syscall:\x20return\x20source\x20address\x20in\x20Recvmsg\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20net:\x20add\x20LookupAddr\x20(thanks\x20Kyle\x20Lemons),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20unixpacket\x20(thanks\x20Albert\x20Strasheim),\x0a\x20\x20\x20\x20\x20\x20\x20\x20avoid\x20nil\x20dereference\x20if\x20/etc/services\x20can't\x20be\x20opened\x20(thanks\x20Corey\x20Thomasson),\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20windows\x20timeout\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20netchan:\x20do\x20not\x20block\x20sends;\x20implement\x20flow\x20control\x20(thanks\x20Roger\x20Peppe).\x0a*\x20regexp:\x20reject\x20bare\x20'?'.\x20(thanks\x20Ben\x20Lynn)\x0a*\x20runtime/cgo:\x20don't\x20define\x20crosscall2\x20in\x20dummy\x20_cgo_main.c.\x0a*\x20runtime/debug:\x20new\x20package\x20for\x20printing\x20stack\x20traces\x20from\x20a\x20running\x20goroutine.\x0a*\x20runtime:\x20add\x20per-pause\x20gc\x20stats,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20arm\x20reflect.call\x20boundary\x20case,\x0a\x20\x20\x20\x20\x20\x20\x20\x20print\x20signal\x20information\x20during\x20panic.\x0a*\x20spec:\x20specify\x20that\x20int\x20and\x20uint\x20have\x20the\x20same\x20size.\x0a*\x20syscall:\x20correct\x20WSTOPPED\x20on\x20OS\x20X,\x0a\x20\x20\x20\x20\x20\x20\x20\x20correct\x20length\x20of\x20GNU/Linux\x20abstract\x20Unix\x20domain\x20sockaddr,\x0a\x20\x20\x20\x20\x20\x20\x20\x20correct\x20length\x20of\x20SockaddrUnix.\x0a*\x20tutorial:\x20make\x20stdin,\x20stdout,\x20stderr\x20work\x20on\x20Windows.\x0a*\x20windows:\x20implement\x20exception\x20handling\x20(thanks\x20Hector\x20Chu).\x0a</pre>\x0a\x0a<h2\x20id=\"2011-01-12\">2011-01-12</h2>\x0a\x0a<pre>\x0aThe\x20json,\x20gob,\x20and\x20template\x20packages\x20have\x20changed,\x20and\x20code\x20that\x20uses\x20them\x0amay\x20need\x20to\x20be\x20updated\x20after\x20this\x20release.\x20They\x20will\x20no\x20longer\x20read\x20or\x20write\x0aunexported\x20struct\x20fields.\x20When\x20marshaling\x20a\x20struct\x20with\x20json\x20or\x20gob\x20the\x0aunexported\x20fields\x20will\x20be\x20silently\x20ignored.\x20Attempting\x20to\x20unmarshal\x20json\x20or\x0agob\x20data\x20into\x20an\x20unexported\x20field\x20will\x20generate\x20an\x20error.\x20Accessing\x20an\x0aunexported\x20field\x20from\x20a\x20template\x20will\x20cause\x20the\x20Execute\x20function\x20to\x20return\x0aan\x20error.\x0a\x0aGodoc\x20now\x20supports\x20regular\x20expression\x20full\x20text\x20search,\x20and\x20this\x0afunctionality\x20is\x20now\x20available\x20on\x20golang.org.\x0a\x0aOther\x20changes:\x0a*\x20arm:\x20initial\x20cut\x20at\x20arm\x20optimizer.\x0a*\x20bytes.Buffer:\x20Fix\x20bug\x20in\x20UnreadByte.\x0a*\x20cgo:\x20export\x20unsafe.Pointer\x20as\x20void*,\x20fix\x20enum\x20const\x20conflict,\x0a\x20\x20\x20\x20\x20\x20\x20\x20output\x20alignment\x20fix\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20crypto/block:\x20mark\x20as\x20deprecated.\x0a*\x20crypto/openpgp:\x20add\x20error\x20and\x20armor.\x0a*\x20crypto:\x20add\x20twofish\x20package\x20(thanks\x20Berengar\x20Lehr).\x0a*\x20doc/spec:\x20remove\x20Maxalign\x20from\x20spec.\x0a*\x20encoding/line:\x20new\x20package\x20for\x20reading\x20lines\x20from\x20an\x20io.Reader.\x0a*\x20go/ast:\x20correct\x20end\x20position\x20for\x20Index\x20and\x20TypeAssert\x20expressions.\x0a*\x20gob:\x20make\x20(en|dec)code(Ui|I)nt\x20methods\x20rather\x20than\x20functions.\x0a*\x20godefs:\x20better\x20handling\x20of\x20enums.\x0a*\x20gofmt:\x20don't\x20attempt\x20certain\x20illegal\x20rewrites,\x0a\x20\x20\x20\x20\x20\x20\x20\x20rewriter\x20matches\x20apply\x20to\x20expressions\x20only.\x0a*\x20goinstall:\x20preliminary\x20support\x20for\x20cgo\x20packages\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20hg:\x20add\x20cgo/_cgo_*\x20to\x20.hgignore.\x0a*\x20http:\x20fix\x20text\x20displayed\x20in\x20Redirect.\x0a*\x20ld:\x20fix\x20exported\x20dynamic\x20symbols\x20on\x20Mach-O,\x0a\x20\x20\x20\x20\x20\x20\x20\x20permit\x20a\x20Mach-O\x20symbol\x20to\x20be\x20exported\x20in\x20the\x20dynamic\x20symbol\x20table.\x0a*\x20log:\x20add\x20methods\x20for\x20exit\x20and\x20panic.\x0a*\x20net:\x20use\x20closesocket\x20api\x20instead\x20of\x20CloseHandle\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20netchan:\x20make\x20fields\x20exported\x20for\x20gob\x20change.\x0a*\x20os:\x20add\x20Sync\x20to\x20*File,\x20wraps\x20syscall.Fsync.\x0a*\x20runtime/cgo:\x20Add\x20callbacks\x20to\x20support\x20SWIG.\x0a*\x20runtime:\x20Restore\x20scheduler\x20stack\x20position\x20if\x20cgo\x20callback\x20panics.\x0a*\x20suffixarray:\x20faster\x20creation\x20algorithm\x20(thanks\x20Eric\x20Eisner).\x0a*\x20syscall:\x20fix\x20mksysnum_linux.sh\x20(thanks\x20Anthony\x20Martin).\x0a*\x20time.NewTicker:\x20panic\x20for\x20intervals\x20&lt;=\x200.\x0a*\x20time:\x20add\x20AfterFunc\x20to\x20call\x20a\x20function\x20after\x20a\x20duration\x20(thanks\x20Roger\x20Peppe),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20tick\x20accuracy\x20when\x20using\x20multiple\x20Tickers\x20(thanks\x20Eoghan\x20Sherry).</pre>\x0a\x0a<h2\x20id=\"2011-01-06\">2011-01-06</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20several\x20fixes\x20and\x20changes:\x0a\x0a*\x20build:\x20Make.pkg:\x20use\x20installed\x20runtime.h\x20for\x20cgo.\x0a*\x20cgo:\x20disallow\x20use\x20of\x20C.errno.\x0a*\x20crypto/cipher:\x20fix\x20OCFB,\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20NewCBCEncrypter\x20return\x20BlockMode.\x0a*\x20doc:\x206l:\x20fix\x20documentation\x20of\x20-L\x20flag,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20golanguage.ru\x20to\x20foreign-language\x20doc\x20list,\x0a\x20\x20\x20\x20\x20\x20\x20\x20effective\x20go:\x20explain\x20the\x20effect\x20of\x20repanicking\x20better,\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20Effective\x20Go\x20for\x20template\x20API\x20change,\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20contribution\x20guidelines\x20to\x20prefix\x20the\x20change\x20description.\x0a*\x20encoding/binary:\x20reject\x20types\x20with\x20implementation-dependent\x20sizes\x20(thanks\x20Patrick\x20Gavlin).\x0a*\x20exp/evalsimple\x20fix\x20handling\x20of\x20slices\x20like\x20s[:2]\x20(thanks\x20Sebastien\x20Binet).\x0a*\x20fmt:\x20made\x20format\x20string\x20handling\x20more\x20efficient,\x0a\x20\x20\x20\x20\x20\x20\x20\x20normalize\x20processing\x20of\x20format\x20string.\x0a*\x20gc:\x20return\x20constant\x20floats\x20for\x20parts\x20of\x20complex\x20constants\x20(thanks\x20Anthony\x20Martin),\x0a\x20\x20\x20\x20\x20\x20\x20\x20rewrite\x20complex\x20/=\x20to\x20l\x20=\x20l\x20/\x20r\x20(thanks\x20Patrick\x20Gavlin),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20&amp;^=.\x0a*\x20go/ast:\x20provide\x20complete\x20node\x20text\x20range\x20info.\x0a*\x20gob:\x20generate\x20a\x20better\x20error\x20message\x20in\x20one\x20confusing\x20place.\x0a*\x20godoc:\x20fix\x20godoc\x20-src\x20(thanks\x20Icarus\x20Sparry).\x0a*\x20goinstall:\x20add\x20-clean\x20flag\x20(thanks\x20Kyle\x20Lemons),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20checkout\x20concept\x20(thanks\x20Caine\x20Tighe),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20-u\x20for\x20bzr\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20http:\x20permit\x20empty\x20Reason-Phrase\x20in\x20response\x20Status-Line.\x0a*\x20io:\x20fix\x20Copyn\x20EOF\x20handling.\x0a*\x20net:\x20fix\x20close\x20of\x20Listener\x20(thanks\x20Michael\x20Hoisie).\x0a*\x20regexp:\x20fix\x20performance\x20bug,\x20make\x20anchored\x20searches\x20fail\x20fast,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20prefix\x20bug.\x0a*\x20runtime/cgo:\x20fix\x20stackguard\x20on\x20FreeBSD/amd64\x20(thanks\x20Anthony\x20Martin).\x0a*\x20strconv:\x20atof:\x20added\x20'E'\x20as\x20valid\x20token\x20for\x20exponent\x20(thanks\x20Stefan\x20Nilsson),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20ftoa\x20comment\x20for\x20'E'\x20and\x20'G'.\x0a*\x20strings:\x20fix\x20description\x20of\x20FieldsFunc\x20(thanks\x20Roger\x20Peppe).\x0a*\x20syscall:\x20correct\x20Linux\x20Splice\x20definition,\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20Access\x20second\x20argument\x20consistently\x20uint32.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-12-22\">2010-12-22</h2>\x0a\x0a<pre>\x0aA\x20small\x20release\x20this\x20week.\x20The\x20most\x20significant\x20change\x20is\x20that\x20some\x20\x0aoutstanding\x20cgo\x20issues\x20were\x20resolved.\x0a\x0a*\x20cgo:\x20handle\x20references\x20to\x20symbols\x20in\x20shared\x20libraries.\x0a*\x20crypto/elliptic:\x20add\x20serialisation\x20and\x20key\x20pair\x20generation.\x0a*\x20crypto/hmac:\x20add\x20HMAC-SHA256\x20(thanks\x20Anthony\x20Martin).\x0a*\x20crypto/tls:\x20add\x20ECDHE\x20support\x20(\"Elliptic\x20Curve\x20Diffie\x20Hellman\x20Ephemeral\"),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20support\x20code\x20for\x20generating\x20handshake\x20scripts\x20for\x20testing.\x0a*\x20darwin,\x20freebsd:\x20ignore\x20write\x20failure\x20(during\x20print,\x20panic).\x0a*\x20exp/draw:\x20remove\x20Border\x20function.\x0a*\x20expvar:\x20quote\x20StringFunc\x20output,\x20same\x20as\x20String\x20output.\x0a*\x20hash/crc64:\x20fix\x20typo\x20in\x20Sum.\x0a*\x20ld:\x20allow\x20relocations\x20pointing\x20at\x20ELF\x20.bss\x20symbols,\x20ignore\x20stab\x20symbols.\x0a*\x20misc/cgo/life:\x20fix,\x20add\x20to\x20build.\x0a*\x20regexp:\x20add\x20HasMeta,\x20HasOperator,\x20and\x20String\x20methods\x20to\x20Regexp.\x0a*\x20suffixarray:\x20implemented\x20FindAllIndex\x20regexp\x20search.\x0a*\x20test/bench:\x20update\x20numbers\x20for\x20regex-dna\x20after\x20speedup\x20to\x20regexp.\x0a*\x20time:\x20explain\x20the\x20formats\x20a\x20little\x20better.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-12-15\">2010-12-15</h2>\x0a\x0a<pre>\x0aPackage\x20crypto/cipher\x20has\x20been\x20started,\x20to\x20replace\x20crypto/block.\x0aAs\x20part\x20of\x20the\x20changes,\x20rc4.Cipher's\x20XORKeyStream\x20method\x20signature\x20has\x20changed\x20from\x0a\x20\x20\x20\x20\x20\x20\x20\x20XORKeyStream(buf\x20[]byte)\x0ato\x0a\x20\x20\x20\x20\x20\x20\x20\x20XORKeyStream(dst,\x20src\x20[]byte)\x0ato\x20implement\x20the\x20cipher.Stream\x20interface.\x20\x20If\x20you\x20use\x20crypto/block,\x20you'll\x20need\x0ato\x20switch\x20to\x20crypto/cipher\x20once\x20it\x20is\x20complete.\x0a\x0aPackage\x20smtp's\x20StartTLS\x20now\x20takes\x20a\x20*tls.Config\x20argument.\x0a\x0aPackage\x20reflect's\x20ArrayCopy\x20has\x20been\x20renamed\x20to\x20Copy.\x20\x20There\x20are\x20new\x20functions\x0aAppend\x20and\x20AppendSlice.\x0a\x0aThe\x20print/println\x20bootstrapping\x20functions\x20now\x20write\x20to\x20standard\x20error.\x0aTo\x20write\x20to\x20standard\x20output,\x20use\x20fmt.Print[ln].\x0a\x0aA\x20new\x20tool,\x20govet,\x20has\x20been\x20added\x20to\x20the\x20Go\x20distribution.\x20Govet\x20is\x20a\x20static\x0achecker\x20for\x20Go\x20programs.\x20At\x20the\x20moment,\x20and\x20for\x20the\x20foreseeable\x20future,\x0ait\x20only\x20checks\x20arguments\x20to\x20print\x20calls.\x0a\x0aThe\x20cgo\x20tool\x20for\x20writing\x20Go\x20bindings\x20for\x20C\x20code\x20has\x20changed\x20so\x20that\x20it\x20no\x0alonger\x20uses\x20stub\x20.so\x20files\x20(like\x20cgo_stdio.so).\x20\x20Cgo-based\x20packages\x20using\x20the\x0astandard\x20Makefiles\x20should\x20build\x20without\x20any\x20changes.\x20\x20Any\x20alternate\x20build\x0amechanisms\x20will\x20need\x20to\x20be\x20updated.\x0a\x0aThe\x20C\x20and\x20Go\x20compilers\x20(6g,\x206c,\x208g,\x208c,\x205g,\x205c)\x20now\x20align\x20structs\x20according\x20to\x0athe\x20maximum\x20alignment\x20of\x20the\x20fields\x20they\x20contain;\x20previously\x20they\x20aligned\x0astructs\x20to\x20word\x20boundaries.\x20\x20This\x20may\x20break\x20non-cgo-based\x20code\x20that\x20attempts\x20to\x0amix\x20C\x20and\x20Go.\x0a\x0aNaCl\x20support\x20has\x20been\x20removed.\x20The\x20recent\x20linker\x20changes\x20broke\x20NaCl\x20support\x0aa\x20month\x20ago,\x20and\x20there\x20are\x20no\x20known\x20users\x20of\x20it.\x0aIf\x20necessary,\x20the\x20NaCl\x20code\x20can\x20be\x20recovered\x20from\x20the\x20repository\x20history.\x0a\x0a*\x205g/8g,\x208l,\x20ld,\x20prof:\x20fix\x20output\x20of\x2032-bit\x20values\x20(thanks\x20Eoghan\x20Sherry).\x0a*\x20[68]l\x20and\x20runtime:\x20GDB\x20support\x20for\x20interfaces\x20and\x20goroutines.\x0a*\x206l,\x208l:\x20support\x20for\x20linking\x20ELF\x20and\x20Mach-O\x20.o\x20files.\x0a*\x20all:\x20simplify\x20two-variable\x20ranges\x20with\x20unused\x20second\x20variable\x20(thanks\x20Ryan\x20Hitchman).\x0a*\x20arm:\x20updated\x20soft\x20float\x20support.\x0a*\x20codereview:\x20keep\x20quiet\x20when\x20not\x20in\x20use\x20(thanks\x20Eoghan\x20Sherry).\x0a*\x20compress/flate:\x20implement\x20Flush,\x20equivalent\x20to\x20zlib's\x20Z_SYNC_FLUSH.\x0a*\x20crypto/tls:\x20use\x20rand.Reader\x20in\x20cert\x20generation\x20example\x20(thanks\x20Anthony\x20Martin).\x0a*\x20dashboard:\x20fix\x20project\x20tag\x20filter.\x0a*\x20debug/elf,\x20debug/macho:\x20add\x20ImportedLibraries,\x20ImportedSymbols.\x0a*\x20doc/go_mem:\x20goroutine\x20exit\x20is\x20not\x20special.\x0a*\x20event.go:\x20another\x20print\x20glitch\x20from\x20gocheck.\x0a*\x20gc:\x20bug\x20fixes,\x0a\x20\x20\x20\x20\x20\x20\x20\x20syntax\x20error\x20for\x20incomplete\x20chan\x20type\x20(thanks\x20Ryan\x20Hitchman).\x0a*\x20go/ast:\x20fix\x20ast.Walk.\x0a*\x20gob:\x20document\x20the\x20byte\x20count\x20used\x20in\x20the\x20encoding\x20of\x20values,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20bug\x20sending\x20zero-length\x20top-level\x20slices\x20and\x20maps,\x0a\x20\x20\x20\x20\x20\x20\x20\x20Register\x20should\x20use\x20the\x20original\x20type,\x20not\x20the\x20indirected\x20one.\x0a*\x20godashboard:\x20support\x20submitting\x20projects\x20with\x20non-ascii\x20names\x20(thanks\x20Ryan\x20Hitchman)\x0a*\x20godefs:\x20guard\x20against\x20structs\x20with\x20pad\x20fields\x0a*\x20godoc:\x20added\x20textual\x20search,\x20to\x20enable\x20use\x20-fulltext\x20flag.\x0a*\x20gofmt:\x20simplify\x20\"x,\x20_\x20=\x20range\x20y\"\x20to\x20\"x\x20=\x20range\x20y\".\x0a*\x20gopack:\x20allow\x20ELF/Mach-O\x20objects\x20in\x20.a\x20files\x20without\x20clearing\x20allobj.\x0a*\x20go/token,scanner:\x20fix\x20comments\x20so\x20godoc\x20aligns\x20properly.\x0a*\x20govet:\x20on\x20error\x20continue\x20to\x20the\x20next\x20file\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20html:\x20improved\x20parsing.\x0a*\x20http:\x20ServeFile\x20handles\x20Range\x20header\x20for\x20partial\x20requests.\x0a*\x20json:\x20check\x20for\x20invalid\x20UTF-8.\x0a*\x20ld:\x20allow\x20.o\x20files\x20with\x20no\x20symbols,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reading\x20of\x20ELF\x20object\x20files,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reading\x20of\x20Mach-O\x20object\x20files.\x0a*\x20math:\x20change\x20float64\x20bias\x20constant\x20from\x201022\x20to\x201023\x20(thanks\x20Eoghan\x20Sherry),\x0a\x20\x20\x20\x20\x20\x20\x20\x20rename\x20the\x20MinFloat\x20constant\x20to\x20SmallestNonzeroFloat.\x0a*\x20nm:\x20silently\x20ignore\x20.o\x20files\x20in\x20.a\x20files.\x0a*\x20os:\x20fix\x20test\x20of\x20RemoveAll.\x0a*\x20os/inotify:\x20new\x20package\x20(thanks\x20Balazs\x20Lecz).\x0a*\x20os:\x20make\x20MkdirAll\x20work\x20with\x20symlinks\x20(thanks\x20Ryan\x20Hitchman).\x0a*\x20regexp:\x20speed\x20up\x20by\x20about\x2030%;\x20also\x20simplify\x20code\x20for\x20brackets.\x0a*\x20runtime/linux/386:\x20set\x20FPU\x20to\x2064-bit\x20precision.\x0a*\x20runtime:\x20remove\x20paranoid\x20mapping\x20at\x200.\x0a*\x20suffixarray:\x20add\x20Bytes\x20function.\x0a*\x20syscall:\x20add\x20network\x20interface\x20constants\x20for\x20linux/386,\x20linux/amd64\x20(thanks\x20Mikio\x20Hara).\x0a*\x20syscall/windows:\x20restrict\x20access\x20rights\x20param\x20of\x20OpenProcess(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20remove\x20\\r\x20and\x20\\n\x20from\x20error\x20messages\x20(thanks\x20Alex\x20Brainman).\x0a*\x20test/bench:\x20fixes\x20to\x20timing.sh\x20(thanks\x20Anthony\x20Martin).\x0a*\x20time:\x20fix\x20bug\x20in\x20Ticker:\x20shutdown\x20using\x20channel\x20rather\x20than\x20memory.\x0a*\x20token/position:\x20provide\x20FileSet.File,\x20provide\x20files\x20iterator.\x0a*\x20xml:\x20disallow\x20invalid\x20Unicode\x20code\x20points\x20(thanks\x20Nigel\x20Kerr).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-12-08\">2010-12-08</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20some\x20package\x20changes.\x20If\x20you\x20use\x20the\x20crypto/tls\x20or\x0ago/parser\x20packages\x20your\x20code\x20may\x20require\x20changes.\x0a\x0aThe\x20crypto/tls\x20package's\x20Dial\x20function\x20now\x20takes\x20an\x20additional\x20*Config\x0aargument.\x20\x20Most\x20uses\x20will\x20pass\x20nil\x20to\x20get\x20the\x20same\x20default\x20behavior\x20as\x20before.\x0aSee\x20the\x20documentation\x20for\x20details:\x0a\x20\x20\x20\x20\x20\x20\x20\x20http://golang.org/pkg/crypto/tls/#Config\x0a\x20\x20\x20\x20\x20\x20\x20\x20http://golang.org/pkg/crypto/tls/#Dial\x0a\x0aThe\x20go/parser\x20package's\x20ParseFile\x20function\x20now\x20takes\x20a\x20*token.FileSet\x20as\x20its\x0afirst\x20argument.\x20This\x20is\x20a\x20pointer\x20to\x20a\x20data\x20structure\x20used\x20to\x20store\x0aposition\x20information.\x20If\x20you\x20don't\x20care\x20about\x20position\x20information\x20you\x0acan\x20pass\x20\"token.NewFileSet()\".\x20See\x20the\x20documentation\x20for\x20details:\x0a\x20\x20\x20\x20\x20\x20\x20\x20http://golang.org/pkg/go/parser/#ParseFile\x0a\x0aThis\x20release\x20also\x20splits\x20the\x20patent\x20grant\x20text\x20out\x20of\x20the\x20LICENSE\x20file\x20into\x20a\x0aseparate\x20PATENTS\x20file\x20and\x20changes\x20it\x20to\x20be\x20more\x20like\x20the\x20WebM\x20grant.\x0aThese\x20clarifications\x20were\x20made\x20at\x20the\x20request\x20of\x20the\x20Fedora\x20project.\x0a\x0aOther\x20changes:\x0a*\x20[68]l:\x20generate\x20debug\x20info\x20for\x20builtin\x20structured\x20types,\x20prettyprinting\x20in\x20gdb.\x0a*\x208l:\x20add\x20dynimport\x20to\x20import\x20table\x20in\x20Windows\x20PE\x20(thanks\x20Wei\x20Guangjing).\x0a*\x208l,\x20runtime:\x20fix\x20Plan\x209\x20386\x20build\x20(thanks\x20Yuval\x20Pavel\x20Zholkover).\x0a*\x20all:\x20fix\x20broken\x20calls\x20to\x20Printf\x20etc.\x0a*\x20bufio:\x20make\x20Reader.Read\x20implement\x20io.Reader\x20semantics\x20(thanks\x20Roger\x20Peppe).\x0a*\x20build:\x20allow\x20archiver\x20to\x20be\x20specified\x20by\x20HOST_AR\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20bytes:\x20add\x20Buffer.UnreadRune,\x20Buffer.UnreadByte\x20(thanks\x20Roger\x20Peppe).\x0a*\x20crypto/tls:\x20fix\x20build\x20of\x20certificate\x20generation\x20example\x20(thanks\x20Christian\x20Himpel).\x0a*\x20doc/install:\x20describe\x20GOHOSTOS\x20and\x20GOHOSTARCH.\x0a*\x20errchk:\x20accept\x20multiple\x20source\x20files\x20(thanks\x20Eoghan\x20Sherry).\x0a*\x20exec.LookPath:\x20return\x20os.PathError\x20instad\x20of\x20os.ENOENT\x20(thanks\x20Michael\x20Hoisie)..\x0a*\x20flag:\x20fix\x20format\x20error\x20in\x20boolean\x20error\x20report,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20multiple\x20calls\x20to\x20flag.Parse.\x0a*\x20fmt:\x20add\x20%U\x20format\x20for\x20standard\x20Unicode\x20representation\x20of\x20code\x20point\x20values.\x0a*\x20gc:\x20fix\x20method\x20offsets\x20of\x20anonymous\x20interfaces\x20(thanks\x20Eoghan\x20Sherry),\x0a\x20\x20\x20\x20\x20\x20\x20\x20skip\x20undefined\x20symbols\x20in\x20import\x20.\x20(thanks\x20Eoghan\x20Sherry).\x0a*\x20go/scanner:\x20remove\x20Tokenize\x20-\x20was\x20only\x20used\x20in\x20tests\x0a*\x20gobuilder:\x20add\x20buildroot\x20command-line\x20flag\x20(thanks\x20Devon\x20H.\x20O'Dell).\x0a*\x20html:\x20unescape\x20numeric\x20entities\x20(thanks\x20Ryan\x20Hitchman).\x0a*\x20http:\x20Add\x20EncodeQuery,\x20helper\x20for\x20constructing\x20query\x20strings.\x0a*\x20ld:\x20fix\x20dwarf\x20decoding\x20of\x2064-bit\x20reflect\x20values\x20(thanks\x20Eoghan\x20Sherry).\x0a*\x20math:\x20improve\x20accuracy\x20of\x20Exp2\x20(thanks\x20Eoghan\x20Sherry).\x0a*\x20runtime:\x20add\x20Goroutines\x20(thanks\x20Keith\x20Rarick).\x0a*\x20sync:\x20small\x20naming\x20fix\x20for\x20armv5\x20(thanks\x20Dean\x20Prichard).\x0a*\x20syscall,\x20net:\x20Add\x20Recvmsg\x20and\x20Sendmsg\x20on\x20Linux\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20time:\x20make\x20After\x20use\x20fewer\x20goroutines\x20and\x20host\x20processes\x20(thanks\x20Roger\x20Peppe).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-12-02\">2010-12-02</h2>\x0a\x0a<pre>\x0aSeveral\x20package\x20changes\x20in\x20this\x20release\x20may\x20require\x20you\x20to\x20update\x20your\x20code\x20if\x0ayou\x20use\x20the\x20bytes,\x20template,\x20or\x20utf8\x20packages.\x20In\x20all\x20cases,\x20any\x20outdated\x20code\x0awill\x20fail\x20to\x20compile\x20rather\x20than\x20behave\x20erroneously.\x0a\x0aThe\x20bytes\x20package\x20has\x20changed.\x20Its\x20Add\x20and\x20AddByte\x20functions\x20have\x20been\x20removed,\x0aas\x20their\x20functionality\x20is\x20provided\x20by\x20the\x20recently-introduced\x20built-in\x20function\x0a\"append\".\x20Any\x20code\x20that\x20uses\x20them\x20will\x20need\x20to\x20be\x20changed:\x0as\x20=\x20bytes.Add(s,\x20b)\x20\x20\x20\x20-&gt;\x20\x20\x20\x20s\x20=\x20append(s,\x20b...)\x0as\x20=\x20bytes.AddByte(b,\x20c)\x20\x20\x20\x20-&gt;\x20\x20\x20\x20s\x20=\x20append(s,\x20b)\x0as\x20=\x20bytes.Add(nil,\x20c)\x20\x20\x20\x20-&gt;\x20\x20\x20\x20append([]byte(nil),\x20c)\x0a\x0aThe\x20template\x20package\x20has\x20changed.\x20Your\x20code\x20will\x20need\x20to\x20be\x20updated\x20if\x20it\x20calls\x0athe\x20HTMLFormatter\x20or\x20StringFormatter\x20functions,\x20or\x20implements\x20its\x20own\x20formatter\x0afunctions.\x20The\x20function\x20signature\x20for\x20formatter\x20types\x20has\x20changed\x20to:\x0a\x20\x20\x20\x20\x20\x20\x20\x20func(wr\x20io.Writer,\x20formatter\x20string,\x20data\x20...interface{})\x0ato\x20allow\x20multiple\x20arguments\x20to\x20the\x20formatter.\x20\x20No\x20templates\x20will\x20need\x20updating.\x0aSee\x20the\x20change\x20for\x20examples:\x0a\x20\x20\x20\x20\x20\x20\x20\x20http://code.google.com/p/go/source/detail?r=2c2be793120e\x0a\x0aThe\x20template\x20change\x20permits\x20the\x20implementation\x20of\x20multi-word\x20variable\x0ainstantiation\x20for\x20formatters.\x20Before\x20one\x20could\x20say\x0a\x20\x20\x20\x20\x20\x20\x20\x20{field}\x0aor\x0a\x20\x20\x20\x20\x20\x20\x20\x20{field|formatter}\x0aNow\x20one\x20can\x20also\x20say\x0a\x20\x20\x20\x20\x20\x20\x20\x20{field1\x20field2\x20field3}\x0aor\x0a\x20\x20\x20\x20\x20\x20\x20\x20{field1\x20field2\x20field3|formatter}\x0aand\x20the\x20fields\x20are\x20passed\x20as\x20successive\x20arguments\x20to\x20the\x20formatter,\x0aby\x20analogy\x20to\x20fmt.Print.\x0a\x0aThe\x20utf8\x20package\x20has\x20changed.\x20The\x20order\x20of\x20EncodeRune's\x20arguments\x20has\x20been\x0areversed\x20to\x20satisfy\x20the\x20convention\x20of\x20\"destination\x20first\".\x0aAny\x20code\x20that\x20uses\x20EncodeRune\x20will\x20need\x20to\x20be\x20updated.\x0a\x0aOther\x20changes:\x0a*\x20[68]l:\x20correct\x20dwarf\x20location\x20for\x20globals\x20and\x20ranges\x20for\x20arrays.\x0a*\x20big:\x20fix\x20(*Rat)\x20SetFrac64(a,\x20b)\x20when\x20b\x20&lt;\x200\x20(thanks\x20Eoghan\x20Sherry).\x0a*\x20compress/flate:\x20fix\x20typo\x20in\x20comment\x20(thanks\x20Mathieu\x20Lonjaret).\x0a*\x20crypto/elliptic:\x20use\x20a\x20Jacobian\x20transform\x20for\x20better\x20performance.\x0a*\x20doc/code.html:\x20fix\x20reference\x20to\x20\"gomake\x20build\"\x20(thanks\x20Anschel\x20Schaffer-Cohen).\x0a*\x20doc/roadmap:\x20update\x20gdb\x20status.\x0a*\x20doc/spec:\x20fixed\x20some\x20omissions\x20and\x20type\x20errors.\x0a*\x20doc:\x20some\x20typo\x20fixes\x20(thanks\x20Peter\x20Mundy).\x0a*\x20exp/eval:\x20build\x20fix\x20for\x20parser.ParseFile\x20API\x20change\x20(thanks\x20Anschel\x20Schaffer-Cohen).\x0a*\x20fmt:\x20Scan\x20accepts\x20Inf\x20and\x20NaN,\x0a\x20\x20\x20\x20\x20\x20\x20\x20allow\x20\"%\x20X\"\x20as\x20well\x20as\x20\"%\x20x\".\x0a*\x20go/printer:\x20preserve\x20newlines\x20in\x20func\x20parameter\x20lists\x20(thanks\x20Jamie\x20Gennis).\x0a*\x20http:\x20consume\x20request\x20body\x20before\x20next\x20request.\x0a*\x20log:\x20ensure\x20writes\x20are\x20atomic\x20(thanks\x20Roger\x20Peppe).\x0a*\x20path:\x20Windows\x20support\x20for\x20Split\x20(thanks\x20Benny\x20Siegert).\x0a*\x20runtime:\x20fix\x20SysFree\x20to\x20really\x20free\x20memory\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20parallel\x20definitions\x20in\x20Go\x20for\x20all\x20C\x20structs.\x0a*\x20sort:\x20avoid\x20overflow\x20in\x20pivot\x20calculation,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reduced\x20stack\x20depth\x20to\x20lg(n)\x20in\x20quickSort\x20(thanks\x20Stefan\x20Nilsson).\x0a*\x20strconv:\x20Atof\x20on\x20Infs\x20and\x20NaNs.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-11-23\">2010-11-23</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20a\x20backwards-incompatible\x20package\x20change\x20to\x20the\x0asort.Search\x20function\x20(introduced\x20in\x20the\x20last\x20release).\x0aSee\x20the\x20change\x20for\x20details\x20and\x20examples\x20of\x20how\x20you\x20might\x20change\x20your\x20code:\x0a\x20\x20\x20\x20\x20\x20\x20\x20http://code.google.com/p/go/source/detail?r=102866c369\x0a\x0a*\x20build:\x20automatically\x20#define\x20_64BIT\x20in\x206c.\x0a*\x20cgo:\x20print\x20required\x20space\x20after\x20parameter\x20name\x20in\x20wrapper\x20function.\x0a*\x20crypto/cipher:\x20new\x20package\x20to\x20replace\x20crypto/block\x20(thanks\x20Adam\x20Langley).\x0a*\x20crypto/elliptic:\x20new\x20package,\x20implements\x20elliptic\x20curves\x20over\x20prime\x20fields\x20(thanks\x20Adam\x20Langley).\x0a*\x20crypto/x509:\x20policy\x20OID\x20support\x20and\x20fixes\x20(thanks\x20Adam\x20Langley).\x0a*\x20doc:\x20add\x20link\x20to\x20codewalks,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20recover()\x20documentation\x20(thanks\x20Anschel\x20Schaffer-Cohen),\x0a\x20\x20\x20\x20\x20\x20\x20\x20explain\x20how\x20to\x20write\x20Makefiles\x20for\x20commands.\x0a*\x20exec:\x20enable\x20more\x20tests\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20gc:\x20adjustable\x20hash\x20code\x20in\x20typecheck\x20of\x20composite\x20literals\x0a\x20\x20\x20\x20\x20\x20\x20\x20(thanks\x20to\x20vskrap,\x20Andrey\x20Mirtchovski,\x20and\x20Eoghan\x20Sherry).\x0a*\x20gc:\x20better\x20error\x20message\x20for\x20bad\x20type\x20in\x20channel\x20send\x20(thanks\x20Anthony\x20Martin).\x0a*\x20godoc:\x20bug\x20fix\x20in\x20relativePath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20compute\x20search\x20index\x20for\x20all\x20file\x20systems\x20under\x20godoc's\x20observation,\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20correct\x20time\x20stamp\x20to\x20indicate\x20accuracy\x20of\x20search\x20result.\x0a*\x20index/suffixarray:\x20use\x20sort.Search.\x0a*\x20net:\x20add\x20ReadFrom\x20and\x20WriteTo\x20windows\x20version\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20reflect:\x20remove\x20unnecessary\x20casts\x20in\x20Get\x20methods.\x0a*\x20rpc:\x20add\x20RegisterName\x20to\x20allow\x20override\x20of\x20default\x20type\x20name.\x0a*\x20runtime:\x20free\x20memory\x20allocated\x20by\x20windows\x20CommandLineToArgv\x20(thanks\x20Alex\x20Brainman).\x0a*\x20sort:\x20simplify\x20Search\x20(thanks\x20Roger\x20Peppe).\x0a*\x20strings:\x20add\x20LastIndexAny\x20(thanks\x20Benny\x20Siegert).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-11-10\">2010-11-10</h2>\x0a\x0a<pre>\x0aThe\x20birthday\x20release\x20includes\x20a\x20new\x20Search\x20capability\x20inside\x20the\x20sort\x20package.\x0aIt\x20takes\x20an\x20unusual\x20but\x20very\x20general\x20and\x20easy-to-use\x20approach\x20to\x20searching\x0aarbitrary\x20indexable\x20sorted\x20data.\x20\x20See\x20the\x20documentation\x20for\x20details:\x0a\x20\x20\x20\x20http://golang.org/pkg/sort/#Search\x0a\x0aThe\x20ARM\x20port\x20now\x20uses\x20the\x20hardware\x20floating\x20point\x20unit\x20(VFP).\x20\x20It\x20still\x20has\x20a\x0afew\x20bugs,\x20mostly\x20around\x20conversions\x20between\x20unsigned\x20integer\x20and\x20floating-point\x0avalues,\x20but\x20it's\x20stabilizing.\x0a\x0aIn\x20addition,\x20there\x20have\x20been\x20many\x20smaller\x20fixes\x20and\x20updates:\x20\x0a\x0a*\x206l:\x20generate\x20dwarf\x20variable\x20names\x20with\x20disambiguating\x20suffix.\x0a*\x20container/list:\x20make\x20Remove\x20return\x20Value\x20of\x20removed\x20element.\x0a\x20\x20\x20\x20makes\x20it\x20easier\x20to\x20remove\x20first\x20or\x20last\x20item.\x0a*\x20crypto:\x20add\x20cast5\x20(default\x20PGP\x20cipher),\x0a\x20\x20\x20\x20switch\x20block\x20cipher\x20methods\x20to\x20be\x20destination\x20first.\x0a*\x20crypto/tls:\x20use\x20pool\x20building\x20for\x20certificate\x20checking\x0a*\x20go/ast:\x20change\x20embedded\x20token.Position\x20fields\x20to\x20named\x20fields\x0a\x20\x20\x20\x20(preparation\x20for\x20a\x20different\x20position\x20representation)\x0a*\x20net:\x20provide\x20public\x20access\x20to\x20file\x20descriptors\x20(thanks\x20Keith\x20Rarick)\x0a*\x20os:\x20add\x20Expand\x20function\x20to\x20evaluate\x20environment\x20variables.\x0a*\x20path:\x20add\x20Glob\x20(thanks\x20Benny\x20Siegert)\x0a*\x20runtime:\x20memequal\x20optimization\x20(thanks\x20Graham\x20Miller)\x0a\x20\x20\x20\x20prefix\x20all\x20external\x20symbols\x20with\x20\"runtime\xc2\xb7\"\x20to\x20avoid\x0a\x20\x20\x20\x20conflicts\x20linking\x20with\x20external\x20C\x20libraries.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-11-02\">2010-11-02</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20a\x20language\x20change:\x20the\x20new\x20built-in\x20function,\x20append.\x0aAppend\x20makes\x20growing\x20slices\x20much\x20simpler.\x20See\x20the\x20spec\x20for\x20details:\x0a\x20\x20\x20\x20\x20\x20\x20\x20http://golang.org/doc/go_spec.html#Appending_and_copying_slices\x0a\x0aOther\x20changes:\x0a*\x208l:\x20pe\x20generation\x20fixes\x20(thanks\x20Alex\x20Brainman).\x0a*\x20doc:\x20Effective\x20Go:\x20append\x20and\x20a\x20few\x20words\x20about\x20\"...\"\x20args.\x0a*\x20build:\x20fiddle\x20with\x20make\x20variables.\x0a*\x20codereview:\x20fix\x20sync\x20and\x20download\x20in\x20Python\x202.7\x20(thanks\x20Fazlul\x20Shahriar).\x0a*\x20debug/pe,\x20cgo:\x20add\x20windows\x20support\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20go/ast:\x20add\x20Inspect\x20function\x20for\x20easy\x20AST\x20inspection\x20w/o\x20a\x20visitor.\x0a*\x20go/printer:\x20do\x20not\x20remove\x20parens\x20around\x20composite\x20literals\x20starting\x20with\x0a\x20\x20\x20\x20\x20\x20\x20\x20a\x20type\x20name\x20in\x20control\x20clauses.\x0a*\x20go/scanner:\x20bug\x20fixes,\x20revisions,\x20and\x20more\x20tests.\x0a*\x20gob:\x20several\x20fixes\x20and\x20documentation\x20updates.\x0a*\x20godoc:\x20bug\x20fix\x20(bug\x20introduced\x20with\x20revision\x203ee58453e961).\x0a*\x20gotest:\x20print\x20empty\x20benchmark\x20list\x20in\x20a\x20way\x20that\x20gofmt\x20will\x20leave\x20alone.\x0a*\x20http\x20server:\x20correctly\x20respond\x20with\x20304\x20NotModified\x20(thanks\x20Michael\x20Hoisie).\x0a*\x20kate:\x20update\x20list\x20of\x20builtins\x20(thanks\x20Evan\x20Shaw).\x0a*\x20libutf:\x20update\x20to\x20Unicode\x205.2.0\x20to\x20match\x20pkg/unicode\x20(thanks\x20Anthony\x20Martin).\x0a*\x20misc/bbedit:\x20update\x20list\x20of\x20builtins\x20(thanks\x20Anthony\x20Starks).\x0a*\x20misc/vim:\x20update\x20list\x20of\x20builtins.\x0a*\x20mkrunetype:\x20install\x20a\x20Makefile\x20and\x20tweak\x20it\x20slightly\x20so\x20it\x20can\x20be\x20built.\x0a*\x20netchan:\x20fix\x20locking\x20bug.\x0a*\x20pidigits:\x20minor\x20improvements\x20(thanks\x20Evan\x20Shaw).\x0a*\x20rpc:\x20fix\x20client\x20deadlock\x20bug.\x0a*\x20src:\x20use\x20append\x20where\x20appropriate\x20(often\x20instead\x20of\x20vector).\x0a*\x20strings:\x20add\x20Contains\x20helper\x20function\x20(thanks\x20Brad\x20Fitzpatrick).\x0a*\x20syscall:\x20SIO\x20constants\x20for\x20Linux\x20(thanks\x20Albert\x20Strasheim),\x0a\x20\x20\x20\x20\x20\x20\x20\x20Stat(path)\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20test/ken/convert.go:\x20add\x20conversion\x20torture\x20test.\x0a*\x20testing:\x20add\x20Benchmark\x20(thanks\x20Roger\x20Peppe).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-10-27\">2010-10-27</h2>\x0a\x0a<pre>\x0a***\x20This\x20release\x20changes\x20the\x20encoding\x20used\x20by\x20package\x20gob.\x20\x0a\x20\x20\x20\x20If\x20you\x20store\x20gobs\x20on\x20disk,\x20see\x20below.\x20***\x0a\x0aThe\x20ARM\x20port\x20(5g)\x20now\x20passes\x20all\x20tests.\x20The\x20optimizer\x20is\x20not\x20yet\x20enabled,\x20and\x0afloating\x20point\x20arithmetic\x20is\x20performed\x20entirely\x20in\x20software.\x20Work\x20is\x20underway\x0ato\x20address\x20both\x20of\x20these\x20deficiencies.\x0a\x0aThe\x20syntax\x20for\x20arrays,\x20slices,\x20and\x20maps\x20of\x20composite\x20literals\x20has\x20been\x0asimplified.\x20Within\x20a\x20composite\x20literal\x20of\x20array,\x20slice,\x20or\x20map\x20type,\x20elements\x0athat\x20are\x20themselves\x20composite\x20literals\x20may\x20elide\x20the\x20type\x20if\x20it\x20is\x20identical\x20to\x0athe\x20outer\x20literal's\x20element\x20type.\x20For\x20example,\x20these\x20expressions:\x0a\x09[][]int{[]int{1,\x202,\x203},\x20[]int{4,\x205}}\x0a\x09map[string]Point{\"x\":\x20Point{1.5,\x20-3.5},\x20\"y\":\x20Point{0,\x200}}\x0acan\x20be\x20simplified\x20to:\x0a\x09[][]int{{1,\x202,\x203},\x20{4,\x205}}\x0a\x09map[string]Point{\"x\":\x20{1.5,\x20-3.5},\x20\"y\":\x20{0,\x200}}\x0aGofmt\x20can\x20make\x20these\x20simplifications\x20mechanically\x20when\x20invoked\x20with\x20the\x20\x0anew\x20-s\x20flag.\x0a\x0aThe\x20built-in\x20copy\x20function\x20can\x20now\x20copy\x20bytes\x20from\x20a\x20string\x20value\x20to\x20a\x20[]byte.\x0aCode\x20like\x20this\x20(for\x20[]byte\x20b\x20and\x20string\x20s):\x20\x0a\x09for\x20i\x20:=\x200;\x20i\x20&lt;\x20len(s);\x20i++\x20{\x0a\x09\x09b[i]\x20=\x20s[i]\x0a\x09}\x0acan\x20be\x20rewritten\x20as:\x0a\x09copy(b,\x20s)\x0a\x0aThe\x20gob\x20package\x20can\x20now\x20encode\x20and\x20decode\x20interface\x20values\x20containing\x20types\x0aregistered\x20ahead\x20of\x20time\x20with\x20the\x20new\x20Register\x20function.\x20These\x20changes\x20required\x0aa\x20backwards-incompatible\x20change\x20to\x20the\x20wire\x20format.\x20\x20Data\x20written\x20with\x20the\x20old\x0aversion\x20of\x20the\x20package\x20will\x20not\x20be\x20readable\x20with\x20the\x20new\x20one,\x20and\x20vice\x20versa.\x0a(Steps\x20were\x20made\x20in\x20this\x20change\x20to\x20make\x20sure\x20this\x20doesn't\x20happen\x20again.)\x20\x0aWe\x20don't\x20know\x20of\x20anyone\x20using\x20gobs\x20to\x20create\x20permanent\x20data,\x20but\x20if\x20you\x20do\x20this\x0aand\x20need\x20help\x20converting,\x20please\x20let\x20us\x20know,\x20and\x20do\x20not\x20update\x20to\x20this\x20release\x0ayet.\x20\x20We\x20will\x20help\x20you\x20convert\x20your\x20data.\x0a\x0aOther\x20changes:\x0a*\x205g,\x206g,\x208g:\x20generate\x20code\x20for\x20string\x20index\x20instead\x20of\x20calling\x20function.\x0a*\x205l,\x206l,\x208l:\x20introduce\x20sub-symbols.\x0a*\x206l/8l:\x20global\x20and\x20local\x20variables\x20and\x20type\x20info.\x0a*\x20Make.inc:\x20delete\x20unnecessary\x20-fno-inline\x20flag\x20to\x20quietgcc.\x0a*\x20arm:\x20precise\x20float64\x20software\x20floating\x20point,\x20bug\x20fixes.\x0a*\x20big:\x20arm\x20assembly,\x20faster\x20software\x20mulWW,\x20divWW.\x0a*\x20build:\x20only\x20print\x20\"You\x20need\x20to\x20add\x20foo\x20to\x20PATH\"\x20when\x20needed.\x0a*\x20container/list:\x20fix\x20Remove\x20bug\x20and\x20use\x20pointer\x20to\x20self\x20as\x20identifier.\x0a*\x20doc:\x20show\x20page\x20title\x20in\x20browser\x20title\x20bar,\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20roadmap.\x0a*\x20encoding/binary:\x20give\x20LittleEndian,\x20BigEndian\x20specific\x20types.\x0a*\x20go/parser:\x20consume\x20auto-inserted\x20semi\x20when\x20calling\x20ParseExpr().\x0a*\x20gobuilder:\x20pass\x20GOHOSTOS\x20and\x20GOHOSTARCH\x20to\x20build,\x0a\x20\x20\x20\x20\x20\x20\x20\x20write\x20build\x20and\x20benchmarking\x20logs\x20to\x20disk.\x0a*\x20goinstall:\x20display\x20helpful\x20message\x20when\x20encountering\x20a\x20cgo\x20package,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20test\x20for\x20multiple\x20package\x20names\x20(thanks\x20Fazlul\x20Shahriar).\x0a*\x20gotest:\x20generate\x20correct\x20gofmt-formatted\x20_testmain.go.\x0a*\x20image/png:\x20speed\x20up\x20paletted\x20encoding\x20~25%\x20(thanks\x20Brad\x20Fitzpatrick).\x0a*\x20misc:\x20update\x20python\x20scripts\x20to\x20specify\x20python2\x20as\x20python3\x20is\x20now\x20\"python\".\x0a*\x20net:\x20fix\x20comment\x20on\x20Dial\x20to\x20mention\x20unix/unixgram.\x0a*\x20rpc:\x20expose\x20Server\x20type\x20to\x20allow\x20multiple\x20RPC\x20Server\x20instances.\x0a*\x20runtime:\x20print\x20unknown\x20types\x20in\x20panic.\x0a*\x20spec:\x20append\x20built-in\x20(not\x20yet\x20implemented).\x0a*\x20src:\x20gofmt\x20-s\x20-w\x20src\x20misc.\x0a\x20\x20\x20\x20\x20\x20\x20\x20update\x20code\x20to\x20use\x20copy-from-string.\x0a*\x20test/bench:\x20update\x20numbers.\x0a*\x20websocket:\x20fix\x20short\x20Read.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-10-20\">2010-10-20</h2>\x0a\x0a<pre>\x0aThis\x20release\x20removes\x20the\x20log\x20package's\x20deprecated\x20functions.\x0aCode\x20that\x20has\x20not\x20been\x20updated\x20to\x20use\x20the\x20new\x20interface\x20will\x20break.\x0aSee\x20the\x20previous\x20release\x20notes\x20for\x20details:\x0a\x09http://golang.org/doc/devel/release.html#2010-10-13\x0a\x0aAlso\x20included\x20are\x20major\x20improvements\x20to\x20the\x20linker.\x20It\x20is\x20now\x20faster,\x20\x0auses\x20less\x20memory,\x20and\x20more\x20parallelizable\x20(but\x20not\x20yet\x20parallel).\x0a\x0aThe\x20nntp\x20package\x20has\x20been\x20removed\x20from\x20the\x20standard\x20library.\x0aIts\x20new\x20home\x20is\x20the\x20nntp-go\x20project\x20at\x20Google\x20Code:\x0a\x09http://code.google.com/p/nntp-go\x0aYou\x20can\x20install\x20it\x20with\x20goinstall:\x0a\x09goinstall\x20nntp-go.googlecode.com/hg/nntp\x0aAnd\x20import\x20it\x20in\x20your\x20code\x20like\x20so:\x0a\x09import\x20\"nntp-go.googlecode.com/hg/nntp\"\x0a\x0aOther\x20changes:\x0a*\x206g:\x20avoid\x20too-large\x20immediate\x20constants.\x0a*\x208l,\x20runtime:\x20initial\x20support\x20for\x20Plan\x209\x20(thanks\x20Yuval\x20Pavel\x20Zholkover).\x0a*\x206l,\x208l:\x20more\x20improvements\x20on\x20exporting\x20debug\x20information\x20(DWARF).\x0a*\x20arm:\x20code\x20gen\x20fixes.\x20Most\x20tests\x20now\x20pass,\x20except\x20for\x20floating\x20point\x20code.\x0a*\x20big:\x20add\x20random\x20number\x20generation\x20(thanks\x20Florian\x20Uekermann).\x0a*\x20gc:\x20keep\x20track\x20of\x20real\x20actual\x20type\x20of\x20identifiers,\x0a\x09report\x20that\x20shift\x20must\x20be\x20unsigned\x20integer,\x0a\x09select\x20receive\x20with\x20implicit\x20conversion.\x0a*\x20goplay:\x20fix\x20to\x20run\x20under\x20windows\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20http:\x20do\x20not\x20close\x20connection\x20after\x20sending\x20HTTP/1.0\x20request.\x0a*\x20netchan:\x20add\x20new\x20method\x20Hangup\x20to\x20terminate\x20transmission\x20on\x20a\x20channel.\x0a*\x20os:\x20change\x20TestForkExec\x20so\x20it\x20can\x20run\x20on\x20windows\x20(thanks\x20Yasuhiro\x20Matsumoto).\x0a*\x20runtime:\x20don't\x20let\x20select\x20split\x20stack.\x0a*\x20syscall/arm:\x20correct\x2064-bit\x20system\x20call\x20arguments.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-10-13\">2010-10-13</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20changes\x20to\x20the\x20log\x20package,\x20the\x20removal\x20of\x20exp/iterable,\x0atwo\x20new\x20tools\x20(gotry\x20and\x20goplay),\x20one\x20small\x20language\x20change,\x20and\x20many\x20other\x0achanges\x20and\x20fixes.\x20\x20If\x20you\x20use\x20the\x20log\x20or\x20iterable\x20packages,\x20you\x20need\x20to\x20make\x0achanges\x20to\x20your\x20code.\x0a\x0aThe\x20log\x20package\x20has\x20changed.\x20\x20Loggers\x20now\x20have\x20only\x20one\x20output,\x20and\x20output\x20to\x0astandard\x20error\x20by\x20default.\x20\x20The\x20names\x20have\x20also\x20changed,\x20although\x20the\x20old\x20names\x0aare\x20still\x20supported.\x20\x20They\x20will\x20be\x20deleted\x20in\x20the\x20next\x20release,\x20though,\x20so\x20it\x0awould\x20be\x20good\x20to\x20update\x20now\x20if\x20you\x20can.\x20\x20For\x20most\x20purposes\x20all\x20you\x20need\x20to\x20do\x0ais\x20make\x20these\x20substitutions:\x0a\x20\x20\x20\x20\x20\x20\x20\x20log.Stderr\x20-&gt;\x20log.Println\x20or\x20log.Print\x0a\x20\x20\x20\x20\x20\x20\x20\x20log.Stderrf\x20-&gt;\x20log.Printf\x0a\x20\x20\x20\x20\x20\x20\x20\x20log.Crash\x20-&gt;\x20log.Panicln\x20or\x20log.Panic\x0a\x20\x20\x20\x20\x20\x20\x20\x20log.Crashf\x20-&gt;\x20log.Panicf\x0a\x20\x20\x20\x20\x20\x20\x20\x20log.Exit\x20-&gt;\x20log.Exitln\x20or\x20log.Exit\x0a\x20\x20\x20\x20\x20\x20\x20\x20log.Exitf\x20-&gt;\x20log.Exitf\x20(no\x20change)\x0aCalls\x20to\x20log.New()\x20must\x20drop\x20the\x20second\x20argument.\x0aAlso,\x20custom\x20loggers\x20with\x20exit\x20or\x20panic\x20properties\x20will\x20need\x20to\x20be\x20reworked.\x0aFor\x20full\x20details,\x20see\x20the\x20change\x20description:\x0a\x20\x20\x20\x20\x20\x20\x20\x20http://code.google.com/p/go/source/detail?r=d8a3c7563d\x0a\x0aThe\x20language\x20change\x20is\x20that\x20uses\x20of\x20pointers\x20to\x20interface\x20values\x20no\x20longer\x0aautomatically\x20dereference\x20the\x20pointer.\x20\x20A\x20pointer\x20to\x20an\x20interface\x20value\x20is\x20more\x0aoften\x20a\x20beginner's\x20bug\x20than\x20correct\x20code.\x0a\x0aThe\x20package\x20exp/iterable\x20has\x20been\x20removed.\x20It\x20was\x20an\x20interesting\x20experiment,\x0abut\x20it\x20encourages\x20writing\x20inefficient\x20code\x20and\x20has\x20outlived\x20its\x20utility.\x0a\x0aThe\x20new\x20tools:\x0a*\x20gotry:\x20an\x20exercise\x20in\x20reflection\x20and\x20an\x20unusual\x20tool.\x20Run\x20'gotry'\x20for\x20details.\x0a*\x20goplay:\x20a\x20stand-alone\x20version\x20of\x20the\x20Go\x20Playground.\x20See\x20misc/goplay.\x0a\x0aOther\x20changes:\x0a*\x206l:\x20Mach-O\x20fixes,\x20and\x20fix\x20to\x20work\x20with\x20OS\x20X\x20nm/otool\x20(thanks\x20Jim\x20McGrath).\x0a*\x20[568]a:\x20correct\x20line\x20numbers\x20for\x20statements.\x0a*\x20arm:\x20code\x20generation\x20and\x20runtime\x20fixes,\x0a\x09adjust\x20recover\x20for\x20new\x20reflect.call,\x0a\x09enable\x206\x20more\x20tests\x20after\x20net\x20fix.\x0a*\x20big:\x20fix\x20panic\x20and\x20round\x20correctly\x20in\x20Rat.FloatString\x20(thanks\x20Anthony\x20Martin).\x0a*\x20build:\x20Make.cmd:\x20remove\x20$(OFILES)\x20(thanks\x20Eric\x20Clark),\x0a\x20\x20\x20\x20\x20\x20\x20\x20Make.pkg:\x20remove\x20.so\x20before\x20installing\x20new\x20one,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20GOHOSTOS\x20and\x20GOHOSTARCH\x20environment\x20variables.\x0a*\x20crypto/tls:\x20better\x20error\x20messages\x20for\x20certificate\x20issues,\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20SetReadTimeout\x20work.\x0a*\x20doc:\x20add\x20Sydney\x20University\x20video,\x0a\x09add\x20The\x20Expressiveness\x20of\x20Go\x20talk.\x0a*\x20exp/draw/x11:\x20support\x20X11\x20vendors\x20other\x20than\x20\"The\x20X.Org\x20Foundation\".\x0a*\x20expvar:\x20add\x20(*Int).Set\x20(thanks\x20Sam\x20Thorogood).\x0a*\x20fmt:\x20add\x20Errorf\x20helper\x20function,\x0a\x20\x20\x20\x20\x20\x20\x20\x20allow\x20%d\x20on\x20[]byte.\x0a*\x20gc:\x20O(1)\x20string\x20comparison\x20when\x20lengths\x20differ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20various\x20bug\x20fixes.\x0a*\x20http:\x20return\x20the\x20correct\x20error\x20if\x20a\x20header\x20line\x20is\x20too\x20long.\x0a*\x20image:\x20add\x20image.Tiled\x20type,\x20the\x20Go\x20equivalent\x20of\x20Plan\x209's\x20repl\x20bit.\x0a*\x20ld:\x20be\x20less\x20picky\x20about\x20bad\x20line\x20number\x20info.\x0a*\x20misc/cgo/life:\x20fix\x20for\x20new\x20slice\x20rules\x20(thanks\x20Graham\x20Miller).\x0a*\x20net:\x20allow\x20_\x20in\x20DNS\x20names.\x0a*\x20netchan:\x20export\x20before\x20import\x20when\x20testing,\x20and\x0a\x20\x20\x20\x20\x20\x20\x20\x20zero\x20out\x20request\x20to\x20ensure\x20correct\x20gob\x20decoding.\x20(thanks\x20Roger\x20Peppe).\x0a*\x20os:\x20make\x20tests\x20work\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20runtime:\x20bug\x20fix:\x20serialize\x20mcache\x20allocation,\x0a\x20\x20\x20\x20\x20\x20\x20\x20correct\x20iteration\x20of\x20large\x20map\x20values,\x0a\x20\x20\x20\x20\x20\x20\x20\x20faster\x20strequal,\x20memequal\x20(thanks\x20Graham\x20Miller),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20argument\x20dump\x20in\x20traceback,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20tiny\x20build.\x0a*\x20smtp:\x20new\x20package\x20(thanks\x20Evan\x20Shaw).\x0a*\x20syscall:\x20add\x20sockaddr_ll\x20support\x20for\x20linux/386,\x20linux/amd64\x20(thanks\x20Mikio\x20Hara),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20ucred\x20structure\x20for\x20SCM_CREDENTIALS\x20over\x20UNIX\x20sockets.\x20(thanks\x20Albert\x20Strasheim).\x0a*\x20syscall:\x20implement\x20WaitStatus\x20and\x20Wait4()\x20for\x20windows\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20time:\x20add\x20After.\x0a*\x20websocket:\x20enable\x20tests\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-09-29\">2010-09-29</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20some\x20minor\x20language\x20changes\x20and\x20some\x20significant\x20package\x0achanges.\x20You\x20may\x20need\x20to\x20change\x20your\x20code\x20if\x20you\x20use\x20...T\x20parameters\x20or\x20the\x0ahttp\x20package.\x0a\x0aThe\x20semantics\x20and\x20syntax\x20of\x20forwarding\x20...T\x20parameters\x20have\x20changed.\x0a\x20\x20\x20\x20\x20\x20\x20\x20func\x20message(f\x20string,\x20s\x20...interface{})\x20{\x20fmt.Printf(f,\x20s)\x20}\x0aHere,\x20s\x20has\x20type\x20[]interface{}\x20and\x20contains\x20the\x20parameters\x20passed\x20to\x20message.\x0aBefore\x20this\x20language\x20change,\x20the\x20compiler\x20recognized\x20when\x20a\x20function\x20call\x0apassed\x20a\x20...\x20parameter\x20to\x20another\x20...\x20parameter\x20of\x20the\x20same\x20type,\x20and\x20just\x0apassed\x20it\x20as\x20though\x20it\x20was\x20a\x20list\x20of\x20arguments.\x20\x20But\x20this\x20meant\x20that\x20you\x0acouldn't\x20control\x20whether\x20to\x20pass\x20the\x20slice\x20as\x20a\x20single\x20argument\x20and\x20you\x0acouldn't\x20pass\x20a\x20regular\x20slice\x20as\x20a\x20...\x20parameter,\x20which\x20can\x20be\x20handy.\x20\x20This\x0achange\x20gives\x20you\x20that\x20control\x20at\x20the\x20cost\x20of\x20a\x20few\x20characters\x20in\x20the\x20call.\x0aIf\x20you\x20want\x20the\x20promotion\x20to\x20...,\x20\x20append\x20...\x20to\x20the\x20argument:\x0a\x20\x20\x20\x20\x20\x20\x20\x20func\x20message(f\x20string,\x20s\x20...interface{})\x20{\x20fmt.Printf(f,\x20s...)\x20}\x0aWithout\x20the\x20...,\x20s\x20would\x20be\x20passed\x20to\x20Printf\x20as\x20a\x20single\x20argument\x20of\x20type\x0a[]interface{}.\x20\x20The\x20bad\x20news\x20is\x20you\x20might\x20need\x20to\x20fix\x20up\x20some\x20of\x20your\x20code,\x20\x0abut\x20the\x20compiler\x20will\x20detect\x20the\x20situation\x20and\x20warn\x20you.\x0a\x0aAlso,\x20the\x20http.Handler\x20and\x20http.HandlerFunc\x20types\x20have\x20changed.\x20Where\x20http\x0ahandler\x20functions\x20previously\x20accepted\x20an\x20*http.Conn,\x20they\x20now\x20take\x20an\x20interface\x0atype\x20http.ResponseWriter.\x20ResponseWriter\x20implements\x20the\x20same\x20methods\x20as\x20*Conn,\x0aso\x20in\x20most\x20cases\x20the\x20only\x20change\x20required\x20will\x20be\x20changing\x20the\x20type\x20signature\x0aof\x20your\x20handler\x20function's\x20first\x20parameter.\x20See:\x0a\x20\x20http://golang.org/pkg/http/#Handler\x0a\x0aThe\x20utf8\x20package\x20has\x20a\x20new\x20type,\x20String,\x20that\x20provides\x20efficient\x20indexing\x20\x0ainto\x20utf8\x20strings\x20by\x20rune\x20(previously\x20an\x20expensive\x20conversion\x20to\x20[]int\x20\x0awas\x20required).\x20See:\x0a\x20\x20http://golang.org/pkg/utf8/#String\x0a\x0aThe\x20compiler\x20will\x20now\x20automatically\x20insert\x20a\x20semicolon\x20at\x20the\x20end\x20of\x20a\x20file\x20if\x0aone\x20is\x20not\x20found.\x20This\x20effect\x20of\x20this\x20is\x20that\x20Go\x20source\x20files\x20are\x20no\x20longer\x0arequired\x20to\x20have\x20a\x20trailing\x20newline.\x0a\x0aOther\x20changes:\x0a*\x206prof:\x20more\x20accurate\x20usage\x20message.\x0a*\x20archive/zip:\x20new\x20package\x20for\x20reading\x20Zip\x20files.\x0a*\x20arm:\x20fix\x20code\x20generation,\x2010\x20more\x20package\x20tests\x20pass.\x0a*\x20asn1:\x20make\x20interface\x20consistent\x20with\x20json.\x0a*\x20bufio.UnreadRune:\x20fix\x20bug\x20at\x20EOF.\x0a*\x20build:\x20clear\x20custom\x20variables\x20like\x20GREP_OPTIONS,\x0a\x20\x20\x20\x20\x20\x20\x20\x20silence\x20warnings\x20generated\x20by\x20ubuntu\x20gcc,\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20full\x20path\x20when\x20compiling\x20libraries.\x0a*\x20bytes,\x20strings:\x20change\x20lastIndexFunc\x20to\x20use\x20DecodeLastRune\x20(thanks\x20Roger\x20Peppe).\x0a*\x20doc:\x20add\x20to\x20and\x20consolidate\x20non-english\x20doc\x20references,\x0a\x20\x20\x20\x20\x20\x20\x20\x20consolidate\x20FAQs\x20into\x20a\x20single\x20file,\x20go_faq.html,\x0a\x20\x20\x20\x20\x20\x20\x20\x20updates\x20for\x20new\x20http\x20interface.\x0a*\x20fmt/Printf:\x20document\x20and\x20tweak\x20error\x20messages\x20produced\x20for\x20bad\x20formats.\x0a*\x20gc:\x20allow\x20select\x20case\x20expr\x20=\x20&lt;-c,\x0a\x20\x20\x20\x20\x20\x20\x20\x20eliminate\x20duplicates\x20in\x20method\x20table,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20reflect\x20table\x20method\x20receiver,\x0a\x20\x20\x20\x20\x20\x20\x20\x20improve\x20error\x20message\x20for\x20x\x20\\=\x200.\x0a*\x20go/scanner:\x20treat\x20EOF\x20like\x20a\x20newline\x20for\x20purposes\x20of\x20semicolon\x20insertion.\x0a*\x20gofmt:\x20stability\x20improvements.\x0a*\x20gotest:\x20leave\x20_testmain.go\x20for\x20\"make\x20clean\"\x20to\x20clean\x20up.\x0a*\x20http:\x20correct\x20escaping\x20of\x20different\x20parts\x20of\x20URL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20support\x20HTTP/1.0\x20Keep-Alive.\x0a*\x20json:\x20do\x20not\x20write\x20to\x20unexported\x20fields.\x0a*\x20libcgo:\x20don't\x20build\x20for\x20NaCl,\x0a\x20\x20\x20\x20\x20\x20\x20\x20set\x20g,\x20m\x20in\x20thread\x20local\x20storage\x20for\x20windows\x20386\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20math:\x20Fix\x20off-by-one\x20error\x20in\x20Ilogb\x20and\x20Logb.\x20\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/dashboard/builder:\x20remove\x20build\x20files\x20after\x20benchmarking.\x0a*\x20nacl:\x20update\x20instructions\x20for\x20new\x20SDK.\x0a*\x20net:\x20enable\x20v4-over-v6\x20on\x20ip\x20sockets,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20crash\x20in\x20DialIP.\x0a*\x20os:\x20check\x20for\x20valid\x20arguments\x20in\x20windows\x20Readdir\x20(thanks\x20Peter\x20Mundy).\x0a*\x20runtime:\x20add\x20mmap\x20of\x20null\x20page\x20just\x20in\x20case,\x0a\x20\x20\x20\x20\x20\x20\x20\x20correct\x20stats\x20in\x20SysFree,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20unwindstack\x20crash.\x0a*\x20syscall:\x20add\x20IPPROTO_IPV6\x20and\x20IPV6_V6ONLY\x20const\x20to\x20fix\x20nacl\x20and\x20windows\x20build,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20inotify\x20on\x20Linux\x20(thanks\x20Balazs\x20Lecz),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20socketpair\x20in\x20syscall_bsd,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20windows\x20value\x20of\x20IPV6_V6ONLY\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20windows\x20version\x20of\x20Utimes\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20mkall.sh\x20work\x20for\x20nacl.\x0a*\x20test:\x20Add\x20test\x20that\x20causes\x20incorrect\x20error\x20from\x20gccgo.\x0a*\x20utf8:\x20add\x20DecodeLastRune\x20and\x20DecodeLastRuneInString\x20(thanks\x20Roger\x20Peppe).\x0a*\x20xml:\x20Allow\x20entities\x20inside\x20CDATA\x20tags\x20(thanks\x20Dan\x20Sinclair).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-09-22\">2010-09-22</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20new\x20package\x20functionality,\x20and\x20many\x20bug\x20fixes\x20and\x20changes.\x0aIt\x20also\x20improves\x20support\x20for\x20the\x20arm\x20and\x20nacl\x20platforms.\x0a\x0a*\x205l:\x20avoid\x20fixed\x20buffers\x20in\x20list.\x0a*\x206l,\x208l:\x20clean\x20up\x20ELF\x20code,\x20fix\x20NaCl.\x0a*\x206l/8l:\x20emit\x20DWARF\x20frame\x20info.\x0a*\x20Make.inc:\x20make\x20GOOS\x20detection\x20work\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20build:\x20fixes\x20for\x20native\x20arn\x20build,\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20all.bash\x20run\x20on\x20Ubuntu\x20ARM.\x0a*\x20cgo:\x20bug\x20fixes,\x0a\x20\x20\x20\x20\x20\x20\x20\x20show\x20preamble\x20gcc\x20errors\x20(thanks\x20Eric\x20Clark).\x0a*\x20crypto/x509,\x20crypto/tls:\x20improve\x20root\x20matching\x20and\x20observe\x20CA\x20flag.\x0a*\x20crypto:\x20Fix\x20certificate\x20validation.\x0a*\x20doc:\x20variable-width\x20layout.\x0a*\x20env.bash:\x20fix\x20building\x20in\x20directory\x20with\x20spaces\x20in\x20the\x20path\x20(thanks\x20Alex\x20Brainman).\x0a*\x20exp/4s,\x20exp/nacl/av:\x20sync\x20to\x20recent\x20exp/draw\x20changes.\x0a*\x20exp/draw/x11:\x20mouse\x20location\x20is\x20a\x20signed\x20integer.\x0a*\x20exp/nacl/av:\x20update\x20color\x20to\x20max\x20out\x20at\x201&lt;&lt;16-1\x20instead\x20of\x201&lt;&lt;32-1.\x0a*\x20fmt:\x20support\x20'*'\x20for\x20width\x20or\x20precision\x20(thanks\x20Anthony\x20Martin).\x0a*\x20gc:\x20improvements\x20to\x20static\x20initialization,\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20sure\x20path\x20names\x20are\x20canonical.\x0a*\x20gob:\x20make\x20robust\x20when\x20decoding\x20a\x20struct\x20with\x20non-struct\x20data.\x0a*\x20gobuilder:\x20add\x20-cmd\x20for\x20user-specified\x20build\x20command,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20-rev=\x20flag\x20to\x20build\x20specific\x20revision\x20and\x20exit,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20bug\x20that\x20caused\x20old\x20revisions\x20to\x20be\x20rebuilt.\x0a*\x20godoc:\x20change\x20default\x20filter\x20file\x20name\x20to\x20\"\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20don't\x20use\x20quadratic\x20algorithm\x20to\x20filter\x20paths,\x0a\x20\x20\x20\x20\x20\x20\x20\x20show\x20\"Last\x20update\"\x20info\x20for\x20directory\x20listings.\x0a*\x20http:\x20new\x20redirect\x20test,\x0a\x20\x20\x20\x20\x20\x20\x20\x20URLEscape\x20now\x20escapes\x20all\x20reserved\x20characters\x20as\x20per\x20the\x20RFC.\x0a*\x20nacl:\x20fix\x20zero-length\x20writes.\x0a*\x20net/dict:\x20parse\x20response\x20correctly\x20(thanks\x20Fazlul\x20Shahriar).\x0a*\x20netchan:\x20add\x20a\x20cross-connect\x20test,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20closing\x20of\x20channels,\x0a\x20\x20\x20\x20\x20\x20\x20\x20provide\x20a\x20method\x20(Importer.Errors())\x20to\x20recover\x20protocol\x20errors.\x0a*\x20os:\x20make\x20Open()\x20O_APPEND\x20flag\x20work\x20on\x20windows\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20RemoveAll()\x20work\x20on\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20pkg/Makefile:\x20disable\x20netchan\x20test\x20to\x20fix\x20windows\x20build\x20(thanks\x20Alex\x20Brainman).\x0a*\x20regexp:\x20delete\x20Iter\x20methods.\x0a*\x20runtime:\x20better\x20panic\x20for\x20send\x20to\x20nil\x20channel.\x0a*\x20strings:\x20fix\x20minor\x20bug\x20in\x20LastIndexFunc\x20(thanks\x20Roger\x20Peppe).\x0a*\x20suffixarray:\x20a\x20package\x20for\x20creating\x20suffixarray-based\x20indexes.\x0a*\x20syscall:\x20Use\x20vsyscall\x20for\x20syscall.Gettimeofday\x20and\x20.Time\x20on\x20linux\x20amd64.\x0a*\x20test:\x20fix\x20NaCl\x20build.\x0a*\x20windows:\x20fix\x20netchan\x20test\x20by\x20using\x20127.0.0.1.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-09-15\">2010-09-15</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20a\x20language\x20change:\x20the\x20lower\x20bound\x20of\x20a\x20subslice\x20may\x0anow\x20be\x20omitted,\x20in\x20which\x20case\x20the\x20value\x20will\x20default\x20to\x200.\x0aFor\x20example,\x20s[0:10]\x20may\x20now\x20be\x20written\x20as\x20s[:10],\x20and\x20s[0:]\x20as\x20s[:].\x0a\x0aThe\x20release\x20also\x20includes\x20important\x20bug\x20fixes\x20for\x20the\x20ARM\x20architecture,\x0aas\x20well\x20as\x20the\x20following\x20fixes\x20and\x20changes:\x0a\x0a*\x205g:\x20register\x20allocation\x20bugs\x0a*\x206c,\x208c:\x20show\x20line\x20numbers\x20in\x20-S\x20output\x0a*\x206g,\x206l,\x208g,\x208l:\x20move\x20read-only\x20data\x20to\x20text\x20segment\x0a*\x206l,\x208l:\x20make\x20etext\x20accurate;\x20introduce\x20rodata,\x20erodata.\x0a*\x20arm:\x20fix\x20build\x20bugs.\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20libcgo\x20build\x20during\x20OS\x20X\x20cross-compile\x0a\x20\x20\x20\x20\x20\x20\x20\x20remove\x20reference\x20to\x20deleted\x20file\x20syntax/slice.go\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20the\x20correct\x20stat\x20syscalls\x0a\x20\x20\x20\x20\x20\x20\x20\x20work\x20around\x20reg\x20allocator\x20bug\x20in\x205g\x0a*\x20bufio:\x20add\x20UnreadRune.\x0a*\x20build:\x20avoid\x20bad\x20environment\x20interactions\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20build\x20for\x20tiny\x0a\x20\x20\x20\x20\x20\x20\x20\x20generate,\x20clean\x20.exe\x20files\x20on\x20Windows\x20(thanks\x20Joe\x20Poirier)\x0a\x20\x20\x20\x20\x20\x20\x20\x20test\x20for\x20_WIN32,\x20not\x20_MINGW32\x20(thanks\x20Joe\x20Poirier)\x0a\x20\x20\x20\x20\x20\x20\x20\x20work\x20with\x20GNU\x20Make\x203.82\x20(thanks\x20Jukka-Pekka\x20Kekkonen)\x0a*\x20cgo:\x20add\x20typedef\x20for\x20uintptr\x20in\x20generated\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20silence\x20warning\x20for\x20C\x20call\x20returning\x20const\x20pointer\x0a*\x20codereview:\x20convert\x20email\x20address\x20to\x20lower\x20case\x20before\x20checking\x20CONTRIBUTORS\x0a*\x20crypto/tls:\x20don't\x20return\x20an\x20error\x20from\x20Close()\x0a*\x20doc/tutorial:\x20update\x20for\x20slice\x20changes.\x0a*\x20exec:\x20separate\x20LookPath\x20implementations\x20for\x20unix/windows\x20(thanks\x20Joe\x20Poirier)\x0a*\x20exp/draw/x11:\x20allow\x20clean\x20shutdown\x20when\x20the\x20user\x20closes\x20the\x20window.\x0a*\x20exp/draw:\x20clip\x20destination\x20rectangle\x20to\x20the\x20image\x20bounds.\x0a\x20\x20\x20\x20\x20\x20\x20\x20fast\x20path\x20for\x20drawing\x20overlapping\x20image.RGBAs.\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20double-counting\x20of\x20pt.Min\x20for\x20the\x20src\x20and\x20mask\x20points.\x0a\x20\x20\x20\x20\x20\x20\x20\x20reintroduce\x20the\x20MouseEvent.Nsec\x20timestamp.\x0a\x20\x20\x20\x20\x20\x20\x20\x20rename\x20Context\x20to\x20Window,\x20and\x20add\x20a\x20Close\x20method.\x0a*\x20exp/debug:\x20preliminary\x20support\x20for\x20'copy'\x20function\x20(thanks\x20Sebastien\x20Binet)\x0a*\x20fmt.Fscan:\x20use\x20UnreadRune\x20to\x20preserve\x20data\x20across\x20calls.\x0a*\x20gc:\x20better\x20printing\x20of\x20named\x20constants,\x20func\x20literals\x20in\x20errors\x0a\x20\x20\x20\x20\x20\x20\x20\x20many\x20bug\x20fixes\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20line\x20number\x20printing\x20with\x20//line\x20directives\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20symbol\x20table\x20generation\x20on\x20windows\x20(thanks\x20Alex\x20Brainman)\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20comparison\x20rule\x20from\x20spec\x20change\x2033abb649cb63\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20new\x20slice\x20spec\x20(thanks\x20Scott\x20Lawrence)\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20string\x20x\x20+\x20y\x20+\x20z\x20+\x20...\x20+\x20w\x20efficient\x0a\x20\x20\x20\x20\x20\x20\x20\x20more\x20accurate\x20line\x20numbers\x20for\x20ATEXT\x0a\x20\x20\x20\x20\x20\x20\x20\x20remove\x20&amp;[10]int\x20-&gt;\x20[]int\x20conversion\x0a*\x20go-mode.el:\x20fix\x20highlighting\x20for\x20'chan'\x20type\x20(thanks\x20Scott\x20Lawrence)\x0a*\x20godoc:\x20better\x20support\x20for\x20directory\x20trees\x20for\x20user-supplied\x20paths\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20correct\x20delay\x20time\x20(bug\x20fix)\x0a*\x20gofmt,\x20go/printer:\x20update\x20internal\x20estimated\x20position\x20correctly\x0a*\x20goinstall:\x20warn\x20when\x20package\x20name\x20starts\x20with\x20http://\x20(thanks\x20Scott\x20Lawrence)\x0a*\x20http:\x20check\x20https\x20certificate\x20against\x20host\x20name\x0a\x20\x20\x20\x20\x20\x20\x20\x20do\x20not\x20cache\x20CanonicalHeaderKey\x20(thanks\x20Jukka-Pekka\x20Kekkonen)\x0a*\x20image:\x20change\x20a\x20ColorImage's\x20minimum\x20point\x20from\x20(0,\x200)\x20to\x20(-1e9,\x20-1e9).\x0a\x20\x20\x20\x20\x20\x20\x20\x20introduce\x20Intersect\x20and\x20Union\x20rectangle\x20methods.\x0a*\x20ld:\x20handle\x20quoted\x20spaces\x20in\x20package\x20path\x20(thanks\x20Dan\x20Sinclair)\x0a*\x20libcgo:\x20fix\x20NaCl\x20build.\x0a*\x20libmach:\x20fix\x20build\x20on\x20arm\x20host\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20new\x20thread\x20race\x20with\x20Linux\x0a*\x20math:\x20make\x20portable\x20Tan(Pi/2)\x20return\x20NaN\x0a*\x20misc/dashboard/builder:\x20gobuilder,\x20a\x20continuous\x20build\x20client\x0a*\x20net:\x20disable\x20tests\x20for\x20functions\x20not\x20available\x20on\x20windows\x20(thanks\x20Alex\x20Brainman)\x0a*\x20netchan:\x20make\x20-1\x20unlimited,\x20as\x20advertised.\x0a*\x20os,\x20exec:\x20rename\x20argv0\x20to\x20name\x0a*\x20path:\x20add\x20IsAbs\x20(thanks\x20Ivan\x20Krasin)\x0a*\x20runtime:\x20fix\x20bug\x20in\x20tracebacks\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20crash\x20trace\x20on\x20amd64\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20windows\x20build\x20(thanks\x20Alex\x20Brainman)\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20manual\x20stack\x20for\x20garbage\x20collection\x0a*\x20spec:\x20add\x20examples\x20for\x20slices\x20with\x20omitted\x20index\x20expressions.\x0a\x20\x20\x20\x20\x20\x20\x20\x20allow\x20omission\x20of\x20low\x20slice\x20bound\x20(thanks\x20Scott\x20Lawrence)\x0a*\x20syscall:\x20fix\x20windows\x20Gettimeofday\x20(thanks\x20Alex\x20Brainman)\x0a*\x20test(arm):\x20disable\x20zerodivide.go\x20because\x20compilation\x20fails.\x0a*\x20test(windows):\x20disable\x20tests\x20that\x20cause\x20the\x20build\x20to\x20fail\x20(thanks\x20Joe\x20Poirier)\x0a*\x20test/garbage/parser:\x20sync\x20with\x20recent\x20parser\x20changes\x0a*\x20test:\x20Add\x20test\x20for\x20//line\x0a\x20\x20\x20\x20\x20\x20\x20\x20Make\x20gccgo\x20believe\x20that\x20the\x20variables\x20can\x20change.\x0a\x20\x20\x20\x20\x20\x20\x20\x20Recognize\x20gccgo\x20error\x20messages.\x0a\x20\x20\x20\x20\x20\x20\x20\x20Reduce\x20race\x20conditions\x20in\x20chan/nonblock.go.\x0a\x20\x20\x20\x20\x20\x20\x20\x20Run\x20garbage\x20collector\x20before\x20testing\x20malloc\x20numbers.\x0a*\x20websocket:\x20Add\x20support\x20for\x20secure\x20WebSockets\x20(thanks\x20Jukka-Pekka\x20Kekkonen)\x0a*\x20windows:\x20disable\x20unimplemented\x20tests\x20(thanks\x20Joe\x20Poirier)\x0a</pre>\x0a\x0a<h2\x20id=\"2010-09-06\">2010-09-06</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20the\x20syntactic\x20modernization\x20of\x20more\x20than\x20100\x20files\x20in\x20/test,\x0aand\x20these\x20additions,\x20changes,\x20and\x20fixes:\x20\x0a*\x206l/8l:\x20emit\x20DWARF\x20in\x20macho.\x0a*\x208g:\x20use\x20FCHS,\x20not\x20FMUL,\x20for\x20minus\x20float.\x0a*\x208l:\x20emit\x20DWARF\x20in\x20ELF,\x0a\x20\x20\x20\x20\x20\x20\x20\x20suppress\x20emitting\x20DWARF\x20in\x20Windows\x20PE\x20(thanks\x20Alex\x20Brainman).\x0a*\x20big:\x20added\x20RatString,\x20some\x20simplifications.\x0a*\x20build:\x20create\x20bin\x20and\x20pkg\x20directories\x20as\x20needed;\x20drop\x20from\x20hg,\x0a\x20\x20\x20\x20\x20\x20\x20\x20delete\x20Make.386\x20Make.amd64\x20Make.arm\x20(obsoleted\x20by\x20Make.inc),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20cgo\x20with\x20-j2,\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20pkg/Makefile\x20coordinate\x20building\x20of\x20Go\x20commands,\x0a\x20\x20\x20\x20\x20\x20\x20\x20never\x20use\x20quietgcc\x20in\x20Make.pkg,\x0a\x20\x20\x20\x20\x20\x20\x20\x20remove\x20more\x20references\x20to\x20GOBIN\x20and\x20GOROOT\x20(thanks\x20Christian\x20Himpel).\x0a*\x20codereview:\x20Fix\x20uploading\x20for\x20Mercurial\x201.6.3\x20(thanks\x20Evan\x20Shaw),\x0a\x20\x20\x20\x20\x20\x20\x20\x20consistent\x20indent,\x20cut\x20dead\x20code,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20hang\x20on\x20standard\x20hg\x20commands,\x0a\x20\x20\x20\x20\x20\x20\x20\x20print\x20status\x20when\x20tasks\x20take\x20longer\x20than\x2030\x20seconds,\x0a\x20\x20\x20\x20\x20\x20\x20\x20really\x20disable\x20codereview\x20when\x20not\x20available,\x0a\x20\x20\x20\x20\x20\x20\x20\x20upload\x20files\x20in\x20parallel\x20(5x\x20improvement\x20on\x20large\x20CLs).\x0a*\x20crypto/hmac:\x20make\x20Sum\x20idempotent\x20(thanks\x20Jukka-Pekka\x20Kekkonen).\x0a*\x20doc:\x20add\x20links\x20to\x20more\x20German\x20docs,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20round-robin\x20flag\x20to\x20io2010\x20balance\x20example,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20a\x20bug\x20in\x20the\x20example\x20in\x20Constants\x20subsection\x20(thanks\x20James\x20Fysh),\x0a\x20\x20\x20\x20\x20\x20\x20\x20various\x20changes\x20for\x20validating\x20HTML\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20fmt:\x20delete\x20erroneous\x20sentence\x20about\x20return\x20value\x20for\x20Sprint*.\x0a*\x20gc:\x20appease\x20bison\x20version\x20running\x20on\x20FreeBSD\x20builder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20spurious\x20syntax\x20error.\x0a*\x20go/doc:\x20use\x20correct\x20escaper\x20for\x20URL.\x0a*\x20go/printer:\x20align\x20ImportPaths\x20in\x20ImportDecls\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20go/typechecker:\x202nd\x20step\x20towards\x20augmenting\x20AST\x20with\x20full\x20type\x20information.\x0a*\x20gofmt:\x20permit\x20omission\x20of\x20first\x20index\x20in\x20slice\x20expression.\x0a*\x20goinstall:\x20added\x20-a\x20flag\x20to\x20mean\x20\"all\x20remote\x20packages\"\x20(thanks\x20Scott\x20Lawrence),\x0a\x20\x20\x20\x20\x20\x20\x20\x20assume\x20go\x20binaries\x20are\x20in\x20path\x20(following\x20new\x20convention),\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20https\x20for\x20Google\x20Code\x20checkouts.\x0a*\x20gotest:\x20allow\x20make\x20test\x20of\x20cgo\x20packages\x20(without\x20make\x20install).\x0a*\x20http:\x20add\x20Date\x20to\x20server,\x20Last-Modified\x20and\x20If-Modified-Since\x20to\x20file\x20server,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20PostForm\x20function\x20to\x20post\x20url-encoded\x20key/value\x20data,\x0a\x20\x20\x20\x20\x20\x20\x20\x20obscure\x20passwords\x20in\x20return\x20value\x20of\x20URL.String\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20image:\x20introduce\x20Config\x20type\x20and\x20DecodeConfig\x20function.\x0a*\x20libcgo:\x20update\x20Makefile\x20to\x20use\x20Make.inc.\x0a*\x20list:\x20update\x20comment\x20to\x20state\x20that\x20the\x20zero\x20value\x20is\x20ready\x20to\x20use.\x0a*\x20math:\x20amd64\x20version\x20of\x20Sincos\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/bash:\x20add\x20*.go\x20completion\x20for\x20gofmt\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20misc/emacs:\x20make\x20_\x20a\x20word\x20symbol\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20misc:\x20add\x20zsh\x20completion\x20(using\x20compctl),\x0a\x20\x20\x20\x20\x20\x20\x20\x20syntax\x20highlighting\x20for\x20Fraise.app\x20(OS\x20X)\x20(thanks\x20Vincent\x20Ambo).\x0a*\x20net/textproto:\x20Handle\x20multi-line\x20responses\x20(thanks\x20Evan\x20Shaw).\x0a*\x20net:\x20add\x20LookupMX\x20(thanks\x20Corey\x20Thomasson).\x0a*\x20netchan:\x20Fix\x20race\x20condition\x20in\x20test,\x0a\x20\x20\x20\x20\x20\x20\x20\x20rather\x20than\x200,\x20make\x20-1\x20mean\x20infinite\x20(a\x20la\x20strings.Split\x20et\x20al),\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20acknowledgements\x20on\x20export\x20send.\x0a\x20\x20\x20\x20\x20\x20\x20\x20new\x20methods\x20Sync\x20and\x20Drain\x20for\x20clean\x20teardown.\x0a*\x20regexp:\x20interpret\x20all\x20Go\x20characer\x20escapes\x20\\a\x20\\b\x20\\f\x20\\n\x20\\r\x20\\t\x20\\v.\x0a*\x20rpc:\x20fix\x20bug\x20that\x20caused\x20private\x20methods\x20to\x20attempt\x20to\x20be\x20registered.\x0a*\x20runtime:\x20Correct\x20commonType.kind\x20values\x20to\x20match\x20compiler,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20GOOS,\x20GOARCH;\x20fix\x20FuncLine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20special\x20case\x20copy,\x20equal\x20for\x20one-word\x20interface\x20values\x20(thanks\x20Kyle\x20Consalus).\x0a*\x20scanner:\x20fix\x20incorrect\x20reporting\x20of\x20error\x20in\x20Next\x20(thanks\x20Kyle\x20Consalus).\x0a*\x20spec:\x20clarify\x20that\x20arrays\x20must\x20be\x20addressable\x20to\x20be\x20sliceable.\x0a*\x20template:\x20fix\x20space\x20handling\x20around\x20actions.\x0a*\x20test/solitaire:\x20an\x20exercise\x20in\x20backtracking\x20and\x20string\x20conversions.\x0a*\x20test:\x20Recognize\x20gccgo\x20error\x20messages\x20and\x20other\x20fixes.\x0a*\x20time:\x20do\x20not\x20crash\x20in\x20String\x20on\x20nil\x20Time.\x0a*\x20tutorial:\x20regenerate\x20HTML\x20to\x20pick\x20up\x20change\x20to\x20progs/file.go.\x0a*\x20websocket:\x20fix\x20missing\x20Sec-WebSocket-Protocol\x20on\x20server\x20response\x20(thanks\x20Jukka-Pekka\x20Kekkonen).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-08-25\">2010-08-25</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20changes\x20to\x20the\x20build\x20system\x20that\x20will\x20likely\x20require\x20you\x0ato\x20make\x20changes\x20to\x20your\x20environment\x20variables\x20and\x20Makefiles.\x0a\x0aAll\x20environment\x20variables\x20are\x20now\x20optional:\x0a\x20-\x20$GOOS\x20and\x20$GOARCH\x20are\x20now\x20optional;\x20their\x20values\x20should\x20now\x20be\x20inferred\x20\x0a\x20\x20\x20automatically\x20by\x20the\x20build\x20system,\x0a\x20-\x20$GOROOT\x20is\x20now\x20optional,\x20but\x20if\x20you\x20choose\x20not\x20to\x20set\x20it\x20you\x20must\x20run\x0a\x20\x20\x20'gomake'\x20instead\x20of\x20'make'\x20or\x20'gmake'\x20when\x20developing\x20Go\x20programs\x0a\x20\x20\x20using\x20the\x20conventional\x20Makefiles,\x0a\x20-\x20$GOBIN\x20remains\x20optional\x20and\x20now\x20defaults\x20to\x20$GOROOT/bin;\x0a\x20\x20\x20if\x20you\x20wish\x20to\x20use\x20this\x20new\x20default,\x20make\x20sure\x20it\x20is\x20in\x20your\x20$PATH\x0a\x20\x20\x20and\x20that\x20you\x20have\x20removed\x20the\x20existing\x20binaries\x20from\x20$HOME/bin.\x0a\x0aAs\x20a\x20result\x20of\x20these\x20changes,\x20the\x20Go\x20Makefiles\x20have\x20changed.\x20If\x20your\x20Makefiles\x0ainherit\x20from\x20the\x20Go\x20Makefiles,\x20you\x20must\x20change\x20this\x20line:\x0a\x20\x20\x20\x20include\x20../../Make.$(GOARCH)\x0ato\x20this:\x0a\x20\x20\x20\x20include\x20../../Make.inc\x0a\x0aThis\x20release\x20also\x20removes\x20the\x20deprecated\x20functions\x20in\x20regexp\x20and\x20the\x20\x0aonce\x20package.\x20Any\x20code\x20that\x20still\x20uses\x20them\x20will\x20break.\x0aSee\x20the\x20notes\x20from\x20the\x20last\x20release\x20for\x20details:\x0a\x20\x20\x20\x20http://golang.org/doc/devel/release.html#2010-08-11\x0a\x0aOther\x20changes:\x0a*\x206g:\x20better\x20registerization\x20for\x20slices,\x20strings,\x20interface\x20values\x0a*\x206l:\x20line\x20number\x20information\x20in\x20DWARF\x20format\x0a*\x20build:\x20$GOBIN\x20defaults\x20to\x20$GOROOT/bin,\x0a\x20\x20\x20\x20\x20\x20\x20\x20no\x20required\x20environment\x20variables\x0a*\x20cgo:\x20add\x20C.GoStringN\x20(thanks\x20Eric\x20Clark).\x0a*\x20codereview:\x20fix\x20issues\x20with\x20leading\x20tabs\x20in\x20CL\x20descriptions,\x0a\x20\x20\x20\x20\x20\x20\x20\x20do\x20not\x20send\x20\"Abandoned\"\x20mail\x20if\x20the\x20CL\x20has\x20not\x20been\x20mailed.\x0a*\x20crypto/ocsp:\x20add\x20missing\x20Makefile.\x0a*\x20crypto/tls:\x20client\x20certificate\x20support\x20(thanks\x20Mikkel\x20Krautz).\x0a*\x20doc:\x20update\x20gccgo\x20information\x20for\x20recent\x20changes.\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20errors\x20in\x20Effective\x20Go.\x0a*\x20fmt/print:\x20give\x20%p\x20priority,\x20analogous\x20to\x20%T,\x0a\x20\x20\x20\x20\x20\x20\x20\x20honor\x20Formatter\x20in\x20Print,\x20Println.\x0a*\x20gc:\x20fix\x20parenthesization\x20check.\x0a*\x20go/ast:\x20facility\x20for\x20printing\x20AST\x20nodes,\x0a\x20\x20\x20\x20\x20\x20\x20\x20first\x20step\x20towards\x20augmenting\x20AST\x20with\x20full\x20type\x20information.\x0a*\x20go/printer:\x20do\x20not\x20modify\x20tabwriter.Escape'd\x20text.\x0a*\x20gofmt:\x20do\x20not\x20modify\x20multi-line\x20string\x20literals,\x0a\x20\x20\x20\x20\x20\x20\x20\x20print\x20AST\x20nodes\x20by\x20setting\x20-ast\x20flag.\x0a*\x20http:\x20fix\x20typo\x20in\x20http.Request\x20documentation\x20(thanks\x20Scott\x20Lawrence)\x0a\x20\x20\x20\x20\x20\x20\x20\x20parse\x20query\x20string\x20always,\x20not\x20just\x20in\x20GET\x0a*\x20image/png:\x20support\x2016-bit\x20color.\x0a*\x20io:\x20ReadAtLeast\x20now\x20errors\x20if\x20min\x20>\x20len(buf).\x0a*\x20jsonrpc:\x20use\x20`error:\x20null`\x20for\x20success,\x20not\x20`error:\x20\"\"`.\x0a*\x20libmach:\x20implement\x20register\x20fetch\x20for\x2032-bit\x20x86\x20kernel.\x0a*\x20net:\x20make\x20IPv6\x20String\x20method\x20standards-compliant\x20(thanks\x20Mikio\x20Hara).\x0a*\x20os:\x20FileInfo.Permission()\x20now\x20returns\x20uint32\x20(thanks\x20Scott\x20Lawrence),\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20env\x20using\x20native\x20Windows\x20API\x20(thanks\x20Alex\x20Brainman).\x0a*\x20reflect:\x20allow\x20PtrValue.PointTo(nil).\x0a*\x20runtime:\x20correct\x20line\x20numbers\x20for\x20.goc\x20files,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20another\x20stack\x20split\x20bug,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20freebsd/386\x20mmap.\x0a*\x20syscall:\x20regenerate\x20syscall/z*\x20files\x20for\x20linux/386,\x20linux/amd64,\x20linux/arm.\x0a*\x20tabwriter:\x20Introduce\x20a\x20new\x20flag\x20StripEscape.\x0a*\x20template:\x20fix\x20handling\x20of\x20space\x20around\x20actions,\x0a\x20\x20\x20\x20\x20\x20\x20\x20vars\x20preceded\x20by\x20white\x20space\x20parse\x20correctly\x20(thanks\x20Roger\x20Peppe).\x0a*\x20test:\x20add\x20test\x20case\x20that\x20crashes\x20gccgo.\x0a*\x20time:\x20parse\x20no\x20longer\x20requires\x20minutes\x20for\x20time\x20zone\x20(thanks\x20Jan\x20H.\x20Hosang)\x0a*\x20yacc:\x20fix\x20bounds\x20check\x20in\x20error\x20recovery.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-08-11\">2010-08-11</h2>\x0a\x0a<pre>\x0aThis\x20release\x20introduces\x20some\x20package\x20changes.\x20You\x20may\x20need\x20to\x20change\x20your\x0acode\x20if\x20you\x20use\x20the\x20once,\x20regexp,\x20image,\x20or\x20exp/draw\x20packages.\x0a\x0aThe\x20type\x20Once\x20has\x20been\x20added\x20to\x20the\x20sync\x20package.\x20The\x20new\x20sync.Once\x20will\x0asupersede\x20the\x20functionality\x20provided\x20by\x20the\x20once\x20package.\x20We\x20intend\x20to\x20remove\x0athe\x20once\x20package\x20after\x20this\x20release.\x20See:\x0a\x20\x20\x20\x20http://golang.org/pkg/sync/#Once\x0aAll\x20instances\x20of\x20once\x20in\x20the\x20standard\x20library\x20have\x20been\x20replaced\x20with\x0async.Once.\x20Reviewing\x20these\x20changes\x20may\x20help\x20you\x20modify\x20your\x20existing\x20code.\x20\x0aThe\x20relevant\x20changeset:\x0a\x20\x20\x20\x20http://code.google.com/p/go/source/detail?r=fa2c43595119\x0a\x0aA\x20new\x20set\x20of\x20methods\x20has\x20been\x20added\x20to\x20the\x20regular\x20expression\x20package,\x20regexp.\x0aThese\x20provide\x20a\x20uniformly\x20named\x20approach\x20to\x20discovering\x20the\x20matches\x20of\x20an\x0aexpression\x20within\x20a\x20piece\x20of\x20text;\x20see\x20the\x20package\x20documentation\x20for\x20details:\x20\x0a\x20\x20\x20\x20http://golang.org/pkg/regexp/\x0aThese\x20new\x20methods\x20will,\x20in\x20a\x20later\x20release,\x20replace\x20the\x20old\x20methods\x20for\x0amatching\x20substrings.\x20\x20The\x20following\x20methods\x20are\x20deprecated:\x0a\x20\x20\x20\x20Execute\x20(use\x20FindSubmatchIndex)\x0a\x20\x20\x20\x20ExecuteString\x20(use\x20FindStringSubmatchIndex)\x0a\x20\x20\x20\x20MatchStrings(use\x20FindStringSubmatch)\x0a\x20\x20\x20\x20MatchSlices\x20(use\x20FindSubmatch)\x0a\x20\x20\x20\x20AllMatches\x20(use\x20FindAll;\x20note\x20that\x20n&lt;0\x20means\x20'all\x20matches';\x20was\x20n&lt;=0)\x0a\x20\x20\x20\x20AllMatchesString\x20(use\x20FindAllString;\x20note\x20that\x20n&lt;0\x20means\x20'all\x20matches';\x20was\x20n&lt;=0)\x0a(Plus\x20there\x20are\x20ten\x20new\x20methods\x20you\x20didn't\x20know\x20you\x20wanted.)\x20\x0aPlease\x20update\x20your\x20code\x20to\x20use\x20the\x20new\x20routines\x20before\x20the\x20next\x20release.\x0a\x0aAn\x20image.Image\x20now\x20has\x20a\x20Bounds\x20rectangle,\x20where\x20previously\x20it\x20ranged\x20\x0afrom\x20(0,\x200)\x20to\x20(Width,\x20Height).\x20Loops\x20that\x20previously\x20looked\x20like:\x0a\x20\x20\x20\x20for\x20y\x20:=\x200;\x20y\x20&lt;\x20img.Height();\x20y++\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20x\x20:=\x200;\x20x\x20&lt;\x20img.Width();\x20x++\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Do\x20something\x20with\x20img.At(x,\x20y)\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0ashould\x20instead\x20be:\x0a\x20\x20\x20\x20b\x20:=\x20img.Bounds()\x0a\x20\x20\x20\x20for\x20y\x20:=\x20b.Min.Y;\x20y\x20&lt;\x20b.Max.Y;\x20y++\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20x\x20:=\x20b.Min.X;\x20x\x20&lt;\x20b.Max.X;\x20x++\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Do\x20something\x20with\x20img.At(x,\x20y)\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0aThe\x20Point\x20and\x20Rectangle\x20types\x20have\x20also\x20moved\x20from\x20exp/draw\x20to\x20image.\x0a\x0aOther\x20changes:\x0a*\x20arm:\x20bugfixes\x20and\x20syscall\x20(thanks\x20Kai\x20Backman).\x0a*\x20asn1:\x20fix\x20incorrect\x20encoding\x20of\x20signed\x20integers\x20(thanks\x20Nicholas\x20Waples).\x0a*\x20big:\x20fixes\x20to\x20bitwise\x20functions\x20(thanks\x20Evan\x20Shaw).\x0a*\x20bytes:\x20add\x20IndexRune,\x20FieldsFunc\x20and\x20To*Special\x20(thanks\x20Christian\x20Himpel).\x0a*\x20encoding/binary:\x20add\x20complex\x20(thanks\x20Roger\x20Peppe).\x0a*\x20exp/iterable:\x20add\x20UintArray\x20(thanks\x20Anschel\x20Schaffer-Cohen).\x0a*\x20godoc:\x20report\x20Status\x20404\x20if\x20a\x20pkg\x20or\x20file\x20is\x20not\x20found.\x0a*\x20gofmt:\x20better\x20reporting\x20for\x20unexpected\x20semicolon\x20errors.\x0a*\x20html:\x20new\x20package,\x20an\x20HTML\x20tokenizer.\x0a*\x20image:\x20change\x20image\x20representation\x20from\x20slice-of-slices\x20to\x20linear\x20buffer,\x0a\x20\x20\x20\x20\x20\x20\x20\x20introduce\x20Decode\x20and\x20RegisterFormat,\x0a\x20\x20\x20\x20\x20\x20\x20\x20introduce\x20Transparent\x20and\x20Opaque,\x0a\x20\x20\x20\x20\x20\x20\x20\x20replace\x20Width\x20and\x20Height\x20by\x20Bounds,\x20add\x20the\x20Point\x20and\x20Rect\x20types.\x0a*\x20libbio:\x20fix\x20Bprint\x20to\x20address\x206g\x20issues\x20with\x20large\x20data\x20structures.\x0a*\x20math:\x20fix\x20amd64\x20Hypot\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20net/textproto:\x20new\x20package,\x20with\x20example\x20net/dict.\x0a*\x20os:\x20fix\x20ForkExec()\x20handling\x20of\x20envv\x20==\x20nil\x20(thanks\x20Alex\x20Brainman).\x0a*\x20png:\x20grayscale\x20support\x20(thanks\x20Mathieu\x20Lonjaret).\x0a*\x20regexp:\x20document\x20that\x20backslashes\x20are\x20the\x20escape\x20character.\x0a*\x20rpc:\x20catch\x20errors\x20from\x20ReadResponseBody.\x0a*\x20runtime:\x20memory\x20free\x20fix\x20(thanks\x20Alex\x20Brainman).\x0a*\x20template:\x20add\x20ParseFile\x20method\x20to\x20template.Template.\x0a*\x20test/peano:\x20use\x20directly\x20recursive\x20type\x20def.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-08-04\">2010-08-04</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20a\x20change\x20to\x20os.Open\x20(and\x20co.).\x20The\x20file\x20permission\x0aargument\x20has\x20been\x20changed\x20to\x20a\x20uint32.\x20Your\x20code\x20may\x20require\x20changes\x20-\x20a\x20simple\x0aconversion\x20operation\x20at\x20most.\x0a\x0aOther\x20changes:\x0a*\x20amd64:\x20use\x20segment\x20memory\x20for\x20thread-local\x20storage.\x0a*\x20arm:\x20add\x20gdb\x20support\x20to\x20android\x20launcher\x20script,\x0a\x20\x20\x20\x20\x20\x20\x20\x20bugfixes\x20(stack\x20clobbering,\x20indices),\x0a\x20\x20\x20\x20\x20\x20\x20\x20disable\x20another\x20flaky\x20test,\x0a\x20\x20\x20\x20\x20\x20\x20\x20remove\x20old\x20qemu\x20dependency\x20from\x20gotest.\x0a*\x20bufio:\x20introduce\x20Peek.\x0a*\x20bytes:\x20added\x20test\x20case\x20for\x20explode\x20with\x20blank\x20string\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20cgo:\x20correct\x20multiple\x20return\x20value\x20function\x20invocations\x20(thanks\x20Christian\x20Himpel).\x0a*\x20crypto/x509:\x20unwrap\x20Subject\x20Key\x20Identifier\x20(thanks\x20Adam\x20Langley).\x0a*\x20gc:\x20index\x20bounds\x20tests\x20and\x20other\x20fixes.\x0a*\x20gofmt/go/parser:\x20strengthen\x20syntax\x20checks.\x0a*\x20goinstall:\x20check\x20for\x20error\x20from\x20exec.*Cmd.Wait()\x20(thanks\x20Alex\x20Brainman).\x0a*\x20image/png:\x20use\x20image-specific\x20methods\x20for\x20checking\x20opacity.\x0a*\x20image:\x20introduce\x20Gray\x20and\x20Gray16\x20types,\x0a\x20\x20\x20\x20\x20\x20\x20\x20remove\x20the\x20named\x20colors\x20except\x20for\x20Black\x20and\x20White.\x0a*\x20json:\x20object\x20members\x20must\x20have\x20a\x20value\x20(thanks\x20Anthony\x20Martin).\x0a*\x20misc/vim:\x20highlight\x20misspelled\x20words\x20only\x20in\x20comments\x20(thanks\x20Christian\x20Himpel).\x0a*\x20os:\x20Null\x20device\x20(thanks\x20Peter\x20Mundy).\x0a*\x20runtime:\x20do\x20not\x20fall\x20through\x20in\x20SIGBUS/SIGSEGV.\x0a*\x20strings:\x20fix\x20Split(\"\",\x20\"\",\x20-1)\x20(thanks\x20Scott\x20Lawrence).\x0a*\x20syscall:\x20make\x20go\x20errors\x20not\x20clash\x20with\x20windows\x20errors\x20(thanks\x20Alex\x20Brainman).\x0a*\x20test/run:\x20diff\x20old\x20new,\x0a*\x20websocket:\x20correct\x20challenge\x20response\x20(thanks\x20Tarmigan\x20Casebolt),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20bug\x20involving\x20spaces\x20in\x20header\x20keys\x20(thanks\x20Bill\x20Neubauer).\x20\x0a</pre>\x0a\x0a<h2\x20id=\"2010-07-29\">2010-07-29</h2>\x0a\x0a<pre>\x0a*\x205g:\x20more\x20soft\x20float\x20support\x20and\x20several\x20bugfixes.\x0a*\x20asn1:\x20Enumerated,\x20Flag\x20and\x20GeneralizedTime\x20support.\x0a*\x20build:\x20clean.bash\x20to\x20check\x20that\x20GOOS\x20and\x20GOARCH\x20are\x20set.\x0a*\x20bytes:\x20add\x20IndexFunc\x20and\x20LastIndexFunc\x20(thanks\x20Fazlul\x20Shahriar),\x0a\x09add\x20Title.\x0a*\x20cgo:\x20If\x20CC\x20is\x20set\x20in\x20environment,\x20use\x20it\x20rather\x20than\x20\"gcc\",\x0a\x09use\x20new\x20command\x20line\x20syntax:\x20--\x20separates\x20cgo\x20flags\x20from\x20gcc\x20flags.\x0a*\x20codereview:\x20avoid\x20crash\x20if\x20no\x20config,\x0a\x09don't\x20run\x20gofmt\x20with\x20an\x20empty\x20file\x20list,\x0a\x09make\x20'hg\x20submit'\x20work\x20with\x20Mercurial\x201.6.\x0a*\x20crypto/ocsp:\x20add\x20package\x20to\x20parse\x20OCSP\x20responses.\x0a*\x20crypto/tls:\x20add\x20client-side\x20SNI\x20support\x20and\x20PeerCertificates.\x0a*\x20exp/bignum:\x20delete\x20package\x20-\x20functionality\x20subsumed\x20by\x20package\x20big.\x0a*\x20fmt.Print:\x20fix\x20bug\x20in\x20placement\x20of\x20spaces\x20introduced\x20when\x20...T\x20went\x20in.\x0a*\x20fmt.Scanf:\x20handle\x20trailing\x20spaces.\x0a*\x20gc:\x20fix\x20smaller-than-pointer-sized\x20receivers\x20in\x20interfaces,\x0a\x09floating\x20point\x20precision/normalization\x20fixes,\x0a\x09graceful\x20exit\x20on\x20seg\x20fault,\x0a\x09import\x20dot\x20shadowing\x20bug,\x0a\x09many\x20fixes\x20including\x20better\x20handling\x20of\x20invalid\x20input,\x0a\x09print\x20error\x20detail\x20about\x20failure\x20to\x20open\x20import.\x0a*\x20gccgo_install.html:\x20add\x20description\x20of\x20the\x20port\x20to\x20RTEMS\x20(thanks\x20Vinu\x20Rajashekhar).\x0a*\x20gobs:\x20fix\x20bug\x20in\x20singleton\x20arrays.\x0a*\x20godoc:\x20display\x20synopses\x20for\x20all\x20packages\x20that\x20have\x20some\x20kind\x20of\x20documentation..\x0a*\x20gofmt:\x20fix\x20some\x20linebreak\x20issues.\x0a*\x20http:\x20add\x20https\x20client\x20support\x20(thanks\x20Fazlul\x20Shahriar),\x0a\x09write\x20body\x20when\x20content\x20length\x20unknown\x20(thanks\x20James\x20Whitehead).\x0a*\x20io:\x20MultiReader\x20and\x20MultiWriter\x20(thanks\x20Brad\x20Fitzpatrick),\x0a\x09fix\x20another\x20race\x20condition\x20in\x20Pipes.\x0a*\x20ld:\x20many\x20fixes\x20including\x20better\x20handling\x20of\x20invalid\x20input.\x0a*\x20libmach:\x20correct\x20handling\x20of\x20.5\x20files\x20with\x20D_REGREG\x20addresses.\x0a*\x20linux/386:\x20use\x20Xen-friendly\x20ELF\x20TLS\x20instruction\x20sequence.\x0a*\x20mime:\x20add\x20AddExtensionType\x20(thanks\x20Yuusei\x20Kuwana).\x0a*\x20misc/vim:\x20syntax\x20file\x20recognizes\x20constants\x20like\x201e9\x20(thanks\x20Petar\x20Maymounkov).\x0a*\x20net:\x20TCPConn.SetNoDelay,\x20back\x20by\x20popular\x20demand.\x0a*\x20net(windows):\x20fix\x20crashing\x20Read/Write\x20when\x20passed\x20empty\x20slice\x20on\x20(thanks\x20Alex\x20Brainman),\x0a\x09implement\x20LookupHost/Port/SRV\x20(thanks\x20Wei\x20Guangjing),\x0a\x09properly\x20handle\x20EOF\x20in\x20(*netFD).Read()\x20(thanks\x20Alex\x20Brainman).\x0a*\x20runtime:\x20fix\x20bug\x20introduced\x20in\x20revision\x204a01b8d28570\x20(thanks\x20Alex\x20Brainman),\x0a\x09rename\x20cgo2c,\x20*.cgo\x20to\x20goc2c,\x20*.goc\x20(thanks\x20Peter\x20Mundy).\x0a*\x20scanner:\x20better\x20comment.\x0a*\x20strings:\x20add\x20Title.\x0a*\x20syscall:\x20add\x20ForkExec,\x20Syscall12\x20on\x20Windows\x20(thanks\x20Daniel\x20Theophanes),\x0a\x09improve\x20windows\x20errno\x20handling\x20(thanks\x20Alex\x20Brainman).\x0a*\x20syscall(windows):\x20fix\x20FormatMessage\x20(thanks\x20Peter\x20Mundy),\x0a\x09implement\x20Pipe()\x20(thanks\x20Wei\x20Guangjing).\x0a*\x20time:\x20fix\x20parsing\x20of\x20minutes\x20in\x20time\x20zones.\x0a*\x20utf16(windows):\x20fix\x20cyclic\x20dependency\x20when\x20testing\x20(thanks\x20Peter\x20Mundy).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-07-14\">2010-07-14</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20a\x20package\x20change.\x20In\x20container/vector,\x20the\x20Iter\x20method\x0ahas\x20been\x20removed\x20from\x20the\x20Vector,\x20IntVector,\x20and\x20StringVector\x20types.\x20Also,\x20the\x0aData\x20method\x20has\x20been\x20renamed\x20to\x20Copy\x20to\x20better\x20express\x20its\x20actual\x20behavior.\x0aNow\x20that\x20Vector\x20is\x20just\x20a\x20slice,\x20any\x20for\x20loops\x20ranging\x20over\x20v.Iter()\x20or\x0av.Data()\x20can\x20be\x20changed\x20to\x20range\x20over\x20v\x20instead.\x0a\x0aOther\x20changes:\x0a*\x20big:\x20Improvements\x20to\x20Rat.SetString\x20(thanks\x20Evan\x20Shaw),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20sign,\x20abs,\x20Rat.IsInt.\x0a*\x20cgo:\x20various\x20bug\x20fixes.\x0a*\x20codereview:\x20Fix\x20for\x20Mercurial\x20>=\x201.6\x20(thanks\x20Evan\x20Shaw).\x0a*\x20crypto/rand:\x20add\x20Windows\x20implementation\x20(thanks\x20Peter\x20Mundy).\x0a*\x20crypto/tls:\x20make\x20HTTPS\x20servers\x20easier,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20client\x20OCSP\x20stapling\x20support.\x0a*\x20exp/eval:\x20converted\x20from\x20bignum\x20to\x20big\x20(thanks\x20Evan\x20Shaw).\x0a*\x20gc:\x20implement\x20new\x20len\x20spec,\x20range\x20bug\x20fix,\x20optimization.\x0a*\x20go/parser:\x20require\x20that\x20'...'\x20parameters\x20are\x20followed\x20by\x20a\x20type.\x0a*\x20http:\x20fix\x20ParseURL\x20to\x20handle\x20//relative_path\x20properly.\x0a*\x20io:\x20fix\x20SectionReader\x20Seek\x20to\x20seek\x20backwards\x20(thanks\x20Peter\x20Mundy).\x0a*\x20json:\x20Add\x20HTMLEscape\x20(thanks\x20Micah\x20Stetson).\x0a*\x20ld:\x20bug\x20fixes.\x0a*\x20math:\x20amd64\x20version\x20of\x20log\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20mime/multipart:\x20new\x20package\x20to\x20parse\x20multipart\x20MIME\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20and\x20HTTP\x20multipart/form-data\x20support.\x0a*\x20os:\x20use\x20TempFile\x20with\x20default\x20TempDir\x20for\x20test\x20files\x20(thanks\x20Peter\x20Mundy).\x0a*\x20runtime/tiny:\x20add\x20docs\x20for\x20additional\x20VMs,\x20fix\x20build\x20(thanks\x20Markus\x20Duft).\x0a*\x20runtime:\x20better\x20error\x20for\x20send/recv\x20on\x20nil\x20channel.\x0a*\x20spec:\x20clarification\x20of\x20channel\x20close(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lock\x20down\x20some\x20details\x20about\x20channels\x20and\x20select,\x0a\x20\x20\x20\x20\x20\x20\x20\x20restrict\x20when\x20len(x)\x20is\x20constant,\x0a\x20\x20\x20\x20\x20\x20\x20\x20specify\x20len/cap\x20for\x20nil\x20slices,\x20maps,\x20and\x20channels.\x0a*\x20windows:\x20append\x20.exe\x20to\x20binary\x20names\x20(thanks\x20Joe\x20Poirier).\x0a</pre>\x0a\x0a<h2\x20id=\"2010-07-01\">2010-07-01</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20some\x20package\x20changes\x20that\x20may\x20require\x20changes\x20to\x20\x0aclient\x20code.\x0a\x0aThe\x20Split\x20function\x20in\x20the\x20bytes\x20and\x20strings\x20packages\x20has\x20been\x20changed.\x0aThe\x20count\x20argument,\x20which\x20limits\x20the\x20size\x20of\x20the\x20return,\x20previously\x20treated\x0azero\x20as\x20unbounded.\x20It\x20now\x20treats\x200\x20as\x200,\x20and\x20will\x20return\x20an\x20empty\x20slice.\x20\x20\x0aTo\x20request\x20unbounded\x20results,\x20use\x20-1\x20(or\x20some\x20other\x20negative\x20value).\x0aThe\x20new\x20Replace\x20functions\x20in\x20bytes\x20and\x20strings\x20share\x20this\x20behavior.\x0aThis\x20may\x20require\x20you\x20change\x20your\x20existing\x20code.\x0a\x0aThe\x20gob\x20package\x20now\x20allows\x20the\x20transmission\x20of\x20non-struct\x20values\x20at\x20the\x0atop-level.\x20As\x20a\x20result,\x20the\x20rpc\x20and\x20netchan\x20packages\x20have\x20fewer\x20restrictions\x0aon\x20the\x20types\x20they\x20can\x20handle.\x20\x20For\x20example,\x20netchan\x20can\x20now\x20share\x20a\x20chan\x20int.\x0a\x0aThe\x20release\x20also\x20includes\x20a\x20Code\x20Walk:\x20\"Share\x20Memory\x20By\x20Communicating\".\x0aIt\x20describes\x20an\x20idiomatic\x20Go\x20program\x20that\x20uses\x20goroutines\x20and\x20channels:\x0a\x09http://golang.org/doc/codewalk/sharemem/\x0a\x0aThere\x20is\x20now\x20a\x20Projects\x20page\x20on\x20the\x20Go\x20Dashboard\x20that\x20lists\x20Go\x20programs,\x20\x0atools,\x20and\x20libraries:\x0a\x09http://godashboard.appspot.com/project\x0a\x0aOther\x20changes:\x0a*\x206a,\x206l:\x20bug\x20fixes.\x0a*\x20bytes,\x20strings:\x20add\x20Replace.\x0a*\x20cgo:\x20use\x20slash-free\x20relative\x20paths\x20for\x20.so\x20references.\x0a*\x20cmath:\x20correct\x20IsNaN\x20for\x20argument\x20cmplx(Inf,\x20NaN)\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20codereview:\x20allow\x20multiple\x20email\x20addresses\x20in\x20CONTRIBUTORS.\x0a*\x20doc/codewalk:\x20add\x20Share\x20Memory\x20By\x20Communicating.\x0a*\x20exp/draw/x11:\x20implement\x20the\x20mapping\x20from\x20keycodes\x20to\x20keysyms.\x0a*\x20fmt:\x20Printf:\x20fix\x20bug\x20in\x20handling\x20of\x20%#v,\x20allow\x20other\x20verbs\x20for\x20slices\x0a\x20\x20\x20\x20\x20\x20\x20\x20Scan:\x20fix\x20handling\x20of\x20EOFs.\x0a*\x20gc:\x20bug\x20fixes\x20and\x20optimizations.\x0a*\x20gob:\x20add\x20DecodeValue\x20and\x20EncodeValue,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20support\x20for\x20complex\x20numbers.\x0a*\x20goinstall:\x20support\x20for\x20Bazaar+Launchpad\x20(thanks\x20Gustavo\x20Niemeyer).\x0a*\x20io/ioutil:\x20add\x20TempFile\x20for\x20Windows\x20(thanks\x20Peter\x20Mundy).\x0a*\x20ld:\x20add\x20-u\x20flag\x20to\x20check\x20safe\x20bits;\x20discard\x20old\x20-u,\x20-x\x20flags.\x0a*\x20math:\x20amd64\x20versions\x20of\x20Exp\x20and\x20Fabs\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/vim:\x20always\x20override\x20filetype\x20detection\x20for\x20.go\x20files.\x0a*\x20net:\x20add\x20support\x20for\x20DNS\x20SRV\x20requests\x20(thanks\x20Kirklin\x20McDonald),\x0a\x20\x20\x20\x20\x20\x20\x20\x20initial\x20attempt\x20to\x20implement\x20Windows\x20version\x20(thanks\x20Alex\x20Brainman).\x0a*\x20netchan:\x20allow\x20chan\x20of\x20basic\x20types\x20now\x20that\x20gob\x20can\x20handle\x20such,\x0a\x20\x20\x20\x20\x20\x20\x20\x20eliminate\x20the\x20need\x20for\x20a\x20pointer\x20value\x20in\x20Import\x20and\x20Export.\x0a*\x20os/signal:\x20only\x20catch\x20all\x20signals\x20if\x20os/signal\x20package\x20imported.\x0a*\x20regexp:\x20bug\x20fix:\x20need\x20to\x20track\x20whether\x20match\x20begins\x20with\x20fixed\x20prefix.\x0a*\x20rpc:\x20allow\x20non-struct\x20args\x20and\x20reply\x20(they\x20must\x20still\x20be\x20pointers).\x0a*\x20runtime:\x20bug\x20fixes\x20and\x20reorganization.\x0a*\x20strconv:\x20fix\x20bugs\x20in\x20floating-point\x20and\x20base\x202\x20conversions\x0a*\x20syscall:\x20add\x20syscall_bsd.go\x20to\x20zsycall_freebsd_386.go\x20(thanks\x20Peter\x20Mundy),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20socketpair\x20(thanks\x20Ivan\x20Krasin).\x0a*\x20time:\x20implement\x20time\x20zones\x20for\x20Windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20x509:\x20support\x20non-self-signed\x20certs.\x20\x0a</pre>\x0a\x0a<h2\x20id=\"2010-06-21\">2010-06-21</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20a\x20language\x20change.\x20The\x20\"...\"\x20function\x20parameter\x20form\x20is\x0agone;\x20\"...T\"\x20remains.\x20Typically,\x20\"...interface{}\"\x20can\x20be\x20used\x20instead\x20of\x20\"...\".\x0a\x0aThe\x20implementation\x20of\x20Printf\x20has\x20changed\x20in\x20a\x20way\x20that\x20subtly\x20affects\x20its\x0ahandling\x20of\x20the\x20fmt.Stringer\x20interface.\x20You\x20may\x20need\x20to\x20make\x20changes\x20to\x20your\x0acode.\x20For\x20details,\x20see:\x0a\x20\x20\x20\x20\x20\x20\x20\x20https://groups.google.com/group/golang-nuts/msg/6fffba90a3e3dc06\x0a\x0aThe\x20reflect\x20package\x20has\x20been\x20changed.\x20If\x20you\x20have\x20code\x20that\x20uses\x20reflect,\x20\x0ait\x20will\x20need\x20to\x20be\x20updated.\x20For\x20details,\x20see:\x0a\x20\x20\x20\x20\x20\x20\x20\x20https://groups.google.com/group/golang-nuts/msg/7a93d07c590e7beb\x0a\x0aOther\x20changes:\x0a*\x208l:\x20correct\x20test\x20for\x20sp\x20==\x20top\x20of\x20stack\x20in\x208l\x20-K\x20code.\x0a*\x20asn1:\x20allow\x20'*'\x20in\x20PrintableString.\x0a*\x20bytes.Buffer.ReadFrom:\x20fix\x20bug.\x0a*\x20codereview:\x20avoid\x20exception\x20in\x20match\x20(thanks\x20Paolo\x20Giarrusso).\x0a*\x20complex\x20divide:\x20match\x20C99\x20implementation.\x0a*\x20exp/draw:\x20small\x20draw.drawGlyphOver\x20optimization.\x0a*\x20fmt:\x20Print*:\x20reimplement\x20to\x20switch\x20on\x20type\x20first,\x0a\x20\x20\x20\x20\x20\x20\x20\x20Scanf:\x20improve\x20error\x20message\x20when\x20input\x20does\x20not\x20match\x20format.\x0a*\x20gc:\x20better\x20error\x20messages\x20for\x20interface\x20failures,\x20conversions,\x20undefined\x20symbols.\x0a*\x20go/scanner:\x20report\x20illegal\x20escape\x20sequences.\x0a*\x20gob:\x20substitute\x20slice\x20for\x20map.\x0a*\x20goinstall:\x20process\x20dependencies\x20for\x20package\x20main\x20(thanks\x20Roger\x20Peppe).\x0a*\x20gopack:\x20add\x20S\x20flag\x20to\x20force\x20marking\x20a\x20package\x20as\x20safe,\x0a\x20\x20\x20\x20\x20\x20\x20\x20simplify\x20go\x20metadata\x20code.\x0a*\x20html:\x20sync\x20testdata/webkit\x20to\x20match\x20WebKit\x20tip.\x0a*\x20http:\x20reply\x20to\x20Expect\x20100-continue\x20requests\x20automatically\x20(thanks\x20Brad\x20Fitzpatrick).\x0a*\x20image:\x20add\x20an\x20Alpha16\x20type.\x0a*\x20ld:\x20pad\x20Go\x20symbol\x20table\x20out\x20to\x20page\x20boundary\x20(fixes\x20cgo\x20crash).\x0a*\x20misc/vim:\x20reorganize\x20plugin\x20to\x20be\x20easier\x20to\x20use\x20(thanks\x20James\x20Whitehead).\x0a*\x20path:\x20add\x20Base,\x20analogous\x20to\x20Unix\x20basename.\x0a*\x20pkg/Makefile:\x20allow\x20DISABLE_NET_TESTS=1\x20to\x20disable\x20network\x20tests.\x0a*\x20reflect:\x20add\x20Kind,\x20Type.Bits,\x20remove\x20Int8Type,\x20Int8Value,\x20etc.\x0a*\x20runtime:\x20additional\x20Windows\x20support\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20correct\x20fault\x20for\x2016-bit\x20divide\x20on\x20Leopard,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20386\x20signal\x20handler\x20bug.\x0a*\x20strconv:\x20add\x20AtofN,\x20FtoaN.\x0a*\x20string:\x20add\x20IndexFunc\x20and\x20LastIndexFunc\x20(thanks\x20Roger\x20Peppe).\x0a*\x20syslog:\x20use\x20local\x20network\x20for\x20tests.\x20\x0a</pre>\x0a\x0a<h2\x20id=\"2010-06-09\">2010-06-09</h2>\x0a\x0a<pre>\x0aThis\x20release\x20contains\x20many\x20fixes\x20and\x20improvements,\x20including\x20several\x0aclarifications\x20and\x20consolidations\x20to\x20the\x20Language\x20Specification.\x0a\x0aThe\x20type\x20checking\x20rules\x20around\x20assignments\x20and\x20conversions\x20are\x20simpler\x20but\x20more\x0arestrictive:\x20assignments\x20no\x20longer\x20convert\x20implicitly\x20from\x20*[10]int\x20to\x20[]int\x0a(write\x20x[0:]\x20instead\x20of\x20&amp;x),\x20and\x20conversions\x20can\x20no\x20longer\x20change\x20the\x20names\x20of\x0atypes\x20inside\x20composite\x20types.\x0a\x0aThe\x20fmt\x20package\x20now\x20includes\x20flexible\x20type-driven\x20(fmt.Scan)\x20and\x20\x0aformat-driven\x20(fmt.Scanf)\x20scanners\x20for\x20all\x20basic\x20types.\x0a\x0a*\x20big:\x20bug\x20fix\x20for\x20Quo\x20aliasing\x20problem.\x0a*\x20bufio:\x20change\x20ReadSlice\x20to\x20match\x20description.\x0a*\x20cgo:\x20bug\x20fixes.\x0a*\x20doc:\x20add\x20Google\x20I/O\x20talk\x20and\x20programs,\x0a\x20\x20\x20\x20\x20\x20\x20\x20codereview\x20+\x20Mercurial\x20Queues\x20info\x20(thanks\x20Peter\x20Williams).\x0a*\x20exp/draw:\x20Draw\x20fast\x20paths\x20for\x20the\x20Over\x20operator,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20Rectangle.Eq\x20and\x20Point.In,\x20fix\x20Rectangle.Clip\x20(thanks\x20Roger\x20Peppe).\x0a*\x20fmt:\x20Scan\x20fixes\x20and\x20improvements.\x0a*\x20gc:\x20backslash\x20newline\x20is\x20not\x20a\x20legal\x20escape\x20sequence\x20in\x20strings,\x0a\x20\x20\x20\x20\x20\x20\x20\x20better\x20error\x20message\x20when\x20~\x20operator\x20is\x20found,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20export\x20of\x20complex\x20types,\x0a\x20\x20\x20\x20\x20\x20\x20\x20new\x20typechecking\x20rules.\x0a*\x20go/parser:\x20correct\x20position\x20of\x20empty\x20statement\x20';'.\x0a*\x20gofmt:\x20fix\x20test\x20script.\x0a*\x20goinstall:\x20use\x20'git\x20pull'\x20instead\x20of\x20'git\x20checkout'\x20(thanks\x20Michael\x20Hoisie).\x0a*\x20http:\x20add\x20Head\x20function\x20for\x20making\x20HTTP\x20HEAD\x20requests,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20status\x20304\x20correctly.\x0a*\x20image:\x20add\x20Opaque\x20method\x20to\x20the\x20image\x20types.\x0a\x20\x20\x20\x20\x20\x20\x20\x20make\x20Color.RGBA\x20return\x2016\x20bit\x20color\x20instead\x20of\x2032\x20bit\x20color.\x0a*\x20io/ioutil:\x20add\x20TempFile.\x0a*\x20math:\x20Pow\x20special\x20cases\x20and\x20additional\x20tests\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20netchan:\x20improve\x20closing\x20and\x20shutdown.\x0a*\x20os:\x20implement\x20os.FileInfo.*time_ns\x20for\x20windows\x20(thanks\x20Alex\x20Brainman).\x0a*\x20os/signal:\x20correct\x20the\x20regexp\x20for\x20finding\x20Unix\x20signal\x20names\x20(thanks\x20Vinu\x20Rajashekhar).\x0a*\x20regexp:\x20optimizations\x20(thanks\x20Kyle\x20Consalus).\x0a*\x20runtime:\x20fix\x20printing\x20-Inf\x20(thanks\x20Evan\x20Shaw),\x0a\x20\x20\x20\x20\x20\x20\x20\x20finish\x20pchw\x20-&gt;\x20tiny,\x20added\x20gettime\x20for\x20tiny\x20(thanks\x20Daniel\x20Theophanes).\x0a*\x20spec:\x20clean-ups\x20and\x20consolidation.\x0a*\x20syscall:\x20additional\x20Windows\x20compatibility\x20fixes\x20(thanks\x20Alex\x20Brainman).\x0a*\x20test/bench:\x20added\x20regex-dna-parallel.go\x20(thanks\x20Kyle\x20Consalus).\x0a*\x20vector:\x20type-specific\x20Do\x20functions\x20now\x20take\x20f(type)\x20(thanks\x20Michael\x20Hoisie).\x20\x0a</pre>\x0a\x0a<h2\x20id=\"2010-05-27\">2010-05-27</h2>\x0a\x0a<pre>\x0aA\x20sizeable\x20release,\x20including\x20standard\x20library\x20improvements\x20and\x20a\x20slew\x20of\x0acompiler\x20bug\x20fixes.\x20The\x20three-week\x20interval\x20was\x20largely\x20caused\x20by\x20the\x20team\x0apreparing\x20for\x20Google\x20I/O.\x20\x0a\x0a*\x20big:\x20add\x20Rat\x20type\x20(thanks\x20Evan\x20Shaw),\x0a\x20\x20\x20\x20\x20\x20\x20\x20new\x20features,\x20much\x20performance\x20tuning,\x20cleanups,\x20and\x20more\x20tests.\x0a*\x20bignum:\x20deprecate\x20by\x20moving\x20into\x20exp\x20directory.\x0a*\x20build:\x20allow\x20MAKEFLAGS\x20to\x20be\x20set\x20outside\x20the\x20build\x20scripts\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20bytes:\x20add\x20Trim,\x20TrimLeft,\x20TrimRight,\x20and\x20generic\x20functions\x20(thanks\x20Michael\x20Hoisie).\x0a*\x20cgo:\x20fix\x20to\x20permit\x20cgo\x20callbacks\x20from\x20init\x20code.\x0a*\x20cmath:\x20update\x20range\x20of\x20Phase\x20and\x20Polar\x20due\x20to\x20signed\x20zero\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20codereview:\x20work\x20better\x20with\x20mq\x20(thanks\x20Peter\x20Williams).\x0a*\x20compress:\x20renamings\x0a\x09NewDeflater\x20-&gt;\x20NewWriter\x0a\x09NewInflater\x20-&gt;\x20NewReader\x0a\x09Deflater\x20-&gt;\x20Compressor\x0a\x09Inflater\x20-&gt;\x20Decompressor\x0a*\x20exp/draw/x11:\x20respect\x20$XAUTHORITY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20treat\x20$DISPLAY\x20the\x20same\x20way\x20x-go-bindings\x20does.\x0a*\x20exp/draw:\x20fast\x20path\x20for\x20glyph\x20images,\x20other\x20optimizations,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20Rectangle.Canon\x20(thanks\x20Roger\x20Peppe).\x0a*\x20fmt:\x20Scan,\x20Scanln:\x20Start\x20of\x20a\x20simple\x20scanning\x20API\x20in\x20the\x20fmt\x20package,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20Printf\x20crash\x20when\x20given\x20an\x20extra\x20nil\x20argument\x20(thanks\x20Roger\x20Peppe).\x0a*\x20gc:\x20better\x20error\x20when\x20computing\x20remainder\x20of\x20non-int\x20(thanks\x20Evan\x20Shaw),\x0a\x20\x20\x20\x20\x20\x20\x20\x20disallow\x20middot\x20in\x20Go\x20programs,\x0a\x20\x20\x20\x20\x20\x20\x20\x20distinguish\x20array,\x20slice\x20literal\x20in\x20error\x20messages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20shift/reduce\x20conflict\x20in\x20go.y\x20export\x20syntax,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20unsafe.Sizeof\x20on\x20ideal\x20constants,\x0a\x20\x20\x20\x20\x20\x20\x20\x20handle\x20use\x20of\x20builtin\x20function\x20outside\x20function\x20call,\x0a\x20\x20\x20\x20\x20\x20\x20\x20many\x20other\x20bug\x20fixes.\x0a*\x20gob:\x20add\x20support\x20for\x20maps,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20test\x20for\x20indirect\x20maps,\x20slices,\x20arrays.\x0a*\x20godoc:\x20collect\x20package\x20comments\x20from\x20all\x20package\x20files.\x0a*\x20gofmt:\x20don't\x20lose\x20mandatory\x20semicolons,\x0a\x20\x20\x20\x20\x20\x20\x20\x20exclude\x20test\x20w/\x20illegal\x20syntax\x20from\x20test\x20cases,\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20printing\x20of\x20labels.\x0a*\x20http:\x20prevent\x20crash\x20if\x20remote\x20server\x20is\x20not\x20responding\x20with\x20\"HTTP/\".\x0a*\x20json:\x20accept\x20escaped\x20slash\x20in\x20string\x20scanner\x20(thanks\x20Michael\x20Hoisie),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20array\x20-&gt;\x20non-array\x20decoding.\x0a*\x20libmach:\x20skip\x20__nl_symbol_ptr\x20section\x20on\x20OS\x20X.\x0a*\x20math:\x20amd64\x20versions\x20of\x20Fdim,\x20Fmax,\x20Fmin,\x0a\x20\x20\x20\x20\x20\x20\x20\x20signed\x20zero\x20Sqrt\x20special\x20case\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/kate:\x20convert\x20isn't\x20a\x20built\x20in\x20function\x20(thanks\x20Evan\x20Shaw).\x0a*\x20net:\x20implement\x20BindToDevice,\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20raw\x20sockets\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20netFD:\x20fix\x20race\x20between\x20Close\x20and\x20Read/Write\x20(thanks\x20Michael\x20Hoisie).\x0a*\x20os:\x20add\x20Chtimes\x20function\x20(thanks\x20Brad\x20Fitzpatrick).\x0a*\x20pkg/Makefile:\x20add\x20netchan\x20to\x20standard\x20package\x20list.\x0a*\x20runtime:\x20GOMAXPROCS\x20returns\x20previous\x20value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20allow\x20large\x20map\x20values,\x0a\x20\x20\x20\x20\x20\x20\x20\x20avoid\x20allocation\x20for\x20fixed\x20strings,\x0a\x20\x20\x20\x20\x20\x20\x20\x20correct\x20tracebacks\x20for\x20nascent\x20goroutines,\x20even\x20closures,\x0a\x20\x20\x20\x20\x20\x20\x20\x20free\x20old\x20hashmap\x20pieces\x20during\x20resizing.\x0a*\x20spec:\x20added\x20imaginary\x20literal\x20to\x20semicolon\x20rules\x20(was\x20missing),\x0a\x20\x20\x20\x20\x20\x20\x20\x20fix\x20and\x20clarify\x20syntax\x20of\x20conversions,\x0a\x20\x20\x20\x20\x20\x20\x20\x20simplify\x20section\x20on\x20channel\x20types,\x0a\x20\x20\x20\x20\x20\x20\x20\x20other\x20minor\x20tweaks.\x0a*\x20strconv:\x20Btoui64\x20optimizations\x20(thanks\x20Kyle\x20Consalus).\x0a*\x20strings:\x20use\x20copy\x20instead\x20of\x20for\x20loop\x20in\x20Map\x20(thanks\x20Kyle\x20Consalus).\x0a*\x20syscall:\x20implement\x20BindToDevice\x20(thanks\x20Christopher\x20Wedgwood),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20Utimes\x20on\x20Darwin/FreeBSD,\x20add\x20Futimes\x20everywhere,\x0a\x20\x20\x20\x20\x20\x20\x20\x20regenerate\x20syscalls\x20for\x20some\x20platforms.\x0a*\x20template:\x20regularize\x20name\x20lookups\x20of\x20interfaces,\x20pointers,\x20and\x20methods.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-05-04\">2010-05-04</h2>\x0a\x0a<pre>\x0aIn\x20this\x20release\x20we\x20renamed\x20the\x20Windows\x20OS\x20target\x20from\x20'mingw'\x20to\x20'windows'.\x0aIf\x20you\x20are\x20currently\x20building\x20for\x20'mingw'\x20you\x20should\x20set\x20GOOS=windows\x20instead.\x0a\x0a*\x205l,\x206l,\x208l,\x20runtime:\x20make\x20-s\x20binaries\x20work.\x0a*\x205l,\x206l,\x208l:\x20change\x20ELF\x20header\x20so\x20that\x20strip\x20doesn't\x20destroy\x20binary.\x0a*\x208l:\x20fix\x20absolute\x20path\x20detection\x20on\x20Windows.\x0a*\x20big:\x20new\x20functions,\x20optimizations,\x20and\x20cleanups,\x0a\x09add\x20bitwise\x20methods\x20for\x20Int\x20(thanks\x20Evan\x20Shaw).\x0a*\x20bytes:\x20Change\x20IndexAny\x20to\x20look\x20for\x20UTF-8\x20encoded\x20characters.\x0a*\x20darwin:\x20bsdthread_create\x20can\x20fail;\x20print\x20good\x20error.\x0a*\x20fmt:\x20%T\x20missing\x20print\x20&lt;nil&gt;\x20for\x20nil\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20gc:\x20many\x20fixes.\x0a*\x20misc/cgo/gmp:\x20fix\x20bug\x20in\x20SetString.\x0a*\x20net:\x20fix\x20resolv.conf\x20EOF\x20without\x20newline\x20bug\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20spec:\x20some\x20small\x20clarifications\x20(no\x20language\x20changes).\x0a*\x20syscall:\x20add\x20EWOULDBLOCK\x20to\x20sycall_nacl.go,\x0a\x09force\x20O_LARGEFILE\x20in\x20Linux\x20open\x20system\x20call,\x0a\x09handle\x20EOF\x20on\x20pipe\x20-\x20special\x20case\x20on\x20Windows\x20(thanks\x20Alex\x20Brainman),\x0a\x09mingw\x20Sleep\x20(thanks\x20Joe\x20Poirier).\x0a*\x20test/bench:\x20import\x20new\x20fasta\x20C\x20reference,\x20update\x20Go,\x20optimizations.\x0a*\x20test:\x20test\x20of\x20static\x20initialization\x20(fails).\x0a*\x20vector:\x20use\x20correct\x20capacity\x20in\x20call\x20to\x20make.\x0a*\x20xml:\x20allow\x20text\x20segments\x20to\x20end\x20at\x20EOF.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-04-27\">2010-04-27</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20a\x20new\x20Codelab\x20that\x20illustrates\x20the\x20construction\x20of\x20a\x0asimple\x20wiki\x20web\x20application:\x20\x0a\x09http://golang.org/doc/codelab/wiki/\x0a\x0aIt\x20also\x20includes\x20a\x20Codewalk\x20framework\x20for\x20documenting\x20code.\x20See:\x0a\x09http://golang.org/doc/codewalk/\x0a\x0aOther\x20changes:\x0a*\x206g:\x20fix\x20need\x20for\x20parens\x20around\x20array\x20index\x20expression.\x0a*\x206l,\x208l:\x20include\x20ELF\x20header\x20in\x20PT_LOAD\x20mapping\x20for\x20text\x20segment.\x0a*\x20arm:\x20add\x20android\x20runner\x20script,\x0a\x09support\x20for\x20printing\x20floats.\x0a*\x20big:\x20implemented\x20Karatsuba\x20multiplication,\x0a\x09many\x20fixes\x20and\x20improvements\x20(thanks\x20Evan\x20Shaw).\x0a*\x20bytes:\x20add\x20Next\x20method\x20to\x20Buffer,\x20simplify\x20Read,\x0a\x09shuffle\x20implementation,\x20making\x20WriteByte\x2050%\x20faster.\x0a*\x20crypto/tls:\x20simpler\x20implementation\x20of\x20record\x20layer.\x0a*\x20exp/eval:\x20fixes\x20(thanks\x20Evan\x20Shaw).\x0a*\x20flag:\x20eliminate\x20unnecessary\x20structs.\x0a*\x20gc:\x20better\x20windows\x20support,\x0a\x09cmplx\x20typecheck\x20bug\x20fix,\x0a\x09more\x20specific\x20error\x20for\x20statements\x20at\x20top\x20level.\x0a*\x20go/parser:\x20don't\x20require\x20unnecessary\x20parens.\x0a*\x20godoc:\x20exclude\x20duplicate\x20entries\x20(thanks\x20Andrei\x20Vieru),\x0a\x09use\x20int64\x20for\x20timestamps\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20gofmt:\x20fine-tune\x20stripping\x20of\x20parentheses,\x0a*\x20json:\x20Marshal,\x20Unmarshal\x20using\x20new\x20scanner,\x0a\x09preserve\x20field\x20name\x20case\x20by\x20default,\x0a\x09scanner,\x20Compact,\x20Indent,\x20and\x20tests,\x0a\x09support\x20for\x20streaming.\x0a*\x20libmach:\x20disassemble\x20MOVLQZX\x20correctly.\x0a*\x20math:\x20more\x20special\x20cases\x20for\x20signed\x20zero\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20net:\x20add\x20Pipe,\x0a\x09fix\x20bugs\x20in\x20packStructValue\x20(thanks\x20Michael\x20Hoisie),\x0a\x09introduce\x20net.Error\x20interface.\x0a*\x20os:\x20FileInfo:\x20regularize\x20the\x20types\x20of\x20some\x20fields,\x0a\x09create\x20sys_bsd.go\x20(thanks\x20Giles\x20Lean),\x0a\x09mingw\x20bug\x20fixes\x20(thanks\x20Alex\x20Brainman).\x0a*\x20reflect:\x20add\x20FieldByNameFunc\x20(thanks\x20Raif\x20S.\x20Naffah),\x0a\x09implement\x20Set(nil),\x20SetValue(nil)\x20for\x20PtrValue\x20and\x20MapValue.\x0a*\x20regexp:\x20allow\x20escaping\x20of\x20any\x20punctuation.\x0a*\x20rpc/jsonrpc:\x20support\x20for\x20jsonrpc\x20wire\x20encoding.\x0a*\x20rpc:\x20abstract\x20client\x20and\x20server\x20encodings,\x0a\x09add\x20Close()\x20method\x20to\x20rpc.Client.\x0a*\x20runtime:\x20closures,\x20defer\x20bug\x20fix\x20for\x20Native\x20Client,\x0a\x09rename\x20cgo2c,\x20*.cgo\x20to\x20goc2c,\x20*.goc\x20to\x20avoid\x20confusion\x20with\x20real\x20cgo.\x0a\x09several\x20other\x20fixes.\x0a*\x20scanner:\x20implement\x20Peek()\x20to\x20look\x20at\x20the\x20next\x20char\x20w/o\x20advancing.\x0a*\x20strings:\x20add\x20ReadRune\x20to\x20Reader,\x20add\x20FieldsFunc\x20(thanks\x20Kyle\x20Consalus).\x0a*\x20syscall:\x20match\x20linux\x20Setsid\x20function\x20signature\x20to\x20darwin,\x0a\x09mingw\x20bug\x20fixes\x20(thanks\x20Alex\x20Brainman).\x0a*\x20template:\x20fix\x20handling\x20of\x20pointer\x20inside\x20interface.\x0a*\x20test/bench:\x20add\x20fannkuch-parallel.go\x20(thanks\x20Kyle\x20Consalus),\x0a\x09pidigits\x20~10%\x20performance\x20win\x20by\x20using\x20adds\x20instead\x20of\x20shifts.\x0a*\x20time:\x20remove\x20incorrect\x20time.ISO8601\x20and\x20add\x20time.RFC3339\x20(thanks\x20Micah\x20Stetson).\x0a*\x20utf16:\x20add\x20DecodeRune,\x20EncodeRune.\x0a*\x20xml:\x20add\x20support\x20for\x20XML\x20marshaling\x20embedded\x20structs\x20(thanks\x20Raif\x20S.\x20Naffah),\x0a\x09new\x20\"innerxml\"\x20tag\x20to\x20collect\x20inner\x20XML.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-04-13\">2010-04-13</h2>\x0a\x0a<pre>\x0aThis\x20release\x20contains\x20many\x20changes:\x0a\x0a*\x208l:\x20add\x20DOS\x20stub\x20to\x20PE\x20binaries\x20(thanks\x20Evan\x20Shaw).\x0a*\x20cgo:\x20add\x20//export.\x0a*\x20cmath:\x20new\x20complex\x20math\x20library\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20docs:\x20update\x20to\x20match\x20current\x20coding\x20style\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20exp/eval:\x20fix\x20example\x20and\x20add\x20target\x20to\x20Makefile\x20(thanks\x20Evan\x20Shaw).\x0a*\x20fmt:\x20change\x20behavior\x20of\x20format\x20verb\x20%b\x20to\x20match\x20%x\x20when\x20negative\x20(thanks\x20Andrei\x20Vieru).\x0a*\x20gc:\x20compile\x20s\x20==\x20\"\"\x20as\x20len(s)\x20==\x200,\x0a\x09distinguish\x20fatal\x20compiler\x20bug\x20from\x20error+exit,\x0a\x09fix\x20alignment\x20on\x20non-amd64,\x0a\x09good\x20syntax\x20error\x20for\x20defer\x20func()\x20{}\x20-\x20missing\x20fina\x20(),\x0a\x09implement\x20panic\x20and\x20recover,\x0a\x09zero\x20unnamed\x20return\x20values\x20on\x20entry\x20if\x20func\x20has\x20defer.\x0a*\x20goyacc:\x20change\x20to\x20be\x20reentrant\x20(thanks\x20Roger\x20Peppe).\x0a*\x20io/ioutil:\x20fix\x20bug\x20in\x20ReadFile\x20when\x20Open\x20succeeds\x20but\x20Stat\x20fails.\x0a*\x20kate:\x20update\x20for\x20recent\x20language\x20changes\x20(thanks\x20Evan\x20Shaw).\x0a*\x20libcgo:\x20initial\x20mingw\x20port\x20work\x20-\x20builds\x20but\x20untested\x20(thanks\x20Joe\x20Poirier).\x0a*\x20math:\x20new\x20functions\x20and\x20special\x20cases\x20(thanks\x20Charles\x20L.\x20Dorian)\x20\x0a*\x20net:\x20use\x20chan\x20bool\x20instead\x20of\x20chan\x20*netFD\x20to\x20avoid\x20cycle.\x0a*\x20netchan:\x20allow\x20client\x20to\x20send\x20as\x20well\x20as\x20receive.\x0a*\x20nntp:\x20new\x20package,\x20NNTP\x20client\x20(thanks\x20Conrad\x20Meyer).\x0a*\x20os:\x20rename\x20os.Dir\x20to\x20os.FileInfo.\x0a*\x20rpc:\x20don't\x20log\x20normal\x20EOF,\x0a\x09fix\x20ServeConn\x20to\x20block\x20as\x20documented.\x0a*\x20runtime:\x20many\x20bug\x20fixes,\x20better\x20ARM\x20support.\x0a*\x20strings:\x20add\x20IndexRune,\x20Trim,\x20TrimLeft,\x20TrimRight,\x20etc\x20(thanks\x20Michael\x20Hoisie).\x0a*\x20syscall:\x20implement\x20some\x20mingw\x20syscalls\x20required\x20by\x20os\x20(thanks\x20Alex\x20Brainman).\x0a*\x20test/bench:\x20add\x20k-nucleotide-parallel\x20(thanks\x20Kyle\x20Consalus).\x0a*\x20Unicode:\x20add\x20support\x20for\x20Turkish\x20case\x20mapping.\x0a*\x20xgb:\x20move\x20from\x20the\x20main\x20repository\x20to\x20http://code.google.com/p/x-go-binding/\x0a</pre>\x0a\x0a<h2\x20id=\"2010-03-30\">2010-03-30</h2>\x0a\x0a<pre>\x0aThis\x20release\x20contains\x20three\x20language\x20changes:\x0a\x0a1.\x20Accessing\x20a\x20non-existent\x20key\x20in\x20a\x20map\x20is\x20no\x20longer\x20a\x20run-time\x20error.\x20\x20\x0aIt\x20now\x20evaluates\x20to\x20the\x20zero\x20value\x20for\x20that\x20type.\x20\x20For\x20example:\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20:=\x20myMap[i]\x20\x20\x20is\x20now\x20equivalent\x20to:\x20\x20\x20x,\x20_\x20:=\x20myMap[i]\x0a\x0a2.\x20It\x20is\x20now\x20legal\x20to\x20take\x20the\x20address\x20of\x20a\x20function's\x20return\x20value.\x20\x20\x0aThe\x20return\x20values\x20are\x20copied\x20back\x20to\x20the\x20caller\x20only\x20after\x20deferred\x0afunctions\x20have\x20run.\x0a\x0a3.\x20The\x20functions\x20panic\x20and\x20recover,\x20intended\x20for\x20reporting\x20and\x20recovering\x20from\x0afailure,\x20have\x20been\x20added\x20to\x20the\x20spec:\x0a\x09http://golang.org/doc/go_spec.html#Handling_panics\x20\x0aIn\x20a\x20related\x20change,\x20panicln\x20is\x20gone,\x20and\x20panic\x20is\x20now\x20a\x20single-argument\x0afunction.\x20\x20Panic\x20and\x20recover\x20are\x20recognized\x20by\x20the\x20gc\x20compilers\x20but\x20the\x20new\x0abehavior\x20is\x20not\x20yet\x20implemented.\x0a\x0aThe\x20ARM\x20build\x20is\x20broken\x20in\x20this\x20release;\x20ARM\x20users\x20should\x20stay\x20at\x20release.2010-03-22.\x0a\x0aOther\x20changes:\x0a*\x20bytes,\x20strings:\x20add\x20IndexAny.\x0a*\x20cc/ld:\x20Add\x20support\x20for\x20#pragma\x20dynexport,\x0a\x20\x20\x20\x20\x20\x20\x20\x20Rename\x20dynld\x20to\x20dynimport\x20throughout.\x20Cgo\x20users\x20will\x20need\x20to\x20rerun\x20cgo.\x0a*\x20expvar:\x20default\x20publishings\x20for\x20cmdline,\x20memstats\x0a*\x20flag:\x20add\x20user-defined\x20flag\x20types.\x0a*\x20gc:\x20usual\x20bug\x20fixes\x0a*\x20go/ast:\x20generalized\x20ast\x20filtering.\x0a*\x20go/printer:\x20avoid\x20reflect\x20in\x20print.\x0a*\x20godefs:\x20fix\x20handling\x20of\x20negative\x20constants.\x0a*\x20godoc:\x20export\x20pprof\x20debug\x20information,\x20exported\x20variables,\x0a\x20\x20\x20\x20\x20\x20\x20\x20support\x20for\x20filtering\x20of\x20command-line\x20output\x20in\x20-src\x20mode,\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20http\x20GET\x20for\x20remote\x20search\x20instead\x20of\x20rpc.\x0a*\x20gofmt:\x20don't\x20convert\x20multi-line\x20functions\x20into\x20one-liners,\x0a\x20\x20\x20\x20\x20\x20\x20\x20preserve\x20newlines\x20in\x20multiline\x20selector\x20expressions\x20(thanks\x20Risto\x20Jaakko\x20Saarelma).\x0a*\x20goinstall:\x20include\x20command\x20name\x20in\x20error\x20reporting\x20(thanks\x20Andrey\x20Mirtchovski)\x0a*\x20http:\x20add\x20HandleFunc\x20as\x20shortcut\x20to\x20Handle(path,\x20HandlerFunc(func))\x0a*\x20make:\x20use\x20actual\x20dependency\x20for\x20install\x0a*\x20math:\x20add\x20J1,\x20Y1,\x20Jn,\x20Yn,\x20J0,\x20Y0\x20(Bessel\x20functions)\x20(thanks\x20Charles\x20L.\x20Dorian)\x0a*\x20prof:\x20add\x20pprof\x20from\x20google-perftools\x0a*\x20regexp:\x20don't\x20return\x20non-nil\x20*Regexp\x20if\x20there\x20is\x20an\x20error.\x0a*\x20runtime:\x20add\x20Callers,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20malloc\x20sampling,\x20pprof\x20interface,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20memory\x20profiling,\x20more\x20statistics\x20to\x20runtime.MemStats,\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20missing\x20destroylock()\x20(thanks\x20Alex\x20Brainman),\x0a\x20\x20\x20\x20\x20\x20\x20\x20more\x20malloc\x20statistics,\x0a\x20\x20\x20\x20\x20\x20\x20\x20run\x20all\x20finalizers\x20in\x20a\x20single\x20goroutine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20Goexit\x20runs\x20deferred\x20calls.\x0a*\x20strconv:\x20add\x20Atob\x20and\x20Btoa,\x0a\x20\x20\x20\x20\x20\x20\x20\x20Unquote\x20could\x20wrongly\x20return\x20a\x20nil\x20error\x20on\x20error\x20(thanks\x20Roger\x20Peppe).\x0a*\x20syscall:\x20add\x20IPV6\x20constants,\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20syscall_bsd.go\x20for\x20Darwin\x20and\x20other\x20*BSDs\x20(thanks\x20Giles\x20Lean),\x0a\x20\x20\x20\x20\x20\x20\x20\x20implement\x20SetsockoptString\x20(thanks\x20Christopher\x20Wedgwood).\x0a*\x20websocket:\x20implement\x20new\x20protocol\x20(thanks\x20Fumitoshi\x20Ukai).\x0a*\x20xgb:\x20fix\x20request\x20length\x20and\x20request\x20size\x20(thanks\x20Firmansyah\x20Adiputra).\x0a*\x20xml:\x20add\x20CopyToken\x20(thanks\x20Kyle\x20Consalus),\x0a\x20\x20\x20\x20\x20\x20\x20\x20add\x20line\x20numbers\x20to\x20syntax\x20errors\x20(thanks\x20Kyle\x20Consalus),\x0a\x20\x20\x20\x20\x20\x20\x20\x20use\x20io.ReadByter\x20in\x20place\x20of\x20local\x20readByter\x20(thanks\x20Raif\x20S.\x20Naffah).\x20\x0a</pre>\x0a\x0a<h2\x20id=\"2010-03-22\">2010-03-22</h2>\x0a\x0a<pre>\x0aWith\x20this\x20release\x20we\x20announce\x20the\x20launch\x20of\x20the\x20Go\x20Blog:\x0a\x09http://blog.golang.org/\x0aThe\x20first\x20post\x20is\x20a\x20brief\x20update\x20covering\x20what\x20has\x20happened\x20since\x20the\x20launch.\x0a\x0aThis\x20release\x20contains\x20some\x20new\x20packages\x20and\x20functionality,\x20and\x20many\x20fixes:\x0a*\x206g/8g:\x20fix\x20issues\x20with\x20complex\x20data\x20types,\x20other\x20bug\x20fixes.\x0a*\x20Makefiles:\x20refactored\x20to\x20make\x20writing\x20external\x20Makefiles\x20easier.\x0a*\x20crypto/rand:\x20new\x20package.\x0a*\x20godoc:\x20implemented\x20command-line\x20search\x20via\x20RPC,\x0a\x09improved\x20comment\x20formatting:\x20recognize\x20URLs.\x0a*\x20gofmt:\x20more\x20consistent\x20formatting\x20of\x20const/var\x20decls.\x0a*\x20http:\x20add\x20Error\x20helper\x20function,\x0a\x09add\x20ParseQuery\x20(thanks\x20Petar\x20Maymounkov),\x0a\x09change\x20RawPath\x20to\x20mean\x20raw\x20path,\x20not\x20raw\x20everything-after-scheme.\x0a*\x20image/jpeg:\x20fix\x20typos.\x0a*\x20json:\x20add\x20MarshalIndent\x20(accepts\x20user-specified\x20indent\x20string).\x0a*\x20math:\x20add\x20Gamma\x20function\x20(thanks\x20Charles\x20L.\x20Dorian).\x0a*\x20misc/bbedit:\x20support\x20for\x20cmplx,\x20real,\x20imag\x20(thanks\x20Anthony\x20Starks).\x0a*\x20misc/vim:\x20add\x20new\x20complex\x20types,\x20functions\x20and\x20literals.\x0a*\x20net:\x20fix\x20IPMask.String\x20not\x20to\x20crash\x20on\x20all-0xff\x20mask.\x0a*\x20os:\x20drop\x20File\x20finalizer\x20after\x20normal\x20Close.\x0a*\x20runtime:\x20add\x20GOROOT\x20and\x20Version,\x0a\x09lock\x20finalizer\x20table\x20accesses.\x0a*\x20sha512:\x20add\x20sha384\x20(truncated\x20version)\x20(thanks\x20Conrad\x20Meyer).\x0a*\x20syscall:\x20add\x20const\x20ARCH,\x20analogous\x20to\x20OS.\x0a*\x20syscall:\x20further\x20additions\x20to\x20mingw\x20port\x20(thanks\x20Alex\x20Brainman).\x0a*\x20template:\x20fixed\x20html\x20formatter\x20[]byte\x20input\x20bug.\x0a*\x20utf16:\x20new\x20package.\x0a*\x20version.bash:\x20cope\x20with\x20ancient\x20Mercurial.\x0a*\x20websocket:\x20use\x20URL.RawPath\x20to\x20construct\x20WebSocket-Location:\x20header.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-03-15\">2010-03-15</h2>\x0a\x0a<pre>\x0aThis\x20release\x20includes\x20a\x20language\x20change:\x20support\x20for\x20complex\x20numbers.\x0a\x09http://golang.org/doc/go_spec.html#Imaginary_literals\x0a\x09http://golang.org/doc/go_spec.html#Complex_numbers\x0aThere\x20is\x20no\x20library\x20support\x20as\x20yet.\x0a\x0aThis\x20release\x20also\x20includes\x20the\x20goinstall\x20command-line\x20tool.\x20\x0a\x09http://golang.org/cmd/goinstall/\x0a\x09http://groups.google.com/group/golang-nuts/t/f091704771128e32\x0a\x0a*\x205g/6g/8g:\x20fix\x20double\x20function\x20call\x20in\x20slice.\x0a*\x20arm:\x20cleanup\x20build\x20warnings.\x20(thanks\x20Dean\x20Prichard)\x0a*\x20big:\x20fix\x20mistakes\x20with\x20probablyPrime.\x0a*\x20bufio:\x20add\x20WriteRune.\x0a*\x20bytes:\x20add\x20ReadRune\x20and\x20WriteRune\x20to\x20bytes.Buffer.\x0a*\x20cc:\x20stack\x20split\x20bug\x20fix.\x0a*\x20crypto:\x20add\x20SHA-224\x20to\x20sha256,\x20add\x20sha512\x20package.\x20(thanks\x20Conrad\x20Meyer)\x0a*\x20crypto/ripemd160:\x20new\x20package.\x20(thanks\x20Raif\x20S.\x20Naffah)\x0a*\x20crypto/rsa:\x20don't\x20use\x20safe\x20primes.\x0a*\x20gc:\x20avoid\x20fixed\x20length\x20buffer\x20cleanbuf.\x20(thanks\x20Dean\x20Prichard)\x0a\x09better\x20compilation\x20of\x20floating\x20point\x20+=\x0a\x09fix\x20crash\x20on\x20complicated\x20arg\x20to\x20make\x20slice.\x0a\x09remove\x20duplicate\x20errors,\x20give\x20better\x20error\x20for\x20I.(T)\x0a*\x20godoc:\x20support\x20for\x20multiple\x20packages\x20in\x20a\x20directory,\x20other\x20fixes.\x0a*\x20gofmt:\x20bug\x20fixes.\x0a*\x20hash:\x20add\x20Sum64\x20interface.\x0a*\x20hash/crc32:\x20add\x20Update\x20function.\x0a*\x20hash/crc64:\x20new\x20package\x20implementing\x2064-bit\x20CRC.\x0a*\x20math:\x20add\x20ilogb,\x20logb,\x20remainder.\x20(thanks\x20Charles\x20L.\x20Dorian)\x20\x0a*\x20regexp:\x20add\x20ReplaceAllFunc,\x20ReplaceAllStringFunc.\x0a*\x20runtime:\x20clock\x20garbage\x20collection\x20on\x20bytes\x20allocated,\x20not\x20pages\x20in\x20use.\x0a*\x20strings:\x20make\x20Split(s,\x20\"\",\x20n)\x20faster.\x20(thanks\x20Spring\x20Mc)\x0a*\x20syscall:\x20minimal\x20mingw\x20version\x20of\x20syscall.\x20(thanks\x20Alex\x20Brainman)\x0a*\x20template:\x20add\x20ParseFile,\x20MustParseFile.\x0a</pre>\x0a\x0a<h2\x20id=\"2010-03-04\">2010-03-04</h2>\x0a\x0a<pre>\x0aThere\x20is\x20one\x20language\x20change:\x20the\x20ability\x20to\x20convert\x20a\x20string\x20to\x20[]byte\x20or\x20\x0a[]int.\x20\x20This\x20deprecates\x20the\x20strings.Bytes\x20and\x20strings.Runes\x20functions.\x0aYou\x20can\x20convert\x20your\x20existing\x20sources\x20using\x20these\x20gofmt\x20commands:\x0a\x09gofmt\x20-r\x20'strings.Bytes(x)\x20-&gt;\x20[]byte(x)'\x20-w\x20file-or-directory-list\x0a\x09gofmt\x20-r\x20'strings.Runes(x)\x20-&gt;\x20[]int(x)'\x20-w\x20file-or-directory-list\x0aAfter\x20running\x20these\x20you\x20might\x20need\x20to\x20delete\x20unused\x20imports\x20of\x20the\x20\"strings\"\x20\x0apackage.\x0a\x0aOther\x20changes\x20and\x20fixes:\x0a*\x206l/8l/5l:\x20add\x20-r\x20option\x0a*\x208g:\x20make\x20a[byte(x)]\x20truncate\x20x\x0a*\x20codereview.py:\x20fix\x20for\x20compatibility\x20with\x20hg\x20>=1.4.3\x0a*\x20crypto/blowfish:\x20new\x20package\x20(thanks\x20Raif\x20S.\x20Naffah)\x0a*\x20dashboard:\x20more\x20performance\x20tuning\x0a*\x20fmt:\x20use\x20String\x20method\x20in\x20%q\x20to\x20get\x20the\x20value\x20to\x20quote.\x0a*\x20gofmt:\x20several\x20cosmetic\x20changes\x0a*\x20http:\x20fix\x20handling\x20of\x20Connection:\x20close,\x20bug\x20in\x20http.Post\x0a*\x20net:\x20correct\x20DNS\x20configuration,\x0a\x09fix\x20network\x20timeout\x20boundary\x20condition,\x0a\x09put\x20[\x20]\x20around\x20IPv6\x20addresses\x20for\x20Dial.\x0a*\x20path:\x20add\x20Match,\x0a\x09fix\x20bug\x20in\x20Match\x20with\x20non-greedy\x20stars\x20(thanks\x20Kevin\x20Ballard)\x0a*\x20strings:\x20delete\x20Bytes,\x20Runes\x20(see\x20above)\x0a*\x20tests:\x20an\x20Eratosthenesque\x20concurrent\x20prime\x20sieve\x20(thanks\x20Anh\x20Hai\x20Trinh)\x20\x0a</pre>\x0a\x0a<h2\x20id=\"2010-02-23\">2010-02-23</h2>\x0a\x0a<pre>\x0aThis\x20release\x20is\x20mainly\x20bug\x20fixes\x20and\x20a\x20little\x20new\x20code.\x0aThere\x20are\x20no\x20language\x20changes.\x0a\x0a6g/5g/8g:\x20bug\x20fixes\x0a8a/8l:\x20Added\x20FCMOVcc\x20instructions\x20(thanks\x20Evan\x20Shaw\x20and\x20Charles\x20Dorian)\x0acrypto/x509:\x20support\x20certificate\x20creation\x0adashboard:\x20caching\x20to\x20avoid\x20datastore\x20queries\x0aexec:\x20add\x20dir\x20argument\x20to\x20Run\x0agodoc:\x20bug\x20fixes\x20and\x20code\x20cleanups\x0ahttp:\x20continued\x20implementation\x20and\x20bug\x20fixes\x20(thanks\x20Petar\x20Maymounkov)\x0ajson:\x20fix\x20quoted\x20strings\x20in\x20Marshal\x20(thanks\x20Sergei\x20Skorobogatov)\x0amath:\x20more\x20functions,\x20test\x20cases,\x20and\x20benchmarks\x20(thanks\x20Charles\x20L.\x20Dorian)\x0amisc/bbedit:\x20treat\x20predeclared\x20identifiers\x20as\x20\"keywords\"\x20(thanks\x20Anthony\x20Starks)\x0anet:\x20disable\x20UDP\x20server\x20test\x20(flaky\x20on\x20various\x20architectures)\x0aruntime:\x20work\x20around\x20Linux\x20kernel\x20bug\x20in\x20futex,\x0a\x09pchw\x20is\x20now\x20tiny\x0async:\x20fix\x20to\x20work\x20on\x20armv5\x20(thanks\x20Dean\x20Prichard)\x0awebsocket:\x20fix\x20binary\x20frame\x20size\x20decoding\x20(thanks\x20Timo\x20Savola)\x0axml:\x20allow\x20unquoted\x20attribute\x20values\x20in\x20non-Strict\x20mode\x20(thanks\x20Amrut\x20Joshi)\x0a\x09treat\x20bool\x20as\x20value\x20in\x20Unmarshal\x20(thanks\x20Michael\x20Hoisie)\x20\x0a</pre>\x0a\x0a<h2\x20id=\"2010-02-17\">2010-02-17</h2>\x0a\x0a<pre>\x0aThere\x20are\x20two\x20small\x20language\x20changes:\x0a*\x20NUL\x20bytes\x20may\x20be\x20rejected\x20in\x20souce\x20files,\x20and\x20the\x20tools\x20do\x20reject\x20them.\x0a*\x20Conversions\x20from\x20string\x20to\x20[]int\x20and\x20[]byte\x20are\x20defined\x20but\x20not\x20yet\x20implemented.\x0a\x0aOther\x20changes\x20and\x20fixes:\x0a*\x205a/6a/8a/5c/6c/8c:\x20remove\x20fixed-size\x20arrays\x20for\x20-I\x20and\x20-D\x20options\x20(thanks\x20Dean\x20Prichard)\x0a*\x205c/6c/8c/5l/6l/8l:\x20add\x20-V\x20flag\x20to\x20display\x20version\x20number\x0a*\x205c/6c/8c:\x20use\x20\"cpp\"\x20not\x20\"/bin/cpp\"\x20for\x20external\x20preprocessor\x20(thanks\x20Giles\x20Lean)\x0a*\x208a/8l:\x20Added\x20CMOVcc\x20instructions\x20(thanks\x20Evan\x20Shaw)\x0a*\x208l:\x20pe\x20executable\x20building\x20code\x20changed\x20to\x20include\x20import\x20table\x20for\x20kernel32.dll\x20functions\x20(thanks\x20Alex\x20Brainman)\x0a*\x205g/6g/8g:\x20bug\x20fixes\x0a*\x20asn1:\x20bug\x20fixes\x20and\x20additions\x20(incl\x20marshaling)\x0a*\x20build:\x20fix\x20build\x20for\x20Native\x20Client,\x20Linux/ARM\x0a*\x20dashboard:\x20show\x20benchmarks,\x20add\x20garbage\x20collector\x20benchmarks\x0a*\x20encoding/pem:\x20add\x20marshaling\x20support\x0a*\x20exp/draw:\x20fast\x20paths\x20for\x20a\x20nil\x20mask\x0a*\x20godoc:\x20support\x20for\x20directories\x20outside\x20$GOROOT\x0a*\x20http:\x20sort\x20header\x20keys\x20when\x20writing\x20Response\x20or\x20Request\x20to\x20wire\x20(thanks\x20Petar\x20Maymounkov)\x0a*\x20math:\x20special\x20cases\x20and\x20new\x20functions\x20(thanks\x20Charles\x20Dorian)\x0a*\x20mime:\x20new\x20package,\x20used\x20in\x20http\x20(thanks\x20Michael\x20Hoisie)\x0a*\x20net:\x20dns\x20bug\x20fix\x20-\x20use\x20random\x20request\x20id\x0a*\x20os:\x20finalize\x20File,\x20to\x20close\x20fd.\x0a*\x20path:\x20make\x20Join\x20variadic\x20(thanks\x20Stephen\x20Weinberg)\x0a*\x20regexp:\x20optimization\x20bug\x20fix\x0a*\x20runtime:\x20misc\x20fixes\x20and\x20optimizations\x0a*\x20syscall:\x20make\x20signature\x20of\x20Umask\x20on\x20OS\x20X,\x20FreeBSD\x20match\x20Linux.\x20(thanks\x20Giles\x20Lean)\x0a</pre>\x0a\x0a<h2\x20id=\"2010-02-04\">2010-02-04</h2>\x0a\x0a<pre>\x0aThere\x20is\x20one\x20language\x20change:\x20support\x20for\x20...T\x20parameters:\x0a\x09http://golang.org/doc/go_spec.html#Function_types\x0a\x0aYou\x20can\x20now\x20check\x20build\x20status\x20on\x20various\x20platforms\x20at\x20the\x20Go\x20Dashboard:\x20\x0a\x09http://godashboard.appspot.com\x0a\x0a*\x205l/6l/8l:\x20several\x20minor\x20fixes\x0a*\x205a/6a/8a/5l/6l/8l:\x20avoid\x20overflow\x20of\x20symb\x20buffer\x20(thanks\x20Dean\x20Prichard)\x0a*\x20compress/gzip:\x20gzip\x20deflater\x20(i.e.,\x20writer)\x0a*\x20debug/proc:\x20add\x20mingw\x20specific\x20build\x20stubs\x20(thanks\x20Joe\x20Poirier)\x0a*\x20exp/draw:\x20separate\x20the\x20source-point\x20and\x20mask-point\x20in\x20Draw\x0a*\x20fmt:\x20handle\x20nils\x20safely\x20in\x20Printf\x0a*\x20gccgo:\x20error\x20messages\x20now\x20match\x20those\x20of\x20gc\x0a*\x20godoc:\x20several\x20fixes\x0a*\x20http:\x20bug\x20fixes,\x20revision\x20of\x20Request/Response\x20(thanks\x20Petar\x20Maymounkov)\x0a*\x20image:\x20new\x20image.A\x20type\x20to\x20represent\x20anti-aliased\x20font\x20glyphs\x0a\x09add\x20named\x20colors\x20(e.g.\x20image.Blue),\x20suitable\x20for\x20exp/draw\x0a*\x20io:\x20fixed\x20bugs\x20in\x20Pipe\x0a*\x20malloc:\x20merge\x20into\x20package\x20runtime\x0a*\x20math:\x20fix\x20tests\x20on\x20FreeBSD\x20(thanks\x20Devon\x20H.\x20O'Dell)\x0a\x09add\x20functions;\x20update\x20tests\x20and\x20special\x20cases\x20(thanks\x20Charles\x20L.\x20Dorian)\x0a*\x20os/signal:\x20send\x20SIGCHLDs\x20to\x20Incoming\x20(thanks\x20Chris\x20Wedgwood)\x0a*\x20reflect:\x20add\x20StringHeader\x20to\x20reflect\x0a*\x20runtime:\x20add\x20SetFinalizer\x0a*\x20time:\x20Sleep\x20through\x20interruptions\x20(thanks\x20Chris\x20Wedgwood)\x0a\x09add\x20RFC822\x20formats\x0a\x09experimental\x20implementation\x20of\x20Ticker\x20using\x20two\x20goroutines\x20for\x20all\x20tickers\x0a*\x20xml:\x20allow\x20underscores\x20in\x20XML\x20element\x20names\x20(thanks\x20Michael\x20Hoisie)\x0a\x09allow\x20any\x20scalar\x20type\x20in\x20xml.Unmarshal\x0a</pre>\x0a\x0a<h2\x20id=\"2010-01-27\">2010-01-27</h2>\x0a\x0a<pre>\x0aThere\x20are\x20two\x20small\x20language\x20changes:\x20the\x20meaning\x20of\x20chan\x20&lt;-\x20chan\x20int\x0ais\x20now\x20defined,\x20and\x20functions\x20returning\x20functions\x20do\x20not\x20need\x20to\x20\x0aparenthesize\x20the\x20result\x20type.\x0a\x0aThere\x20is\x20one\x20significant\x20implementation\x20change:\x20the\x20compilers\x20can\x0ahandle\x20multiple\x20packages\x20using\x20the\x20same\x20name\x20in\x20a\x20single\x20binary.\x0aIn\x20the\x20gc\x20compilers,\x20this\x20comes\x20at\x20the\x20cost\x20of\x20ensuring\x20that\x20you\x0aalways\x20import\x20a\x20particular\x20package\x20using\x20a\x20consistent\x20import\x20path.\x0aIn\x20the\x20gccgo\x20compiler,\x20the\x20cost\x20is\x20that\x20you\x20must\x20use\x20the\x20-fgo-prefix\x0aflag\x20to\x20pass\x20a\x20unique\x20prefix\x20(like\x20the\x20eventual\x20import\x20path).\x0a\x0a5a/6a/8a:\x20avoid\x20use\x20of\x20fixed-size\x20buffers\x20(thanks\x20Dean\x20Prichard)\x0a5g,\x206g,\x208g:\x20many\x20minor\x20bug\x20fixes\x0abufio:\x20give\x20Writer.WriteString\x20same\x20signature\x20as\x20bytes.Buffer.WriteString.\x0acontainer/list:\x20PushFrontList,\x20PushBackList\x20(thanks\x20Jan\x20Hosang)\x0agodoc:\x20trim\x20spaces\x20from\x20search\x20query\x20(thanks\x20Christopher\x20Wedgwood)\x0ahash:\x20document\x20that\x20Sum\x20does\x20not\x20change\x20state,\x20fix\x20crypto\x20hashes\x0ahttp:\x20bug\x20fixes,\x20revision\x20of\x20Request/Response\x20(thanks\x20Petar\x20Maymounkov)\x0amath:\x20more\x20handling\x20of\x20IEEE\x20754\x20special\x20cases\x20(thanks\x20Charles\x20Dorian)\x0amisc/dashboard:\x20new\x20build\x20dashboard\x0anet:\x20allow\x20UDP\x20broadcast,\x0a\x09use\x20/etc/hosts\x20to\x20resolve\x20names\x20(thanks\x20Yves\x20Junqueira,\x20Michael\x20Hoisie)\x0anetchan:\x20beginnings\x20of\x20new\x20package\x20for\x20connecting\x20channels\x20across\x20a\x20network\x0aos:\x20allow\x20FQDN\x20in\x20Hostname\x20test\x20(thanks\x20Icarus\x20Sparry)\x0areflect:\x20garbage\x20collection\x20bug\x20in\x20Call\x0aruntime:\x20demo\x20of\x20Go\x20on\x20raw\x20(emulated)\x20hw\x20in\x20runtime/pchw,\x0a\x09performance\x20fix\x20on\x20OS\x20X\x0aspec:\x20clarify\x20meaning\x20of\x20chan\x20&lt;-\x20chan\x20int,\x0a\x09func()\x20func()\x20int\x20is\x20allowed\x20now,\x0a\x09define\x20...\x20T\x20(not\x20yet\x20implemented)\x0atemplate:\x20can\x20use\x20interface\x20values\x0atime:\x20fix\x20for\x20+0000\x20time\x20zone,\x0a\x09more\x20robust\x20tick.Stop.\x0axgb:\x20support\x20for\x20authenticated\x20connections\x20(thanks\x20Firmansyah\x20Adiputra)\x0axml:\x20add\x20Escape\x20(thanks\x20Stephen\x20Weinberg)\x0a</pre>\x0a\x0a<h2\x20id=\"2010-01-13\">2010-01-13</h2>\x0a\x0a<pre>\x0aThis\x20release\x20is\x20mainly\x20bug\x20fixes\x20with\x20a\x20little\x20new\x20code.\x0aThere\x20are\x20no\x20language\x20changes.\x0a\x0abuild:\x20$GOBIN\x20should\x20no\x20longer\x20be\x20required\x20in\x20$PATH\x20(thanks\x20Devon\x20H.\x20O'Dell),\x0a\x09new\x20package\x20target\x20\"make\x20bench\"\x20to\x20run\x20benchmarks\x0a8g:\x20faster\x20float\x20-&gt;\x20uint64\x20conversion\x20(thanks\x20Evan\x20Shaw)\x0a5g,\x206g,\x208g:\x0a\x09clean\x20opnames.h\x20to\x20avoid\x20stale\x20errors\x20(thanks\x20Yongjian\x20Xu),\x0a\x09a\x20handful\x20of\x20small\x20compiler\x20fixes\x0a5g,\x206g,\x208g,\x205l,\x206l,\x208l:\x20ignore\x20$GOARCH,\x20which\x20is\x20implied\x20by\x20name\x20of\x20tool\x0a6prof:\x20support\x20for\x20writing\x20input\x20files\x20for\x20google-perftools's\x20pprof\x0aasn1:\x20fix\x20a\x20few\x20structure-handling\x20bugs\x0acgo:\x20many\x20bug\x20fixes\x20(thanks\x20Devon\x20H.\x20O'Dell)\x0acodereview:\x20repeated\x20\"hg\x20mail\"\x20sends\x20\"please\x20take\x20another\x20look\"\x0agob:\x20reserve\x20ids\x20for\x20future\x20expansion\x0agodoc:\x20distinguish\x20HTML\x20generation\x20from\x20plain\x20text\x20HTML\x20escaping\x20(thanks\x20Roger\x20Peppe)\x0agofmt:\x20minor\x20bug\x20fixes,\x20removed\x20-oldprinter\x20flag\x0ahttp:\x20add\x20CanonicalPath\x20(thanks\x20Ivan\x20Krasin),\x0a\x09avoid\x20header\x20duplication\x20in\x20Response.Write,\x0a\x09correctly\x20escape/unescape\x20URL\x20sections\x0aio:\x20new\x20interface\x20ReadByter\x0ajson:\x20better\x20error,\x20pointer\x20handling\x20in\x20Marshal\x20(thanks\x20Ivan\x20Krasin)\x0alibmach:\x20disassembly\x20of\x20FUCOMI,\x20etc\x20(thanks\x20Evan\x20Shaw)\x0amath:\x20special\x20cases\x20for\x20most\x20functions\x20and\x20386\x20hardware\x20Sqrt\x20(thanks\x20Charles\x20Dorian)\x0amisc/dashboard:\x20beginning\x20of\x20a\x20build\x20dashboard\x20at\x20godashboard.appspot.com.\x0amisc/emacs:\x20handling\x20of\x20new\x20semicolon\x20rules\x20(thanks\x20Austin\x20Clements),\x0a\x09empty\x20buffer\x20bug\x20fix\x20(thanks\x20Kevin\x20Ballard)\x0amisc/kate:\x20highlighting\x20improvements\x20(tahnks\x20Evan\x20Shaw)\x0aos/signal:\x20add\x20signal\x20names:\x20signal.SIGHUP,\x20etc\x20(thanks\x20David\x20Symonds)\x0aruntime:\x20preliminary\x20Windows\x20support\x20(thanks\x20Hector\x20Chu),\x0a\x09preemption\x20polling\x20to\x20reduce\x20garbage\x20collector\x20pauses\x0ascanner:\x20new\x20lightweight\x20scanner\x20package\x0atemplate:\x20bug\x20fix\x20involving\x20spaces\x20before\x20a\x20delimited\x20block\x0atest/bench:\x20updated\x20timings\x0atime:\x20new\x20Format,\x20Parse\x20functions\x0a</pre>\x0a\x0a<h2\x20id=\"2010-01-05\">2010-01-05</h2>\x0a\x0a<pre>\x0aThis\x20release\x20is\x20mainly\x20bug\x20fixes.\x20\x20There\x20are\x20no\x20language\x20changes.\x0a\x0a6prof:\x20now\x20works\x20on\x20386\x0a8a,\x208l:\x20add\x20FCOMI,\x20FCOMIP,\x20FUCOMI,\x20and\x20FUCOMIP\x20(thanks\x20Evan\x20Shaw)\x0abig:\x20fix\x20ProbablyPrime\x20on\x20small\x20numbers\x0acontainer/vector:\x20faster\x20[]-based\x20implementation\x20(thanks\x20Jan\x20Mercl)\x0acrypto/tls:\x20extensions\x20and\x20Next\x20Protocol\x20Negotiation\x0agob:\x20one\x20encoding\x20bug\x20fix,\x20one\x20decoding\x20bug\x20fix\x0aimage/jpeg:\x20support\x20for\x20RST\x20markers\x0aimage/png:\x20support\x20for\x20transparent\x20paletted\x20images\x0amisc/xcode:\x20improved\x20support\x20(thanks\x20Ken\x20Friedenbach)\x0anet:\x20return\x20nil\x20Conn\x20on\x20error\x20from\x20Dial\x20(thanks\x20Roger\x20Peppe)\x0aregexp:\x20add\x20Regexp.NumSubexp\x20(thanks\x20Peter\x20Froehlich)\x0asyscall:\x20add\x20Nanosleep\x20on\x20FreeBSD\x20(thanks\x20Devon\x20H.\x20O'Dell)\x0atemplate:\x20can\x20use\x20map\x20in\x20.repeated\x20section\x0a\x0aThere\x20is\x20now\x20a\x20public\x20road\x20map,\x20in\x20the\x20repository\x20and\x20online\x0aat\x20<a\x20href=\"http://golang.org/doc/devel/roadmap.html\">http://golang.org/doc/devel/roadmap.html</a>.\x0a</pre>\x0a\x0a<h2\x20id=\"2009-12-22\">2009-12-22</h2>\x0a\x0a<pre>\x0aSince\x20the\x20last\x20release\x20there\x20has\x20been\x20one\x20large\x20syntactic\x20change\x20to\x0athe\x20language,\x20already\x20discussed\x20extensively\x20on\x20this\x20list:\x20semicolons\x0aare\x20now\x20implied\x20between\x20statement-ending\x20tokens\x20and\x20newline\x20characters.\x0aSee\x20http://groups.google.com/group/golang-nuts/t/5ee32b588d10f2e9\x20for\x0adetails.\x0a\x0aBy\x20default,\x20gofmt\x20now\x20parses\x20and\x20prints\x20the\x20new\x20lighter\x20weight\x20syntax.\x0aTo\x20convert\x20programs\x20written\x20in\x20the\x20old\x20syntax,\x20you\x20can\x20use:\x0a\x0a\x09gofmt\x20-oldparser\x20-w\x20*.go\x0a\x0aSince\x20everything\x20was\x20being\x20reformatted\x20anyway,\x20we\x20took\x20the\x20opportunity\x20to\x0achange\x20the\x20way\x20gofmt\x20does\x20alignment.\x20\x20Now\x20gofmt\x20uses\x20tabs\x20at\x20the\x20start\x0aof\x20a\x20line\x20for\x20basic\x20code\x20alignment,\x20but\x20it\x20uses\x20spaces\x20for\x20alignment\x20of\x0ainterior\x20columns.\x20\x20Thus,\x20in\x20an\x20editor\x20with\x20a\x20fixed-width\x20font,\x20you\x20can\x0achoose\x20your\x20own\x20tab\x20size\x20to\x20change\x20the\x20indentation,\x20and\x20no\x20matter\x20what\x0atab\x20size\x20you\x20choose,\x20columns\x20will\x20be\x20aligned\x20properly.\x0a\x0a\x0aIn\x20addition\x20to\x20the\x20syntax\x20and\x20formatting\x20changes,\x20there\x20have\x20been\x20many\x0asmaller\x20fixes\x20and\x20updates:\x0a\x0a6g,8g,5g:\x20many\x20bug\x20fixes,\x20better\x20registerization,\x0a\x20\x20\x20build\x20process\x20fix\x20involving\x20mkbuiltin\x20(thanks\x20Yongjian\x20Xu),\x0a\x20\x20\x20method\x20expressions\x20for\x20concrete\x20types\x0a8l:\x20support\x20for\x20Windows\x20PE\x20files\x20(thanks\x20Hector\x20Chu)\x0abytes:\x20more\x20efficient\x20Buffer\x20handling\x0abytes,\x20strings:\x20new\x20function\x20Fields\x20(thanks\x20Andrey\x20Mirtchovski)\x0acgo:\x20handling\x20of\x20enums\x20(thanks\x20Moriyoshi\x20Koizumi),\x0a\x20\x20\x20\x20handling\x20of\x20structs\x20with\x20bit\x20fields,\x20multiple\x20files\x20(thanks\x20Devon\x20H.\x20O'Dell),\x0a\x20\x20\x20\x20installation\x20of\x20.so\x20to\x20non-standard\x20locations\x0acrypto/sha256:\x20new\x20package\x20for\x20SHA\x20256\x20(thanks\x20Andy\x20Davis)\x0aencoding/binary:\x20support\x20for\x20slices\x20of\x20fixed-size\x20values\x20(thanks\x20Maxim\x20Ushakov)\x0aexp/vector:\x20experimental\x20alternate\x20vector\x20representation\x20(thanks\x20Jan\x20Mercl)\x0afmt:\x20%p\x20for\x20chan,\x20map,\x20slice\x20types\x0agob:\x20a\x20couple\x20more\x20bug\x20fixes\x0ahttp:\x20support\x20for\x20basic\x20authentication\x20(thanks\x20Ivan\x20Krasin)\x0aimage/jpeg:\x20basic\x20JPEG\x20decoder\x0amath:\x20correct\x20handling\x20of\x20Inf\x20and\x20NaN\x20in\x20Pow\x20(thanks\x20Charles\x20Dorian)\x0amisc/bash:\x20completion\x20file\x20for\x20bash\x20(thanks\x20Alex\x20Ray)\x0aos/signal:\x20support\x20for\x20handling\x20Unix\x20signals\x20(thanks\x20David\x20Symonds)\x0arand:\x20Zipf-distributed\x20random\x20values\x20(thanks\x20William\x20Josephson)\x0asyscall:\x20correct\x20error\x20return\x20bug\x20on\x2032-bit\x20machines\x20(thanks\x20Christopher\x20Wedgwood)\x0asyslog:\x20new\x20package\x20for\x20writing\x20to\x20Unix\x20syslog\x20daemon\x20(thanks\x20Yves\x20Junqueira)\x0atemplate:\x20will\x20automatically\x20invoke\x20niladic\x20methods\x0atime:\x20new\x20ISO8601\x20format\x20generator\x20(thanks\x20Ben\x20Olive)\x0axgb:\x20converted\x20generator\x20to\x20new\x20syntax\x20(thanks\x20Tor\x20Andersson)\x0axml:\x20better\x20mapping\x20of\x20tag\x20names\x20to\x20Go\x20identifiers\x20(thanks\x20Kei\x20Son),\x0a\x20\x20\x20\x20better\x20handling\x20of\x20unexpected\x20EOF\x20(thanks\x20Arvindh\x20Rajesh\x20Tamilmani)\x0a</pre>\x0a\x0a<h2\x20id=\"2009-12-09\">2009-12-09</h2>\x0a\x0a<pre>\x0aSince\x20the\x20last\x20release\x20there\x20are\x20two\x20changes\x20to\x20the\x20language:\x20\x0a\x0a*\x20new\x20builtin\x20copy(dst,\x20src)\x20copies\x20n\x20=\x20min(len(dst),\x20len(src))\x20\x0a\x20\x20elements\x20to\x20dst\x20from\x20src\x20and\x20returns\x20n.\x20\x20It\x20works\x20correctly\x20\x0a\x20\x20even\x20if\x20dst\x20and\x20src\x20overlap.\x20\x20bytes.Copy\x20is\x20gone.\x20\x0a\x20\x20Convert\x20your\x20programs\x20using:\x20\x0a\x20\x20\x20\x20\x20\x20gofmt\x20-w\x20-r\x20'bytes.Copy(d,\x20s)\x20-&gt;\x20copy(d,\x20s)'\x20*.go\x20\x0a\x0a*\x20new\x20syntax\x20x[lo:]\x20is\x20shorthand\x20for\x20x[lo:len(x)].\x20\x0a\x20\x20Convert\x20your\x20programs\x20using:\x20\x0a\x20\x20\x20\x20\x20\x20gofmt\x20-w\x20-r\x20'a[b:len(a)]\x20-&gt;\x20a[b:]'\x20*.go\x20\x0a\x0aIn\x20addition,\x20there\x20have\x20been\x20many\x20smaller\x20fixes\x20and\x20updates:\x20\x0a\x0a*\x206g/8g/5g:\x20many\x20bug\x20fixes\x20\x0a*\x208g:\x20fix\x20386\x20floating\x20point\x20stack\x20bug\x20(thanks\x20Charles\x20Dorian)\x20\x0a*\x20all.bash:\x20now\x20works\x20even\x20when\x20$GOROOT\x20has\x20spaces\x20(thanks\x20Sergio\x20Luis\x20O.\x20B.\x20Correia),\x20\x0a\x20\x20\x20\x20starting\x20to\x20make\x20build\x20work\x20with\x20mingw\x20(thanks\x20Hector\x20Chu),\x20\x0a\x20\x20\x20\x20FreeBSD\x20support\x20(thanks\x20Devon\x20O'Dell)\x20\x0a*\x20big:\x20much\x20faster\x20on\x20386.\x20\x0a*\x20bytes:\x20new\x20function\x20IndexByte,\x20implemented\x20in\x20assembly\x20\x0a\x20\x20\x20\x20new\x20function\x20Runes\x20(thanks\x20Peter\x20Froehlich),\x20\x0a\x20\x20\x20\x20performance\x20tuning\x20in\x20bytes.Buffer.\x20\x0a*\x20codereview:\x20various\x20bugs\x20fixed\x20\x0a*\x20container/vector:\x20New\x20is\x20gone;\x20just\x20declare\x20a\x20Vector\x20instead.\x20\x0a\x20\x20\x20\x20call\x20Resize\x20to\x20set\x20len\x20and\x20cap.\x20\x0a*\x20cgo:\x20many\x20bug\x20fixes\x20(thanks\x20Eden\x20Li)\x20\x0a*\x20crypto:\x20added\x20MD4\x20(thanks\x20Chris\x20Lennert),\x20\x0a\x20\x20\x20\x20added\x20XTEA\x20(thanks\x20Adrian\x20O'Grady).\x20\x0a*\x20crypto/tls:\x20basic\x20client\x20\x0a*\x20exp/iterable:\x20new\x20functions\x20(thanks\x20Michael\x20Elkins)\x20\x0a*\x20exp/nacl:\x20native\x20client\x20tree\x20builds\x20again\x20\x0a*\x20fmt:\x20preliminary\x20performance\x20tuning\x20\x0a*\x20go/ast:\x20more\x20powerful\x20Visitor\x20(thanks\x20Roger\x20Peppe)\x20\x0a*\x20gob:\x20a\x20few\x20bug\x20fixes\x20\x0a*\x20gofmt:\x20better\x20handling\x20of\x20standard\x20input,\x20error\x20reporting\x20(thanks\x20Fazlul\x20Shahriar)\x20\x0a\x20\x20\x20\x20new\x20-r\x20flag\x20for\x20rewriting\x20programs\x20\x0a*\x20gotest:\x20support\x20for\x20Benchmark\x20functions\x20(thanks\x20Trevor\x20Strohman)\x20\x0a*\x20io:\x20ReadFile,\x20WriteFile,\x20ReadDir\x20now\x20in\x20separate\x20package\x20io/ioutil.\x20\x0a*\x20json:\x20new\x20Marshal\x20function\x20(thanks\x20Michael\x20Hoisie),\x20\x0a\x20\x20\x20\x20better\x20white\x20space\x20handling\x20(thanks\x20Andrew\x20Skiba),\x20\x0a\x20\x20\x20\x20decoding\x20into\x20native\x20data\x20structures\x20(thanks\x20Sergey\x20Gromov),\x20\x0a\x20\x20\x20\x20handling\x20of\x20nil\x20interface\x20values\x20(thanks\x20Ross\x20Light).\x20\x0a*\x20math:\x20correct\x20handling\x20of\x20sin/cos\x20of\x20large\x20angles\x20\x0a*\x20net:\x20better\x20handling\x20of\x20Close\x20(thanks\x20Devon\x20O'Dell\x20and\x20Christopher\x20Wedgwood)\x20\x0a\x20\x20\x20\x20support\x20for\x20UDP\x20broadcast\x20(thanks\x20Jonathan\x20Wills),\x20\x0a\x20\x20\x20\x20support\x20for\x20empty\x20packets\x20\x0a*\x20rand:\x20top-level\x20functions\x20now\x20safe\x20to\x20call\x20from\x20multiple\x20goroutines\x20\x0a(thanks\x20Roger\x20Peppe).\x20\x0a*\x20regexp:\x20a\x20few\x20easy\x20optimizations\x20\x0a*\x20rpc:\x20better\x20error\x20handling,\x20a\x20few\x20bug\x20fixes\x20\x0a*\x20runtime:\x20better\x20signal\x20handling\x20on\x20OS\x20X,\x20malloc\x20fixes,\x20\x0a\x20\x20\x20\x20global\x20channel\x20lock\x20is\x20gone.\x20\x0a*\x20sync:\x20RWMutex\x20now\x20allows\x20concurrent\x20readers\x20(thanks\x20P\xc3\xa9ter\x20Szab\xc3\xb3)\x20\x0a*\x20template:\x20can\x20use\x20maps\x20as\x20data\x20(thanks\x20James\x20Meneghello)\x20\x0a*\x20unicode:\x20updated\x20to\x20Unicode\x205.2.\x20\x0a*\x20websocket:\x20new\x20package\x20(thanks\x20Fumitoshi\x20Ukai)\x20\x0a*\x20xgb:\x20preliminary\x20X\x20Go\x20Bindings\x20(thanks\x20Tor\x20Andersson)\x20\x0a*\x20xml:\x20fixed\x20crash\x20(thanks\x20Vish\x20Subramanian)\x20\x0a*\x20misc:\x20bbedit\x20config\x20(thanks\x20Anthony\x20Starks),\x20\x0a\x20\x20\x20\x20kate\x20config\x20(thanks\x20Evan\x20Shaw)\x20\x0a</pre>\x0a",
+
 	"doc/docs.html": "<!--{\x0a\x09\"Title\":\x20\"Documentation\",\x0a\x09\"Path\":\x20\"/doc/\",\x0a\x09\"Template\":\x20true\x0a}-->\x0a\x0a<p>\x0aThe\x20Go\x20programming\x20language\x20is\x20an\x20open\x20source\x20project\x20to\x20make\x20programmers\x20more\x0aproductive.\x0a</p>\x0a\x0a<p>\x0aGo\x20is\x20expressive,\x20concise,\x20clean,\x20and\x20efficient.\x20Its\x20concurrency\x0amechanisms\x20make\x20it\x20easy\x20to\x20write\x20programs\x20that\x20get\x20the\x20most\x20out\x20of\x20multicore\x0aand\x20networked\x20machines,\x20while\x20its\x20novel\x20type\x20system\x20enables\x20flexible\x20and\x0amodular\x20program\x20construction.\x20Go\x20compiles\x20quickly\x20to\x20machine\x20code\x20yet\x20has\x20the\x0aconvenience\x20of\x20garbage\x20collection\x20and\x20the\x20power\x20of\x20run-time\x20reflection.\x20It's\x20a\x0afast,\x20statically\x20typed,\x20compiled\x20language\x20that\x20feels\x20like\x20a\x20dynamically\x20typed,\x0ainterpreted\x20language.\x0a</p>\x0a\x0a<div\x20id=\"manual-nav\"></div>\x0a\x0a<h2>Installing\x20Go</h2>\x0a\x0a<h3><a\x20href=\"/doc/install\">Getting\x20Started</a></h3>\x0a<p>\x0aInstructions\x20for\x20downloading\x20and\x20installing\x20the\x20Go\x20compilers,\x20tools,\x20and\x0alibraries.\x0a</p>\x0a\x0a\x0a<h2\x20id=\"learning\">Learning\x20Go</h2>\x0a\x0a<img\x20class=\"gopher\"\x20src=\"/doc/gopher/doc.png\"/>\x0a\x0a<h3\x20id=\"go_tour\">\x0a\x09{{if\x20$.GoogleCN}}\x0a\x09\x20\x20A\x20Tour\x20of\x20Go\x0a\x09{{else}}\x0a\x09\x20\x20<a\x20href=\"//tour.golang.org/\">A\x20Tour\x20of\x20Go</a>\x0a\x09{{end}}\x0a</h3>\x0a<p>\x0aAn\x20interactive\x20introduction\x20to\x20Go\x20in\x20three\x20sections.\x0aThe\x20first\x20section\x20covers\x20basic\x20syntax\x20and\x20data\x20structures;\x20the\x20second\x20discusses\x0amethods\x20and\x20interfaces;\x20and\x20the\x20third\x20introduces\x20Go's\x20concurrency\x20primitives.\x0aEach\x20section\x20concludes\x20with\x20a\x20few\x20exercises\x20so\x20you\x20can\x20practice\x20what\x20you've\x0alearned.\x20You\x20can\x20{{if\x20not\x20$.GoogleCN}}<a\x20href=\"//tour.golang.org/\">take\x20the\x20tour\x0aonline</a>\x20or{{end}}\x20install\x20it\x20locally\x20with:\x0a</p>\x0a<pre>\x0a$\x20go\x20get\x20golang.org/x/tour\x0a</pre>\x0a<p>\x0aThis\x20will\x20place\x20the\x20<code>tour</code>\x20binary\x20in\x20your\x20workspace's\x20<code>bin</code>\x20directory.\x0a</p>\x0a\x0a<h3\x20id=\"code\"><a\x20href=\"code.html\">How\x20to\x20write\x20Go\x20code</a></h3>\x0a<p>\x0a{{if\x20not\x20$.GoogleCN}}\x0aAlso\x20available\x20as\x20a\x20<a\x20href=\"//www.youtube.com/watch?v=XCsL89YtqCs\">screencast</a>,\x20this\x0a{{else}}\x0aThis\x0a{{end}}\x0adoc\x20explains\x20how\x20to\x20use\x20the\x20<a\x20href=\"/cmd/go/\">go\x20command</a>\x0ato\x20fetch,\x20build,\x20and\x20install\x20packages,\x20commands,\x20and\x20run\x20tests.\x0a</p>\x0a\x0a<h3\x20id=\"editors\"><a\x20href=\"editors.html\">Editor\x20plugins\x20and\x20IDEs</a></h3>\x0a<p>\x0aA\x20document\x20that\x20summarizes\x20commonly\x20used\x20editor\x20plugins\x20and\x20IDEs\x20with\x0aGo\x20support.\x0a</p>\x0a\x0a<h3\x20id=\"effective_go\"><a\x20href=\"effective_go.html\">Effective\x20Go</a></h3>\x0a<p>\x0aA\x20document\x20that\x20gives\x20tips\x20for\x20writing\x20clear,\x20idiomatic\x20Go\x20code.\x0aA\x20must\x20read\x20for\x20any\x20new\x20Go\x20programmer.\x20It\x20augments\x20the\x20tour\x20and\x0athe\x20language\x20specification,\x20both\x20of\x20which\x20should\x20be\x20read\x20first.\x0a</p>\x0a\x0a<h3\x20id=\"diagnostics\"><a\x20href=\"/doc/diagnostics.html\">Diagnostics</a></h3>\x0a<p>\x0aSummarizes\x20tools\x20and\x20methodologies\x20to\x20diagnose\x20problems\x20in\x20Go\x20programs.\x0a</p>\x0a\x0a<h3\x20id=\"faq\"><a\x20href=\"/doc/faq\">Frequently\x20Asked\x20Questions\x20(FAQ)</a></h3>\x0a<p>\x0aAnswers\x20to\x20common\x20questions\x20about\x20Go.\x0a</p>\x0a\x0a<h3\x20id=\"wiki\"><a\x20href=\"/wiki\">The\x20Go\x20Wiki</a></h3>\x0a<p>A\x20wiki\x20maintained\x20by\x20the\x20Go\x20community.</p>\x0a\x0a<h4\x20id=\"learn_more\">More</h4>\x0a<p>\x0aSee\x20the\x20<a\x20href=\"/wiki/Learn\">Learn</a>\x20page\x20at\x20the\x20<a\x20href=\"/wiki\">Wiki</a>\x0afor\x20more\x20Go\x20learning\x20resources.\x0a</p>\x0a\x0a\x0a<h2\x20id=\"references\">References</h2>\x0a\x0a<h3\x20id=\"pkg\"><a\x20href=\"/pkg/\">Package\x20Documentation</a></h3>\x0a<p>\x0aThe\x20documentation\x20for\x20the\x20Go\x20standard\x20library.\x0a</p>\x0a\x0a<h3\x20id=\"cmd\"><a\x20href=\"/doc/cmd\">Command\x20Documentation</a></h3>\x0a<p>\x0aThe\x20documentation\x20for\x20the\x20Go\x20tools.\x0a</p>\x0a\x0a<h3\x20id=\"spec\"><a\x20href=\"/ref/spec\">Language\x20Specification</a></h3>\x0a<p>\x0aThe\x20official\x20Go\x20Language\x20specification.\x0a</p>\x0a\x0a<h3\x20id=\"go_mem\"><a\x20href=\"/ref/mem\">The\x20Go\x20Memory\x20Model</a></h3>\x0a<p>\x0aA\x20document\x20that\x20specifies\x20the\x20conditions\x20under\x20which\x20reads\x20of\x20a\x20variable\x20in\x0aone\x20goroutine\x20can\x20be\x20guaranteed\x20to\x20observe\x20values\x20produced\x20by\x20writes\x20to\x20the\x0asame\x20variable\x20in\x20a\x20different\x20goroutine.\x0a</p>\x0a\x0a<h3\x20id=\"release\"><a\x20href=\"/doc/devel/release.html\">Release\x20History</a></h3>\x0a<p>A\x20summary\x20of\x20the\x20changes\x20between\x20Go\x20releases.</p>\x0a\x0a\x0a<h2\x20id=\"articles\">Articles</h2>\x0a\x0a{{if\x20not\x20$.GoogleCN}}\x0a<h3\x20id=\"blog\"><a\x20href=\"//blog.golang.org/\">The\x20Go\x20Blog</a></h3>\x0a<p>The\x20official\x20blog\x20of\x20the\x20Go\x20project,\x20featuring\x20news\x20and\x20in-depth\x20articles\x20by\x0athe\x20Go\x20team\x20and\x20guests.</p>\x0a{{end}}\x0a\x0a<h4>Codewalks</h4>\x0a<p>\x0aGuided\x20tours\x20of\x20Go\x20programs.\x0a</p>\x0a<ul>\x0a<li><a\x20href=\"/doc/codewalk/functions\">First-Class\x20Functions\x20in\x20Go</a></li>\x0a<li><a\x20href=\"/doc/codewalk/markov\">Generating\x20arbitrary\x20text:\x20a\x20Markov\x20chain\x20algorithm</a></li>\x0a<li><a\x20href=\"/doc/codewalk/sharemem\">Share\x20Memory\x20by\x20Communicating</a></li>\x0a<li><a\x20href=\"/doc/articles/wiki/\">Writing\x20Web\x20Applications</a>\x20-\x20building\x20a\x20simple\x20web\x20application.</li>\x0a</ul>\x0a\x0a{{if\x20not\x20$.GoogleCN}}\x0a<h4>Language</h4>\x0a<ul>\x0a<li><a\x20href=\"/blog/json-rpc-tale-of-interfaces\">JSON-RPC:\x20a\x20tale\x20of\x20interfaces</a></li>\x0a<li><a\x20href=\"/blog/gos-declaration-syntax\">Go's\x20Declaration\x20Syntax</a></li>\x0a<li><a\x20href=\"/blog/defer-panic-and-recover\">Defer,\x20Panic,\x20and\x20Recover</a></li>\x0a<li><a\x20href=\"/blog/go-concurrency-patterns-timing-out-and\">Go\x20Concurrency\x20Patterns:\x20Timing\x20out,\x20moving\x20on</a></li>\x0a<li><a\x20href=\"/blog/go-slices-usage-and-internals\">Go\x20Slices:\x20usage\x20and\x20internals</a></li>\x0a<li><a\x20href=\"/blog/gif-decoder-exercise-in-go-interfaces\">A\x20GIF\x20decoder:\x20an\x20exercise\x20in\x20Go\x20interfaces</a></li>\x0a<li><a\x20href=\"/blog/error-handling-and-go\">Error\x20Handling\x20and\x20Go</a></li>\x0a<li><a\x20href=\"/blog/organizing-go-code\">Organizing\x20Go\x20code</a></li>\x0a</ul>\x0a\x0a<h4>Packages</h4>\x0a<ul>\x0a<li><a\x20href=\"/blog/json-and-go\">JSON\x20and\x20Go</a>\x20-\x20using\x20the\x20<a\x20href=\"/pkg/encoding/json/\">json</a>\x20package.</li>\x0a<li><a\x20href=\"/blog/gobs-of-data\">Gobs\x20of\x20data</a>\x20-\x20the\x20design\x20and\x20use\x20of\x20the\x20<a\x20href=\"/pkg/encoding/gob/\">gob</a>\x20package.</li>\x0a<li><a\x20href=\"/blog/laws-of-reflection\">The\x20Laws\x20of\x20Reflection</a>\x20-\x20the\x20fundamentals\x20of\x20the\x20<a\x20href=\"/pkg/reflect/\">reflect</a>\x20package.</li>\x0a<li><a\x20href=\"/blog/go-image-package\">The\x20Go\x20image\x20package</a>\x20-\x20the\x20fundamentals\x20of\x20the\x20<a\x20href=\"/pkg/image/\">image</a>\x20package.</li>\x0a<li><a\x20href=\"/blog/go-imagedraw-package\">The\x20Go\x20image/draw\x20package</a>\x20-\x20the\x20fundamentals\x20of\x20the\x20<a\x20href=\"/pkg/image/draw/\">image/draw</a>\x20package.</li>\x0a</ul>\x0a\x0a<h4>Modules</h4>\x0a<ul>\x0a<li><a\x20href=\"/blog/using-go-modules\">Using\x20Go\x20Modules</a>\x20-\x20an\x20introduction\x20to\x20using\x20modules\x20in\x20a\x20simple\x20project.</li>\x0a<li><a\x20href=\"/blog/migrating-to-go-modules\">Migrating\x20to\x20Go\x20Modules</a>\x20-\x20converting\x20an\x20existing\x20project\x20to\x20use\x20modules.</li>\x0a<li><a\x20href=\"/blog/publishing-go-modules\">Publishing\x20Go\x20Modules</a>\x20-\x20how\x20to\x20make\x20new\x20versions\x20of\x20modules\x20available\x20to\x20others.</li>\x0a<li><a\x20href=\"/blog/v2-go-modules\">Go\x20Modules:\x20v2\x20and\x20Beyond</a>\x20-\x20creating\x20and\x20publishing\x20major\x20versions\x202\x20and\x20higher.</li>\x0a</ul>\x0a{{end}}\x0a\x0a<h4>Tools</h4>\x0a<ul>\x0a<li><a\x20href=\"/doc/articles/go_command.html\">About\x20the\x20Go\x20command</a>\x20-\x20why\x20we\x20wrote\x20it,\x20what\x20it\x20is,\x20what\x20it's\x20not,\x20and\x20how\x20to\x20use\x20it.</li>\x0a<li><a\x20href=\"/doc/gdb\">Debugging\x20Go\x20Code\x20with\x20GDB</a></li>\x0a<li><a\x20href=\"/doc/articles/race_detector.html\">Data\x20Race\x20Detector</a>\x20-\x20a\x20manual\x20for\x20the\x20data\x20race\x20detector.</li>\x0a<li><a\x20href=\"/doc/asm\">A\x20Quick\x20Guide\x20to\x20Go's\x20Assembler</a>\x20-\x20an\x20introduction\x20to\x20the\x20assembler\x20used\x20by\x20Go.</li>\x0a{{if\x20not\x20$.GoogleCN}}\x0a<li><a\x20href=\"/blog/c-go-cgo\">C?\x20Go?\x20Cgo!</a>\x20-\x20linking\x20against\x20C\x20code\x20with\x20<a\x20href=\"/cmd/cgo/\">cgo</a>.</li>\x0a<li><a\x20href=\"/blog/godoc-documenting-go-code\">Godoc:\x20documenting\x20Go\x20code</a>\x20-\x20writing\x20good\x20documentation\x20for\x20<a\x20href=\"/cmd/godoc/\">godoc</a>.</li>\x0a<li><a\x20href=\"/blog/profiling-go-programs\">Profiling\x20Go\x20Programs</a></li>\x0a<li><a\x20href=\"/blog/race-detector\">Introducing\x20the\x20Go\x20Race\x20Detector</a>\x20-\x20an\x20introduction\x20to\x20the\x20race\x20detector.</li>\x0a{{end}}\x0a</ul>\x0a\x0a<h4\x20id=\"articles_more\">More</h4>\x0a<p>\x0aSee\x20the\x20<a\x20href=\"/wiki/Articles\">Articles\x20page</a>\x20at\x20the\x0a<a\x20href=\"/wiki\">Wiki</a>\x20for\x20more\x20Go\x20articles.\x0a</p>\x0a\x0a{{if\x20not\x20$.GoogleCN}}\x0a<h2\x20id=\"talks\">Talks</h2>\x0a\x0a<img\x20class=\"gopher\"\x20src=\"/doc/gopher/talks.png\"/>\x0a\x0a<h3\x20id=\"video_tour_of_go\"><a\x20href=\"https://research.swtch.com/gotour\">A\x20Video\x20Tour\x20of\x20Go</a></h3>\x0a<p>\x0aThree\x20things\x20that\x20make\x20Go\x20fast,\x20fun,\x20and\x20productive:\x0ainterfaces,\x20reflection,\x20and\x20concurrency.\x20Builds\x20a\x20toy\x20web\x20crawler\x20to\x0ademonstrate\x20these.\x0a</p>\x0a\x0a<h3\x20id=\"go_code_that_grows\"><a\x20href=\"//vimeo.com/53221560\">Code\x20that\x20grows\x20with\x20grace</a></h3>\x0a<p>\x0aOne\x20of\x20Go's\x20key\x20design\x20goals\x20is\x20code\x20adaptability;\x20that\x20it\x20should\x20be\x20easy\x20to\x20take\x20a\x20simple\x20design\x20and\x20build\x20upon\x20it\x20in\x20a\x20clean\x20and\x20natural\x20way.\x20In\x20this\x20talk\x20Andrew\x20Gerrand\x20describes\x20a\x20simple\x20\"chat\x20roulette\"\x20server\x20that\x20matches\x20pairs\x20of\x20incoming\x20TCP\x20connections,\x20and\x20then\x20use\x20Go's\x20concurrency\x20mechanisms,\x20interfaces,\x20and\x20standard\x20library\x20to\x20extend\x20it\x20with\x20a\x20web\x20interface\x20and\x20other\x20features.\x20While\x20the\x20function\x20of\x20the\x20program\x20changes\x20dramatically,\x20Go's\x20flexibility\x20preserves\x20the\x20original\x20design\x20as\x20it\x20grows.\x0a</p>\x0a\x0a<h3\x20id=\"go_concurrency_patterns\"><a\x20href=\"//www.youtube.com/watch?v=f6kdp27TYZs\">Go\x20Concurrency\x20Patterns</a></h3>\x0a<p>\x0aConcurrency\x20is\x20the\x20key\x20to\x20designing\x20high\x20performance\x20network\x20services.\x20Go's\x20concurrency\x20primitives\x20(goroutines\x20and\x20channels)\x20provide\x20a\x20simple\x20and\x20efficient\x20means\x20of\x20expressing\x20concurrent\x20execution.\x20In\x20this\x20talk\x20we\x20see\x20how\x20tricky\x20concurrency\x20problems\x20can\x20be\x20solved\x20gracefully\x20with\x20simple\x20Go\x20code.\x0a</p>\x0a\x0a<h3\x20id=\"advanced_go_concurrency_patterns\"><a\x20href=\"//www.youtube.com/watch?v=QDDwwePbDtw\">Advanced\x20Go\x20Concurrency\x20Patterns</a></h3>\x0a<p>\x0aThis\x20talk\x20expands\x20on\x20the\x20<i>Go\x20Concurrency\x20Patterns</i>\x20talk\x20to\x20dive\x20deeper\x20into\x20Go's\x20concurrency\x20primitives.\x0a</p>\x0a\x0a<h4\x20id=\"talks_more\">More</h4>\x0a<p>\x0aSee\x20the\x20<a\x20href=\"/talks\">Go\x20Talks\x20site</a>\x20and\x20<a\x20href=\"/wiki/GoTalks\">wiki\x20page</a>\x20for\x20more\x20Go\x20talks.\x0a</p>\x0a{{end}}\x0a\x0a<h2\x20id=\"nonenglish\">Non-English\x20Documentation</h2>\x0a\x0a<p>\x0aSee\x20the\x20<a\x20href=\"/wiki/NonEnglish\">NonEnglish</a>\x20page\x0aat\x20the\x20<a\x20href=\"/wiki\">Wiki</a>\x20for\x20localized\x0adocumentation.\x0a</p>\x0a",
 
 	"doc/root.html": "<!--{\x0a\x20\x20\"Path\":\x20\"/\",\x0a\x20\x20\"Template\":\x20true\x0a}-->\x0a\x0a<div\x20class=\"HomeContainer\">\x0a\x20\x20<section\x20class=\"HomeSection\x20Hero\">\x0a\x20\x20\x20\x20<h1\x20class=\"Hero-header\">\x0a\x20\x20\x20\x20\x20\x20Go\x20is\x20an\x20open\x20source\x20programming\x20language\x20that\x20makes\x20it\x20easy\x20to\x20build\x0a\x20\x20\x20\x20\x20\x20<strong>simple</strong>,\x20<strong>reliable</strong>,\x20and\x20<strong>efficient</strong>\x20software.\x0a\x20\x20\x20\x20</h1>\x0a\x20\x20\x20\x20<i\x20class=\"Hero-gopher\"></i>\x0a\x20\x20\x20\x20<a\x20href=\"/dl/\"\x20class=\"Button\x20Button--big\x20HeroDownloadButton\">\x0a\x20\x20\x20\x20\x20\x20<img\x20class=\"HeroDownloadButton-image\"\x20src=\"/lib/godoc/images/cloud-download.svg\"\x20alt=\"\">\x0a\x20\x20\x20\x20\x20\x20Download\x20Go\x0a\x20\x20\x20\x20</a>\x0a\x20\x20\x20\x20<p\x20class=\"Hero-description\">\x0a\x20\x20\x20\x20\x20\x20Binary\x20distributions\x20available\x20for<br>\x0a\x20\x20\x20\x20\x20\x20Linux,\x20macOS,\x20Windows,\x20and\x20more.\x0a\x20\x20\x20\x20</p>\x0a\x20\x20</section>\x0a\x0a\x20\x20<section\x20class=\"HomeSection\x20Playground\">\x0a\x20\x20\x20\x20<div\x20class=\"Playground-headerContainer\">\x0a\x20\x20\x20\x20\x20\x20<h2\x20class=\"HomeSection-header\">Try\x20Go</h2>\x0a\x20\x20\x20\x20\x20\x20{{if\x20not\x20$.GoogleCN}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20<a\x20class=\"Playground-popout\x20js-playgroundShareEl\">Open\x20in\x20Playground</a>\x0a\x20\x20\x20\x20\x20\x20{{end}}\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\"Playground-inputContainer\">\x0a\x20\x20\x20\x20\x20\x20<textarea\x20class=\"Playground-input\x20js-playgroundCodeEl\"\x20spellcheck=\"false\"\x20aria-label=\"Try\x20Go\">//\x20You\x20can\x20edit\x20this\x20code!\x0a//\x20Click\x20here\x20and\x20start\x20typing.\x0apackage\x20main\x0a\x0aimport\x20\"fmt\"\x0a\x0afunc\x20main()\x20{\x0a\x09fmt.Println(\"Hello,\x20\xe4\xb8\x96\xe7\x95\x8c\")\x0a}\x0a</textarea>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\"Playground-outputContainer\x20js-playgroundOutputEl\">\x0a\x20\x20\x20\x20\x20\x20<pre\x20class=\"Playground-output\"><noscript>Hello,\x20\xe4\xb8\x96\xe7\x95\x8c</noscript></pre>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\"Playground-controls\">\x0a\x20\x20\x20\x20\x20\x20<select\x20class=\"Playground-selectExample\x20js-playgroundToysEl\"\x20aria-label=\"Code\x20examples\">\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\"hello.go\">Hello,\x20World!</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\"life.go\">Conway's\x20Game\x20of\x20Life</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\"fib.go\">Fibonacci\x20Closure</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\"peano.go\">Peano\x20Integers</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\"pi.go\">Concurrent\x20pi</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\"sieve.go\">Concurrent\x20Prime\x20Sieve</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\"solitaire.go\">Peg\x20Solitaire\x20Solver</option>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<option\x20value=\"tree.go\">Tree\x20Comparison</option>\x0a\x20\x20\x20\x20\x20\x20</select>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\"Playground-buttons\">\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\"Button\x20Button--primary\x20js-playgroundRunEl\"\x20title=\"Run\x20this\x20code\x20[shift-enter]\">Run</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\"Playground-secondaryButtons\">\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{if\x20not\x20$.GoogleCN}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\"Button\x20js-playgroundShareEl\"\x20title=\"Share\x20this\x20code\">Share</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<a\x20class=\"Button\x20tour\"\x20href=\"https://tour.golang.org/\"\x20title=\"Playground\x20Go\x20from\x20your\x20browser\">Tour</a>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{end}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</section>\x0a\x0a\x20\x20{{if\x20not\x20$.GoogleCN}}\x0a\x20\x20\x20\x20<section\x20class=\"HomeSection\x20Blog\x20js-blogContainerEl\">\x0a\x20\x20\x20\x20\x20\x20<h2\x20class=\"HomeSection-header\">Featured\x20articles</h2>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\"Blog-footer\x20js-blogFooterEl\"><a\x20class=\"Button\x20Button--primary\"\x20href=\"https://blog.golang.org/\">Read\x20more\x20&gt;</a></div>\x0a\x20\x20\x20\x20</section>\x0a\x0a\x20\x20\x20\x20<section\x20class=\"HomeSection\">\x0a\x20\x20\x20\x20\x20\x20<h2\x20class=\"HomeSection-header\">Featured\x20video</h2>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\"js-videoContainer\"\x20style=\"--aspect-ratio-padding:\x2058.07%;\">\x0a\x20\x20\x20\x20\x20\x20\x20\x20<iframe\x20width=\"415\"\x20height=\"241\"\x20src=\"https://www.youtube.com/embed/cQ7STILAS0M\"\x20frameborder=\"0\"\x20allowfullscreen></iframe>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20{{end}}\x0a</div>\x0a<script>\x0a(function()\x20{\x0a\x20\x20'use\x20strict';\x0a\x0a\x20\x20window.initFuncs.push(function()\x20{\x0a\x20\x20\x20\x20//\x20Set\x20up\x20playground\x20if\x20enabled.\x0a\x20\x20\x20\x20if\x20(window.playground)\x20{\x0a\x20\x20\x20\x20\x20\x20window.playground({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"codeEl\":\x20\x20\x20\x20\x20\x20\x20\x20\".js-playgroundCodeEl\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"outputEl\":\x20\x20\x20\x20\x20\x20\".js-playgroundOutputEl\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"runEl\":\x20\x20\x20\x20\x20\x20\x20\x20\x20\".js-playgroundRunEl\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"shareEl\":\x20\x20\x20\x20\x20\x20\x20\".js-playgroundShareEl\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"shareRedirect\":\x20\"//play.golang.org/p/\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"toysEl\":\x20\x20\x20\x20\x20\x20\x20\x20\".js-playgroundToysEl\"\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20The\x20pre\x20matched\x20below\x20is\x20added\x20by\x20the\x20code\x20above.\x20Style\x20it\x20appropriately.\x0a\x20\x20\x20\x20\x20\x20document.querySelector(\".js-playgroundOutputEl\x20pre\").classList.add(\"Playground-output\");\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20$(\".Playground\").hide();\x0a\x20\x20\x20\x20}\x0a\x20\x20});\x0a\x0a\x20\x20{{if\x20not\x20$.GoogleCN}}\x0a\x20\x20\x20\x20function\x20readableTime(t)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20m\x20=\x20[\"January\",\x20\"February\",\x20\"March\",\x20\"April\",\x20\"May\",\x20\"June\",\x20\"July\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\"August\",\x20\"September\",\x20\"October\",\x20\"November\",\x20\"December\"];\x0a\x20\x20\x20\x20\x20\x20var\x20p\x20=\x20t.substring(0,\x20t.indexOf(\"T\")).split(\"-\");\x0a\x20\x20\x20\x20\x20\x20var\x20d\x20=\x20new\x20Date(p[0],\x20p[1]-1,\x20p[2]);\x0a\x20\x20\x20\x20\x20\x20return\x20d.getDate()\x20+\x20\"\x20\"\x20+\x20m[d.getMonth()]\x20+\x20\"\x20\"\x20+\x20d.getFullYear();\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20window.feedLoaded\x20=\x20function(result)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20read\x20=\x20document.querySelector(\".js-blogFooterEl\");\x0a\x20\x20\x20\x20\x20\x20for\x20(var\x20i\x20=\x200;\x20i\x20<\x20result.length\x20&&\x20i\x20<\x202;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20entry\x20=\x20result[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20header\x20=\x20document.createElement(\"h3\");\x0a\x20\x20\x20\x20\x20\x20\x20\x20header.className\x20=\x20\"Blog-title\";\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20titleLink\x20=\x20document.createElement(\"a\");\x0a\x20\x20\x20\x20\x20\x20\x20\x20titleLink.href\x20=\x20entry.Link;\x0a\x20\x20\x20\x20\x20\x20\x20\x20titleLink.rel\x20=\x20\"noopener\";\x0a\x20\x20\x20\x20\x20\x20\x20\x20titleLink.textContent\x20=\x20entry.Title;\x0a\x20\x20\x20\x20\x20\x20\x20\x20header.appendChild(titleLink);\x0a\x20\x20\x20\x20\x20\x20\x20\x20read.parentNode.insertBefore(header,\x20read);\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20extract\x20=\x20document.createElement(\"div\");\x0a\x20\x20\x20\x20\x20\x20\x20\x20extract.className\x20=\x20\"Blog-extract\";\x0a\x20\x20\x20\x20\x20\x20\x20\x20extract.innerHTML\x20=\x20entry.Summary;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Ensure\x20any\x20cross-origin\x20links\x20have\x20rel=noopener\x20set.\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20links\x20=\x20extract.querySelectorAll(\"a\");\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(var\x20j\x20=\x200;\x20j\x20<\x20links.length;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20links[j].rel\x20=\x20\"noopener\";\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20links[j].classList.add(\"Blog-link\");\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20read.parentNode.insertBefore(extract,\x20read);\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20when\x20=\x20document.createElement(\"div\");\x0a\x20\x20\x20\x20\x20\x20\x20\x20when.className\x20=\x20\"Blog-when\";\x0a\x20\x20\x20\x20\x20\x20\x20\x20when.textContent\x20=\x20\"Published\x20\"\x20+\x20readableTime(entry.Time);\x0a\x20\x20\x20\x20\x20\x20\x20\x20read.parentNode.insertBefore(when,\x20read);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20window.initFuncs.push(function()\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Load\x20blog\x20feed.\x0a\x20\x20\x20\x20\x20\x20$(\"<script/>\")\x0a\x20\x20\x20\x20\x20\x20\x20\x20.attr(\"src\",\x20\"//blog.golang.org/.json?jsonp=feedLoaded\")\x0a\x20\x20\x20\x20\x20\x20\x20\x20.appendTo(\"body\");\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Set\x20the\x20video\x20at\x20random.\x0a\x20\x20\x20\x20\x20\x20var\x20videos\x20=\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s:\x20\"https://www.youtube.com/embed/rFejpH_tAHM\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20\"dotGo\x202015\x20-\x20Rob\x20Pike\x20-\x20Simplicity\x20is\x20Complicated\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s:\x20\"https://www.youtube.com/embed/0ReKdcpNyQg\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20\"GopherCon\x202015:\x20Robert\x20Griesemer\x20-\x20The\x20Evolution\x20of\x20Go\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s:\x20\"https://www.youtube.com/embed/sX8r6zATHGU\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20\"Steve\x20Francia\x20-\x20Go:\x20building\x20on\x20the\x20shoulders\x20of\x20giants\x20and\x20stepping\x20on\x20a\x20few\x20toes\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s:\x20\"https://www.youtube.com/embed/rWJHbh6qO_Y\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20\"Brad\x20Fitzpatrick\x20Go\x201.11\x20and\x20beyond\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s:\x20\"https://www.youtube.com/embed/bmZNaUcwBt4\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20\"The\x20Why\x20of\x20Go\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20s:\x20\"https://www.youtube.com/embed/0Zbh_vmAKvk\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20\"GopherCon\x202017:\x20Russ\x20Cox\x20-\x20The\x20Future\x20of\x20Go\",\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20];\x0a\x20\x20\x20\x20\x20\x20var\x20v\x20=\x20videos[Math.floor(Math.random()*videos.length)];\x0a\x20\x20\x20\x20\x20\x20$(\".js-videoContainer\x20iframe\").attr(\"src\",\x20v.s).attr(\"title\",\x20v.title);\x0a\x20\x20\x20\x20});\x0a\x20\x20{{end}}\x20{{/*\x20if\x20not\x20.GoogleCN\x20*/}}\x0a})();\x0a</script>\x0a",