]> Cypherpunks repositories - gostls13.git/commitdiff
doc: add release notes for cleanups and the unique package
authorMichael Anthony Knyszek <mknyszek@google.com>
Fri, 9 May 2025 19:45:25 +0000 (19:45 +0000)
committerGopher Robot <gobot@golang.org>
Tue, 20 May 2025 19:06:05 +0000 (12:06 -0700)
For #71661.

Change-Id: I74870de3f17a938bc9fd83ccc41e13e64b55b5e8
Reviewed-on: https://go-review.googlesource.com/c/go/+/671438
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
doc/next/6-stdlib/99-minor/runtime/71825.md [new file with mode: 0644]
doc/next/6-stdlib/99-minor/runtime/72949.md [new file with mode: 0644]
doc/next/6-stdlib/99-minor/unique/71772.md [new file with mode: 0644]
doc/next/6-stdlib/99-minor/unique/71846.md [new file with mode: 0644]

diff --git a/doc/next/6-stdlib/99-minor/runtime/71825.md b/doc/next/6-stdlib/99-minor/runtime/71825.md
new file mode 100644 (file)
index 0000000..156d244
--- /dev/null
@@ -0,0 +1,5 @@
+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
new file mode 100644 (file)
index 0000000..6bab38d
--- /dev/null
@@ -0,0 +1,8 @@
+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/unique/71772.md b/doc/next/6-stdlib/99-minor/unique/71772.md
new file mode 100644 (file)
index 0000000..5b78944
--- /dev/null
@@ -0,0 +1,4 @@
+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
new file mode 100644 (file)
index 0000000..b1f86f0
--- /dev/null
@@ -0,0 +1,4 @@
+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.