From acc93dac8360640f860cf25985aebe7039bc71a5 Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Thu, 23 May 2024 10:11:35 -0400 Subject: [PATCH] doc/next: populate TODOs found with relnote todo This is the first round of TODOs created based on relnote todo output. There are many entries that need to be documented, expanded, reworded, and this change makes progress on setting that up. For this cycle, relnote todo implemented a simple heuristic of finding CLs that mention accepted proposals (see issue 62376, or comment https://go.dev/issue/62376#issuecomment-2101086794 specifically). The "Items that don't need to be mentioned in Go 1.23 release notes but are picked up by relnote todo." section in todo.md contains an attempt at reviewing that list. The large number of items needed to be reviewed made it impractical to spend much time on any individual one. For #65614. Change-Id: Id9d5f1795575a46df2ec4ed0088de07ee6075a90 Reviewed-on: https://go-review.googlesource.com/c/go/+/588015 Reviewed-by: Dmitri Shuralyov Auto-Submit: Dmitri Shuralyov LUCI-TryBot-Result: Go LUCI Reviewed-by: Carlos Amedee --- doc/next/3-tools.md | 19 ++++++ doc/next/5-toolchain.md | 5 ++ doc/next/6-stdlib/1-time.md | 2 + .../6-stdlib/99-minor/crypto/tls/67061.md | 2 + .../6-stdlib/99-minor/crypto/tls/67065.md | 3 + doc/next/6-stdlib/99-minor/go/types/46477.md | 13 ++++ doc/next/6-stdlib/99-minor/net/http/66343.md | 1 + .../6-stdlib/99-minor/runtime/debug/42888.md | 1 - .../6-stdlib/99-minor/text/template/57646.md | 1 + doc/next/7-ports.md | 6 ++ doc/next/9-todo.md | 59 +++++++++++++++++++ 11 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 doc/next/6-stdlib/99-minor/crypto/tls/67061.md create mode 100644 doc/next/6-stdlib/99-minor/crypto/tls/67065.md create mode 100644 doc/next/6-stdlib/99-minor/go/types/46477.md create mode 100644 doc/next/6-stdlib/99-minor/net/http/66343.md create mode 100644 doc/next/6-stdlib/99-minor/text/template/57646.md create mode 100644 doc/next/9-todo.md diff --git a/doc/next/3-tools.md b/doc/next/3-tools.md index 93a332eac1..0526c37687 100644 --- a/doc/next/3-tools.md +++ b/doc/next/3-tools.md @@ -18,8 +18,23 @@ The new `go` `mod` `tidy` `-diff` flag causes the command not to modify the files but instead print the necessary changes as a unified diff. It exits with a non-zero code if updates are needed. + + +The `go` `list` `-m` `-json` command now includes new `Sum` and `GoModSum` fields. +This is similar to the existing behavior of the `go` `mod` `download` `-json` command. + + +The new `go` `telemetry` command should be documented here, +as well as `GOTELEMETRY` and `GOTELEMETRYDIR` environment variables. + + + + + + ### Vet {#vet} + The `go vet` subcommand now includes the [stdversion](https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/stdversion) analyzer, which flags references to symbols that are too new for the version @@ -34,3 +49,7 @@ module whose go.mod file specifies `go 1.21`. ### Cgo {#cgo} + +[cmd/cgo] supports the new `-ldflags` flag for passing flags to the C linker. +The `go` command uses it automatically, avoiding "argument list too long" +errors with a very large `CGO_LDFLAGS`. diff --git a/doc/next/5-toolchain.md b/doc/next/5-toolchain.md index 8f36239779..c9437a6a8b 100644 --- a/doc/next/5-toolchain.md +++ b/doc/next/5-toolchain.md @@ -20,4 +20,9 @@ Hot block alignment can be disabled with `-gcflags=[=]-d=alignhot=0` ## Linker {#linker} + +TODO: Say what needs to be said in Go 1.23 release notes regarding +the locking down of future linkname uses. + +The new `-bindnow` flag enables full RELRO on ELF targets. diff --git a/doc/next/6-stdlib/1-time.md b/doc/next/6-stdlib/1-time.md index c809764ce1..6046ac5350 100644 --- a/doc/next/6-stdlib/1-time.md +++ b/doc/next/6-stdlib/1-time.md @@ -3,12 +3,14 @@ Go 1.23 makes two significant changes to the implementation of [time.Timer] and [time.Ticker]. + First, `Timer`s and `Ticker`s that are no longer referred to by the program become eligible for garbage collection immediately, even if their `Stop` methods have not been called. Earlier versions of Go did not collect unstopped `Timer`s until after they had fired and never collected unstopped `Ticker`s. + Second, the timer channel associated with a `Timer` or `Ticker` is now unbuffered, with capacity 0. The main effect of this change is that Go now guarantees diff --git a/doc/next/6-stdlib/99-minor/crypto/tls/67061.md b/doc/next/6-stdlib/99-minor/crypto/tls/67061.md new file mode 100644 index 0000000000..4f53f509ef --- /dev/null +++ b/doc/next/6-stdlib/99-minor/crypto/tls/67061.md @@ -0,0 +1,2 @@ + +X25519Kyber768Draft00 is now enabled by default when [Config.CurvePreferences] is not set. diff --git a/doc/next/6-stdlib/99-minor/crypto/tls/67065.md b/doc/next/6-stdlib/99-minor/crypto/tls/67065.md new file mode 100644 index 0000000000..3fcc8d5309 --- /dev/null +++ b/doc/next/6-stdlib/99-minor/crypto/tls/67065.md @@ -0,0 +1,3 @@ +Go 1.23 changed the behavior of [X509KeyPair] and [LoadX509KeyPair] +to populate the [Certificate.Leaf] field of the returned [Certificate]. +The new `x509keypairleaf` [GODEBUG setting](/doc/godebug) is added for this behavior. diff --git a/doc/next/6-stdlib/99-minor/go/types/46477.md b/doc/next/6-stdlib/99-minor/go/types/46477.md new file mode 100644 index 0000000000..b0a2d21b15 --- /dev/null +++ b/doc/next/6-stdlib/99-minor/go/types/46477.md @@ -0,0 +1,13 @@ + diff --git a/doc/next/6-stdlib/99-minor/net/http/66343.md b/doc/next/6-stdlib/99-minor/net/http/66343.md new file mode 100644 index 0000000000..128ce68d45 --- /dev/null +++ b/doc/next/6-stdlib/99-minor/net/http/66343.md @@ -0,0 +1 @@ +[Error] now removes misleading response headers. diff --git a/doc/next/6-stdlib/99-minor/runtime/debug/42888.md b/doc/next/6-stdlib/99-minor/runtime/debug/42888.md index 2a65e691fe..f10753d25c 100644 --- a/doc/next/6-stdlib/99-minor/runtime/debug/42888.md +++ b/doc/next/6-stdlib/99-minor/runtime/debug/42888.md @@ -1,4 +1,3 @@ - The [SetCrashOutput] function allows the user to specify an alternate file to which the runtime should write its fatal crash report. It may be used to construct an automated reporting mechanism for all diff --git a/doc/next/6-stdlib/99-minor/text/template/57646.md b/doc/next/6-stdlib/99-minor/text/template/57646.md new file mode 100644 index 0000000000..5b8f031432 --- /dev/null +++ b/doc/next/6-stdlib/99-minor/text/template/57646.md @@ -0,0 +1 @@ +Templates now support the new "else with" action, which reduces template complexity in some use cases. diff --git a/doc/next/7-ports.md b/doc/next/7-ports.md index f84cefc59b..64d19e4b0d 100644 --- a/doc/next/7-ports.md +++ b/doc/next/7-ports.md @@ -7,6 +7,12 @@ As [announced](go1.22#darwin) in the Go 1.22 release notes, Go 1.23 requires macOS 11 Big Sur or later; support for previous versions has been discontinued. +### OpenBSD {#openbsd} + + + +Go 1.23 adds experimental support for OpenBSD on RISC-V (`GOOS=openbsd`, `GOARCH=riscv64`). + ### Wasm {#wasm} diff --git a/doc/next/9-todo.md b/doc/next/9-todo.md new file mode 100644 index 0000000000..a667f065bd --- /dev/null +++ b/doc/next/9-todo.md @@ -0,0 +1,59 @@ + + + +TODO: Document that range-over-func is enabled (and that GOEXPERIMENT=rangefunc is relevant) in Go 1.23. This note should be moved to an appropriate location in the release notes. + + +TODO: The new `GOARM64` environment variable needs to be documented. This note should be moved to an appropriate location in the release notes. + + +TODO: The new `GORISCV64` environment variable needs to be documented. This note should be moved to an appropriate location in the release notes. + + + + + + -- 2.48.1