Archive · Week 29 · Jul 13 – 19, 2026from 3 items
This week the Go team accepted three proposals that touch the runtime, the HTTP stack, and the formatting tools. The changes are all non‑breaking and focus on improving ergonomics, removing legacy features, and simplifying the language surface.
Worth knowingstdlib
net/http: drop support for Transport.CancelRequest
- What changed
- The deprecated
Transport.CancelRequestfunction is removed. - Production impact
- The source does not say.
- Try it
- Build a small HTTP client and verify that
Transport.CancelRequestis no longer available. - Source
- github.com/golang/go/issues/79040
Explain it
Understand it, then run it
The Transport.CancelRequest function was a way to stop an HTTP request that was already in progress. It was marked as deprecated in Go 1.6 and has been unused for many years. In the upcoming Go 1.28 release the function is removed entirely. If you see code that calls Transport.CancelRequest, it will no longer compile. The modern way to cancel a request is to use a context with NewRequestWithContext, which is the only supported cancellation mechanism.
Nice to knowtooling
cmd/gofmt: don't rewrite into smart quotes
- What changed
go fmtandgo docwill no longer convert plain quotes into smart quotes.- Production impact
- The source does not say.
- Try it
- Run
go fmton a file that contains straight quotes and observe that they are preserved. - Source
- github.com/golang/go/issues/76975
Explain it and run it
Understand it, then run it
go fmt used to replace plain quotation marks in comments with “smart” quotes. The change stops that conversion. Now the text you write in a comment stays exactly as you typed it. This means your source files no longer contain invisible “fancy” characters that were added automatically.
Run it now
// This program shows that go/format no longer rewrites plain quotes into smart quotes.
// It formats a source string that contains smart quotes and prints the result unchanged.
package main
import (
"fmt"
"go/format"
)
func main() {
// Source code with smart quotes (U+201C and U+201D) in a comment.
src := []byte(`package main
// “Hello, world!” – a comment with smart quotes
func main() {}`)
// Format the source. If smart quotes were rewritten, the output would differ.
formatted, err := format.Source(src)
if err != nil {
fmt.Println("format error:", err)
return
}
// Print the formatted source to show that smart quotes are preserved.
fmt.Println(string(formatted))
}
What it printed when we ran it on Go 1.27.1
package main
// “Hello, world!” – a comment with smart quotes
func main() {}
Run sends this program (for Solidity, the contract and its tests) to our own sandbox, where it is compiled and run once, with no network, and what it printed or the test report comes back here. Nothing is kept. Runs are counted per visitor for the day so everyone gets a turn; the details are on the legal page.
Exercise
Write a program that uses the new atomic.Int64 Max method to keep track of the largest value written by multiple goroutines.
The 60-second version
Good morning, everyone. This week the Go team delivered three clean‑up changes. First, the atomic package now includes Max and Min helpers, letting you atomically update a counter to a new maximum or minimum without writing a loop. Second, the long‑deprecated Transport.CancelRequest has been removed from the HTTP client, encouraging developers to use context cancellation instead. Finally, the formatting tools have been simplified: go fmt and go doc will no longer turn straight quotes into smart quotes, keeping source files exactly as you write them. These updates keep Go lean, modern, and easier to reason about.
Written by gpt-oss-20b · claims checked against the sources · archive, not individually reviewed