Go 1.11 is not yet released. These are work-in-progress release notes. Go 1.11 is expected to be released in August 2018.
The latest Go release, version 1.11, arrives six months after Go 1.10. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before.
There are no changes to the language specification.
As announced in the Go 1.10 release notes, Go 1.11 now requires OpenBSD 6.2 or later, macOS 10.10 Yosemite or later, or Windows 7 or later; Support for previous versions of these operating systems has been removed.
There are known issues with NetBSD on i386 hardware.
TODO: PPC64LE race detector support
Go 1.11 adds an experimental port to WebAssembly (js/wasm
).
All of the changes to the standard library are minor.
As always, there are various minor changes and updates to the library, made with the Go 1 promise of compatibility in mind.
TODO: https://golang.org/cl/93875: enable c-shared/c-archive support for freebsd/amd64
TODO: https://golang.org/cl/94255: drop support for Windows Vista or below (Windows XP)
TODO: https://golang.org/cl/115038: remove support for macOS 10.9 and earlier
TODO: https://golang.org/cl/64451: randomly read an extra byte of randomness in some places.
TODO: https://golang.org/cl/48510: add NewGCMWithTagSize for custom tag sizes.
TODO: https://golang.org/cl/103876: add PublicKey.Size accessor
TODO: https://golang.org/cl/112115: add machine and OSABI constants
TODO: https://golang.org/cl/110561: allow Marshaling and Unmarshaling private tag class
TODO: https://golang.org/cl/112516: handle surplus padding consistently
TODO: https://golang.org/cl/99696: disallow quote for use as Comma
TODO: https://golang.org/cl/106256: reserve RISC-V arch names
TODO: https://golang.org/cl/93076: support non-looping animated gifs (LoopCount=-1)
TODO: https://golang.org/cl/105675: change TempFile prefix to a pattern
TODO: https://golang.org/cl/74851: speed-up addMulVVW on amd64
TODO: https://golang.org/cl/72810: add ListenConfig, Dialer.Control to permit socket opts before listen/dial
TODO: https://golang.org/cl/76391: implement (*syscall.RawConn).Read/Write on Windows
TODO: https://golang.org/cl/107715: add support for splice(2) in (*TCPConn).ReadFrom on Linux
TODO: https://golang.org/cl/108297: calling File leaves the socket in nonblocking mode
TODO: https://golang.org/cl/89275: don't sniff Content-type in Server when X-Content-Type-Options:nosniff
TODO: https://golang.org/cl/93296: add StatusMisdirectedRequest (421)
TODO: https://golang.org/cl/78835: add UserCacheDir
TODO: https://golang.org/cl/94856: add ModeIrregular flag
TODO: https://golang.org/cl/99337: enable symlink creation on Windows 10
TODO: https://golang.org/cl/100077: use poller when NewFile is called with a blocking descriptor.
TODO: https://golang.org/cl/108376: add func Ignored(sig Signal) bool
TODO: https://golang.org/cl/92456: add a way to enforce pure Go implementation
TODO: https://golang.org/cl/85887: use sparse mappings for the heap
TODO: https://golang.org/cl/94076: use native CAS and memory barrier on ARMv7
TODO: https://golang.org/cl/106156: use fixed TLS offsets on darwin/amd64 and darwin/386
TODO: https://golang.org/cl/109255: enable memory sanitizer on arm64
TODO: https://golang.org/cl/108679: on darwin, create theads using libc
TODO: https://golang.org/cl/102696: introduce "allocs" profile
TODO: https://golang.org/cl/70993: support tracking goroutine ancestor tracebacks with GODEBUG="tracebackancestors=N"
TODO: https://golang.org/cl/87095: enable profiling of RWMutex
TODO: https://golang.org/cl/106275: introduce Pointer type and use it instead of uintptr
TODO: https://golang.org/cl/112037: return RawString token rather than String for raw string literals
TODO: https://golang.org/cl/84480: add variable assignments
TODO: https://golang.org/cl/98157: add support for parsing timezones denoted by sign and offset