From fe9fc408f4a523567405b25d7c45feeac4ec2f6e Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor DRAFT RELEASE NOTES — Introduction to Go 1.21
We expect almost all Go programs to continue to compile and run as before.
+
Go 1.21 introduces a small change to the numbering of releases. In the past, we used Go 1.N to refer to both the overall Go language version and release family as well as the first release in that family. @@ -368,7 +368,11 @@
+
+ + + + The new slices package provides many common operations on slices, using generic functions that work with slices of any element type. @@ -382,6 +386,14 @@
+ TODO: https://go.dev/cl/496356: cmp: new package; modified api/next/59488.txt +
+@@ -485,6 +497,8 @@
@@ -493,6 +507,53 @@
+ TODO: https://go.dev/issue/46308: add VersionName function to return a string version of the TLS Version +
+ ++ TODO: https://go.dev/issue/60107: QUIC 0-RTT APIs +
+ ++ TODO: https://go.dev/cl/493655: crypto/tls: support QUIC as a transport; modified api/next/44886.txt +
+ ++ TODO: https://go.dev/cl/496818: crypto/tls: add SessionState and use it on the server side; modified api/next/60105.txt +
+ ++ TODO: https://go.dev/cl/496820: crypto/tls: add ClientSessionState.ResumptionState and NewResumptionState; modified api/next/60105.txt +
+ ++ TODO: https://go.dev/cl/496821: crypto/tls: add WrapSession and UnwrapSession; modified api/next/60105.txt +
+ ++ TODO: https://go.dev/cl/496822: crypto/tls: add SessionState.Extra; modified api/next/60105.txt +
+ ++ TODO: https://go.dev/cl/496995: crypto/tls: add QUIC 0-RTT APIs; modified api/next/44886.txt, api/next/60107.txt +
+ ++ TODO: https://go.dev/cl/497376: crypto/tls: implement Extended Master Secret; modified api/except.txt +
+ ++ TODO: https://go.dev/cl/497377: crypto/tls: add VersionName; modified api/next/46308.txt +
+@@ -521,6 +582,11 @@
COMPRESS_ZSTD
.
+
+
+ The package now defines the constant
+ R_PPC64_REL24_P9NOTOC
.
+
+ TODO: https://go.dev/issue/59584: expose ErrJSTemplate +
+ ++ TODO: https://go.dev/cl/496395: html/template: expose ErrJSTemplate; modified api/next/59584.txt +
+@@ -690,13 +768,13 @@
+
The new Int.Float64
method returns the nearest floating-point value to a
multi-precision integer, along with an indication of any
@@ -779,6 +857,10 @@
+ TODO: https://go.dev/cl/495079: os: if descriptor is non-blocking, retain that in Fd method +
+
On Windows calling
Truncate
on a
@@ -908,7 +990,7 @@
GODEBUG=cgocheck=1
is still available (and is still the default).
- +
A new type Pinner
has been added to the runtime
package. Pinner
s may be used to "pin" Go memory
such that it may be used more freely by non-Go code. For instance,
@@ -919,9 +1001,25 @@
+ TODO: https://go.dev/cl/472195: runtime: remove NOFRAME from asmcgocall, systemstack and mcall +
+ A few previously-internal GC metrics, such as live heap size, are
+ now available.
+
+ GOGC
and GOMEMLIMIT
are also now
+ available as metrics.
+
@@ -936,18 +1034,6 @@
- A few previously-internal GC metrics, such as live heap size, are
- now available.
-
- GOGC
and GOMEMLIMIT
are also now
- available as metrics.
-
@@ -1042,7 +1128,7 @@
+
As announced in the Go 1.20 release notes, Go 1.21 requires macOS 10.15 Catalina or later; support for previous versions has been discontinued. @@ -1050,7 +1136,7 @@
+
As announced in the Go 1.20 release notes, Go 1.21 requires at least Windows 10 or Windows Server 2016; support for previous versions has been discontinued. @@ -1100,3 +1186,11 @@