Go 1.19 is not yet released. These are work-in-progress release notes. Go 1.19 is expected to be released in August 2022.
TODO: complete this section
TODO: complete this section, or delete if not needed
TODO: complete this section, or delete if not needed
TODO: complete this section.
The -trimpath
flag, if set, is now included in the build settings
stamped into Go binaries by go
build
, and can be
examined using
go
version
-m
or debug.ReadBuildInfo
.
go
generate
now sets the GOROOT
environment variable explicitly in the generator's environment, so that
generators can locate the correct GOROOT
even if built
with -trimpath
.
unix
build constraint
The build constraint unix
is now recognized
in //go:build
lines. The constraint is satisfied
if the target operating system, also known as GOOS
, is
a Unix or Unix-like system. For the 1.19 release it is satisfied
if GOOS
is one of
aix
, android
, darwin
,
dragonfly
, freebsd
, hurd
,
illumos
, ios
, linux
,
netbsd
, openbsd
, or solaris
.
In future releases the unix
constraint may match
additional newly supported operating systems.
TODO: complete this section, or delete if not needed
TODO: complete this section, or delete if not needed
TODO: complete this section, or delete if not needed
TODO: complete this section
As always, there are various minor changes and updates to the library, made with the Go 1 promise of compatibility in mind.
TODO: complete this section
The tls10default
GODEBUG
option has been
removed. It is still possible to enable TLS 1.0 client-side by setting
Config.MinVersion
.
Draw
with the Src
operator preserves
non-premultiplied-alpha colors when destination and source images are
both *image.NRGBA
(or both *image.NRGBA64
).
This reverts a behavior change accidentally introduced by a Go 1.18
library optimization, to match the behavior in Go 1.17 and earlier.
The pure Go resolver will now use EDNS(0) to include a suggested
maximum reply packet length, permitting reply packets to contain
up to 1232 bytes (the previous maximum was 512).
In the unlikely event that this causes problems with a local DNS
resolver, setting the environment variable
GODEBUG=netdns=cgo
to use the cgo-based resolver
should work.
Please report any such problems on the
issue tracker.
When a net package function or method returns an "I/O timeout"
error, the error will now satisfy errors.Is(err,
context.DeadlineExceeded)
. When a net package function
returns an "operation was canceled" error, the error will now
satisfy errors.Is(err, context.Canceled)
.
These changes are intended to make it easier for code to test
for cases in which a context cancelation or timeout causes a net
package function or method to return an error, while preserving
backward compatibility for error messages.
An exec.Cmd
with a non-empty Dir
and a
nil Env
now implicitly sets the PWD
environment
variable for the subprocess to match Dir
.
The new method (*exec.Cmd).Environ
reports the
environment that would be used to run the command, including the
aforementioned PWD
variable.
The GOROOT
function now returns the empty string
(instead of "go"
) when the binary was built with
the -trimpath
flag set and the GOROOT
variable is not set in the process environment.
strconv.Quote
and related functions now quote the rune 007F as \x7f
,
not \u007f
.