Go 1.13 is not yet released. These are work-in-progress release notes. Go 1.13 is expected to be released in August 2019.
As of Go 1.13, the go command downloads and authenticates modules using the Go module mirror and Go checksum database run by Google. See https://proxy.golang.org/privacy for privacy information about these services and the go command documentation for configuration details.
TODO
TODO
TODO
As announced in the Go 1.12 release notes, Go 1.13 now requires macOS 10.11 El Capitan or later; support for previous versions has been discontinued.
As announced in the Go 1.12 release notes, Go 1.13 now requires FreeBSD 11.2 or later; support for previous versions has been discontinued. FreeBSD 12.0 or later requires a kernel with the COMPAT_FREEBSD11 option set (this is the default).
TODO
TODO
TODO generally
TODO; link to Go 1.12 notes.
As always, there are various minor changes and updates to the library, made with the Go 1 promise of compatibility in mind.
TODO
TODO: https://golang.org/cl/174457: add new GOOS=illumos, split out of GOOS=solaris
TODO: https://golang.org/cl/161760: hoist error creation out of function
The new ToValidUTF8 function returns a
copy of a given byte slice with each run of invalid UTF-8 byte sequences replaced by a given slice.
TODO: https://golang.org/cl/169080: don't depend on fmt
TODO: https://golang.org/cl/174945: promote from golang.org/x/crypto/ed25519
TODO: https://golang.org/cl/177698: add support for Ed25519 certificates in TLS 1.2 and 1.3
The new NullTime type represents a time.Time that may be null.
The new NullInt32 type represents an int32 that may be null.
TODO: https://golang.org/cl/158797: more graceful handling of unsupported types
When using a <script> tag with "module" set as the
type attribute, code will now be interperted as JavaScript module script.
TODO: https://golang.org/cl/168920: expose Writer() method of the standard logger
TODO: https://golang.org/cl/160682: implement Rat.SetUint64
TODO: https://golang.org/cl/168237: accept non-decimal floats with Rat.SetString
TODO: https://golang.org/cl/178177: document that Add, Sub, Mul, RotateLeft, ReverseBytes are constant time
TODO: https://golang.org/cl/156366: use DNS over TCP when use-vc is set in resolv.conf
TODO: https://golang.org/cl/166297: use libSystem bindings for DNS resolution on macos if cgo is unavailable
TODO: https://golang.org/cl/170678: add KeepAlive field to ListenConfig
The new field Transport.ForceAttemptHTTP2
controls whether HTTP/2 is enabled when a non-zero Dial, DialTLS, or DialContext
func or TLSClientConfig is provided.
When reusing HTTP/2, the Transport no longer performs unnecessary TLS handshakes.
TimeoutHandler's
ResponseWriter now implements the
Pusher and Flusher interfaces.
The new Server fields
BaseContext and
ConnContext
allow finer control over the Context values provided to requests and connections.
The new UserConfigDir function
returns the default directory to use for user-specific configuration data.
If a File is opened using the O_APPEND flag, its
WriteAt method will always return an error.
On Windows, the environment for a Cmd always inherits the
%SYSTEMROOT% value of the parent process unless the
Cmd.Env field includes an explicit value for it.
The new Value.IsZero method reports whether a Value is a zero value for its type.
The MakeFunc function now allows assignment conversions on returned values, instead of requiring exact type match. This is particularly useful when the type being returned is an interface type, but the value actually returned is a concrete value implementing that type.
TODO: https://golang.org/cl/170318: randomize package initialization order in race mode
TODO: https://golang.org/cl/166497: report event scanning error on read event
TODO: https://golang.org/cl/170127: look for android_get_device_api_level in libc.so
The new ToValidUTF8 function returns a
copy of a given string with each run of invalid UTF-8 byte sequences replaced by a given string.
Large sync.Pool no longer increase stop-the-world pause times.
Pool no longer needs to be completely repopulated after every GC. It now retains some objects across GCs,
as opposed to releasing all objects, reducing load spikes for heavy users of Pool.
TODO: https://golang.org/cl/168479: avoid _getdirentries64 on darwin
TODO: https://golang.org/cl/174197: allow setting security attributes on processes
TODO: https://golang.org/cl/174320: don't return EINVAL on zero Chmod mode on Windows
TODO: https://golang.org/cl/177537: replace TypedArrayOf with CopyBytesToGo/CopyBytesToJS
TODO: https://golang.org/cl/112155: stop rounding b.N
TODO: https://golang.org/cl/166717: add B.ReportMetric for custom benchmark metrics
TODO: https://golang.org/cl/173722: delay flag registration; move to an Init function
The new AllowNumberbars
mode allows number literals to contain underbars as digit separators.
The new slice function returns the result of slicing its first argument by the following arguments.
Day-of-year is now supported by Format
and Parse.
The new Duration methods
Microseconds and
Milliseconds return
the duration as an integer count of their respectively named units.