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 23 · Jun 2 – 8, 2025from 3 items

This week the Go team released two patch releases, 1.23.10 and 1.24.4, both containing security and bug fixes. A blog post announced the team’s plans for syntactic support for error handling, but no concrete feature was described.

Worth knowingstdlib

go1.24.4 released

What changed
Security fixes to the crypto/x509, net/http, and os packages; bug fixes to the linker, the go command, and the hash/maphash and os packages.
Production impact
The source does not say.
Try it
Run go version to confirm you are on 1.24.4 and run go test ./... to ensure your tests still pass.
Source
go.dev/doc/devel/release#go1.24.4
Explain it and run it

Understand it, then run it

Go 1.24.4 was released on 2025‑06‑05. It contains security fixes for the crypto/x509, net/http, and os packages. There are also bug fixes for the linker, the go command, and the hash/maphash and os packages. The changes are internal; they do not add new language features or APIs.

Run it now

Todaygo
package main

import (
	"fmt"
	"time"
)

// This program demonstrates a simple time‑based operation that works
// in Go 1.27.1. It prints the current time, waits one second, and
// then prints the elapsed time.
func main() {
	start := time.Now()
	fmt.Println("Start time:", start)

	// Pause for one second.
	time.Sleep(1 * time.Second)

	elapsed := time.Since(start)
	fmt.Println("Elapsed time:", elapsed)
}

What it printed when we ran it on Go 1.27.1

Start time: 2026-10-01 08:50:51.708086847 +0000 UTC m=+0.000065633
Elapsed time: 1.000754254s

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.

Worth knowingstdlib

go1.23.10 released

What changed
Security fixes to the net/http and os packages, as well as bug fixes to the linker.
Production impact
The source does not say.
Try it
Upgrade to 1.23.10 and run go vet ./... to check for any new warnings.
Source
go.dev/doc/devel/release#go1.23.10
Explain it

Understand it, then run it

Go 1.23.10 was released on 2024‑10‑01. It contains security fixes for the net/http and os packages and bug fixes for the linker. The changes are internal; the standard library API remains the same. If you run your Go programs with this release, any vulnerabilities that were fixed are no longer present.

Nice to knowlanguage

On | No syntactic support for error handling

What changed
The Go team plans around error handling support.
Production impact
The source does not say.
Try it
Read the blog post to understand the current discussion.
Source
go.dev/blog/error-syntax
Explain it and run it

Understand it, then run it

The Go team decided not to add any new syntax for handling errors. In Go you still write x, err := call() and then if err != nil { … }. This pattern is common, but it can make functions look long and noisy. The team tried several ideas—check, try, and a ? operator—but none gained enough support, so they stayed with the current style.

Run it now

Todaygo
// This program demonstrates the current error handling style in Go.
// It parses two strings as integers, prints their sum, and returns an error if parsing fails.
package main

import (
	"fmt"
	"strconv"
)

func printSum(a, b string) error {
	x, err := strconv.Atoi(a)
	if err != nil {
		return err
	}
	y, err := strconv.Atoi(b)
	if err != nil {
		return err
	}
	fmt.Println("result:", x+y)
	return nil
}

func main() {
	if err := printSum("10", "20"); err != nil {
		fmt.Println("error:", err)
	}
}

What it printed when we ran it on Go 1.27.1

result: 30

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 small program that uses the net/http package to make a GET request to https://example.com and prints the HTTP status code.

The 60-second version

Hello, I’m here to give you a quick update on what the Go team has been working on this week. First, two patch releases came out: 1.23.10 and 1.24.4. Both bring important security fixes to core packages like net/http, os, and crypto/x509, and they also address several bugs in the linker and the go command. If you’re running a production service, it’s a good idea to upgrade to the latest patch to keep your environment secure. In addition, the team posted a blog about their plans for syntactic support for error handling. While they haven’t released a new feature yet, the discussion is open and you can read the blog to see what’s on the roadmap. That’s all for this week’s radar—thanks for listening.

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