diff options
author | Brad Fitzpatrick <bradfitz@golang.org> | 2016-11-30 01:44:15 +0000 |
---|---|---|
committer | Brad Fitzpatrick <bradfitz@golang.org> | 2016-11-30 01:48:59 +0000 |
commit | 012ec29ad46128265e0ec2dd2ac3a620c01619c5 (patch) | |
tree | 525ee9c1424c34adc9166f3c5fae55434da566d1 | |
parent | 0b1b6d4ce32818e0aa6db3bd37c6ca4a4d5613af (diff) | |
download | go-012ec29ad46128265e0ec2dd2ac3a620c01619c5.tar.gz go-012ec29ad46128265e0ec2dd2ac3a620c01619c5.zip |
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>
-rw-r--r-- | doc/go1.8.html | 130 | ||||
-rw-r--r-- | doc/go1.8.txt | 353 |
2 files changed, 124 insertions, 359 deletions
diff --git a/doc/go1.8.html b/doc/go1.8.html index 1435542923..88ba6bc0a3 100644 --- a/doc/go1.8.html +++ b/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> diff --git a/doc/go1.8.txt b/doc/go1.8.txt index 6780b60242..7c61a4f91a 100644 --- a/doc/go1.8.txt +++ b/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) |