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: Tools: go: -buildmode=c-archive now builds PIC on ELF (CL 24180) go: mobile pkg dir change, recommend using go list in scripts (CL 24930, CL 27929) go, dist: can set default pkg-config tool using PKG_CONFIG env var (CL 29991) go: can set secure/insecure GIT schemes using GIT_ALLOW_PROTOCOL env var (CL 30135) API additions and behavior changes: 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/cgo: add #line directives to avoid printing bogus references to Go source files (CL 32613) cmd/cgo: add -srcdir option (CL 32354) cmd/cgo: don't ignore qualifiers, don't cast to void* (CL 33097) cmd/cgo: fix line info in _cgo_gotypes.go (CL 29713) cmd/cgo: throw if C.malloc returns nil (CL 31768) cmd/compile, runtime, etc: get rid of constant FP registers (CL 28095) cmd/compile, runtime: add go:yeswritebarrierrec pragma (CL 30938) cmd/compile/internal/gc: add runtime/trace support (CL 25354) cmd/compile/internal/gc: enable new parser by default (CL 27203) cmd/compile/internal/syntax: fast Go syntax trees, initial commit (CL 27195) cmd/compile: add SSA backend for s390x and enable by default (CL 28978) cmd/compile: add compiler phase timing (CL 24462) cmd/compile: add go:notinheap type pragma (CL 30939) cmd/compile: add inline explainer (CL 22782) cmd/compile: do more type conversion inline (CL 32313) cmd/compile: enable flag-specified dump of specific phase+function (CL 23044) cmd/compile: fail gracefully on export format skew (CL 27814) cmd/compile: inline convI2E (CL 31260) cmd/compile: remove -A flag (CL 31497) cmd/compile: remove support for textual export format (CL 27171) cmd/cover: Fix compiler directives handling (CL 30161) cmd/cover: change covered block for switch/select case to exclude expression (CL 32612) cmd/cover: handle gotos (CL 30977) cmd/dist, go/build: make CGO_ENABLED during make.bash sticky (CL 31141) cmd/dist: enable plugin test on darwin/amd64 (CL 29396) cmd/dist: test PIE internal linking on linux/amd64 (CL 28545) cmd/fix: add golang.org/x/net/context fix (CL 28872) cmd/go, testing: indicate when no tests are run (CL 22341) cmd/go: add bug command (CL 28485) cmd/go: add distribution-specific info for Linux to bug command (CL 28581) cmd/go: apply import restrictions to test code too (CL 31821) cmd/go: diagnose non-canonical import paths before compilation (CL 31668) cmd/go: enable -buildmode=plugin on darwin/amd64 (CL 29395) cmd/go: for -msan build runtime/cgo with -fsanitize=memory (CL 24855) cmd/go: make bug subcommand open the browser (CL 29210) cmd/go: make go test -i -o x.test actually write x.test (CL 31352) cmd/go: print more env variables in "go env" (CL 31330) cmd/go: referee another vendor vs symlink fight (CL 31665) cmd/go: use cgo -srcdir when using SWIG (CL 32485) cmd/internal/obj, cmd/link: darwin dynlink support (CL 29393) cmd/internal/objfile: add ppc64/ppc64le disassembler support (CL 9682) cmd/link, cmd/go: delay linking of mingwex and mingw32 until very end (CL 26670) cmd/link: R_ADDR dynamic relocs for internal PIE (CL 29118) cmd/link: add trampolines for too far calls in ppc64x (CL 30850) cmd/link: allow internal PIE linking (CL 28543) cmd/link: fix -X importpath.name=value when import path needs escaping (CL 31970) cmd/link: fix -buildmode=pie / -linkshared combination (CL 28996) cmd/link: for -buildmode=exe pass -no-pie to external linker (CL 33106) cmd/link: insert trampolines for too-far jumps on ARM (CL 29397) cmd/link: non-executable stack support for Solaris (CL 24142) cmd/link: plugin support on darwin/amd64 (CL 29394) cmd/link: put text at address 0x1000000 on darwin/amd64 (CL 32185) cmd/link: remove the -shared flag (CL 28852) cmd/link: split large elf text sections on ppc64x (CL 27790) cmd/link: trampoline support for external linking on ARM (CL 31143) cmd/objdump: implement objdump of .o files (CL 24818) cmd/pprof: add options to skip tls verification (CL 33157) cmd/pprof: don't print binary outputs in interactive mode (CL 31123) 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) cmd/vet: accept space-separated tag lists for compatibility with cmd/go (CL 32030) cmd/vet: allow ^& uintptr arithmetic (CL 27156) cmd/vet: allow any printf verb with any interface (CL 27127) cmd/vet: check for copying of array of locks (CL 24340) cmd/vet: check for duplicate json, xml struct field tags (CL 16704) cmd/vet: detect defer resp.Body.Close() before error check (CL 32911) cmd/vet: diagnose non-space-separated struct tag like `json:"x",xml:"y"` (CL 32031) 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) 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, compress/zlib: add HuffmanOnly as compression levels. (CL 31186) compress/gzip: only encode MTIME if it is valid (CL 32325) crypto/cipher: enforce message size limits for GCM (CL 28410) crypto/rsa: ensure that generating toy RSA keys doesn't loop (CL 28969) 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/x509: Fix bug in UnknownAuthorityError.Error (CL 27992) 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: expose UnknownAuthorityError.Cert (CL 32644) crypto/x509: fix name constraints handling (CL 30155) crypto/x509: implement SystemCertPool on Windows (CL 30578) 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) crypto/x509: require a NULL parameters for RSA public keys (CL 27312) crypto/x509: return error for missing SerialNumber (CL 27238) crypto/x509: support PSS signatures (CL 24743) crypto/x509: support RHEL 7 cert bundle (CL 30375) crypto/{cipher,tls,internal/cryptohw}: prioritise AES-GCM when hardware support is present. (CL 32871) 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/elf: add sparc64 relocations (CL 30870) debug/pe: revert CL 22720 (CL 27212) encoding/asn1: return error for unexported fields in Marshal, Unmarshal (CL 31540) encoding/base64: add Encoding.Strict (CL 24964) 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) 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) flag: arrange for FlagSet.Usage to be non-nil by default (CL 31576) fmt: document and adjust Scanf space handling to eliminate a few paradoxes (CL 30611) 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/internal/gcimporter: fail gracefully on export format skew (CL 27816) 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