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
TODO: https://golang.org/cl/175218: add support for JavaScript modules
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.
TODO: https://golang.org/cl/171337: add Value.IsZero
TODO: https://golang.org/cl/174531: MakeFunc: allow assignment conversions on values returned from the wrapped function
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.