diff --git a/doc/go1.8.html b/doc/go1.8.html index 6f828b13d3a..a70cc442844 100644 --- a/doc/go1.8.html +++ b/doc/go1.8.html @@ -35,7 +35,8 @@ The release adds support for 32-bit MIPS, updates the compiler back end to generate more efficient code, reduces GC pauses by eliminating stop-the-world stack rescanning, adds HTTP/2 Push support, -adds HTTP graceful shutdown, +adds HTTP graceful shutdown, +more context support, and simplifies sorting slices.
@@ -43,7 +44,7 @@ and simplifies sorting slices.When explicitly converting structs, tags are now ignored for structural type identity. - See language specification for details. + See the language specification for details.
@@ -74,7 +75,7 @@ and cancelation.
Go 1.8 now only supports OS X 10.8 or later. This is likely the last - Go release to continue supporting 10.8. Compiling Go or running + Go release to support 10.8. Compiling Go or running binaries on older OS X versions is untested.
@@ -229,7 +230,7 @@ see improvements closer to the 32-bit ARM numbers.In addition to enabling the new compiler back end for all systems, Go 1.8 also introduces a new compiler front end. The new compiler - front end should not be noticeable to users is the foundation for + front end should not be noticeable to users but is the foundation for future performance work.
@@ -252,14 +253,15 @@ see improvements closer to the 32-bit ARM numbers.
-The go
command's basic operation
-is unchanged, but there are a number of changes worth noting.
+The go
command's basic operation
+is unchanged, but there is one addition worth noting.
- A new
+ The new
“go
- bug
” command helps users file bug reports.
+ bug
” starts a bug report on GitHub, prefilled
+ with information about the current system.
- In order to improve the readability of the doc
's
+ In order to improve the readability of doc
's
output, each summary of the first-level items is guaranteed to
occupy a single line.
- Documentation for interface methods is now only shown when requested
- explicitly.
+ Documentation for a specific method in an interface definition can
+ now be requested, as in
+ “go
doc
net.Conn.SetDeadline
”.
- Updating: Users of finalizers should see the example
- in the KeepAlive
documentation
- to see where a call to KeepAlive
might be needed.
-
runtime.KeepAlive
in functions or methods
+ using that object.
+ Read the
+ KeepAlive
+ documentation and its example for more details.
+
Garbage collection pauses should be significantly shorter than they - were in Go 1.7, often as low as 10 microseconds and usually under 100 - microseconds. + were in Go 1.7, usually under 100 microseconds and often as low as + 10 microseconds. See the document on eliminating stop-the-world stack re-scanning @@ -357,7 +364,7 @@ packages.
The overhead of deferred - function calls has been reduced by half. + function calls has been reduced by about half.
The HTTP Server now has support for graceful shutdown using the new
Server.Shutdown
- method. The related and more abrupt
+ method and abrupt shutdown using the new
Server.Close
- is also new.
+ method.
+ Continuing Go 1.7's adoption
+ of context.Context
+ into the standard library, Go 1.8 adds more context support
+ to existing packages:
+
Server.Shutdown
+ takes a context argument.T.Context
+ method in the testing package now returns a context for
+ the active test or benchmark.Lookup
methods on the new
+ net.Resolver
now
+ take a context.
@@ -493,8 +522,8 @@ in mind.
Similarly,
the Reader
- now updates the Header.ModTime
field only if the
- encoded MTIME
field is non-zero.
+ now reports a zero encoded MTIME
field as a zero
+ Header.ModTime
.
Context
such as
DB.QueryContext
and
DB.PrepareContext
- that support Context
. By using the new Context
methods it ensures
+ that take context arguments. Using the new Context
methods ensures that
connections are closed and returned to the connection pool when the
- request is done. It also enables canceling in-progress queries
- should the driver support it. Finally, using the Context
- methods allows the database pool to cancel waiting for the next
- available connection.
+ request is done; enables canceling in-progress queries
+ should the driver support that; and allows the database
+ pool to cancel waiting for the next available connection.
The IsolationLevel
@@ -541,8 +569,9 @@ in mind.
which can include SQL type information, column type lengths, and the Go type.
- Multiple result sets are now supported on Rows. After
- Rows.Next
returns false
+ A Rows
+ can now represent multiple result sets. After
+ Rows.Next
returns false,
Rows.NextResultSet
may be called to advance to the next result set. The existing Rows
should be continued to be used after it advances to the next result set.
@@ -553,11 +582,14 @@ in mind.
helps create a NamedParam
more succinctly.
- Drivers that support the new Pinger
- interface can now check if the server is still alive when the the
+ If a driver supports the new
+ Pinger
+ interface, the DB
's
DB.Ping
- or DB.PingContext
- is called.
+ and
+ DB.PingContext
+ methods will use that interface to check whether a
+ database connection is still valid.
The new Context
query methods work for all drivers, but
@@ -619,8 +651,8 @@ pkg debug/pe, type StringTable []uint8
- A nil
Marshaler
- now marshals as a JSON "null
" value.
+ A nil Marshaler
+ now marshals as a JSON null
value.
@@ -629,17 +661,20 @@ pkg debug/pe, type StringTable []uint8
- Marshal encodes floating-point numbers using the same format as in ES6,
+ Marshal
+ encodes floating-point numbers using the same format as in ES6,
preferring decimal (not exponential) notation for a wider range of values.
In particular, all floating-point integers up to 264 format the
same as the equivalent int64
representation.
- Implementations
+
+ In previous versions of Go, unmarshaling a JSON null
into an
of Unmarshaler
- are now called with the literal "null
" and can
- decide how to handle it.
+ was considered a no-op; now the Unmarshaler
's
+ UnmarshalJSON
method is called with the JSON literal
+ null
and can define the semantics of that case.
The new Rand.Uint64
- method returns uint64
values. The
- new Rand.Source64
+ method returns uint64
values. The
+ new Source64
interface describes sources capable of generating such values
directly; otherwise the Rand.Uint64
method
constructs a uint64
from two calls
- to Rand.Source
's Int63
method.
+ to Source
's
+ Int63
method.
Reader
's
parsing has been relaxed in two ways to accept
- more input seen in the wild. First, it now accepts
- a =
sign even if it's not followed by two hex
- digits.
+ more input seen in the wild.
- Second, it accepts a trailing soft line-break at the end of a
- message. That is, the final byte of the
- message may be a =
sign and it will now be ignored.
+
+ First, it accepts an equals sign (=
) not followed
+ by two hex digits as a literal equal sign.
+
+
+ Second, it silently ignores a trailing equals sign at the end of
+ an encoded input.
@@ -926,8 +964,8 @@ pkg debug/pe, type StringTable []uint8
URL.Hostname
and
URL.Port
- are accessors to the hostname and port fields of a URL
- and deal with the case where the port may or may not be present.
+ return the hostname and port fields of a URL,
+ correctly handling the case where the port may not be present.
The existing method @@ -961,7 +999,7 @@ pkg debug/pe, type StringTable []uint8
The new function
Executable
returns
- the running executable path name.
+ the path name of the running executable.