<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch go1.26.0</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=go1.26.0</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=go1.26.0'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2026-02-10T19:27:55Z</updated>
<entry>
<title>[release-branch.go1.26] go1.26.0</title>
<updated>2026-02-10T19:27:55Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2026-02-10T19:26:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=d90b98e65320778f3b1f99a6951ab20f04d218b3'/>
<id>urn:sha1:d90b98e65320778f3b1f99a6951ab20f04d218b3</id>
<content type='text'>
Change-Id: Id361013d8afc588e79cdf962a9780e0f03128352
Reviewed-on: https://go-review.googlesource.com/c/go/+/743961
TryBot-Bypass: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] runtime/pprof: fix missing Profile docs</title>
<updated>2026-02-10T01:09:22Z</updated>
<author>
<name>Austin Clements</name>
<email>austin@google.com</email>
</author>
<published>2026-02-10T00:17:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=2b56adf3d1ea5fb5ad1f0644e15937fa412785bf'/>
<id>urn:sha1:2b56adf3d1ea5fb5ad1f0644e15937fa412785bf</id>
<content type='text'>
CL 688335 accidentally introduced a blank line between the Profile doc
comment and the type definition, causing the entire doc to get dropped.

Change-Id: I97b1c0e57d142d7caea6e543a0138ed6dcd1c3fe
Reviewed-on: https://go-review.googlesource.com/c/go/+/743680
Auto-Submit: Austin Clements &lt;austin@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] simd/archsimd: correct algorithm name in SHA256 ops documentation</title>
<updated>2026-02-06T20:25:04Z</updated>
<author>
<name>Tom Thorogood</name>
<email>me+google@tomthorogood.co.uk</email>
</author>
<published>2026-01-11T07:00:06Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=bf69803f97c1afadcfb29fea820326ffe8e87c6d'/>
<id>urn:sha1:bf69803f97c1afadcfb29fea820326ffe8e87c6d</id>
<content type='text'>
The three SHA256 ops (SHA256Message1, SHA256Message2 and SHA256TwoRounds)
all incorrectly referred to the SHA1 algorithm in their documentation
rather than SHA256.

Change-Id: Id6c1bfe4fee4517c0e498fb063cc9112464bc1e7
Reviewed-on: https://go-review.googlesource.com/c/go/+/735420
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
(cherry picked from commit 0430fa977573866f93e66aa61a66b37ff0738aba)
Reviewed-on: https://go-review.googlesource.com/c/go/+/742583
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] crypto/tls: avoid data race when canceling a QUICConn's Context</title>
<updated>2026-02-06T19:13:29Z</updated>
<author>
<name>Damien Neil</name>
<email>dneil@google.com</email>
</author>
<published>2026-02-05T23:56:13Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=43ee761b703bef6814817d3d5146b0d47fe3e657'/>
<id>urn:sha1:43ee761b703bef6814817d3d5146b0d47fe3e657</id>
<content type='text'>
Methods on QUICConn are synchronous:
The connection state is expected to change only in reaction
to a user calling a QUICConn method, and the state change
should finish completely before the method returns.

The connection context provided to QUICConn.Start violates
this model, because canceling the context causes an
asynchronous state change.

Prior to CL 719040, this caused no problems because canceling
the context did not cause any user-visible state changes.
In particular, canceling the context did not cause any new
events to be immediately returned by QUICConn.NextEvent.

CL 719040 introduced a new error event. Now, canceling a
QUICConn's context causes a new connection event to be
generated.

Receiving this event causes a data race visible to the
race detector, but the core problem is not the data race
itself: It's that an asynchronous event (canceling the
connection context) causes an change to the connection
events.

Fix this race by reworking the handling of QUICConn
context cancellation a bit. We no longer react to
cancellation while control of the connection lies
with the user. We only process cancellation as
part of a user call, such as QUICConn.Close
or QUICConn.HandleData.

Fixes #77274

Change-Id: If2e0f73618c4852114e0931b6bd0cb0b6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/742561
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Damien Neil &lt;dneil@google.com&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
(cherry picked from commit d4febb45179fa99ee1d5783bcb693ed7ba14115c)
Reviewed-on: https://go-review.googlesource.com/c/go/+/742761
TryBot-Bypass: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] log/slog: correct method names in MultiHandler docs</title>
<updated>2026-02-06T18:14:25Z</updated>
<author>
<name>Rhys Hiltner</name>
<email>rhys.hiltner@gmail.com</email>
</author>
<published>2026-02-03T17:23:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=3d8b52064612fcc2e27e09ab430041b6150e7f4f'/>
<id>urn:sha1:3d8b52064612fcc2e27e09ab430041b6150e7f4f</id>
<content type='text'>
For #77428.
Fixes #77429.

