go/doc/go1.8.txt
Brad Fitzpatrick d5a8b9f571 doc: update go1.8.txt using new tool
With help of a new interactive commit classifier tool (tool location
TBD, likely x/build/cmd/writenotes), classify all commits from go1.7
up to 56d35d4.

We can selectively cull this list later. When in doubt, I erred on the
side of inclusion for now.

Change-Id: I458945004e1b1a148fb2f294b454a390ef4f92c2
Reviewed-on: https://go-review.googlesource.com/30696
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-10-09 19:15:43 +00:00

243 lines
14 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Overall:
Many more examples in documentations
plugin build mode & package (many CLs)
Many ppc64, s390x, arm, arm64 optimizations
New frontend
Language:
Alias declarations?
Tools:
compile: SSA for 386, nacl, arm, arm64, ppc64, ppc64le, s390x ... (many CLs)
yacc: "go tool yacc" is removed. now at golang.org/x/tools/cmd/goyacc (CL 27324, CL 27325)
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)
Ports:
dragonfly: go1.8 requires DragonFly BSD 4.4.4 or above (CL 29491)
API additions and behavior changes:
archive/tar: reapply Header.Size to regFileReader after merging (CL 28418)
archive/zip: handle mtime in NTFS/UNIX/ExtendedTS extra fields (CL 18274)
cmd/cgo: fix line info in _cgo_gotypes.go (CL 29713)
cmd/compile, runtime, etc: get rid of constant FP registers (CL 28095)
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 inline explainer (CL 22782)
cmd/compile: args no longer live until end of function - use runtime.KeepAlive instead (CL 28310)
cmd/compile: fail gracefully on export format skew (CL 27814)
cmd/compile: make ssa compilation unconditional (CL 29155)
cmd/compile: remove support for textual export format (CL 27171)
cmd/cover: Fix compiler directives handling (CL 30161)
cmd/dist: enable plugin test on darwin/amd64 (CL 29396)
cmd/dist: test PIE internal linking on linux/amd64 (CL 28545)
cmd/doc: ensure summaries truly are only one line (CL 25420)
cmd/doc: perform type grouping for constants and variables (CL 25419)
cmd/fix: add golang.org/x/net/context fix (CL 28872)
cmd/go: add bug command (CL 28485)
cmd/go: add distribution-specific info for Linux to bug command (CL 28581)
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/internal/obj, cmd/link: darwin dynlink support (CL 29393)
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: allow internal PIE linking (CL 28543)
cmd/link: fix -buildmode=pie / -linkshared combination (CL 28996)
cmd/link: plugin support on darwin/amd64 (CL 29394)
cmd/link: remove the -shared flag (CL 28852)
cmd/link: split large elf text sections on ppc64x (CL 27790)
cmd/objdump: implement objdump of .o files (CL 24818)
cmd/trace: move process-wide GC events to their own row (CL 30017)
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: 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)
context: make DeadlineExceeded implement net.Error (CL 30370)
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 Config.Clone (CL 28075)
crypto/tls: add KeyLogWriter for debugging (CL 27434)
crypto/tls: don't generate random ticket keys if already set (CL 27317)
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/x509: Fix bug in UnknownAuthorityError.Error (CL 27992)
crypto/x509: allow a leaf certificate to be specified directly as root (CL 27393)
crypto/x509: fix name constraints handling (CL 30155)
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)
database/sql: add context methods (CL 29381)
database/sql: don't hang if the driver Exec method panics (CL 23576)
debug/pe: revert CL 22720 (CL 27212)
doc: document minimum OS X version as 10.8 (CL 28870)
encoding/binary: add bool support (CL 28514)
encoding/json: add struct and field name to UnmarshalTypeError message (CL 18692)
encoding/json: use standard ES6 formatting for numbers during marshal (CL 30371)
encoding/pem: be stricter about the ending line (CL 27391)
expvar: export http.Handler (CL 24722)
fmt: document and adjust Scanf space handling to eliminate a few paradoxes (CL 30611)
go/ast, go/parser: parse alias declarations (CL 30211)
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/types: minimal support for alias declarations: don't crash (CL 30213)
html/template: check "type" attribute in <script> (CL 14336)
image/png: improve compression by skipping filter for paletted images (CL 29872)
internal/trace: fix analysis of EvGoWaiting/EvGoInSyscall events (CL 25572)
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/big: support negative numbers in ModInverse (CL 29299)
math/rand: add Rand.Uint64 (CL 27253)
math: fix Gamma(-171.5) on all platforms (CL 30540)
mime/quotedprintable: accept trailing soft line-break at the end of message (CL 27530)
net/http/httptest: fill ContentLength in recorded Response (CL 28302)
net/http/httputil: copy header map if necessary in ReverseProxy (CL 28493)
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/http: don't sniff Request.Body on 100-continue requests in Transport (CL 30151)
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 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: 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: update bundled http2, add h2 Transport.IdleConnTimeout tests (CL 30078)
net/url: add URL.Hostname and URL.Port accessors (CL 28933)
net/url: handle escaped paths in ResolveReference (CL 28343)
net/url: prefix relative paths containing ":" in the first segment with "./" (CL 29610)
net: add Buffers type, do writev on unix (CL 29951)
net: add Resolver type, Dialer.Resolver, and DefaultResolver (CL 29440)
net: implement network interface API for Solaris (CL 29892)
net: make LookupPort and lookupProtocol work on nacl (CL 28951)
net: make lookupPort case-insensitive on Plan 9 (CL 29051)
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: use libresolv rules for ndots range and validation (CL 24901)
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: prevent infinite symlink loop of Stat on Windows (CL 27580)
os: use GetConsoleCP() instead of GetACP() (CL 27575)
path/filepath: don't return SkipDir at top (CL 24780)
path/filepath: handle ".." in normalizing a path on Windows (CL 27410)
path/filepath: handle "C:." correctly in EvalSymlinks on Windows (CL 28214)
plugin: darwin support (CL 29392)
plugin: new package for loading plugins (CL 27823)
reflect: add Swapper func (CL 30088)
reflect: ignore struct tags when converting structs (CL 30191)
runtime, runtime/cgo: revert CL 18814; don't drop signal stack in new thread on dragonfly (CL 29971)
runtime/race: don't crash on invalid PCs (CL 29714)
runtime: assume 64kB physical pages on ARM (CL 25021)
runtime: bound scanobject to ~100 µs (CL 23540)
runtime: document MemStats (CL 28972)
runtime: don't call cgocallback from signal handler (CL 30218)
runtime: don't hard-code physical page size (CL 25022)
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: limit the number of map overflow buckets (CL 25049)
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)
sort: add Slice, SliceStable, and SliceIsSorted (CL 27321)
spec: ignore struct tags when converting structs (CL 24190)
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)
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 page size from runtime (CL 25051)
syscall: validate ParseDirent inputs (CL 23780)
testing: add Name method to *T and *B (CL 29970)
testing: respect benchtime on very fast benchmarks (CL 26664)
time: add Until helper function (CL 20118)
time: allow long fractions in ParseDuration (CL 29338)
website: recreate 16px and 32px favicon (CL 26850)
Optimizations:
bytes: Use the same algorithm as strings for Index (CL 22550)
bytes: improve WriteRune performance (CL 28816)
bytes: make IndexRune faster (CL 28537)
cmd/asm, go/build: invoke cmd/asm only once per package (CL 27636)
cmd/compile/internal/obj/x86: eliminate some function prologues (CL 24814)
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: don't reserve X15 for float sub/div any more (CL 28272)
cmd/compile: dont 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 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 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: missing float indexed loads/stores on amd64 (CL 28273)
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: 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: when inlining ==, dont take the address of the values (CL 22277)
container/heap: remove one unnecessary comparison in Fix (CL 24273)
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)
hash/crc32: improve the AMD64 implementation using SSE4.2 (CL 27931)
hash/crc32: improve the processing of the last bytes in the SSE4.2 code for AMD64 (CL 24470)
image/draw: optimize drawFillOver as drawFillSrc for opaque fills (CL 28790)
math/big: avoid allocation in float.{Add, Sub} when there's no aliasing (CL 23568)
math/big: use array instead of slice for deBruijn lookups (CL 26663)
math: speed up bessel functions on AMD64 (CL 28086)
reflect: avoid zeroing memory that will be overwritten (CL 28011)
regexp: reduce mallocs in Regexp.Find* and Regexp.ReplaceAll* (CL 23030)
runtime: implement getcallersp in Go (CL 29655)
runtime: improve memmove for amd64 (CL 22515, CL 29590)
runtime: increase malloc size classes (CL 24493)
runtime: make append only clear uncopied memory (CL 30192)
runtime: memclr perf improvements on ppc64x (CL 30373)
runtime: minor string/rune optimizations (CL 27460)
runtime: optimize defer code (CL 29656)
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)
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)
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: reduce bounds checks in EncodeRune (CL 28492)