From: Filippo Valsorda Date: Tue, 18 Dec 2018 01:01:10 +0000 (-0500) Subject: doc/go1.12: finish most Go 1.12 release notes X-Git-Tag: go1.12beta1~8 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=4e9b3ba84df34263f1d423c739c14a3acddd3dc0;p=gostls13.git doc/go1.12: finish most Go 1.12 release notes Change-Id: I598c9a2031001a6780b75c31d9015c880741b170 Reviewed-on: https://go-review.googlesource.com/c/154637 Reviewed-by: Brad Fitzpatrick --- diff --git a/doc/go1.12.html b/doc/go1.12.html index 76c5fe3aac..1ef43d9cf0 100644 --- a/doc/go1.12.html +++ b/doc/go1.12.html @@ -26,11 +26,17 @@ Do not send CLs removing the interior tags from such phrases.

The latest Go release, version 1.12, arrives six months after Go 1.11. - Most of its changes are in TODO. + 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 is a known issue in + the garbage collector that can cause rare crashes. It is being investigated. + Please report any issues you encounter. +

+

Changes to the language

@@ -39,30 +45,30 @@ Do not send CLs removing the interior tags from such phrases.

Ports

-

FreeBSD

+

+ The race detector is now supported on linux/arm64. +

-

+

Go 1.12 is the last release that is supported on FreeBSD 10.x, which has already reached end-of-life. Go 1.13 will require FreeBSD 11.2+ or FreeBSD 12.0+.

-

Darwin

- -

-Go 1.12 is the last release that will run on macOS 10.10 Yosemite. -Go 1.13 will require macOS 10.11 El Capitan or later. +

+ cgo is now supported on linux/ppc64.

-

- libSystem is now used when making syscalls on Darwin, ensuring forward-compatibility - with future versions of macOS. +

+ hurd is now a recognized value for GOOS, reserved + for the GNU/Hurd system for use with gccgo.

Windows

- TODO: status of ARM32 port? + Go's new windows/arm port supports running Go on Windows 10 + IoT Core on 32-bit ARM chips such as the Raspberry Pi 3.

AIX

@@ -71,11 +77,16 @@ Go 1.13 will require macOS 10.11 El Capitan or later. Go now supports AIX 7.2 and later on POWER8 architectures (aix/ppc64). External linking, cgo, pprof and the race detector aren't yet supported.

-

Hurd

+

Darwin

-

- hurd is now a recognized value for GOOS, reserved - for the GNU/Hurd system for use with gccgo. +

+ Go 1.12 is the last release that will run on macOS 10.10 Yosemite. + Go 1.13 will require macOS 10.11 El Capitan or later. +

+ +

+ libSystem is now used when making syscalls on Darwin, + ensuring forward-compatibility with future versions of macOS and iOS.

Tools

@@ -221,7 +232,7 @@ for { in an error like "relocation target not defined for ABIInternal (but is defined for ABI0)", please refer to help section of the ABI design document. - TODO(austin): Link to the design doc. +

@@ -230,6 +241,18 @@ for { printing and variable location information.

+

+ Go programs now also maintain stack frame pointers on linux/arm64 + for the benefit of profiling tools like perf. The frame pointer + maintenance has a small run-time overhead that varies but averages around 3%. + To build a toolchain that does not use frame pointers, set + GOEXPERIMENT=noframepointer when running make.bash. +

+ +

+ The obsolete "safe" compiler mode (enabled by the -u gcflag) has been removed. +

+

godoc and go doc

@@ -253,6 +276,14 @@ for { latency and throughput.

+

Assembler

+ +

+ On arm64, the platform register was renamed from + R18 to R18_PLATFORM to prevent accidental + use, as the OS could choose to reserve this register. +

+

Runtime

@@ -336,12 +367,8 @@ for { in mind.

- - - - - - + +
bufio

@@ -352,14 +379,6 @@ for {

-
build
-
-

- TODO: https://golang.org/cl/61511: support frame-pointer for arm64 -

- -
-
bytes

@@ -375,14 +394,6 @@ for {

-
cmd,runtime
-
-

- TODO: https://golang.org/cl/138675: enable race detector on arm64 -

- -
-
crypto/rand

@@ -501,14 +512,6 @@ for {

-
internal/poll
-
-

- TODO: https://golang.org/cl/130676: use F_FULLFSYNC fcntl for FD.Fsync on OS X -

- -
-
io

@@ -620,6 +623,11 @@ for { on most Unix systems.

+

+ File.Sync now uses F_FULLFSYNC on macOS + to properly flush content to permanent storage. Note that this might have a negative performance impact. +

+
path/filepath
@@ -790,3 +798,11 @@ for {
+
unsafe
+
+

+ It is invalid to convert a nil unsafe.Pointer to uintptr and back with arithmetic. + (This was already invalid, but will now cause the compiler to misbehave.) +

+ +