Change-Id: I02d76ac9220fb2e0df404e4a446953bc0b56475f
Reviewed-on: https://go-review.googlesource.com/c/go/+/741560
Auto-Submit: Rhys Hiltner &lt;rhys.hiltner@gmail.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
(cherry picked from commit ae842f71461ad178eff7283bc36e150fe284b9aa)
Reviewed-on: https://go-review.googlesource.com/c/go/+/742581
Reviewed-by: Rhys Hiltner &lt;rhys.hiltner@gmail.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] go1.26rc3</title>
<updated>2026-02-04T15:46:44Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2026-02-04T15:42:30Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=70d5aa7ba25f23b02d87512c5a6b6a9c699334ee'/>
<id>urn:sha1:70d5aa7ba25f23b02d87512c5a6b6a9c699334ee</id>
<content type='text'>
Change-Id: Icdbfe2e74b099da6f3498549873c18e1ef295c64
Reviewed-on: https://go-review.googlesource.com/c/go/+/741942
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
TryBot-Bypass: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] crypto/tls: document resumption behavior across Configs</title>
<updated>2026-02-03T19:26:48Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2026-01-29T10:32:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=9f30ca9189831b8061a6ee46c0a2a331b4864559'/>
<id>urn:sha1:9f30ca9189831b8061a6ee46c0a2a331b4864559</id>
<content type='text'>
Updates #77113
Updates #77217
Updates CVE-2025-68121

Change-Id: Ia47904a9ed001275aad0243a6a0ce57e6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/740240
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
(cherry picked from commit 1c9abbdc8e9032cd613bd147c78b166ebacc8a2e)
Reviewed-on: https://go-review.googlesource.com/c/go/+/741181
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] crypto/tls: revalidate whole chain on resumption on Windows and macOS</title>
<updated>2026-02-03T19:17:52Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2026-01-30T17:07:23Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=3c5aea997ad49405d69946dde157b49139efa6eb'/>
<id>urn:sha1:3c5aea997ad49405d69946dde157b49139efa6eb</id>
<content type='text'>
TestHandshakeChangeRootCAsResumption and TestHandshakeGetConfigForClientDifferentClientCAs
changed because previously rootA and rootB shared Subject and SPKI,
which made the new full-chain revalidation check succeed, as the
same leaf would verify against both roots.

Updates #77376
Fixes #77426

Cq-Include-Trybots: luci.golang.try:go1.26-darwin-arm64-longtest
Change-Id: I60bed694bdc621c9e83f1bd8a8224c016a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/741361
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Roland Shoemaker &lt;roland@golang.org&gt;
(cherry picked from commit b691a2edc7f5863f61a07c4a4f087eef1a15a704)
Reviewed-on: https://go-review.googlesource.com/c/go/+/741680
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] internal/poll: readWriteUnlock should destroy fd when no remaining references</title>
<updated>2026-02-03T15:55:04Z</updated>
<author>
<name>qmuntal</name>
<email>quimmuntal@gmail.com</email>
</author>
<published>2026-02-02T11:06:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=eedccc63c087a16e297e91ab1004e0d7b88fe924'/>
<id>urn:sha1:eedccc63c087a16e297e91ab1004e0d7b88fe924</id>
<content type='text'>
Updates #77404
Fixes #77405

Change-Id: I0402becb94855baf942d6ba3815cc2a3c1526d6e
Reviewed-on: https://go-review.googlesource.com/c/go/+/740921
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
(cherry picked from commit 31c9bcb1037a332fd547808693cd1899090b5854)
Reviewed-on: https://go-review.googlesource.com/c/go/+/741360
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.26] cmd/compile/internal/bloop: avoid extraneous heap allocs in b.Loop body due to autotmp variable scope</title>
<updated>2026-01-30T17:55:08Z</updated>
<author>
<name>thepudds</name>
<email>thepudds1460@gmail.com</email>
</author>
<published>2026-01-23T20:59:40Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=a56d064bd3e8ed3320175708c725e459ba31d5cd'/>
<id>urn:sha1:a56d064bd3e8ed3320175708c725e459ba31d5cd</id>
<content type='text'>
The motivating example I created for #73137 still seems
to heap allocate in go1.26rc2 when used in a b.Loop body.

                    │   go1.25    │            go1.26rc2               │
                    │  allocs/op  │ allocs/op   vs base                │
NewX/b.Loop-basic-4   1.000 ± 0%     1.000 ± 0%       ~ (p=1.000 n=10) ¹

I suspect it is because the temps are by default declared
outside the loop body, which escape analysis will determine is
an escaping value and result in a heap allocation. (I've seen
this problem before, including in my older CL 546023 that attempts
to help PGO with a similar issue.)

This is an attempt to address that by placing ODCLs within the
b.Loop body for the temps that are created so that they can be
marked keepalive.

There are two cases handled in the CL: function return values
and function arguments. The first case is what affects my example
from #73137, and is also illustrated via the NewX test case in
the new test/escape_bloop.go file.

Without this CL, the NewX call in the BenchmarkBloop test is inlined,
which is an improvement over Go 1.25, but the slice still escapes
because the temporary used for the return value is declared outside
the loop body.

With this CL, the slice does not escape.

The second case is illustrated via the new BenchmarkBLoopFunctionArg
test, which shows a function argument that escapes without this CL
but does not escape with this CL.

We can also make the two new b.Loop tests in testing/benchmark_test.go
individually pass or fail as expected based on individually
reverting the two changes in this CL.

While we are here, we add a note to typecheck.TempAt to help
make people aware of this behavior.

Updates #73137
Fixes #77339

Reviewed-on: https://go-review.googlesource.com/c/go/+/738822
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
Change-Id: I80e89ca95ba297b0d95f02782e6f4ae901a4361a
Reviewed-on: https://go-review.googlesource.com/c/go/+/740600
Reviewed-by: Austin Clements &lt;austin@google.com&gt;
Auto-Submit: Junyang Shao &lt;shaojunyang@google.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
</content>
</entry>
</feed>
