Commit 5d1c6011 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

doc: more go1.8.html updates

TBR=See https://golang.org/cl/33244

Updates #17929

Change-Id: I648df63aeb67aa2229c7b4fc23676a78b31140a0
Reviewed-on: https://go-review.googlesource.com/33657Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent 0c5c7c34
...@@ -49,7 +49,8 @@ and <a href="#sort">simplifies sorting slices</a>. ...@@ -49,7 +49,8 @@ and <a href="#sort">simplifies sorting slices</a>.
<p> <!-- CL 17711 --> <p> <!-- CL 17711 -->
The language specification now only requires that implementations The language specification now only requires that implementations
support up to 16-bit exponents in floating-point constants. This does not affect support up to 16-bit exponents in floating-point constants. This does not affect
either the <code>gc</code> or <code>gccgo</code> compilers, both of either the “<a href="/cmd/compile/"><code>gc</code></a>” or
<code>gccgo</code> compilers, both of
which still support 32-bit exponents. which still support 32-bit exponents.
</p> </p>
...@@ -214,8 +215,10 @@ generates more compact, more efficient code ...@@ -214,8 +215,10 @@ generates more compact, more efficient code
and provides a better platform for optimizations and provides a better platform for optimizations
such as bounds check elimination. such as bounds check elimination.
The new back end reduces the CPU time required by The new back end reduces the CPU time required by
<a href="https://golang.org/test/bench/go1/">our benchmark programs</a> by N-M%. <a href="https://golang.org/test/bench/go1/">our benchmark programs</a> by 20-30%
TODO: ARM binary size & perf numbers. on 32-bit ARM systems. For 64-bit x86 systems, which already used the SSA backend in
Go 1.7, the gains are a more modest 0-10%. Other architectures will likely
see improvements closer to the 32-bit ARM numbers.
</p> </p>
<p> <p>
...@@ -234,15 +237,10 @@ TODO: ARM binary size & perf numbers. ...@@ -234,15 +237,10 @@ TODO: ARM binary size & perf numbers.
The compiler and linker have been optimized and run faster in this The compiler and linker have been optimized and run faster in this
release than in Go 1.7, although they are still slower than we would release than in Go 1.7, although they are still slower than we would
like and will continue to be optimized in future releases. like and will continue to be optimized in future releases.
Compared to the previous release, Go 1.8 is
<a href="https://dave.cheney.net/2016/11/19/go-1-8-toolchain-improvements">about 15% faster</a>.
</p> </p>
<p>
Due to changes across the compiler toolchain and standard library,
binaries built with this release should typically be smaller than
binaries built with Go 1.7, sometimes by as much as TODO numbers.
</p>
<h3 id="cmd_cgo">Cgo</h3> <h3 id="cmd_cgo">Cgo</h3>
<p>TODO</p> <p>TODO</p>
...@@ -308,6 +306,12 @@ is unchanged, but there are a number of changes worth noting. ...@@ -308,6 +306,12 @@ is unchanged, but there are a number of changes worth noting.
function added in Go 1.7. function added in Go 1.7.
</p> </p>
<p>
<i>Updating:</i> Users of finalizers should see the example
in the <a href="/pkg/runtime/#KeepAlive"><code>KeepAlive</code> documentation</a>
to see where a call to <code>KeepAlive</code> might be needed.
</p>
<h3 id="memstats">MemStats Documentation</h3> <h3 id="memstats">MemStats Documentation</h3>
<p> <!-- CL 28972 --> <p> <!-- CL 28972 -->
...@@ -358,7 +362,7 @@ packages. ...@@ -358,7 +362,7 @@ packages.
<h3 id="cgoperf">Cgo</h3> <h3 id="cgoperf">Cgo</h3>
<p>Calls from Go into C are now TODO% faster.</p> <p>The overhead of calls from Go into C has been reduced by about half.</p>
<h2 id="library">Standard library</h2> <h2 id="library">Standard library</h2>
...@@ -644,7 +648,8 @@ pkg debug/pe, type StringTable []uint8</pre> ...@@ -644,7 +648,8 @@ pkg debug/pe, type StringTable []uint8</pre>
<dl id="encoding_pem"><dt><a href="/pkg/encoding/pem/">encoding/pem</a></dt> <dl id="encoding_pem"><dt><a href="/pkg/encoding/pem/">encoding/pem</a></dt>
<dd> <dd>
<p> <!-- CL 27391 --> <p> <!-- CL 27391 -->
The PEM decoder is now strict about the format of the ending line. <a href="/pkg/encoding/pem/#Decode"><code>Decode</code></a>
is now strict about the format of the ending line.
</p> </p>
</dd> </dd>
</dl> </dl>
...@@ -673,10 +678,13 @@ pkg debug/pe, type StringTable []uint8</pre> ...@@ -673,10 +678,13 @@ pkg debug/pe, type StringTable []uint8</pre>
<dl id="image_png"><dt><a href="/pkg/image/png/">image/png</a></dt> <dl id="image_png"><dt><a href="/pkg/image/png/">image/png</a></dt>
<dd> <dd>
<p> <!-- CL 32143, CL 32140 --> <p> <!-- CL 32143, CL 32140 -->
The PNG decoder now supports truecolor and grayscale transparency. <a href="/pkg/image/png/#Decode"><code>Decode</code></a>
(and <code>DecodeConfig</code>)
now supports True Color and grayscale transparency.
</p> </p>
<p> <!-- CL 29872 --> <p> <!-- CL 29872 -->
The PNG encoder is now faster and creates smaller output <a href="/pkg/image/png/#Encoder"><code>Encoder</code></a>
is now faster and creates smaller output
when encoding paletted images. when encoding paletted images.
</p> </p>
</dd> </dd>
...@@ -702,19 +710,38 @@ pkg debug/pe, type StringTable []uint8</pre> ...@@ -702,19 +710,38 @@ pkg debug/pe, type StringTable []uint8</pre>
<dd> <dd>
<p> <p>
The package's parsing has been relaxed in two ways to accept The
<a href="/pkg/mime/quotedprintable/#Reader"><code>Reader</code></a>'s
parsing has been relaxed in two ways to accept
more input seen in the wild. First, it now accepts more input seen in the wild. First, it now accepts
a <code>=</code> sign even if it's not followed by two hex a <code>=</code> sign even if it's not followed by two hex
digits. <!-- CL 32174 --> digits. <!-- CL 32174 -->
Second, it accepts a trailing soft line-break at the end of a Second, it accepts a trailing soft line-break at the end of a
message. <!-- CL 27530 -->. That is, the final byte of the message. <!-- CL 27530 --> That is, the final byte of the
message may be a <code>=</code> sign and it will now be ignored. message may be a <code>=</code> sign and it will now be ignored.
</p> </p>
</dd> </dd>
</dl> </dl>
<dl id="net"><dt><a href="/pkg/net/">net</a></dt>
<dd>
<p><!-- CL 30164, CL 33473 -->
The <a href="/pkg/net/#Conn"><code>Conn</code></a> documentation
has been updated to clarify expectations of an interface
implementation. Updates in the <code>net/http</code> packages
depend on implementations obeying the documentation.
</p>
<p><i>Updating:</i> implementations of the <code>Conn</code> interface should verify
they implement the documented semantics. TODO: https://golang.org/cl/18097
</p>
<p>TODO: many other net changes</p>
</dd>
</dl>
<dl id="net_http"><dt><a href="/pkg/net/http/">net/http</a></dt> <dl id="net_http"><dt><a href="/pkg/net/http/">net/http</a></dt>
<dd> <dd>
...@@ -758,7 +785,9 @@ pkg debug/pe, type StringTable []uint8</pre> ...@@ -758,7 +785,9 @@ pkg debug/pe, type StringTable []uint8</pre>
middle of a slow request, the <code>Handler</code> can now middle of a slow request, the <code>Handler</code> can now
detect that the user is gone. This complements the detect that the user is gone. This complements the
existing <a href="/pkg/net/http/#CloseNotifier"><code>CloseNotifier</code></a> existing <a href="/pkg/net/http/#CloseNotifier"><code>CloseNotifier</code></a>
support. support. This functionality requires that the underlying
<a href="/pkg/net/#Conn"><code>net.Conn</code></a> implements
<a href="#net">recently-clarified interface documentation</a>.
</li> </li>
<li><!-- CL 32479 --> <li><!-- CL 32479 -->
...@@ -794,7 +823,7 @@ pkg debug/pe, type StringTable []uint8</pre> ...@@ -794,7 +823,7 @@ pkg debug/pe, type StringTable []uint8</pre>
now copies most request headers on redirect. Authentication-specific now copies most request headers on redirect. Authentication-specific
headers are only sent to the same origin or subdomains thereof. headers are only sent to the same origin or subdomains thereof.
Cookies are not sent again, unless they were set explicitly. Cookies are not sent again, unless they were set explicitly.
TODO: verify this, and link to docs once https://github.com/golang/go/issues/18096 TODO: verify this, and link to docs once https://golang.org/issue/18096
is fixed. is fixed.
</li> </li>
...@@ -973,8 +1002,10 @@ pkg debug/pe, type StringTable []uint8</pre> ...@@ -973,8 +1002,10 @@ pkg debug/pe, type StringTable []uint8</pre>
</p> </p>
<p> <!-- CL 33429 --> <p> <!-- CL 33429 -->
<code>Parse</code> now validates days that are too small, in <a href="/pkg/time/#Parse"><code>Parse</code></a>
addition to days that are too large. now rejects dates before the start of a month, such as June 0;
it already rejected dates beyond the end of the month, such as
June 31 and July 32.
</p> </p>
<p> <!-- CL 33029 --> <p> <!-- CL 33029 -->
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment