| 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: |
| |
| 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 compiler phase timing (CL 24462) |
| cmd/compile: add inline explainer (CL 22782) |
| cmd/compile: enable flag-specified dump of specific phase+function (CL 23044) |
| cmd/compile: remove -A flag (CL 31497) |
| |
| 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) |
| |
| crypto/cipher: enforce message size limits for GCM (CL 28410) |
| |
| 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: 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) |
| |
| 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) |
| |
| 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) |
| |
| 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) |
| |
| mime: preserve unnecessary backslash escapes as literals (CL 32175) |
| |
| 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 (*UnixListener).SetUnlinkOnClose (CL 32099) |
| 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) |
| os: don't let File.Readdir return an empty slice and nil error (CL 28056) |
| os: make IsExist report true on ERROR_DIR_NOT_EMPTY on Windows (CL 29753) |
| 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) |
| runtime/pprof: write profiles in protobuf format. (CL 32257) |
| runtime/race: update race runtime (CL 32160) |
| runtime: Profile goroutines holding contended mutexes. (CL 29650) |
| runtime: assume 64kB physical pages on ARM (CL 25021) |
| runtime: disable stack rescanning by default (CL 31766) |
| runtime: don't call cgocallback from signal handler (CL 30218) |
| runtime: fetch physical page size from the OS (CL 25050) |
| runtime: fix check for vacuous page boundary rounding (CL 27230) |
| runtime: fix map iterator concurrent map check (CL 24749) |
| runtime: fix newextram PC passed to race detector (CL 29712) |
| runtime: implement unconditional hybrid barrier (CL 31765) |
| runtime: include pre-panic/throw logs in core dumps (CL 32013) |
| runtime: limit the number of map overflow buckets (CL 25049) |
| runtime: pass windows float syscall args via XMM (CL 32173) |
| runtime: print sigcode on signal crash (CL 32183) |
| runtime: record current PC for SIGPROF on non-Go thread (CL 30252) |
| runtime: report GCSys and OtherSys in heap profile (CL 29276) |
| runtime: sleep on CLOCK_MONOTONIC in futexsleep1 on freebsd (CL 30154) |
| runtime: use RtlGenRandom instead of CryptGenRandom (CL 29700) |
| runtime: use clock_gettime(CLOCK_REALTIME) for nanosecond-precision time.now on arm64, mips64x (CL 32177) |
| runtime: use correct system page size on all arches (CL 25022) |
| runtime: handle SIGPIPE in c-archive and c-shared programs (CL 32796) |
| |
| syscall: Clearenv now unsets env vars on Windows (CL 33168) |
| syscall: add bounds checking and error returns to ParseNetlinkMessage (CL 26990) |
| syscall: fix Send{msg,msgN}, Recvmsg and control message handling on solaris (CL 30171) |
| syscall: make Getpagesize return system-reported page size (CL 25051) |
| syscall: make Utimes on Solaris match all the other geese (CL 31446) |
| 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) |
| 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/rand: add Rand.Uint64 (CL 27253) |
| 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: 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) |