mirror of
https://github.com/golang/go
synced 2024-11-23 00:30:07 -07:00
doc: more go1.8.html additions
And start deleting from go1.8.txt. TBR=See https://golang.org/cl/33244 Updates #17929 Change-Id: I71011d97b23a7ba94cd51e16ae61fda18e8b96eb Reviewed-on: https://go-review.googlesource.com/33680 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
0b1b6d4ce3
commit
012ec29ad4
130
doc/go1.8.html
130
doc/go1.8.html
@ -372,13 +372,30 @@ optimizations in the standard library.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There have been significant optimizations bringing more than 10% improvements
|
||||
to implementations in the
|
||||
TODO TODO:
|
||||
<a href="/pkg/foo/"><code>foo</code></a>,
|
||||
<a href="/pkg/bar/"><code>bar</code></a>,
|
||||
and
|
||||
<a href="/pkg/quux/"><code>quux</code></a>
|
||||
There have been optimizations to implementations in the
|
||||
<a href="/pkg/bytes/"><code>bytes</code></a>,
|
||||
<a href="/pkg/crypto/aes/"><code>crypto/aes</code></a>,
|
||||
<a href="/pkg/crypto/cipher/"><code>crypto/cipher</code></a>,
|
||||
<a href="/pkg/crypto/elliptic/"><code>crypto/elliptic</code></a>,
|
||||
<a href="/pkg/crypto/sha256/"><code>crypto/sha256</code></a>,
|
||||
<a href="/pkg/crypto/sha512/"><code>crypto/sha512</code></a>,
|
||||
<a href="/pkg/encoding/asn1/"><code>encoding/asn1</code></a>,
|
||||
<a href="/pkg/encoding/csv/"><code>encoding/csv</code></a>,
|
||||
<a href="/pkg/encoding/hex/"><code>encoding/hex</code></a>,
|
||||
<a href="/pkg/encoding/json/"><code>encoding/json</code></a>,
|
||||
<a href="/pkg/hash/crc32/"><code>hash/crc32</code></a>,
|
||||
<a href="/pkg/image/color/"><code>image/color</code></a>,
|
||||
<a href="/pkg/image/draw/"><code>image/draw</code></a>,
|
||||
<a href="/pkg/math/"><code>math</code></a>,
|
||||
<a href="/pkg/math/big/"><code>math/big</code></a>,
|
||||
<a href="/pkg/reflect/"><code>reflect</code></a>,
|
||||
<a href="/pkg/regexp/"><code>regexp</code></a>,
|
||||
<a href="/pkg/runtime/"><code>runtime</code></a>,
|
||||
<a href="/pkg/strconv/"><code>strconv</code></a>,
|
||||
<a href="/pkg/strings/"><code>strings</code></a>,
|
||||
<a href="/pkg/syscall/"><code>syscall</code></a>,
|
||||
<a href="/pkg/text/template/"><code>text/template</code></a>, and
|
||||
<a href="/pkg/unicode/utf8/"><code>unicode/utf8</code></a>,
|
||||
packages.
|
||||
</p>
|
||||
|
||||
@ -483,7 +500,8 @@ now implements the new
|
||||
<p>
|
||||
As always, there are various minor changes and updates to the library,
|
||||
made with the Go 1 <a href="/doc/go1compat">promise of compatibility</a>
|
||||
in mind.
|
||||
in mind. The follow sections list the user visible changes and additions.
|
||||
Optimizations and bug fixes are not listed.
|
||||
</p>
|
||||
|
||||
<dl id="archive_tar"><dt><a href="/pkg/archive/tar/">archive/tar</a></dt>
|
||||
@ -840,6 +858,16 @@ pkg debug/pe, type StringTable []uint8</pre>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="encoding_xml"><dt><a href="/pkg/encoding/xml/">encoding/xml</a></dt>
|
||||
<dd>
|
||||
<p> <!-- CL 30946 -->
|
||||
<a href="/pkg/encoding/xml/#Unmarshal"><code>Unmarshal</code></a>
|
||||
now has wildcard support for collecting all attributes using
|
||||
the new <code>",any,attr"</code> struct tag.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="expvar"><dt><a href="/pkg/expvar/">expvar</a></dt>
|
||||
<dd>
|
||||
<p> <!-- CL 30917 -->
|
||||
@ -860,6 +888,14 @@ pkg debug/pe, type StringTable []uint8</pre>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="go_doc"><dt><a href="/pkg/go/doc/">go/doc</a></dt>
|
||||
<dd>
|
||||
<p><!-- CL 29870 -->
|
||||
The new <a href="/pkg/go/doc/#IsPredeclared"><code>IsPredeclared</code></a>
|
||||
function reports whether a string is a predeclared identifier.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="image_png"><dt><a href="/pkg/image/png/">image/png</a></dt>
|
||||
<dd>
|
||||
@ -974,7 +1010,29 @@ pkg debug/pe, type StringTable []uint8</pre>
|
||||
the listener is closed.
|
||||
</p>
|
||||
|
||||
<p>TODO: many other net changes</p>
|
||||
<p><!-- CL 29951 -->
|
||||
The new <a href="/pkg/net/#Buffers"><code>Buffers</code></a> types permits
|
||||
more efficiently writing to the network from multiple discontiguous buffers
|
||||
in memory. On certain machines, for certain types of connections,
|
||||
this is optimized into an OS-specific batch write operation (such as <code>writev</code>).
|
||||
</p>
|
||||
|
||||
<p><!-- CL 29440 -->
|
||||
The new <a href="/pkg/net/#Resolver"><code>Resolver</code></a> looks up names and numbers
|
||||
and supports <a href="/pkg/context/#Context"><code>context.Context</code></a>.
|
||||
The <a href="/pkg/net/#Dialer"><code>Dialer</code></a> now has an optional
|
||||
<a href="/pkg/net/#Dialer.Resolver"><code>Resolver</code> field</a>.
|
||||
</p>
|
||||
|
||||
<p><!-- CL 29892 -->
|
||||
<a href="/pkg/net/#Interfaces"><code>Interfaces</code></a> is now supported on Solaris.
|
||||
</p>
|
||||
|
||||
<p><!-- CL 29233, CL 24901 -->
|
||||
The Go DNS resolver now supports <code>resolv.conf</code>'s "<code>rotate</code>"
|
||||
and "<code>option ndots:0</code>" options. The "<code>ndots</code>" option is
|
||||
now respected in the same way as <code>libresolve</code>.
|
||||
</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
@ -1108,6 +1166,30 @@ pkg debug/pe, type StringTable []uint8</pre>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="net_http_httptrace"><dt><a href="/pkg/net/http/httptrace/">net/http/httptrace</a></dt>
|
||||
<dd>
|
||||
<p> <!-- CL 30359 -->
|
||||
There is now support for tracing a client request's TLS handshakes with
|
||||
the new
|
||||
<a href="/pkg/net/http/httptrace/#ClientTrace.TLSHandshakeStart"><code>ClientTrace.TLSHandshakeStart</code></a>
|
||||
and
|
||||
<a href="/pkg/net/http/httptrace/#ClientTrace.TLSHandshakeDone"><code>ClientTrace.TLSHandshakeDone</code></a>.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="net_http_httputil"><dt><a href="/pkg/net/http/httputil/">net/http/httputil</a></dt>
|
||||
<dd>
|
||||
<p> <!-- CL 32356 -->
|
||||
The <a href="/pkg/net/http/httputil/#ReverseProxy"><code>ReverseProxy</code></a>
|
||||
has a new optional hook,
|
||||
<a href="/pkg/net/http/httputil/#ReverseProxy.ModifyResponse"><code>ModifyResponse</code></a>,
|
||||
for modifying the response from the backend before proxying it to the client.
|
||||
</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="net_mail"><dt><a href="/pkg/net/mail/">net/mail</a></dt>
|
||||
<dd>
|
||||
|
||||
@ -1202,6 +1284,22 @@ pkg debug/pe, type StringTable []uint8</pre>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="path_filepath"><dt><a href="/pkg/path/filepath/">path/filepath</a></dt>
|
||||
<dd>
|
||||
<p>
|
||||
<p>A number of bugs and corner cases on Windows were fixed:
|
||||
<a href="/pkg/path/filepath/#Abs"><code>Abs</code></a> now calls <code>Clean</code> paths as documented,
|
||||
<a href="/pkg/path/filepath/#Glob"><code>Glob</code></a> now matches
|
||||
"<code>\\?\c:\*</code>",
|
||||
<a href="/pkg/path/filepath/#EvalSymlinks"><code>EvalSymlinks</code></a> now
|
||||
correctly handles "<code>C:.</code>", and
|
||||
<a href="/pkg/path/filepath/#Clean"><code>Clean</code></a> now properlys handles a leading "<code>..</code>"
|
||||
in the path.
|
||||
<p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="reflect"><dt><a href="/pkg/reflect/">reflect</a></dt>
|
||||
<dd>
|
||||
<p> <!-- CL 30088 -->
|
||||
@ -1224,6 +1322,20 @@ pkg debug/pe, type StringTable []uint8</pre>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="text_template"><dt><a href="/pkg/text/template/">text/template</a></dt>
|
||||
<dd>
|
||||
<p> <!-- CL 31462 -->
|
||||
<a href="/pkg/text/template/#Template.Execute"><code>Template.Execute</code></a>
|
||||
can now take a
|
||||
<a href="/pkg/reflect/#Value"><code>reflect.Value</code></a> as its data
|
||||
argument, and
|
||||
<a href="/pkg/text/template/#FuncMap"><code>FuncMap</code></a>
|
||||
functions can also accept and return <code>reflect.Value</code>.
|
||||
</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl id="time"><dt><a href="/pkg/time/">time</a></dt>
|
||||
<dd>
|
||||
|
||||
|
353
doc/go1.8.txt
353
doc/go1.8.txt
@ -1,8 +1,5 @@
|
||||
Note: once things are added to go1.8.html or deemed too minor they're
|
||||
moved from the sections at top down to the "HTMLified" or "Probably
|
||||
omit" sections below.
|
||||
|
||||
These top sections remain to be HTMLified or deemed too boring:
|
||||
This file lists things yet to be moved into go1.8.html or deemed too
|
||||
minor to mention. Either way, delete from here when done.
|
||||
|
||||
Tools:
|
||||
|
||||
@ -58,6 +55,7 @@ cmd/pprof: instruction-level granularity in callgrind output (CL 23781)
|
||||
cmd/trace: add option to output pprof files (CL 23324)
|
||||
cmd/trace: fix a runnable goroutine count bug (CL 25552)
|
||||
cmd/trace: move process-wide GC events to their own row (CL 30017)
|
||||
internal/trace: fix analysis of EvGoWaiting/EvGoInSyscall events (CL 25572)
|
||||
|
||||
cmd/vet: accept space-separated tag lists for compatibility with cmd/go (CL 32030)
|
||||
cmd/vet: allow ^& uintptr arithmetic (CL 27156)
|
||||
@ -70,11 +68,6 @@ cmd/vet: improve asmdecl parameter handling (CL 27150)
|
||||
cmd/vet: properly handle indexed arguments in printf (CL 24391)
|
||||
cmd/vet: skip printf check for non-constant format string during failed import (CL 29014)
|
||||
|
||||
crypto/cipher: enforce message size limits for GCM (CL 28410)
|
||||
|
||||
encoding/asn1: return error for unexported fields in Marshal, Unmarshal (CL 31540)
|
||||
|
||||
encoding/xml: add wildcard support for collecting all attributes (CL 30946)
|
||||
encoding/xml: prevent omitempty from omitting non-nil pointers to empty values (CL 15684)
|
||||
|
||||
fmt: document and adjust Scanf space handling to eliminate a few paradoxes (CL 30611)
|
||||
@ -83,42 +76,12 @@ go/build: allow % in ${SRCDIR} expansion for Jenkins (CL 31611)
|
||||
go/build: do not record go:binary-only-package if build tags not satisfied (CL 31577)
|
||||
go/build: implement default GOPATH (CL 32019)
|
||||
|
||||
go/doc: add IsPredeclared function (CL 29870)
|
||||
go/doc: allow ToHTML to properly handle URLs containing semicolons (CL 25385)
|
||||
|
||||
go/printer: don't drop required semi/linebreak after /*-comment (CL 33016)
|
||||
go/token: fix race in FileSet.PositionFor. (CL 25345)
|
||||
go/types: expose Default function, which converts untyped T to T (CL 30715)
|
||||
go/types: match cmd/compile's alignment for complex64 (CL 31939)
|
||||
|
||||
html/template: check "type" attribute in <script> (CL 14336)
|
||||
|
||||
internal/trace: fix analysis of EvGoWaiting/EvGoInSyscall events (CL 25572)
|
||||
|
||||
net/http/httptest: fill ContentLength in recorded Response (CL 28302)
|
||||
net/http/httptrace: add ClientTrace.TLSHandshakeStart & TLSHandshakeDone (CL 30359)
|
||||
net/http/httputil: add ModifyResponse to reverseProxy (CL 32356)
|
||||
net/http/httputil: copy header map if necessary in ReverseProxy (CL 28493)
|
||||
net/http/httputil: log err encountered during reverseproxy body copying (CL 30692)
|
||||
net/http/httputil: make ReverseProxy send nil Body requests when possible (CL 28412)
|
||||
net/http/httputil: remove custom hop-by-hop headers from response in ReverseProxy (CL 28810)
|
||||
net/http/httputil: remove proxied headers mentioned in connection-tokens (CL 27970)
|
||||
|
||||
net: add Buffers type, do writev on unix (CL 29951)
|
||||
net: implement Buffers on windows (CL 32371)
|
||||
net: add Resolver type, Dialer.Resolver, and DefaultResolver (CL 29440)
|
||||
net: apply tcp4/tcp6 restrictions to literals in ResolveTCPAddr (CL 32100)
|
||||
net: break up >1GB reads and writes on stream connections (CL 31584)
|
||||
net: bring domain name length checks into RFC compliance (CL 31722)
|
||||
net: fix Dial(":80") on Windows (CL 32101)
|
||||
net: implement network interface API for Solaris (CL 29892)
|
||||
net: only remove Unix domain socket file on the first call to Close (CL 32098)
|
||||
net: remove parsing of negative decimals in IPv4 literal (CL 28414)
|
||||
net: respect resolv.conf rotate option (CL 29233)
|
||||
net: support "option ndots:0" in resolv.conf (CL 24901)
|
||||
net: there are no invalid domain names anymore (CL 31468)
|
||||
net: use libresolv rules for ndots range and validation (CL 24901)
|
||||
|
||||
os, syscall: fix incorrect offset calculation in Readlink on windows (CL 31118)
|
||||
os: add ErrClosed, return for use of closed File (CL 30614)
|
||||
os: consider only files from #M as regular on Plan 9 (CL 32152)
|
||||
@ -128,12 +91,6 @@ os: make Windows readConsole handle input and output correctly (CL 29493)
|
||||
os: reject Rename("old", "new") where new is a directory (CL 31358)
|
||||
os: use extended-length paths on Windows when possible (CL 32451)
|
||||
|
||||
path/filepath: don't return SkipDir at top (CL 24780)
|
||||
path/filepath: fix Abs on Windows (CL 32292)
|
||||
path/filepath: fix match of \\?\c:\* on Windows (CL 31460)
|
||||
path/filepath: handle ".." in normalizing a path on Windows (CL 27410)
|
||||
path/filepath: handle "C:." correctly in EvalSymlinks on Windows (CL 28214)
|
||||
|
||||
runtime, cmd/trace: annotate different mark worker types (CL 30702)
|
||||
runtime, runtime/cgo: revert CL 18814; don't drop signal stack in new thread on dragonfly (CL 29971)
|
||||
runtime/pprof: output CPU profiles in pprof protobuf format (CL 33071)
|
||||
@ -169,307 +126,3 @@ syscall: remove X__cmsg_data from Cmsghdr (CL 32319)
|
||||
syscall: unify NsecToTime{spec,val}, fix for times < 1970 (CL 30826)
|
||||
syscall: validate ParseDirent inputs (CL 23780)
|
||||
|
||||
text/template: add support for reflect.Value args, results in funcs (CL 31462)
|
||||
|
||||
Optimizations:
|
||||
|
||||
bytes, strings: optimize for ASCII sets (CL 31593)
|
||||
bytes, strings: optimize multi-byte index operations on s390x (CL 32447)
|
||||
bytes,strings: use IndexByte more often in Index on AMD64 (CL 31690)
|
||||
bytes: Use the same algorithm as strings for Index (CL 22550)
|
||||
bytes: improve WriteRune performance (CL 28816)
|
||||
bytes: improve performance for bytes.Compare on ppc64x (CL 30949)
|
||||
bytes: make IndexRune faster (CL 28537)
|
||||
cmd/asm, go/build: invoke cmd/asm only once per package (CL 27636)
|
||||
cmd/compile: do more type conversion inline (CL 32313)
|
||||
cmd/compile: inline convI2E (CL 31260)
|
||||
cmd/compile, cmd/link: more efficient typelink generation (CL 31772)
|
||||
cmd/compile, cmd/link: stop generating unused go.string.hdr symbols. (CL 31030)
|
||||
cmd/compile,runtime: redo how map assignments work (CL 30815)
|
||||
cmd/compile/internal/obj/x86: eliminate some function prologues (CL 24814)
|
||||
cmd/compile/internal/ssa: generate bswap on AMD64 (CL 32222)
|
||||
cmd/compile: accept literals in samesafeexpr (CL 26666)
|
||||
cmd/compile: add more non-returning runtime calls (CL 28965)
|
||||
cmd/compile: add size hint to map literal allocations (CL 23558)
|
||||
cmd/compile: be more aggressive in tighten pass for booleans (CL 28390)
|
||||
cmd/compile: directly construct Fields instead of ODCLFIELD nodes (CL 31670)
|
||||
cmd/compile: don't reserve X15 for float sub/div any more (CL 28272)
|
||||
cmd/compile: don’t generate pointless gotos during inlining (CL 27461)
|
||||
cmd/compile: fold negation into comparison operators (CL 28232)
|
||||
cmd/compile: generate makeslice calls with int arguments (CL 27851)
|
||||
cmd/compile: handle e == T comparison more efficiently (CL 26660)
|
||||
cmd/compile: improve s390x SSA rules for logical ops (CL 31754)
|
||||
cmd/compile: improve s390x rules for folding ADDconst into loads/stores (CL 30616)
|
||||
cmd/compile: improve string iteration performance (CL 27853)
|
||||
cmd/compile: improve tighten pass (CL 28712)
|
||||
cmd/compile: inline _, ok = i.(T) (CL 26658)
|
||||
cmd/compile: inline atomics from runtime/internal/atomic on amd64 (CL 27641, CL 27813)
|
||||
cmd/compile: inline convT2{I,E} when result doesn't escape (CL 29373)
|
||||
cmd/compile: inline x, ok := y.(T) where T is a scalar (CL 26659)
|
||||
cmd/compile: intrinsify atomic operations on s390x (CL 31614)
|
||||
cmd/compile: intrinsify math/big.mulWW, divWW on AMD64 (CL 30542)
|
||||
cmd/compile: intrinsify runtime/internal/atomic.Xaddint64 (CL 29274)
|
||||
cmd/compile: intrinsify slicebytetostringtmp when not instrumenting (CL 29017)
|
||||
cmd/compile: intrinsify sync/atomic for amd64 (CL 28076)
|
||||
cmd/compile: make [0]T and [1]T SSAable types (CL 32416)
|
||||
cmd/compile: make link register allocatable in non-leaf functions (CL 30597)
|
||||
cmd/compile: missing float indexed loads/stores on amd64 (CL 28273)
|
||||
cmd/compile: move stringtoslicebytetmp to the backend (CL 32158)
|
||||
cmd/compile: only generate ·f symbols when necessary (CL 31031)
|
||||
cmd/compile: optimize bool to int conversion (CL 22711)
|
||||
cmd/compile: optimize integer "in range" expressions (CL 27652)
|
||||
cmd/compile: remove Zero and NilCheck for newobject (CL 27930)
|
||||
cmd/compile: remove duplicate nilchecks (CL 29952)
|
||||
cmd/compile: remove some write barriers for stack writes (CL 30290)
|
||||
cmd/compile: simplify div/mod on ARM (CL 29390)
|
||||
cmd/compile: statically initialize some interface values (CL 26668)
|
||||
cmd/compile: unroll comparisons to short constant strings (CL 26758)
|
||||
cmd/compile: use 2-result divide op (CL 25004)
|
||||
cmd/compile: use masks instead of branches for slicing (CL 32022)
|
||||
cmd/compile: when inlining ==, don’t take the address of the values (CL 22277)
|
||||
container/heap: remove one unnecessary comparison in Fix (CL 24273)
|
||||
crypto/elliptic: add s390x assembly implementation of NIST P-256 Curve (CL 31231)
|
||||
crypto/sha256: improve performance for sha256.block on ppc64le (CL 32318)
|
||||
crypto/sha512: improve performance for sha512.block on ppc64le (CL 32320)
|
||||
crypto/{aes,cipher}: add optimized implementation of AES-GCM for s390x (CL 30361)
|
||||
encoding/asn1: reduce allocations in Marshal (CL 27030)
|
||||
encoding/csv: avoid allocations when reading records (CL 24723)
|
||||
encoding/hex: change lookup table from string to array (CL 27254)
|
||||
encoding/json: Use a lookup table for safe characters (CL 24466)
|
||||
hash/crc32: improve the AMD64 implementation using SSE4.2 (CL 24471, CL 27931)
|
||||
hash/crc32: improve the processing of the last bytes in the SSE4.2 code for AMD64 (CL 24470)
|
||||
image/color: improve speed of RGBA methods (CL 31773)
|
||||
image/draw: optimize drawFillOver as drawFillSrc for opaque fills (CL 28790)
|
||||
math/big: 10%-20% faster float->decimal conversion (CL 31250, CL 31275)
|
||||
math/big: avoid allocation in float.{Add, Sub} when there's no aliasing (CL 23568)
|
||||
math/big: make division faster (CL 30613)
|
||||
math/big: test and optimize Exp(2, y, n) for large y, odd n (CL 30708)
|
||||
math/big: use array instead of slice for deBruijn lookups (CL 26663)
|
||||
math/big: uses SIMD for some math big functions on s390x (CL 32211)
|
||||
math: speed up Gamma(+Inf) (CL 31370)
|
||||
math: speed up bessel functions on AMD64 (CL 28086)
|
||||
math: use SIMD to accelerate some scalar math functions on s390x (CL 32352)
|
||||
reflect: avoid zeroing memory that will be overwritten (CL 28011)
|
||||
regexp: avoid alloc in QuoteMeta when not quoting (CL 31395)
|
||||
regexp: reduce mallocs in Regexp.Find* and Regexp.ReplaceAll* (CL 23030)
|
||||
runtime: cgo calls are about 100ns faster (CL 29656, CL 30080)
|
||||
runtime: implement getcallersp in Go (CL 29655)
|
||||
runtime: improve memmove for amd64 (CL 22515, CL 29590)
|
||||
runtime: increase malloc size classes (CL 24493)
|
||||
runtime: large objects no longer cause significant goroutine pauses (CL 23540)
|
||||
runtime: make append only clear uncopied memory (CL 30192)
|
||||
runtime: make assists perform root jobs (CL 32432)
|
||||
runtime: memclr perf improvements on ppc64x (CL 30373)
|
||||
runtime: minor string/rune optimizations (CL 27460)
|
||||
runtime: remove a load and shift from scanobject (CL 22712)
|
||||
runtime: remove defer from standard cgo call (CL 30080)
|
||||
runtime: speed up StartTrace with lots of blocked goroutines (CL 25573)
|
||||
runtime: speed up non-ASCII rune decoding (CL 28490)
|
||||
strconv: make FormatFloat slowpath a little faster (CL 30099)
|
||||
strings: add special cases for Join of 2 and 3 strings (CL 25005)
|
||||
strings: make IndexRune faster (CL 28546)
|
||||
strings: use AVX2 for Index if available (CL 22551)
|
||||
strings: use Index in Count (CL 28586)
|
||||
syscall: avoid convT2I allocs for common Windows error values (CL 28484, CL 28990)
|
||||
text/template: improve lexer performance in finding left delimiters (CL 24863)
|
||||
unicode/utf8: optimize ValidRune (CL 32122)
|
||||
unicode/utf8: reduce bounds checks in EncodeRune (CL 28492)
|
||||
|
||||
Binary Size:
|
||||
|
||||
cmd/link: more efficient encoding of DWARF line number information (CL 30577)
|
||||
cmd/compile: recognize integer ranges in switch statements (CL 26770)
|
||||
cmd/compile: use two tables for table-driven map inserts (CL 26669)
|
||||
cmd/link: when dynlinking, do not mangle short symbol names (CL 26890)
|
||||
cmd/compile, runtime: stop padding stackmaps to 4 bytes (CL 30817)
|
||||
|
||||
Probably omit: (too minor, or just bug fixes)
|
||||
|
||||
all: freeze net/rpc and reword the 'frozen' message in other frozen packages (CL 32112)
|
||||
archive/tar: fix and cleanup readOldGNUSparseMap (CL 28471)
|
||||
archive/tar: fix parsePAX to be POSIX.1-2001 compliant (CL 31440)
|
||||
archive/tar: fix parsePAXTime (CL 31441)
|
||||
archive/tar: make Reader handle GNU format properly (CL 31444)
|
||||
archive/tar: reapply Header.Size to regFileReader after merging (CL 28418)
|
||||
archive/tar: validate sparse headers in parsePAX (CL 31439)
|
||||
archive/zip: handle mtime in NTFS/UNIX/ExtendedTS extra fields (CL 18274)
|
||||
archive/zip: only use Extended Timestamp on non-zero MS-DOS timestamps (CL 30811)
|
||||
cmd/compile: add go:notinheap type pragma (CL 30939)
|
||||
cmd/compile: fail gracefully on export format skew (CL 27814)
|
||||
cmd/compile: remove support for textual export format (CL 27171)
|
||||
cmd/gofmt: don't eat source if -w fails (CL 33018)
|
||||
compress/gzip, compress/zlib: add HuffmanOnly as compression levels. (CL 31186)
|
||||
crypto/rsa: ensure that generating toy RSA keys doesn't loop (CL 28969)
|
||||
debug/elf: add sparc64 relocations (CL 30870)
|
||||
flag: arrange for FlagSet.Usage to be non-nil by default (CL 31576)
|
||||
go/internal/gcimporter: fail gracefully on export format skew (CL 27816)
|
||||
image/color: tweak the formula for converting to gray. (CL 31538)
|
||||
io: fix infinite loop bug in MultiReader (CL 27397)
|
||||
io: make MultiReader nil exhausted Readers for earlier GC (CL 28533)
|
||||
math/big: Rat.SetString to report error if input is not consumed entirely (CL 30472)
|
||||
math/cmplx: prevent infinite loop in tanSeries (CL 31952)
|
||||
math: fix Gamma(-171.5) on all platforms (CL 30540)
|
||||
net/http/internal: don't block unnecessarily in ChunkedReader (CL 31329)
|
||||
net: make LookupPort and lookupProtocol work on nacl (CL 28951)
|
||||
os: prevent infinite symlink loop of Stat on Windows (CL 27580)
|
||||
os: use GetConsoleCP() instead of GetACP() (CL 27575)
|
||||
reflect: fix DeepEqual for some cyclic corner cases (CL 31588)
|
||||
runtime/race: don't crash on invalid PCs (CL 29714)
|
||||
spec: update language on type switches to match implementations (CL 27356)
|
||||
strings, bytes: panic if Repeat overflows or if given a negative count (CL 29954)
|
||||
sync: enable Pool when using race detector (CL 31589)
|
||||
sync: throw, not panic, for unlock of unlocked mutex (CL 31359)
|
||||
testing/quick, text/tabwriter: freeze packages (CL 31910)
|
||||
testing: introduce testing/internal/testdeps for holding testmain dependencies (CL 32455)
|
||||
testing: respect benchtime on very fast benchmarks (CL 26664)
|
||||
time: be consistent about representation of UTC location in Time struct (CL 31144)
|
||||
website: recreate 16px and 32px favicon (CL 26850)
|
||||
|
||||
HTMLified:
|
||||
|
||||
all: many more examples in documentations (many CLs)
|
||||
all: plugin build mode & package (many CLs)
|
||||
cmd/compile: add SSA backend for s390x and enable by default (CL 28978)
|
||||
cmd/compile: args no longer live until end of function - use runtime.KeepAlive instead (CL 28310)
|
||||
cmd/compile: make ssa compilation unconditional (CL 29155)
|
||||
cmd/compile: remove old lexer and parser (CL 32020)
|
||||
cmd/doc: ensure summaries truly are only one line (CL 25420)
|
||||
cmd/doc: perform type grouping for constants and variables (CL 25419)
|
||||
cmd/doc: show documentation for interface methods when requested explicitly (CL 31852)
|
||||
compress/flate: always return uncompressed data in the event of error (CL 28216)
|
||||
compress/flate: level 1 (best speed) match across blocks (CL 31640)
|
||||
compress/flate: make compression level 0 consistent (CL 31174)
|
||||
compress/flate: tighten the BestSpeed max match offset bound. (CL 32149)
|
||||
compress/gzip: only encode MTIME if it is valid (CL 32325)
|
||||
context: make DeadlineExceeded implement net.Error (CL 30370)
|
||||
crypto/tls: add CloseWrite method to Conn (CL 25159, 31318)
|
||||
crypto/tls: add Config.Clone (CL 28075)
|
||||
crypto/tls: add Config.GetConfigForClient (CL 30790)
|
||||
crypto/tls: add GetClientCertificate callback (CL 32115)
|
||||
crypto/tls: add KeyLogWriter for debugging (CL 27434)
|
||||
crypto/tls: add VerifyPeerCertificate to tls.Config (CL 26654)
|
||||
crypto/tls: add a SignatureScheme type. (CL 32119)
|
||||
crypto/tls: don't generate random ticket keys if already set (CL 27317)
|
||||
crypto/tls: enable ChaCha20-Poly1305 cipher suites by default. (CL 30958)
|
||||
crypto/tls: expand ClientHelloInfo (CL 31391)
|
||||
crypto/tls: fix deadlock when racing to complete handshake (CL 29164)
|
||||
crypto/tls: flush the buffer on handshake errors (CL 28818)
|
||||
crypto/tls: implement countermeasures against CBC padding oracles (CL 18130)
|
||||
crypto/tls: set Conn.ConnectionState.ServerName unconditionally (CL 22862)
|
||||
crypto/tls: support AES-128-CBC cipher suites with SHA-256 (CL 27315)
|
||||
crypto/tls: support ChaCha20-Poly1305. (CL 30957)
|
||||
crypto/tls: support X25519 (CL 30824, CL 30825)
|
||||
crypto/{tls,cipher,internal/cryptohw}: prioritise AES-GCM when hardware support is present. (CL 32871)
|
||||
crypto/x509: support PSS signatures (CL 24743)
|
||||
crypto/x509: implement SystemCertPool on Windows (CL 30578)
|
||||
crypto/x509: expose UnknownAuthorityError.Cert (CL 32644)
|
||||
crypto/x509: allow a leaf certificate to be specified directly as root (CL 27393)
|
||||
crypto/x509: check that the issuer name matches the issuer's subject name (CL 23571)
|
||||
crypto/x509: don't accept a root that already appears in a chain. (CL 32121)
|
||||
crypto/x509: fix name constraints handling (CL 30155)
|
||||
crypto/x509: parse all names in an RDN (CL 30810)
|
||||
crypto/x509: recognise ISO OID for RSA+SHA1 (CL 27394)
|
||||
crypto/x509: require a NULL parameters for RSA public keys (CL 16166, CL 27312)
|
||||
crypto/x509: return error for missing SerialNumber (CL 27238)
|
||||
crypto/x509: support RHEL 7 cert bundle (CL 30375)
|
||||
database/sql: accept nil pointers to Valuers implemented on value receivers (CL 31259)
|
||||
database/sql: add Pinger interface to driver Conn (CL 32136)
|
||||
database/sql: add context helper methods and transaction types (CL 31258)
|
||||
database/sql: add context methods (CL 29381)
|
||||
database/sql: add option to use named parameter in query arguments (CL 30166)
|
||||
database/sql: add support for multiple result sets (CL 30592)
|
||||
database/sql: don't hang if the driver Exec method panics (CL 23576)
|
||||
database/sql: support returning query database types (CL 29961)
|
||||
debug/pe: revert CL 22720 (CL 27212)
|
||||
encoding/base64: add Encoding.Strict (CL 24964)
|
||||
encoding/binary: add bool support (CL 28514)
|
||||
encoding/json: add struct and field name to UnmarshalTypeError message (CL 18692)
|
||||
encoding/json: encode nil Marshaler as "null" (CL 31932)
|
||||
encoding/json: fix decoding of null into Unmarshaler, TextUnmarshaler (CL 30944)
|
||||
encoding/json: marshal the RawMessage value type the same as its pointer type (CL 21811)
|
||||
encoding/json: use standard ES6 formatting for numbers during marshal (CL 30371)
|
||||
encoding/pem: be stricter about the ending line (CL 27391)
|
||||
expvar: add Value methods (CL 30917)
|
||||
expvar: export http.Handler (CL 24722)
|
||||
image/png: implement grayscale transparency. (CL 32143)
|
||||
image/png: implement truecolor transparency. (CL 32140)
|
||||
image/png: improve compression by skipping filter for paletted images (CL 29872)
|
||||
lib/time: update tzdata to 2016i (CL 33029)
|
||||
math/big: add (*Int).Sqrt (CL 30706)
|
||||
math/big: implement Float.Scan, type assert fmt interfaces to enforce docs (CL 30723)
|
||||
math/big: support negative numbers in ModInverse (CL 29299)
|
||||
math/rand: add Rand.Uint64 (CL 27253)
|
||||
mime: preserve unnecessary backslash escapes as literals (CL 32175)
|
||||
mime/quotedprintable: accept = not followed by 2 hex digits as literal equals (CL 32174)
|
||||
mime/quotedprintable: accept trailing soft line-break at the end of message (CL 27530)
|
||||
net/http, net/http/httptest: make http2's TrailerPrefix work for http1 (CL 32479)
|
||||
net/http: add ErrAbortHandler, make Server quiet if used as panic value (CL 33099)
|
||||
net/http: add NoBody, don't return nil from NewRequest on zero bodies (CL 31726)
|
||||
net/http: add Request.GetBody func for 307/308 redirects (CL 31733)
|
||||
net/http: add Server.Close & Server.Shutdown for forced & graceful shutdown (CL 32329)
|
||||
net/http: add Server.ReadHeaderTimeout, IdleTimeout, document WriteTimeout (CL 32024)
|
||||
net/http: add Transport.ProxyConnectHeader to control headers to proxies (CL 32481)
|
||||
net/http: add an interface for HTTP/2 server push (CL 32012)
|
||||
net/http: allow Handlers to test Hijacked conn without spamming error log (CL 30812)
|
||||
net/http: don't sniff Request.Body on 100-continue requests in Transport (CL 30151)
|
||||
net/http: handle 3xx redirects properly (CL 29852)
|
||||
net/http: make Client copy headers on redirect (CL 28930)
|
||||
net/http: make DefaultTransport's Dialer enable DualStack ("Happy Eyeballs") (CL 28077)
|
||||
net/http: make NewRequest set empty Body nil, don't peek Read Body in Transport (CL 31445)
|
||||
net/http: make Redirect escape non-ASCII in Location header (CL 31732)
|
||||
net/http: make Server Handler's Request.Context be done on conn errors (CL 31173)
|
||||
net/http: make Server log on bad requests from clients (CL 27950)
|
||||
net/http: make Transport reject URLs with bogus ports with non-digits (CL 32482)
|
||||
net/http: make Transport retry non-idempotent requests if no bytes written (CL 27117)
|
||||
net/http: make Transport support international domain names (CL 29072)
|
||||
net/http: omit Content-Length in Response.Write for 1xx or 204 status (CL 28351)
|
||||
net/http: returned typed error on Transport proxy dial (CL 30750)
|
||||
net/http: send Content-Range if no byte range overlaps (CL 24212)
|
||||
net/http: skip test needing good DNS in short mode, except on builders (CL 28782)
|
||||
net/http: support If-Match in ServeContent (CL 32014)
|
||||
net/http: support multiple identical Content-Length headers (CL 31252)
|
||||
net/http: update bundled http2 for ErrAbortHandler support, document it more (CL 33103)
|
||||
net/http: update bundled http2, add h2 Transport.IdleConnTimeout tests (CL 30078)
|
||||
net/mail: allow empty quoted string name in address again (CL 32176)
|
||||
net/mail: expose ParseDate, for use parsing Resent-Date headers (CL 31581)
|
||||
net/smtp: make Client.Auth trim final space if Auth.Start toServer is empty (CL 33143)
|
||||
net/url: add PathEscape, PathUnescape (CL 31322)
|
||||
net/url: add URL.Hostname and URL.Port accessors (CL 28933)
|
||||
net/url: handle escaped paths in ResolveReference (CL 28343)
|
||||
net/url: make URL implement encoding.BinaryMarshaler, BinaryUnmarshaler (CL 31467)
|
||||
net/url: prefix relative paths containing ":" in the first segment with "./" (CL 29610)
|
||||
net/url: reject colon in first segment of relative path in Parse (CL 31582)
|
||||
net: add (*UnixListener).SetUnlinkOnClose (CL 32099)
|
||||
net: always wake up the readers on close on Plan 9 (CL 31390)
|
||||
net: close the connection gracefully on Plan 9 (CL 31271)
|
||||
net: implement network interface API for Plan 9 (CL 29963)
|
||||
net: make lookupPort case-insensitive on Plan 9 (CL 29051)
|
||||
os: add Executable() (CL 16551)
|
||||
plugin: darwin support (CL 29392)
|
||||
plugin: mention OS X support and concurrency (CL 31463)
|
||||
plugin: new package for loading plugins (CL 27823)
|
||||
ports: doc: document minimum OS X version as 10.8 (CL 28870)
|
||||
ports: dragonfly: go1.8 requires DragonFly BSD 4.4.4 or above (CL 29491)
|
||||
ports: mips, mipsle
|
||||
ports: plan9: various fixes (Close unblocks Read, I/O deadline maybe?)
|
||||
reflect: add Swapper func (CL 30088)
|
||||
reflect: ignore struct tags when converting structs (CL 30191)
|
||||
runtime: Hybrid barrier. <100us GC pauses.
|
||||
runtime: defer is now 2X faster (CL 29656)
|
||||
runtime: optimize defer code (CL 29656)
|
||||
runtime: runtime.MemStats has much more detailed documentation (CL 28972)
|
||||
sort: add Slice, SliceStable, and SliceIsSorted (CL 27321)
|
||||
spec: ignore struct tags when converting structs (CL 24190)
|
||||
spec: require 16 bit minimum exponent in constants rather than 32 (CL 17711)
|
||||
strconv: strip \r in raw strings passed to Unquote (CL 31210)
|
||||
testing: add Name method to *T and *B (CL 29970)
|
||||
testing: add T.Context method (CL 31724)
|
||||
testing: add a method testing.CoverMode (CL 32483)
|
||||
testing: mark tests and benchmarks failed if a race occurs during execution (CL 32615)
|
||||
time: add Until helper function (CL 20118)
|
||||
time: allow long fractions in ParseDuration (CL 29338)
|
||||
tools: Many ppc64, s390x, arm, arm64 optimizations
|
||||
tools: New frontend
|
||||
tools: compile: SSA for 386, nacl, arm, arm64, ppc64, ppc64le, s390x ... (many CLs)
|
||||
tools: yacc: "go tool yacc" is removed. now at golang.org/x/tools/cmd/goyacc (CL 27324, CL 27325)
|
||||
unicode: change SimpleFold to handle invalid runes (CL 30935)
|
||||
|
Loading…
Reference in New Issue
Block a user