From dd678172e378e62cc85d075676e040354f4628da Mon Sep 17 00:00:00 2001 From: Gopher Robot Date: Thu, 29 May 2025 10:10:09 -0700 Subject: [PATCH] doc/next: delete The release note fragments have been merged and added as _content/doc/go1.25.md in x/website in CL 677175. For #71661. Change-Id: Ie1a895de03c20941a38b0a6a45f4cf6bc21278e1 Reviewed-on: https://go-review.googlesource.com/c/go/+/677335 Auto-Submit: Gopher Robot LUCI-TryBot-Result: Go LUCI Reviewed-by: Michael Knyszek Reviewed-by: David Chase --- doc/next/1-intro.md | 8 - doc/next/2-language.md | 3 - doc/next/3-tools.md | 42 ---- doc/next/4-runtime.md | 73 ------- doc/next/5-toolchain.md | 56 ----- doc/next/6-stdlib/0-heading.md | 2 - doc/next/6-stdlib/1-synctest.md | 12 -- doc/next/6-stdlib/99-minor/0-heading.md | 3 - doc/next/6-stdlib/99-minor/README | 1 - .../6-stdlib/99-minor/archive/tar/49580.md | 2 - doc/next/6-stdlib/99-minor/crypto/63405.md | 1 - .../6-stdlib/99-minor/crypto/ecdsa/63963.md | 3 - .../99-minor/crypto/elliptic/hidden.md | 2 - .../6-stdlib/99-minor/crypto/sha3/69521.md | 1 - .../6-stdlib/99-minor/crypto/tls/67516.md | 2 - .../6-stdlib/99-minor/crypto/tls/71920.md | 3 - .../6-stdlib/99-minor/crypto/tls/72883.md | 3 - doc/next/6-stdlib/99-minor/crypto/tls/fips.md | 2 - .../99-minor/crypto/tls/version_pref.md | 1 - .../6-stdlib/99-minor/crypto/x509/63405.md | 1 - .../6-stdlib/99-minor/crypto/x509/71746.md | 2 - doc/next/6-stdlib/99-minor/debug/elf/72843.md | 4 - doc/next/6-stdlib/99-minor/go/ast/73088.md | 4 - doc/next/6-stdlib/99-minor/go/ast/73319.md | 4 - doc/next/6-stdlib/99-minor/go/parser/71122.md | 1 - doc/next/6-stdlib/99-minor/go/token/73205.md | 4 - doc/next/6-stdlib/99-minor/go/types/70250.md | 3 - doc/next/6-stdlib/99-minor/go/types/70737.md | 3 - doc/next/6-stdlib/99-minor/hash/69518.md | 3 - doc/next/6-stdlib/99-minor/hash/69521.md | 2 - .../6-stdlib/99-minor/hash/maphash/69521.md | 1 - doc/next/6-stdlib/99-minor/io/fs/49580.md | 1 - doc/next/6-stdlib/99-minor/log/slog/66365.md | 1 - doc/next/6-stdlib/99-minor/log/slog/70280.md | 1 - .../6-stdlib/99-minor/mime/multipart/46771.md | 2 - doc/next/6-stdlib/99-minor/net/10350.md | 3 - doc/next/6-stdlib/99-minor/net/56025.md | 5 - doc/next/6-stdlib/99-minor/net/63529.md | 1 - doc/next/6-stdlib/99-minor/net/9503.md | 2 - doc/next/6-stdlib/99-minor/net/http/73626.md | 7 - doc/next/6-stdlib/99-minor/os/15388.md | 14 -- doc/next/6-stdlib/99-minor/os/49580.md | 2 - doc/next/6-stdlib/99-minor/os/67002.md | 14 -- doc/next/6-stdlib/99-minor/os/73126.md | 1 - doc/next/6-stdlib/99-minor/reflect/62121.md | 3 - .../6-stdlib/99-minor/regexp/syntax/70781.md | 4 - doc/next/6-stdlib/99-minor/runtime/71825.md | 5 - doc/next/6-stdlib/99-minor/runtime/72949.md | 8 - doc/next/6-stdlib/99-minor/runtime/73193.md | 5 - .../6-stdlib/99-minor/runtime/pprof/66999.md | 6 - .../6-stdlib/99-minor/runtime/trace/63185.md | 2 - doc/next/6-stdlib/99-minor/sync/63796.md | 2 - doc/next/6-stdlib/99-minor/testing/43936.md | 10 - doc/next/6-stdlib/99-minor/testing/59928.md | 4 - .../6-stdlib/99-minor/testing/fstest/49580.md | 3 - .../99-minor/testing/synctest/67434.md | 1 - doc/next/6-stdlib/99-minor/unicode/70780.md | 4 - doc/next/6-stdlib/99-minor/unique/71772.md | 4 - doc/next/6-stdlib/99-minor/unique/71846.md | 4 - doc/next/7-ports.md | 16 -- doc/next/9-todo.md | 203 ------------------ 61 files changed, 590 deletions(-) delete mode 100644 doc/next/1-intro.md delete mode 100644 doc/next/2-language.md delete mode 100644 doc/next/3-tools.md delete mode 100644 doc/next/4-runtime.md delete mode 100644 doc/next/5-toolchain.md delete mode 100644 doc/next/6-stdlib/0-heading.md delete mode 100644 doc/next/6-stdlib/1-synctest.md delete mode 100644 doc/next/6-stdlib/99-minor/0-heading.md delete mode 100644 doc/next/6-stdlib/99-minor/README delete mode 100644 doc/next/6-stdlib/99-minor/archive/tar/49580.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/63405.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/ecdsa/63963.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/elliptic/hidden.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/sha3/69521.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/tls/67516.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/tls/71920.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/tls/72883.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/tls/fips.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/tls/version_pref.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/x509/63405.md delete mode 100644 doc/next/6-stdlib/99-minor/crypto/x509/71746.md delete mode 100644 doc/next/6-stdlib/99-minor/debug/elf/72843.md delete mode 100644 doc/next/6-stdlib/99-minor/go/ast/73088.md delete mode 100644 doc/next/6-stdlib/99-minor/go/ast/73319.md delete mode 100644 doc/next/6-stdlib/99-minor/go/parser/71122.md delete mode 100644 doc/next/6-stdlib/99-minor/go/token/73205.md delete mode 100644 doc/next/6-stdlib/99-minor/go/types/70250.md delete mode 100644 doc/next/6-stdlib/99-minor/go/types/70737.md delete mode 100644 doc/next/6-stdlib/99-minor/hash/69518.md delete mode 100644 doc/next/6-stdlib/99-minor/hash/69521.md delete mode 100644 doc/next/6-stdlib/99-minor/hash/maphash/69521.md delete mode 100644 doc/next/6-stdlib/99-minor/io/fs/49580.md delete mode 100644 doc/next/6-stdlib/99-minor/log/slog/66365.md delete mode 100644 doc/next/6-stdlib/99-minor/log/slog/70280.md delete mode 100644 doc/next/6-stdlib/99-minor/mime/multipart/46771.md delete mode 100644 doc/next/6-stdlib/99-minor/net/10350.md delete mode 100644 doc/next/6-stdlib/99-minor/net/56025.md delete mode 100644 doc/next/6-stdlib/99-minor/net/63529.md delete mode 100644 doc/next/6-stdlib/99-minor/net/9503.md delete mode 100644 doc/next/6-stdlib/99-minor/net/http/73626.md delete mode 100644 doc/next/6-stdlib/99-minor/os/15388.md delete mode 100644 doc/next/6-stdlib/99-minor/os/49580.md delete mode 100644 doc/next/6-stdlib/99-minor/os/67002.md delete mode 100644 doc/next/6-stdlib/99-minor/os/73126.md delete mode 100644 doc/next/6-stdlib/99-minor/reflect/62121.md delete mode 100644 doc/next/6-stdlib/99-minor/regexp/syntax/70781.md delete mode 100644 doc/next/6-stdlib/99-minor/runtime/71825.md delete mode 100644 doc/next/6-stdlib/99-minor/runtime/72949.md delete mode 100644 doc/next/6-stdlib/99-minor/runtime/73193.md delete mode 100644 doc/next/6-stdlib/99-minor/runtime/pprof/66999.md delete mode 100644 doc/next/6-stdlib/99-minor/runtime/trace/63185.md delete mode 100644 doc/next/6-stdlib/99-minor/sync/63796.md delete mode 100644 doc/next/6-stdlib/99-minor/testing/43936.md delete mode 100644 doc/next/6-stdlib/99-minor/testing/59928.md delete mode 100644 doc/next/6-stdlib/99-minor/testing/fstest/49580.md delete mode 100644 doc/next/6-stdlib/99-minor/testing/synctest/67434.md delete mode 100644 doc/next/6-stdlib/99-minor/unicode/70780.md delete mode 100644 doc/next/6-stdlib/99-minor/unique/71772.md delete mode 100644 doc/next/6-stdlib/99-minor/unique/71846.md delete mode 100644 doc/next/7-ports.md delete mode 100644 doc/next/9-todo.md diff --git a/doc/next/1-intro.md b/doc/next/1-intro.md deleted file mode 100644 index 77a9aed59f..0000000000 --- a/doc/next/1-intro.md +++ /dev/null @@ -1,8 +0,0 @@ - - -## DRAFT RELEASE NOTES — Introduction to Go 1.N {#introduction} - -**Go 1.25 is not yet released. These are work-in-progress release notes. -Go 1.25 is expected to be released in August 2025.** diff --git a/doc/next/2-language.md b/doc/next/2-language.md deleted file mode 100644 index 61030bd676..0000000000 --- a/doc/next/2-language.md +++ /dev/null @@ -1,3 +0,0 @@ -## Changes to the language {#language} - - diff --git a/doc/next/3-tools.md b/doc/next/3-tools.md deleted file mode 100644 index b61848bca7..0000000000 --- a/doc/next/3-tools.md +++ /dev/null @@ -1,42 +0,0 @@ -## Tools {#tools} - -### Go command {#go-command} - -The `go build` `-asan` option now defaults to doing leak detection at -program exit. -This will report an error if memory allocated by C is not freed and is -not referenced by any other memory allocated by either C or Go. -These new error reports may be disabled by setting -`ASAN_OPTIONS=detect_leaks=0` in the environment when running the -program. - - - -The new `work` package pattern matches all packages in the work (formerly called main) -modules: either the single work module in module mode or the set of workspace modules -in workspace mode. - - - -When the go command updates the `go` line in a `go.mod` or `go.work` file, -it [no longer](/ref/mod#go-mod-file-toolchain) adds a toolchain line -specifying the command's current version. - -### Cgo {#cgo} - -### Vet {#vet} - -The `go vet` command includes new analyzers: - - - -- [waitgroup](https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/waitgroup), - which reports misplaced calls to [sync.WaitGroup.Add]; and - - - -- [hostport](https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/hostport), - which reports uses of `fmt.Sprintf("%s:%d", host, port)` to - construct addresses for [net.Dial], as these will not work with - IPv6; instead it suggests using [net.JoinHostPort]. - diff --git a/doc/next/4-runtime.md b/doc/next/4-runtime.md deleted file mode 100644 index ef679a51ee..0000000000 --- a/doc/next/4-runtime.md +++ /dev/null @@ -1,73 +0,0 @@ -## Runtime {#runtime} - -### Container-aware `GOMAXPROCS` - - - -The default behavior of the `GOMAXPROCS` has changed. In prior versions of Go, -`GOMAXPROCS` defaults to the number of logical CPUs available at startup -([runtime.NumCPU]). Go 1.25 introduces two changes: - -1. On Linux, the runtime considers the CPU bandwidth limit of the cgroup - containing the process, if any. If the CPU bandwidth limit is lower than the - number of logical CPUs available, `GOMAXPROCS` will default to the lower - limit. In container runtime systems like Kubernetes, cgroup CPU bandwidth - limits generally correspond to the "CPU limit" option. The Go runtime does - not consider the "CPU requests" option. - -2. On all OSes, the runtime periodically updates `GOMAXPROCS` if the number - of logical CPUs available or the cgroup CPU bandwidth limit change. - -Both of these behaviors are automatically disabled if `GOMAXPROCS` is set -manually via the `GOMAXPROCS` environment variable or a call to -[runtime.GOMAXPROCS]. They can also be disabled explicitly with the [GODEBUG -settings](/doc/godebug) `containermaxprocs=0` and `updatemaxprocs=0`, -respectively. - -In order to support reading updated cgroup limits, the runtime will keep cached -file descriptors for the cgroup files for the duration of the process lifetime. - -### New experimental garbage collector - - - -A new garbage collector is now available as an experiment. This garbage -collector's design improves the performance of marking and scanning small objects -through better locality and CPU scalability. Benchmark result vary, but we expect -somewhere between a 10—40% reduction in garbage collection overhead in real-world -programs that heavily use the garbage collector. - -The new garbage collector may be enabled by setting `GOEXPERIMENT=greenteagc` -at build time. We expect the design to continue to evolve and improve. To that -end, we encourage Go developers to try it out and report back their experiences. -See the [GitHub issue](/issue/73581) for more details on the design and -instructions for sharing feedback. - -### Change to unhandled panic output - - - -The message printed when a program exits due to an unhandled panic -that was recovered and repanicked no longer repeats the text of -the panic value. - -Previously, a program which panicked with `panic("PANIC")`, -recovered the panic, and then repanicked with the original -value would print: - - panic: PANIC [recovered] - panic: PANIC - -This program will now print: - - panic: PANIC [recovered, repanicked] - -### VMA names on Linux - - - -On Linux systems with kernel support for anonymous VMA names -(`CONFIG_ANON_VMA_NAME`), the Go runtime will annotate anonymous memory -mappings with context about their purpose. e.g., `[anon: Go: heap]` for heap -memory. This can be disabled with the [GODEBUG setting](/doc/godebug) -`decoratemappings=0`. diff --git a/doc/next/5-toolchain.md b/doc/next/5-toolchain.md deleted file mode 100644 index 84a7624bb5..0000000000 --- a/doc/next/5-toolchain.md +++ /dev/null @@ -1,56 +0,0 @@ -## Compiler {#compiler} - - - -The compiler and linker in Go 1.25 now generate debug information -using [DWARF version 5](https://dwarfstd.org/dwarf5std.html); the -newer DWARF version reduces the space required for debugging -information in Go binaries. -DWARF 5 generation is gated by the "dwarf5" GOEXPERIMENT; this -functionality can be disabled (for now) using GOEXPERIMENT=nodwarf5. - - - -The compiler [has been fixed](/cl/657715) -to ensure that nil pointer checks are performed promptly. Programs like the following, -which used to execute successfully, will now panic with a nil-pointer exception: - -``` -package main - -import "os" - -func main() { - f, err := os.Open("nonExistentFile") - name := f.Name() - if err != nil { - return - } - println(name) -} -``` - -This program is incorrect in that it uses the result of `os.Open` before checking -the error. The main result of `os.Open` can be a nil pointer if the error result is non-nil. -But because of [a compiler bug](/issue/72860), this program ran successfully under -Go versions 1.21 through 1.24 (in violation of the Go spec). It will no longer run -successfully in Go 1.25. If this change is affecting your code, the solution is to put -the non-nil error check earlier in your code, preferably immediately after -the error-generating statement. - - - -The compiler can now allocate the backing store for slices on the -stack in more situations, which improves performance. This change has -the potential to amplify the effects of incorrect -[unsafe.Pointer](/pkg/unsafe#Pointer) usage, see for example [issue -73199](/issue/73199). In order to track down these problems, the -[bisect tool](https://pkg.go.dev/golang.org/x/tools/cmd/bisect) can be -used to find the allocation causing trouble using the -`-compile=variablemake` flag. All such new stack allocations can also -be turned off using `-gcflags=all=-d=variablemakehash=n`. - -## Assembler {#assembler} - -## Linker {#linker} - diff --git a/doc/next/6-stdlib/0-heading.md b/doc/next/6-stdlib/0-heading.md deleted file mode 100644 index a992170d43..0000000000 --- a/doc/next/6-stdlib/0-heading.md +++ /dev/null @@ -1,2 +0,0 @@ -## Standard library {#library} - diff --git a/doc/next/6-stdlib/1-synctest.md b/doc/next/6-stdlib/1-synctest.md deleted file mode 100644 index 0a34930470..0000000000 --- a/doc/next/6-stdlib/1-synctest.md +++ /dev/null @@ -1,12 +0,0 @@ -### New testing/synctest package - - -The new [testing/synctest](/pkg/testing/synctest) package -provides support for testing concurrent code. - -The [synctest.Test] function runs a test function in an isolated -"bubble". Within the bubble, [time](/pkg/time) package functions -operate on a fake clock. - -The [synctest.Wait] function waits for all goroutines in the -current bubble to block. diff --git a/doc/next/6-stdlib/99-minor/0-heading.md b/doc/next/6-stdlib/99-minor/0-heading.md deleted file mode 100644 index a98105e8cc..0000000000 --- a/doc/next/6-stdlib/99-minor/0-heading.md +++ /dev/null @@ -1,3 +0,0 @@ -### Minor changes to the library {#minor_library_changes} - - diff --git a/doc/next/6-stdlib/99-minor/README b/doc/next/6-stdlib/99-minor/README deleted file mode 100644 index fac778de05..0000000000 --- a/doc/next/6-stdlib/99-minor/README +++ /dev/null @@ -1 +0,0 @@ -API changes and other small changes to the standard library go here. diff --git a/doc/next/6-stdlib/99-minor/archive/tar/49580.md b/doc/next/6-stdlib/99-minor/archive/tar/49580.md deleted file mode 100644 index 8fa43681fa..0000000000 --- a/doc/next/6-stdlib/99-minor/archive/tar/49580.md +++ /dev/null @@ -1,2 +0,0 @@ -The [*Writer.AddFS] implementation now supports symbolic links -for filesystems that implement [io/fs.ReadLinkFS]. diff --git a/doc/next/6-stdlib/99-minor/crypto/63405.md b/doc/next/6-stdlib/99-minor/crypto/63405.md deleted file mode 100644 index d16dc5ab00..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/63405.md +++ /dev/null @@ -1 +0,0 @@ -[MessageSigner] is a new signing interface that can be implemented by signers that wish to hash the message to be signed themselves. A new function is also introduced, [SignMessage] which attempts to update a [Signer] interface to [MessageSigner], using the [MessageSigner.SignMessage] method if successful, and [Signer.Sign] if not. This can be used when code wishes to support both [Signer] and [MessageSigner]. \ No newline at end of file diff --git a/doc/next/6-stdlib/99-minor/crypto/ecdsa/63963.md b/doc/next/6-stdlib/99-minor/crypto/ecdsa/63963.md deleted file mode 100644 index 5c329c7d51..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/ecdsa/63963.md +++ /dev/null @@ -1,3 +0,0 @@ -The new [ParseRawPrivateKey], [ParseUncompressedPublicKey], [PrivateKey.Bytes], -and [PublicKey.Bytes] functions and methods implement low-level encodings, -replacing the need to use crypto/elliptic or math/big functions and methods. diff --git a/doc/next/6-stdlib/99-minor/crypto/elliptic/hidden.md b/doc/next/6-stdlib/99-minor/crypto/elliptic/hidden.md deleted file mode 100644 index eb3bef50d3..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/elliptic/hidden.md +++ /dev/null @@ -1,2 +0,0 @@ -The hidden and undocumented `Inverse` and `CombinedMult` methods on some [Curve] -implementations have been removed. diff --git a/doc/next/6-stdlib/99-minor/crypto/sha3/69521.md b/doc/next/6-stdlib/99-minor/crypto/sha3/69521.md deleted file mode 100644 index 2af674dcb4..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/sha3/69521.md +++ /dev/null @@ -1 +0,0 @@ -The new [SHA3.Clone] method implements [hash.Cloner](/pkg/hash#Cloner). diff --git a/doc/next/6-stdlib/99-minor/crypto/tls/67516.md b/doc/next/6-stdlib/99-minor/crypto/tls/67516.md deleted file mode 100644 index 3790533d16..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/tls/67516.md +++ /dev/null @@ -1,2 +0,0 @@ -The new [ConnectionState.CurveID] field exposes the key exchange mechanism used -to establish the connection. diff --git a/doc/next/6-stdlib/99-minor/crypto/tls/71920.md b/doc/next/6-stdlib/99-minor/crypto/tls/71920.md deleted file mode 100644 index 848211751a..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/tls/71920.md +++ /dev/null @@ -1,3 +0,0 @@ -The new [Config.GetEncryptedClientHelloKeys] callback can be used to set the -[EncryptedClientHelloKey]s for a server to use when a client sends an Encrypted -Client Hello extension. \ No newline at end of file diff --git a/doc/next/6-stdlib/99-minor/crypto/tls/72883.md b/doc/next/6-stdlib/99-minor/crypto/tls/72883.md deleted file mode 100644 index 70e06192a3..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/tls/72883.md +++ /dev/null @@ -1,3 +0,0 @@ -SHA-1 signature algorithms are now disallowed in TLS 1.2 handshakes, per -[RFC 9155](https://www.rfc-editor.org/rfc/rfc9155.html). -They can be re-enabled with the `tlssha1=1` GODEBUG option. diff --git a/doc/next/6-stdlib/99-minor/crypto/tls/fips.md b/doc/next/6-stdlib/99-minor/crypto/tls/fips.md deleted file mode 100644 index 0f0c9459ce..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/tls/fips.md +++ /dev/null @@ -1,2 +0,0 @@ -When [FIPS 140-3 mode](/doc/security/fips140) is enabled, Extended Master Secret -is now required in TLS 1.2, and Ed25519 and X25519MLKEM768 are now allowed. diff --git a/doc/next/6-stdlib/99-minor/crypto/tls/version_pref.md b/doc/next/6-stdlib/99-minor/crypto/tls/version_pref.md deleted file mode 100644 index 5686f3ca0a..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/tls/version_pref.md +++ /dev/null @@ -1 +0,0 @@ -TLS servers now prefer the highest supported protocol version, even if it isn't the client's most preferred protocol version. diff --git a/doc/next/6-stdlib/99-minor/crypto/x509/63405.md b/doc/next/6-stdlib/99-minor/crypto/x509/63405.md deleted file mode 100644 index 4c3a1750da..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/x509/63405.md +++ /dev/null @@ -1 +0,0 @@ -[CreateCertificate], [CreateCertificateRequest], and [CreateRevocationList] can now accept a [crypto.MessageSigner] signing interface as well as [crypto.Signer]. This allows these functions to use signers which implement "one-shot" signing interfaces, where hashing is done as part of the signing operation, instead of by the caller. \ No newline at end of file diff --git a/doc/next/6-stdlib/99-minor/crypto/x509/71746.md b/doc/next/6-stdlib/99-minor/crypto/x509/71746.md deleted file mode 100644 index 44e60293d3..0000000000 --- a/doc/next/6-stdlib/99-minor/crypto/x509/71746.md +++ /dev/null @@ -1,2 +0,0 @@ -[CreateCertificate] now uses truncated SHA-256 to populate the `SubjectKeyId` if -it is missing. The GODEBUG setting `x509sha256skid=0` reverts to SHA-1. diff --git a/doc/next/6-stdlib/99-minor/debug/elf/72843.md b/doc/next/6-stdlib/99-minor/debug/elf/72843.md deleted file mode 100644 index 491c2dc1a1..0000000000 --- a/doc/next/6-stdlib/99-minor/debug/elf/72843.md +++ /dev/null @@ -1,4 +0,0 @@ -The [debug/elf] package adds two new constants: -- [PT_RISCV_ATTRIBUTES] -- [SHT_RISCV_ATTRIBUTES] -for RISC-V ELF parsing. diff --git a/doc/next/6-stdlib/99-minor/go/ast/73088.md b/doc/next/6-stdlib/99-minor/go/ast/73088.md deleted file mode 100644 index e7035a7047..0000000000 --- a/doc/next/6-stdlib/99-minor/go/ast/73088.md +++ /dev/null @@ -1,4 +0,0 @@ -The [ast.FilterPackage], [ast.PackageExports], and -[ast.MergePackageFiles] functions, and the [MergeMode] type and its -constants, are all deprecated, as they are for use only with the -long-deprecated [ast.Object] and [ast.Package] machinery. diff --git a/doc/next/6-stdlib/99-minor/go/ast/73319.md b/doc/next/6-stdlib/99-minor/go/ast/73319.md deleted file mode 100644 index b99e20e316..0000000000 --- a/doc/next/6-stdlib/99-minor/go/ast/73319.md +++ /dev/null @@ -1,4 +0,0 @@ -The new [PreorderStack] function, like [Inspect], traverses a syntax -tree and provides control over descent into subtrees, but as a -convenience it also provides the stack of enclosing nodes at each -point. diff --git a/doc/next/6-stdlib/99-minor/go/parser/71122.md b/doc/next/6-stdlib/99-minor/go/parser/71122.md deleted file mode 100644 index 2043d30403..0000000000 --- a/doc/next/6-stdlib/99-minor/go/parser/71122.md +++ /dev/null @@ -1 +0,0 @@ -The [ParseDir] function is deprecated. diff --git a/doc/next/6-stdlib/99-minor/go/token/73205.md b/doc/next/6-stdlib/99-minor/go/token/73205.md deleted file mode 100644 index d743663736..0000000000 --- a/doc/next/6-stdlib/99-minor/go/token/73205.md +++ /dev/null @@ -1,4 +0,0 @@ -The new [FileSet.AddExistingFiles] method enables existing Files to be -added to a FileSet, or a FileSet to be constructed for an arbitrary -set of Files, alleviating the problems associated with a single global -FileSet in long-lived applications. diff --git a/doc/next/6-stdlib/99-minor/go/types/70250.md b/doc/next/6-stdlib/99-minor/go/types/70250.md deleted file mode 100644 index 49fbdadfe9..0000000000 --- a/doc/next/6-stdlib/99-minor/go/types/70250.md +++ /dev/null @@ -1,3 +0,0 @@ -[Var] now has a [Var.Kind] method that classifies the variable as one -of: package-level, receiver, parameter, result, or local variable, or -a struct field. diff --git a/doc/next/6-stdlib/99-minor/go/types/70737.md b/doc/next/6-stdlib/99-minor/go/types/70737.md deleted file mode 100644 index 6d1b4136bf..0000000000 --- a/doc/next/6-stdlib/99-minor/go/types/70737.md +++ /dev/null @@ -1,3 +0,0 @@ -The new [LookupSelection] function looks up the field or method of a -given name and receiver type, like the existing [LookupFieldOrMethod] -function, but returns the result in the form of a [Selection]. diff --git a/doc/next/6-stdlib/99-minor/hash/69518.md b/doc/next/6-stdlib/99-minor/hash/69518.md deleted file mode 100644 index ae9e133cd7..0000000000 --- a/doc/next/6-stdlib/99-minor/hash/69518.md +++ /dev/null @@ -1,3 +0,0 @@ -The new [XOF](/pkg/hash#XOF) interface can be implemented by "extendable output -functions", which are hash functions with arbitrary or unlimited output length -such as [SHAKE](https://pkg.go.dev/crypto/sha3#SHAKE). diff --git a/doc/next/6-stdlib/99-minor/hash/69521.md b/doc/next/6-stdlib/99-minor/hash/69521.md deleted file mode 100644 index a8d58e3074..0000000000 --- a/doc/next/6-stdlib/99-minor/hash/69521.md +++ /dev/null @@ -1,2 +0,0 @@ -Hashes implementing the new [Cloner] interface can return a copy of their state. -All standard library [Hash] implementations now implement [Cloner]. diff --git a/doc/next/6-stdlib/99-minor/hash/maphash/69521.md b/doc/next/6-stdlib/99-minor/hash/maphash/69521.md deleted file mode 100644 index 497df8b6aa..0000000000 --- a/doc/next/6-stdlib/99-minor/hash/maphash/69521.md +++ /dev/null @@ -1 +0,0 @@ -The new [Hash.Clone] method implements [hash.Cloner](/pkg/hash#Cloner). diff --git a/doc/next/6-stdlib/99-minor/io/fs/49580.md b/doc/next/6-stdlib/99-minor/io/fs/49580.md deleted file mode 100644 index c1cba5a395..0000000000 --- a/doc/next/6-stdlib/99-minor/io/fs/49580.md +++ /dev/null @@ -1 +0,0 @@ -A new [ReadLinkFS] interface provides the ability to read symbolic links in a filesystem. diff --git a/doc/next/6-stdlib/99-minor/log/slog/66365.md b/doc/next/6-stdlib/99-minor/log/slog/66365.md deleted file mode 100644 index b6b0c81fe5..0000000000 --- a/doc/next/6-stdlib/99-minor/log/slog/66365.md +++ /dev/null @@ -1 +0,0 @@ -[GroupAttrs] creates a group [Attr] from a slice of [Attr] values. diff --git a/doc/next/6-stdlib/99-minor/log/slog/70280.md b/doc/next/6-stdlib/99-minor/log/slog/70280.md deleted file mode 100644 index 7f1b734d4f..0000000000 --- a/doc/next/6-stdlib/99-minor/log/slog/70280.md +++ /dev/null @@ -1 +0,0 @@ -[Record] now has a Source() method, returning its source location or nil if unavailable. diff --git a/doc/next/6-stdlib/99-minor/mime/multipart/46771.md b/doc/next/6-stdlib/99-minor/mime/multipart/46771.md deleted file mode 100644 index b8b8641b78..0000000000 --- a/doc/next/6-stdlib/99-minor/mime/multipart/46771.md +++ /dev/null @@ -1,2 +0,0 @@ -The new helper function [FieldContentDisposition] builds multipart -Content-Disposition header fields. \ No newline at end of file diff --git a/doc/next/6-stdlib/99-minor/net/10350.md b/doc/next/6-stdlib/99-minor/net/10350.md deleted file mode 100644 index 7290112f41..0000000000 --- a/doc/next/6-stdlib/99-minor/net/10350.md +++ /dev/null @@ -1,3 +0,0 @@ -On Windows, the [TCPConn.File], [UDPConn.File], [UnixConn.File], -[IPConn.File], [TCPListener.File], and [UnixListener.File] -methods are now supported. \ No newline at end of file diff --git a/doc/next/6-stdlib/99-minor/net/56025.md b/doc/next/6-stdlib/99-minor/net/56025.md deleted file mode 100644 index 2e3b230ef0..0000000000 --- a/doc/next/6-stdlib/99-minor/net/56025.md +++ /dev/null @@ -1,5 +0,0 @@ -[LookupMX] and [*Resolver.LookupMX] now return DNS names that look -like valid IP address, as well as valid domain names. -Previously if a name server returned an IP address as a DNS name, -LookupMX would discard it, as required by the RFCs. -However, name servers in practice do sometimes return IP addresses. diff --git a/doc/next/6-stdlib/99-minor/net/63529.md b/doc/next/6-stdlib/99-minor/net/63529.md deleted file mode 100644 index 4cf05c90cd..0000000000 --- a/doc/next/6-stdlib/99-minor/net/63529.md +++ /dev/null @@ -1 +0,0 @@ -On Windows, the [ListenMulticastUDP] now supports IPv6 addresses. diff --git a/doc/next/6-stdlib/99-minor/net/9503.md b/doc/next/6-stdlib/99-minor/net/9503.md deleted file mode 100644 index d2aef10132..0000000000 --- a/doc/next/6-stdlib/99-minor/net/9503.md +++ /dev/null @@ -1,2 +0,0 @@ -On Windows, the [FileConn], [FilePacketConn], [FileListener] -functions are now supported. diff --git a/doc/next/6-stdlib/99-minor/net/http/73626.md b/doc/next/6-stdlib/99-minor/net/http/73626.md deleted file mode 100644 index 88a204b8a4..0000000000 --- a/doc/next/6-stdlib/99-minor/net/http/73626.md +++ /dev/null @@ -1,7 +0,0 @@ -The new [CrossOriginProtection] implements protections against [Cross-Site -Request Forgery (CSRF)][] by rejecting non-safe cross-origin browser requests. -It uses [modern browser Fetch metadata][Sec-Fetch-Site], doesn't require tokens -or cookies, and supports origin-based and pattern-based bypasses. - -[Sec-Fetch-Site]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site -[Cross-Site Request Forgery (CSRF)]: https://developer.mozilla.org/en-US/docs/Web/Security/Attacks/CSRF diff --git a/doc/next/6-stdlib/99-minor/os/15388.md b/doc/next/6-stdlib/99-minor/os/15388.md deleted file mode 100644 index 04b3e91d8b..0000000000 --- a/doc/next/6-stdlib/99-minor/os/15388.md +++ /dev/null @@ -1,14 +0,0 @@ -On Windows, [NewFile] now supports handles opened for asynchronous I/O (that is, -[syscall.FILE_FLAG_OVERLAPPED] is specified in the [syscall.CreateFile] call). -These handles are associated with the Go runtime's I/O completion port, -which provides the following benefits for the resulting [File]: - -- I/O methods ([File.Read], [File.Write], [File.ReadAt], and [File.WriteAt]) do not block an OS thread. -- Deadline methods ([File.SetDeadline], [File.SetReadDeadline], and [File.SetWriteDeadline]) are supported. - -This enhancement is especially beneficial for applications that communicate via named pipes on Windows. - -Note that a handle can only be associated with one completion port at a time. -If the handle provided to [NewFile] is already associated with a completion port, -the returned [File] is downgraded to synchronous I/O mode. -In this case, I/O methods will block an OS thread, and the deadline methods have no effect. diff --git a/doc/next/6-stdlib/99-minor/os/49580.md b/doc/next/6-stdlib/99-minor/os/49580.md deleted file mode 100644 index 18d8831e7b..0000000000 --- a/doc/next/6-stdlib/99-minor/os/49580.md +++ /dev/null @@ -1,2 +0,0 @@ -The filesystem returned by [DirFS] implements the new [io/fs.ReadLinkFS] interface. -[CopyFS] supports symlinks when copying filesystems that implement [io/fs.ReadLinkFS]. diff --git a/doc/next/6-stdlib/99-minor/os/67002.md b/doc/next/6-stdlib/99-minor/os/67002.md deleted file mode 100644 index 481a2c171c..0000000000 --- a/doc/next/6-stdlib/99-minor/os/67002.md +++ /dev/null @@ -1,14 +0,0 @@ -The [os.Root] type supports the following additional methods: - - * [os.Root.Chmod] - * [os.Root.Chown] - * [os.Root.Chtimes] - * [os.Root.Lchown] - * [os.Root.Link] - * [os.Root.MkdirAll] - * [os.Root.ReadFile] - * [os.Root.Readlink] - * [os.Root.RemoveAll] - * [os.Root.Rename] - * [os.Root.Symlink] - * [os.Root.WriteFile] diff --git a/doc/next/6-stdlib/99-minor/os/73126.md b/doc/next/6-stdlib/99-minor/os/73126.md deleted file mode 100644 index 1cd40d79ee..0000000000 --- a/doc/next/6-stdlib/99-minor/os/73126.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/next/6-stdlib/99-minor/reflect/62121.md b/doc/next/6-stdlib/99-minor/reflect/62121.md deleted file mode 100644 index f6148ceb60..0000000000 --- a/doc/next/6-stdlib/99-minor/reflect/62121.md +++ /dev/null @@ -1,3 +0,0 @@ -The new [TypeAssert] function permits converting a [Value] directly to a Go value -of the given type. This is like using a type assertion on the result of [Value.Interface], -but avoids unnecessary memory allocations. diff --git a/doc/next/6-stdlib/99-minor/regexp/syntax/70781.md b/doc/next/6-stdlib/99-minor/regexp/syntax/70781.md deleted file mode 100644 index 63794b4671..0000000000 --- a/doc/next/6-stdlib/99-minor/regexp/syntax/70781.md +++ /dev/null @@ -1,4 +0,0 @@ -The `\p{name}` and `\P{name}` character class syntaxes now accept the names -Any, ASCII, Assigned, Cn, and LC, as well as Unicode category aliases like `\p{Letter}` for `\pL`. -Following [Unicode TR18](https://unicode.org/reports/tr18/), they also now use -case-insensitive name lookups, ignoring spaces, underscores, and hyphens. diff --git a/doc/next/6-stdlib/99-minor/runtime/71825.md b/doc/next/6-stdlib/99-minor/runtime/71825.md deleted file mode 100644 index 156d244643..0000000000 --- a/doc/next/6-stdlib/99-minor/runtime/71825.md +++ /dev/null @@ -1,5 +0,0 @@ -Cleanup functions scheduled by [AddCleanup] are now executed -concurrently and in parallel, making cleanups more viable for heavy -use like the [unique] package. Note that individual cleanups should -still shunt their work to a new goroutine if they must execute or -block for a long time to avoid blocking the cleanup queue. diff --git a/doc/next/6-stdlib/99-minor/runtime/72949.md b/doc/next/6-stdlib/99-minor/runtime/72949.md deleted file mode 100644 index 6bab38d94c..0000000000 --- a/doc/next/6-stdlib/99-minor/runtime/72949.md +++ /dev/null @@ -1,8 +0,0 @@ -When `GODEBUG=checkfinalizers=1` is set, the runtime will run -diagnostics on each garbage collection cycle to find common issues -with how the program might use finalizers and cleanups, such as those -described [in the GC -guide](/doc/gc-guide#Finalizers_cleanups_and_weak_pointers). In this -mode, the runtime will also regularly report the finalizer and -cleanup queue lengths to stderr to help identify issues with -long-running finalizers and/or cleanups. diff --git a/doc/next/6-stdlib/99-minor/runtime/73193.md b/doc/next/6-stdlib/99-minor/runtime/73193.md deleted file mode 100644 index a729f6a3c4..0000000000 --- a/doc/next/6-stdlib/99-minor/runtime/73193.md +++ /dev/null @@ -1,5 +0,0 @@ -The new [SetDefaultGOMAXPROCS] function sets `GOMAXPROCS` to the runtime -default value, as if the `GOMAXPROCS` environment variable is not set. This is -useful for enabling the [new `GOMAXPROCS` default](#runtime) if it has been -disabled by the `GOMAXPROCS` environment variable or a prior call to -[GOMAXPROCS]. diff --git a/doc/next/6-stdlib/99-minor/runtime/pprof/66999.md b/doc/next/6-stdlib/99-minor/runtime/pprof/66999.md deleted file mode 100644 index f222628aae..0000000000 --- a/doc/next/6-stdlib/99-minor/runtime/pprof/66999.md +++ /dev/null @@ -1,6 +0,0 @@ -The mutex profile for contention on runtime-internal locks now correctly points -to the end of the critical section that caused the delay. This matches the -profile's behavior for contention on `sync.Mutex` values. The -`runtimecontentionstacks` setting for `GODEBUG`, which allowed opting in to the -unusual behavior of Go 1.22 through 1.24 for this part of the profile, is now -gone. diff --git a/doc/next/6-stdlib/99-minor/runtime/trace/63185.md b/doc/next/6-stdlib/99-minor/runtime/trace/63185.md deleted file mode 100644 index 80ba088b75..0000000000 --- a/doc/next/6-stdlib/99-minor/runtime/trace/63185.md +++ /dev/null @@ -1,2 +0,0 @@ - -TODO The flight recorder has been added to the runtime/trace package. diff --git a/doc/next/6-stdlib/99-minor/sync/63796.md b/doc/next/6-stdlib/99-minor/sync/63796.md deleted file mode 100644 index 60d91a949a..0000000000 --- a/doc/next/6-stdlib/99-minor/sync/63796.md +++ /dev/null @@ -1,2 +0,0 @@ -[WaitGroup] has added a new method [WaitGroup.Go], -that makes the common pattern of creating and counting goroutines more convenient. diff --git a/doc/next/6-stdlib/99-minor/testing/43936.md b/doc/next/6-stdlib/99-minor/testing/43936.md deleted file mode 100644 index 5be98d5db8..0000000000 --- a/doc/next/6-stdlib/99-minor/testing/43936.md +++ /dev/null @@ -1,10 +0,0 @@ -The new methods [T.Attr], [B.Attr], and [F.Attr] emit an -attribute to the test log. An attribute is an arbitrary -key and value associated with a test. - -For example, in a test named `TestAttr`, -`t.Attr("key", "value")` emits: - -``` -=== ATTR TestAttr key value -``` diff --git a/doc/next/6-stdlib/99-minor/testing/59928.md b/doc/next/6-stdlib/99-minor/testing/59928.md deleted file mode 100644 index 6879a10d63..0000000000 --- a/doc/next/6-stdlib/99-minor/testing/59928.md +++ /dev/null @@ -1,4 +0,0 @@ - - -The new [Output] method of [testing.T], [testing.B] and [testing.F] provides a Writer -that writes to the same test output stream as [TB.Log], but omits the file and line number. diff --git a/doc/next/6-stdlib/99-minor/testing/fstest/49580.md b/doc/next/6-stdlib/99-minor/testing/fstest/49580.md deleted file mode 100644 index 5b3c0d6a84..0000000000 --- a/doc/next/6-stdlib/99-minor/testing/fstest/49580.md +++ /dev/null @@ -1,3 +0,0 @@ -[MapFS] implements the new [io/fs.ReadLinkFS] interface. -[TestFS] will verify the functionality of the [io/fs.ReadLinkFS] interface if implemented. -[TestFS] will no longer follow symlinks to avoid unbounded recursion. diff --git a/doc/next/6-stdlib/99-minor/testing/synctest/67434.md b/doc/next/6-stdlib/99-minor/testing/synctest/67434.md deleted file mode 100644 index d36a55111c..0000000000 --- a/doc/next/6-stdlib/99-minor/testing/synctest/67434.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/next/6-stdlib/99-minor/unicode/70780.md b/doc/next/6-stdlib/99-minor/unicode/70780.md deleted file mode 100644 index d799ca0c35..0000000000 --- a/doc/next/6-stdlib/99-minor/unicode/70780.md +++ /dev/null @@ -1,4 +0,0 @@ -The new [CategoryAliases] map provides access to category alias names, such as “Letter” for “L”. -The new categories [Cn] and [LC] define unassigned codepoints and cased letters, respectively. -These have always been defined by Unicode but were inadvertently omitted in earlier versions of Go. -The [C] category now includes [Cn], meaning it has added all unassigned code points. diff --git a/doc/next/6-stdlib/99-minor/unique/71772.md b/doc/next/6-stdlib/99-minor/unique/71772.md deleted file mode 100644 index 5b789446ae..0000000000 --- a/doc/next/6-stdlib/99-minor/unique/71772.md +++ /dev/null @@ -1,4 +0,0 @@ -The [unique] package now reclaims interned values more eagerly, -more efficiently, and in parallel. As a consequence, applications using -[Make] are now less likely to experience memory blow-up when lots of -truly unique values are interned. diff --git a/doc/next/6-stdlib/99-minor/unique/71846.md b/doc/next/6-stdlib/99-minor/unique/71846.md deleted file mode 100644 index b1f86f0739..0000000000 --- a/doc/next/6-stdlib/99-minor/unique/71846.md +++ /dev/null @@ -1,4 +0,0 @@ -Values passed to [Make] containing [Handle]s previously required multiple -garbage collection cycles to collect, proportional to the depth of the chain -of [Handle] values. Now, they are collected promptly in a single cycle, once -unused. diff --git a/doc/next/7-ports.md b/doc/next/7-ports.md deleted file mode 100644 index 05f6840c69..0000000000 --- a/doc/next/7-ports.md +++ /dev/null @@ -1,16 +0,0 @@ -## Ports {#ports} - -### Darwin - - -As [announced](/doc/go1.24#darwin) in the Go 1.24 release notes, Go 1.25 requires macOS 12 Monterey or later; support for previous versions has been discontinued. - -### Windows - - -Go 1.25 is the last release that contains the [broken](/doc/go1.24#windows) 32-bit windows/arm port (`GOOS=windows` `GOARCH=arm`). It will be removed in Go 1.26. - -### RISC-V - - -The linux/riscv64 port now supports the `plugin` build mode. diff --git a/doc/next/9-todo.md b/doc/next/9-todo.md deleted file mode 100644 index b47b026cd2..0000000000 --- a/doc/next/9-todo.md +++ /dev/null @@ -1,203 +0,0 @@ - - -### TODO - -**Please turn these into proper release notes** - - -cmd/link/internal/ld: introduce -funcalign=N option -This patch adds linker option -funcalign=N that allows to set alignment -for function entries. -For \#72130. - - -cmd/fix: automate migrations for simple deprecations - - -cmd/go: allow serving module under the subdirectory of git repository -cmd/go: add subdirectory support to go-import meta tag -This CL adds ability to specify a subdirectory in the go-import meta tag. -A go-import meta tag now will support: -\ -Fixes: \#34055 - - -cmd/go: add global ignore mechanism for Go tooling ecosystem - - -cmd/cover: extend coverage testing to include applications - - -all: add GOARM64=v8.1 and so on -runtime: check LSE support on ARM64 at runtime init -Check presence of LSE support on ARM64 chip if we targeted it at compile -time. -Related to \#69124 -Updates \#60905 -Fixes \#71411 - - -all: add GORISCV64 environment variable -cmd/go: add rva23u64 as a valid value for GORISCV64 -The RVA23 profile was ratified on the 21st of October 2024. -https://riscv.org/announcements/2024/10/risc-v-announces-ratification-of-the-rva23-profile-standard/ -Now that it's ratified we can add rva23u64 as a valid value for the -GORISCV64 environment variable. This will allow the compiler and -assembler to generate instructions made mandatory by the new profile -without a runtime check. Examples of such instructions include those -introduced by the Vector and Zicond extensions. -Setting GORISCV64=rva23u64 defines the riscv64.rva20u64, -riscv64.rva22u64 and riscv64.rva23u64 build tags, sets the internal -variable buildcfg.GORISCV64 to 23 and defines the macros -GORISCV64_rva23u64, hasV, hasZba, hasZbb, hasZbs, hasZfa, and -hasZicond for use in assembly language code. -Updates \#61476 - - -math/rand/v2: revised API for math/rand -rand: deprecate in favor of math/rand/v2 -For golang/go#61716 -Fixes golang/go#71373 - - -cmd/go: enable GOCACHEPROG by default -cmd/go/internal/cacheprog: drop Request.ObjectID -ObjectID was a misnaming of OutputID from cacheprog's initial -implementation. It was maintained for compatibility with existing -cacheprog users in 1.24 but can be removed in 1.25. - - -cmd/go: doc -http should start a pkgsite instance and open a browser - - -cmd/go: -json flag for go version -m -cmd/go: support -json flag in go version -It supports features described in the issue: -- add -json flag for 'go version -m' to print json encoding of - runtime/debug.BuildSetting to standard output. -- report an error when specifying -json flag without -m. -- print build settings on seperated line for each binary -Fixes \#69712 - - -crypto: mechanism to enable FIPS mode - - -spec: remove notion of core types - - -cmd/go: add fips140 module selection mechanism -lib/fips140: set inprocess.txt to v1.0.0 - - -testing: panic in AllocsPerRun during parallel test -testing: panic in AllocsPerRun if parallel tests are running -If other tests are running, AllocsPerRun's result will be inherently flaky. -Saw this with CL 630136 and \#70327. -Proposed in \#70464. -Fixes \#70464. - - -encoding/json/v2: add new JSON API behind a GOEXPERIMENT=jsonv2 guard - - -cmd/go, cmd/distpack: build and run tools that are not necessary for builds as needed and don't include in binary distribution - -