content/static/doc: document Go 1.13.8 and Go 1.12.17

Change-Id: Iaab4f8db188712bb78bc4b4e9c48898f798ad188
Reviewed-on: https://go-review.googlesource.com/c/website/+/219201
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
diff --git a/content/static/doc/devel/release.html b/content/static/doc/devel/release.html
index 6013302..3d6ebed 100644
--- a/content/static/doc/devel/release.html
+++ b/content/static/doc/devel/release.html
@@ -84,6 +84,13 @@
 1.13.7 milestone</a> on our issue tracker for details.
 </p>
 
+<p>
+go1.13.8 (released 2020/02/12) includes fixes to the runtime, the
+<code>crypto/x509</code>, and <code>net/http</code> packages. See the
+<a href="https://github.com/golang/go/issues?q=milestone%3AGo1.13.8+label%3ACherryPickApproved">Go
+1.13.8 milestone</a> on our issue tracker for details.
+</p>
+
 <h2 id="go1.12">go1.12 (released 2019/02/25)</h2>
 
 <p>
@@ -207,6 +214,12 @@
 1.12.16 milestone</a> on our issue tracker for details.
 </p>
 
+<p>
+go1.12.17 (released 2020/02/12) includes a fix to the runtime. See
+the <a href="https://github.com/golang/go/issues?q=milestone%3AGo1.12.17+label%3ACherryPickApproved">Go
+1.12.17 milestone</a> on our issue tracker for details.
+</p>
+
 <h2 id="go1.11">go1.11 (released 2018/08/24)</h2>
 
 <p>
diff --git a/content/static/static.go b/content/static/static.go
index 5718150..697a6a0 100644
--- a/content/static/static.go
+++ b/content/static/static.go
@@ -53,7 +53,7 @@
 
 	"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\x20fetch\x20--tags\x0agit\x20checkout\x20<i>goX.Y.Z</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<p>\x0ago1.13.6\x20(released\x202020/01/09)\x20includes\x20fixes\x20to\x20the\x20runtime\x20and\x0athe\x20<code>net/http</code>\x20package.\x20See\x0athe\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.6+label%3ACherryPickApproved\">Go\x0a1.13.6\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.13.7\x20(released\x202020/01/28)\x20includes\x20two\x20security\x20fixes\x20to\x0athe\x20<code>crypto/x509</code>\x20package.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.7+label%3ACherryPickApproved\">Go\x0a1.13.7\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<p>\x0ago1.12.15\x20(released\x202020/01/09)\x20includes\x20fixes\x20to\x20the\x20runtime\x20and\x0athe\x20<code>net/http</code>\x20package.\x20See\x0athe\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.15+label%3ACherryPickApproved\">Go\x0a1.12.15\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.16\x20(released\x202020/01/28)\x20includes\x20two\x20security\x20fixes\x20to\x0athe\x20<code>crypto/x509</code>\x20package.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.16+label%3ACherryPickApproved\">Go\x0a1.12.16\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/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\x20fetch\x20--tags\x0agit\x20checkout\x20<i>goX.Y.Z</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<p>\x0ago1.13.6\x20(released\x202020/01/09)\x20includes\x20fixes\x20to\x20the\x20runtime\x20and\x0athe\x20<code>net/http</code>\x20package.\x20See\x0athe\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.6+label%3ACherryPickApproved\">Go\x0a1.13.6\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.13.7\x20(released\x202020/01/28)\x20includes\x20two\x20security\x20fixes\x20to\x0athe\x20<code>crypto/x509</code>\x20package.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.7+label%3ACherryPickApproved\">Go\x0a1.13.7\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.13.8\x20(released\x202020/02/12)\x20includes\x20fixes\x20to\x20the\x20runtime,\x20the\x0a<code>crypto/x509</code>,\x20and\x20<code>net/http</code>\x20packages.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.13.8+label%3ACherryPickApproved\">Go\x0a1.13.8\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<p>\x0ago1.12.15\x20(released\x202020/01/09)\x20includes\x20fixes\x20to\x20the\x20runtime\x20and\x0athe\x20<code>net/http</code>\x20package.\x20See\x0athe\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.15+label%3ACherryPickApproved\">Go\x0a1.12.15\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.16\x20(released\x202020/01/28)\x20includes\x20two\x20security\x20fixes\x20to\x0athe\x20<code>crypto/x509</code>\x20package.\x20See\x20the\x0a<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.16+label%3ACherryPickApproved\">Go\x0a1.12.16\x20milestone</a>\x20on\x20our\x20issue\x20tracker\x20for\x20details.\x0a</p>\x0a\x0a<p>\x0ago1.12.17\x20(released\x202020/02/12)\x20includes\x20a\x20fix\x20to\x20the\x20runtime.\x20See\x0athe\x20<a\x20href=\"https://github.com/golang/go/issues?q=milestone%3AGo1.12.17+label%3ACherryPickApproved\">Go\x0a1.12.17\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",