From cedc7c8f2091129514276c3c2f5f046f523a4684 Mon Sep 17 00:00:00 2001
From: Russ Cox
+
+
NOTE: This is a DRAFT of the Go 1.7 release notes, prepared for the Go 1.7 beta.
Go 1.7 has NOT yet been released.
By our regular schedule, it is expected some time in August 2016.
-
go/types
package has been updated to match the gc and gccgo compiler toolchains
in this respect.
+This change has no effect on the correctness of existing programs.
The experimental port to Linux on big-endian 64-bit PowerPC (linux/ppc64
)
now requires the POWER8 architecture or later.
-TODO: Pending ppc64le change for cgo.
@@ -138,7 +138,8 @@ The new back end, based on generates more compact, more efficient code and provides a better platform for optimizations such as bounds check elimination. -The new back end reduces the CPU time required by our benchmark programs by 5-35%. +The new back end reduces the CPU time required by +our benchmark programs by 5-35%.
@@ -229,7 +230,7 @@ is unchanged, but there are a number of changes worth noting.
This release removes support for the GO15VENDOREXPERIMENT
environment variable,
as announced in the Go 1.6 release.
Vendoring support
-is now a standard feature of the go command and toolchain.
+is now a standard feature of the go
command and toolchain.
@@ -360,10 +361,6 @@ and as noted below.
--TODO: Example here. -
-For more information about contexts, see the package documentation @@ -376,14 +373,10 @@ and the Go blog post
The testing
package now supports the definition
of tests with subtests and benchmarks with sub-benchmarks.
-
-TODO: Where is the documentation for this? -
- --TODO: Example here. +This support makes it easy to write table-driven benchmarks +and to create hierarchical tests. +It also provides a way to share common setup and tear-down code. +See the package documentation for details.
KeepAlive
provides an explicit mechanism for declaring
-that an allocated object is currently reachable,
+that an allocated object must be considered reachable
+at a particular point in a program,
typically to delay the execution of an associated finalizer.
@@ -533,14 +527,20 @@ generated by the new BestSpeed
.
-TODO: Describe Config.DynamicRecordSizingDisabled or whatever replaces it.
+The TLS implementation sends the first few data packets on each connection
+using small record sizes, gradually increasing to the TLS maximum record size.
+This heuristic reduces the amount of data that must be received before
+the first packet can be decrypted, improving communication latency over
+low-bandwidth networks.
+Config
's
+DynamicRecordSizingDisabled
field to true.
The TLS client now has optional, limited support for server-initiated renegotiation,
enabled by setting the
Config
's
-Renegotiation field.
+Renegotiation
field.
This is needed for connecting to many Microsoft Azure servers.
Transport
implementation passes the request context
to any dial operation connecting to the remote server.
If a custom dialer is needed, the new Transport
field
-Dialer
is preferred over the existing Dial
field,
-because the former can accept a context.
+DialContext
is preferred over the existing Dial
field,
+to allow the transport to supply a context.
@@ -1086,14 +1086,6 @@ The
-TODO: Describe whatever the final state is after golang.org/issue/15813 is resolved. -
-