From: Russ Cox Date: Wed, 6 Dec 2017 03:20:46 +0000 (-0500) Subject: doc/go1.10: update release notes for recent commits X-Git-Tag: go1.10beta1~19 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d62809096ae13bd6caf00f5b604188c528376ed5;p=gostls13.git doc/go1.10: update release notes for recent commits Change-Id: Id6ced9a6c76131263041cdaf5ed17479be075fa6 Reviewed-on: https://go-review.googlesource.com/82075 Run-TryBot: Russ Cox TryBot-Result: Gobot Gobot Reviewed-by: Russ Cox --- diff --git a/doc/go1.10.html b/doc/go1.10.html index cdc0feee37..a42c719c82 100644 --- a/doc/go1.10.html +++ b/doc/go1.10.html @@ -64,6 +64,19 @@ in particular new instructions in the assembler and improvements to the code generated by the compilers.

+

+As announced in the Go 1.9 release notes, +Go 1.10 now requires FreeBSD 10.3 or later; +support for FreeBSD 9.3 has been removed. +

+ +

+On 32-bit MIPS systems, the new environment variable settings +GOMIPS=hardfloat (the default) and +GOMIPS=softfloat select whether to use +hardware instructions or software emulation for floating-point computations. +

+

Tools

Default GOROOT & GOTMPDIR

@@ -198,19 +211,25 @@ now includes PAUSE and CONT status update lines to make clearer when parallel tests pause and continue.

+

+The new go test -failfast flag +disables running additional tests after any test fails. +Note that tests running in parallel with the failing test are allowed to complete. +

+

Finally, the new go test -json flag filters test output through the new command go tool test2json to produce a machine-readable JSON-formatted description of test execution. -This should allow the creation of rich presentations of test execution +This allows the creation of rich presentations of test execution in IDEs and other tools.

For more details about all these changes, -see go help test +see go help test and the test2json documentation.

@@ -224,6 +243,12 @@ Also, the documentation has been updated to clarify that Go structs and Go arrays are not supported in the type signatures of cgo-exported functions.

+

+TODO: CL 70890 "permit passing string values directly between Go and C." +
+TODO: CL 66332 "special case C ptr types to use uintptr." +

+

During toolchain bootstrap, the environment variables CC and CC_FOR_TARGET specify the default C compiler that the resulting toolchain will use for host and target builds, respectively. @@ -235,6 +260,9 @@ Note that these variables only apply during toolchain bootstrap, to set the defaults used by the resulting toolchain. Later go build commands refer to the CC environment variable or else the built-in default. +

+ +

For more details, see the cgo documentation.

@@ -317,14 +345,13 @@ This release includes a new overview of availabl

Gofmt

-A few minor details of the default formatting of Go source code have changed. -First, some complex three-index slice expressions previously formatted like +Two minor details of the default formatting of Go source code have changed. +First, certain complex three-index slice expressions previously formatted like x[i+1 : j:k] and now format with more consistent spacing: x[i+1 : j : k]. Second, single-method interface literals written on a single line, which are sometimes used in type assertions, are no longer split onto multiple lines. -Third, blank lines following an opening brace are now always elided.

@@ -540,11 +567,6 @@ Now it also records the user and group names corresponding to those IDs, as well as the major and minor device numbers for device files.

