This site is being rebuilt and some pages are out of date. For current details, write to [email protected]. This notice goes away when the rebuild is done.

No analytics unless you allow it, no tracking. This site keeps in your browser the language you pick, the theme, its colour, which site you chose, the currency on the pricing page and that you closed this notice; signing in adds session cookies. The legal page has the details.

Sign in

Quiet Pager · Radar

What changed in Go, Rust and Solidity this week.

What changed this week, from each project's own release notes, proposals and issues, with an exercise you can run for each change.

Written by a model · reviewed by a person · published Mondays · Atom feed

Archive · Week 24 · Jun 8 – 14, 2026from 3 items

This week the Go team accepted three proposals that add new APIs and move existing functionality into more appropriate packages. The changes touch the standard library’s networking, TLS, and JSON handling, and they are all slated for future releases.

Worth knowingstdlib

x/net/http2: move frame operations to x/net/http2/http2frame

What changed
The proposal moves the Framer type and all frame‑related types from golang.org/x/net/http2 into a new golang.org/x/net/http2/http2frame package.
Production impact
The source does not say.
Try it
Import golang.org/x/net/http2/http2frame and use http2frame.Framer instead of the old http2.Framer.
Source
github.com/golang/go/issues/67819
Explain it

Understand it, then run it

The Framer type and many frame‑related types live in the golang.org/x/net/http2 package. Most Go developers use HTTP/2 at a higher level, so they rarely touch those types. The change moves all those frame types into a new package called golang.org/x/net/http2/http2frame. After the move, code that needs to read or write raw HTTP/2 frames imports http2frame instead of http2.

Worth knowingstdlib

encoding/json/v2: new API for encoding/json

What changed
A new encoding/json/v2 package and a encoding/json/jsontext package have been proposed, adding a new API surface for JSON handling.
Production impact
The source does not say.
Try it
Read the proposal at the linked issue to see the new API signatures and experiment with them on a development branch.
Source
github.com/golang/go/issues/71497
Explain it and run it

Understand it, then run it

The Go standard library has a package called encoding/json that turns Go values into JSON and back again. A new proposal introduces two new packages: encoding/json/v2 and encoding/json/jsontext. The idea is to split the work into a low‑level, syntax‑only layer (jsontext) and a higher‑level, value‑oriented layer (json/v2). The existing encoding/json will be rewritten to use the new v2 package, so the public API you use today will stay the same, but behind the scenes the code will be cleaner and more efficient.

Run it now

Todaygo
package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	// The existing json package is still available in Go 1.27.1.
	// It will be rewritten to use the new v2 API in a future release.
	data, _ := json.Marshal(map[string]int{"a": 1})
	fmt.Println(string(data))
}

What it printed when we ran it on Go 1.27.1

{"a":1}

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

Pick a TLS client that uses a custom certificate pool. After the connection is established, call ConnectionState() on the tls.Conn and log the LocalCertificate field. Compare the logged certificate with the one you expected to be used. This exercise demonstrates the new API and helps verify that the correct certificate is being presented.

The 60-second version

Hey there, this week the Go team rolled out a few important changes. First, they moved all the HTTP/2 frame types into a new sub‑package, so if you’re working with raw frames you’ll now import `golang.org/x/net/http2/http2frame` instead of the old `http2` package. Second, they added a new field to the TLS connection state that lets you see which local certificate was actually sent to the peer during the handshake—useful for debugging and for collecting usage stats. And finally, they proposed a brand‑new `encoding/json/v2` package that will bring a fresh API for JSON handling. None of these changes break existing code, but they do change how you’ll import or access certain functionality. If you’re using any of these packages, take a look at the proposals linked in the radar and try out the new APIs on a development branch. That’s all for this week’s Go Radar.

Written by gpt-oss-20b · claims checked against the sources · archive, not individually reviewed