| Tools: |
| |
| cmd/cgo: fix C.complexfloat and C.complexdouble and treat as separate types from complex64 and complex128 (https://golang.org/cl/17208) |
| cmd/cgo: new pointer passing rules defined and enforced (https://golang.org/issue/12416, https://golang.org/issue/17064) |
| cmd/compile: parser now hand-written |
| cmd/compile: add -msan option (https://golang.org/cl/16160) |
| cmd/dist: use clang on FreeBSD (https://golang.org/cl/16635) |
| cmd/doc: search packages in breadth-first order (https://golang.org/cl/17691) |
| cmd/go: vendoring enabled by default (https://golang.org/cl/13967/) |
| cmd/go: flags for tests must precede package name if present; also makes it easier to pass flags to test binaries (https://golang.org/cl/14826) |
| cmd/go: add -msan option (https://golang.org/cl/16169) |
| cmd/go: -buildmode=pie now default on android/arm (https://golang.org/cl/16055) |
| cmd/link: add -libgcc option (https://golang.org/cl/16993) |
| cmd/link: add -msan option (https://golang.org/cl/16161) |
| cmd/vet: diagnose using Printf on a func value |
| cmd/vet: -all -shadow means all the default checks and the shadow check (https://golang.org/cl/16325) |
| |
| Ports: |
| |
| Add new experimental ports for linux/mips64 and linux/mips64le: no cgo, external linking or disasm yet (https://golang.org/cl/14460 and others) |
| NaCl is no longer restricted to pepper_41 (https://golang.org/cl/13958/) |
| |
| cmd/go: new -buildmode=shared, -buildmode=pie |
| |
| CX no longer available for 386 assembly? (https://golang.org/cl/16386) |
| |
| Reflect change: |
| cmd/compile/internal/gc: make embedded unexported structs RO (https://golang.org/cl/14085) |
| encoding/json: check for exported fields in embedded structs (https://golang.org/cl/14011) |
| encoding/xml: check for exported fields in embedded structs (https://golang.org/cl/14012) |
| reflect: adjust access to unexported embedded structs (https://golang.org/cl/14010) |
| |
| API additions and behavior changes: |
| |
| archive/zip: per-file compressors (https://golang.org/cl/16669) |
| bufio: add Scanner.Buffer (https://golang.org/cl/14599/) |
| bufio: add ErrFinalToken as a sentinel value for Scan's split functions (https://golang.org/cl/14924) |
| compress/bzip2: about 20% faster to decode (https://golang.org/cl/13853) |
| compress/flate: deprecate ReadError, WriteError (https://golang.org/cl/14834) |
| compress/flate: detect truncated streams (https://golang.org/cl/14833) |
| compress/gzip: detect truncated streams (https://golang.org/cl/14832) |
| compress/zlib: detect truncated streams (https://golang.org/cl/14835) |
| crypto/aes: dedicated asm version of AES-GCM (https://golang.org/cl/10484) |
| crypto/elliptic, ecrypto/ecdsa: P256 assembly (https://golang.org/cl/8968) |
| crypto/tls: allow tls.Listen when only GetCertifite is provided (https://golang.org/cl/13801) |
| crypto/tls: support for TSA_RSA_WITH_AES_128_GCM_SHA256 and TLS_RSA_WITH_AES_256_GCM_SHA384 (https://golang.org/cl/16924) |
| crypto/tls: RecordHeaderError (https://golang.org/cl/16078) |
| crypto/x509: permit negative serial numbers (https://golang.org/cl/17247) |
| crypto/x509: InsecureAlgorithmError (https://golang.org/cl/17400) |
| debug/elf: supports old-style compressed DWARF (https://golang.org/cl/17340) |
| debug/elf: transparent decompress of compressed sections (https://golang.org/cl/17341) |
| encoding/asn1: export tag and class constants (https://golang.org/cl/17311) |
| encoding/asn1: enforce use of short form lengths (https://golang.org/cl/16517) |
| encoding/asn1: reject invalid integers (https://golang.org/cl/17008) |
| encoding/json: Number marshaling check validity (https://golang.org/cl/12250) |
| encoding/xml: ,cdata attribute (https://golang.org/cl/16047) |
| encoding/xml: SyntaxError for prematurely ended XML (https://golang.org/cl/14315) |
| fmt: allow any integer type as an argument to the * operator (https://golang.org/cl/14491/) |
| fmt: scan %X for strings (https://golang.org/cl/15689) |
| image: add NYCbCrA types (https://golang.org/cl/15671) |
| io: MultiWriter now supports WriteString (https://golang.org/cl/12485) |
| math/big: new API Int.Text, Int.Append (https://golang.org/cl/14994) |
| math/big: Float implements TextMarshaler, TextUnmarshaler (https://golang.org/cl/15050) |
| math/big: -1 precision now works for float.Append |
| math/rand: add Read (https://golang.org/cl/14522) |
| net: ParseMAC now accepts 20-byte IPoIB link-layer addresses |
| net: DNS server error now reported as Temporary (https://golang.org/cl/14169) |
| net: rooted DNS names on Windows (https://golang.org/cl/13887), Plan 9 (https://golang.org/cl/15581) |
| net: https://golang.org/cl/17216 is "localhost." (possible bug; see https://golang.org/issue/13564) |
| net/http: new error codes from RFC 6585 (https://golang.org/cl/15732) |
| net/http: Client supports Expect: 100-continue (https://golang.org/cl/10091) |
| net/http: HTTP/2.0 support (many CLs) |
| net/http: FileServer now sorts directory entries (https://golang.org/cl/14161) |
| net/http: ResponseRecorder detects Content-Type (https://golang.org/cl/16096) |
| net/http: req.Method=="" now follows redirects like req.Method=="GET" (https://golang.org/cl/17318) |
| net/http: make NewRequest with empty method set Method==GET (https://golang.org/cl/17699) |
| net/url: make *url.Error implement net.Error (https://golang.org/cl/15672) |
| net/url: processing of host name stricter, more spec compliant (https://golang.org/cl/17387) |
| os: IsPermission, IsExist, and IsNotExist now handle *os.SyscallError (https://golang.org/cl/15730) |
| os/exec: ExitError includes stderr (https://golang.org/cl/11415) |
| path/filepath: EvalSymlinks changed (https://golang.org/cl/16192); possible bug (https://golang.org/issue/13582) |
| path/filepath: Join("c:", "a") now returns `c:a` instead of `c:\a` on windows (https://golang.org/cl/17470) |
| regexp: Copy method (https://golang.org/cl/16110) |
| runtime: GODEBUG=cgocheck=2 (https://golang.org/cl/16899) |
| runtime: only one goroutine in traceback (https://golang.org/cl/16512) maybe |
| runtime: best-effort detection of concurrent misuse of maps (https://golang.org/cl/17501) |
| sort: faster but different order (https://golang.org/cl/15688, https://golang.org/cl/17389) |
| strconv: QuoteToGraphic (https://golang.org/cl/14184/) |
| testing: pause test timer during t.Parallel (https://golang.org/cl/16989) |
| testing/quick: terminates for recursive types (https://golang.org/cl/13830) |
| text/template: ExecError (https://golang.org/cl/13957/) |
| text/template: trimming spaces (https://golang.org/cl/14391/) |
| text/template: Funcs check names (https://golang.org/cl/14562/) |
| text/template: IsTrue (https://golang.org/cl/14562/) |
| text/template: blocks and permit redefinition (https://golang.org/cl/14005) |
| time: reject invalid day of month in Parse (https://golang.org/cl/17710) |