]> git.feebdaed.xyz Git - 0xmirror/go.git/commitdiff
doc: pre-announce removal of gotypesalias and asynctimerchan GODEBUG flags
authorRobert Griesemer <gri@google.com>
Tue, 2 Dec 2025 19:58:29 +0000 (11:58 -0800)
committerGopher Robot <gobot@golang.org>
Wed, 3 Dec 2025 00:18:09 +0000 (16:18 -0800)
This announcement follows the policy outlined in #76163.

For #76472.

Change-Id: I4299e7f474e314810883dc4f50be6afba8c3e3e7
Reviewed-on: https://go-review.googlesource.com/c/go/+/726020
Auto-Submit: Robert Griesemer <gri@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

doc/godebug.md
doc/next/6-stdlib/99-minor/go/types/76472.md [new file with mode: 0644]
doc/next/6-stdlib/99-minor/time/76472.md [new file with mode: 0644]

index d6bb18603c3fd90252daff284f0368352af90c40..28a2dc506ef8fff8d650370d0fb541951d259017 100644 (file)
@@ -306,7 +306,7 @@ Go 1.23 changed the channels created by package time to be unbuffered
 and [`Timer.Reset`](/pkg/time/#Timer.Reset) method results much easier.
 The [`asynctimerchan` setting](/pkg/time/#NewTimer) disables this change.
 There are no runtime metrics for this change,
-This setting may be removed in a future release, Go 1.27 at the earliest.
+This setting will be removed in Go 1.27.
 
 Go 1.23 changed the mode bits reported by [`os.Lstat`](/pkg/os#Lstat) and [`os.Stat`](/pkg/os#Stat)
 for reparse points, which can be controlled with the `winsymlink` setting.
@@ -385,7 +385,7 @@ Whether the type checker produces `Alias` types or not is controlled by the
 [`gotypesalias` setting](/pkg/go/types#Alias).
 For Go 1.22 it defaults to `gotypesalias=0`.
 For Go 1.23, `gotypesalias=1` will become the default.
-This setting will be removed in a future release, Go 1.27 at the earliest.
+This setting will be removed in Go 1.27.
 
 Go 1.22 changed the default minimum TLS version supported by both servers
 and clients to TLS 1.2. The default can be reverted to TLS 1.0 using the
diff --git a/doc/next/6-stdlib/99-minor/go/types/76472.md b/doc/next/6-stdlib/99-minor/go/types/76472.md
new file mode 100644 (file)
index 0000000..f9c884b
--- /dev/null
@@ -0,0 +1,4 @@
+The `asynctimerchan` GODEBUG setting introduced in [Go 1.23](/doc/godebug#go-123)
+will be removed in the next major Go release.
+Starting in Go 1.27, the [time](/pkg/time) package will always use unbuffered
+(synchronous) channels for timers regardless of GODEBUG setting or go.mod language version.
diff --git a/doc/next/6-stdlib/99-minor/time/76472.md b/doc/next/6-stdlib/99-minor/time/76472.md
new file mode 100644 (file)
index 0000000..bddca82
--- /dev/null
@@ -0,0 +1,5 @@
+The `gotypesalias` GODEBUG setting introduced in [Go 1.22](/doc/godebug#go-122)
+will be removed in the next major Go release.
+Starting in Go 1.27, the [go/types](/pkg/go/types) package will always produce an
+[Alias type](/pkg/go/types#Alias) for the representation of [type aliases](/ref/spec#Type_declarations)
+regardless of GODEBUG setting or go.mod language version.