-Errors created by the package now begin with a consistent “tar:” prefix. -(Previously they almost all began with a consistent “archive/tar:” prefix.) -TODO: Why are we changing these? (#22740) -

-

The new Header.Format field of type Format controls which tar header format the Writer uses. @@ -584,13 +606,12 @@ In Go 1.10, the Reader and < now support the widely-understood Info-Zip extension that encodes the time separately in the 32-bit Unix “seconds since epoch” form. The FileHeader's new Modified field of type time.Time obsoletes the ModifiedTime and ModifiedDate fields, which continue to hold the MS-DOS encoding. -The ModTime and -SetModTime methods -now simply read and write the new Modified field. The Reader and Writer now adopt the common convention that ZIP archive storing the Unix time encoding store the local time in the MS-DOS field, so that the time zone offset can be inferred. -TODO: These last bits are not true but probably should be (#22738) +For compatibility, the ModTime and +SetModTime methods +behave the same as in earlier releases; new code should use Modified directly.

The header for each file in a ZIP archive has a flag bit indicating whether @@ -606,10 +627,8 @@ Setting a FileHeader's new NonUTF8 field to true disables the heuristic entirely for that file.

-The Writer also now support setting the end-of-central-directory record's comment field, -by setting the Writer's new Comment field -before calling the Close method. -TODO: May change (#22737). +The Writer also now supports setting the end-of-central-directory record's comment field, +by calling the Writer's new SetComment method.

@@ -676,9 +695,17 @@ Parsed certificates also now report URI names and IP, email, and URI constraints PermittedURIDomains, and ExcludedURIDomains.

+

+The new MarshalPKCS1PublicKey +and ParsePKCS1PublicKey +functions convert an RSA public key to and from PKCS#1-encoded form. +

+

The new MarshalPKCS8PrivateKey -function converts a private key to PKCS#8 encoded form. +function converts a private key to PKCS#8-encoded form. +(ParsePKCS8PrivateKey +has existed since Go 1.)

@@ -701,6 +728,14 @@ instead of needing to encode all configuration into a string passed to sql.Open.

+Drivers that want to parse the configuration string only once per sql.DB +instead of once per sql.Conn, +or that want access to each sql.Conn's underlying context, +can make their Driver +implementations also implement DriverContext's +new OpenConnector method. +

+

Drivers that implement ExecerContext no longer need to implement Execer; similarly, drivers that implement QueryerContext @@ -762,10 +797,19 @@ unless the string is in a struct field with a tag forcing the use of PrintableSt Marshal also now respects struct tags containing application directives.

+The new MarshalWithParams +function marshals its argument as if the additional params were its associated +struct field tag. +

+

Unmarshal now respects struct field tags using the explicit and tag directives.

+

+Both Marshal and Unmarshal now support a new struct field tag +numeric, indicating an ASN.1 NumericString. +

encoding/csv
@@ -780,11 +824,6 @@ or setting Comma and Comment equal to each other. In the case of a syntax error in a CSV record that spans multiple input lines, Reader now reports the line on which the record started in the ParseError's new StartLine field.

-

-Reader also no longer strips carriage return characters -appearing before newline characters in multiline quoted strings. -TODO: Maybe not (#22746). -

encoding/hex
@@ -824,6 +863,17 @@ that causes it to report inputs with unknown JSON fields as a decoding error.

+
encoding/pem
+
+

+Encode +and +EncodeToMemory +no longer generate partial output when presented with a +block that is impossible to encode as PEM data. +

+
+
encoding/xml

@@ -939,6 +989,19 @@ compute square roots.

+
math/cmplx
+
+

+Branch cuts and other boundary cases in +Asin, +Asinh, +Atan, +and +Sqrt +have been corrected to match the definitions used in the C99 standard. +

+
+
math/rand

@@ -946,13 +1009,6 @@ The new function and corresponding Rand.Shuffle method shuffle an input sequence.

-

-The existing function and corresponding -Rand.Perm method -have been updated to use a more efficient algorithm, with the result -that the specific permutations they return have changed. -TODO: Remove? (#22744) -

math
@@ -1042,6 +1098,32 @@ meaning that the client connects to the proxy over HTTPS before issuing a standa On the server side, FileServer and its single-file equivalent ServeFile now apply If-Range checks to HEAD requests. FileServer also now reports directory read failures to the Server's ErrorLog. +The content-serving handlers also now omit the Content-Type header when serving zero-length content. +

+

+ResponseWriter's WriteHeader method now panics +if passed an invalid (non-3-digit) status code. +

+

+Redirect now sets the Content-Type header before writing its HTTP response. +

+
+ +
net/http/httputil
+
+

+The ReverseProxy now invokes +the +On the client side, an HTTP proxy (most commonly configured by +ProxyFromEnvironment) +can now be specified as an https:// URL, +meaning that the client connects to the proxy over HTTPS before issuing a standard, proxied HTTP request. +(Previously, HTTP proxy URLs were required to begin with http:// or socks5://.) +

+

+On the server side, FileServer and its single-file equivalent ServeFile +now apply If-Range checks to HEAD requests. +FileServer also now reports directory read failures to the Server's ErrorLog.

Redirect now sets the Content-Type header before writing its HTTP response. @@ -1073,7 +1155,9 @@ and Verify methods.

ReadMIMEHeader -now discards continuation (indented) header lines that appear before the first actual (unindented) header line. +now rejects any header that begins with a continuation (indented) header line. +Previously a header with an indented first line was treated as if the first line +were not indented.

@@ -1111,6 +1195,12 @@ For example, this can happen if code adds a host prefix like http://host/ to a path like /my/api, resulting in a URL with a doubled slash: http://host//my/api.

+ +

+UserInfo's methods +now treat a nil receiver as equivalent to a pointer to a zero UserInfo. +Previously, they panicked. +

os
@@ -1224,7 +1314,8 @@ environment variable before looking in the default system-specific list of known installation locations or in $GOROOT/lib/time/zoneinfo.zip.

-TODO: Maybe CL 68890. +The new function LoadLocationFromTZData +allows conversion of IANA time zone file data to a Location.