Go code can now run before your OS does

#​616 — September 4, 2026

Read the Web Version

Go Weekly

Go 1.27 Can Now Find Leaked Goroutines — Go 1.27 added a goroutineleak profile that spots goroutines permanently blocked on channels or sync primitives, even in production. It piggybacks on the GC's reachability tracing and is quite precise. Unusually for a Go feature, this began life as an academic paper (of which Vlad was lead author) from Aarhus, WashU, and Uber.

Vlad Saioc

Query a Billion Rows Without Leaving Postgres — Analytics on a billion rows usually means a warehouse and a pipeline. TimescaleDB extends Postgres instead: hypertables, columnar compression, and continuous aggregates keep queries in milliseconds. One database, same SQL. Get $1000 credit to start.

Tiger Data (creators of TimescaleDB) sponsor

TinyGo 0.42: recover Works, and Go Can Now Boot Your PC — A big one for the Go compiler for microcontrollers and WebAssembly, which can now recover from runtime panics (like nil dereferences) as standard Go does. Go 1.27 support also arrives and, curiously, a UEFI target (in early form) so Go code can run before the OS does.

The TinyGo Team

IN BRIEF:

How Swiss Tables Work in Go’s Built-in Map — If you've wondered what happens when you write m[key] = value in Go, this illustrated tour of the new (as of 1.24) Swiss Table implementation is fantastic. It also covers 1.27's mapsplitgroup experiment that separates keys from values in memory.

Phuong Le (VictoriaMetrics)

📊 The New Go JSON API: Twice As Fast, or 1.5x Slower? — A quick benchmark of Go 1.27's JSON packages, including encoding/json/v2. Unmarshalling is faster with v2, but Daniel finds marshalling a slice of typed structs is 1.5x slower, counter to the performance claims in the release notes.

Daniel Lemire

🤖 Rewriting a Node.js Service in Go with AI Agents — A truly 2026 tale of an overnight porting run, with a focus on doing agentic engineering well, like building a solid test harness first.

Edvinas Janusevicius (Checkly)

🛠 Code & Tools

purego 0.11: Call C Functions from Go without Cgo — Born from porting Ebitengine off Cgo, this lets you Dlopen a shared library and register C functions as Go functions. v0.11 requires Go 1.25+ but adds struct passing on Windows, Android, and iOS and supports structs in callbacks.

Ebitengine

Tailcat: Tailscale's WireGuard, NAT Traversal and DERP as a Go Library — Brad's netcat over Tailscale's WireGuard, NAT traversal and DERP data plane (minus the control plane). Anyone fancy creating hole-punched net.Conns between any two machines?

Brad Fitzpatrick

automemlimit 1.0: Sets GOMEMLIMIT to Match cgroups — Blank-import this and GOMEMLIMIT is set to 90% of the Linux cgroups(7) memory limit. Note that the API has breaking changes if you're an existing user.

Geon Kim

  • AWS Lambda for Go 1.55 – AWS's official library for writing Lambda functions in Go improves Go 1.27 compatibility and now requires Go 1.26+.
  • GoReleaser 2.18 – The release automation tool adds preflight checks and release summaries in GitHub Actions.
  • quic-go 0.62 – Pure Go QUIC and HTTP/3 implementation, now with RFC 9218 stream priorities.
  • Miniredis 2.39 – Pure Go Redis server for unit tests, now with GEOSEARCH and hash field TTLs.
  • 🤖 MCP-Go 1.0 – Go implementation of the Model Context Protocol (MCP).
  • Notify 1.6 – One API for sending notifications to numerous services.
  • fq 0.18 – Decode and query binary files with a jq-style language.
  • bluetooth 0.16 – Bluetooth Low Energy API for Go and TinyGo.

📰 Classifieds

🧠 Discern is hiring a senior full-stack Go/React dev to help automate entity compliance (US/LATAM). Join us.

🤖 NYC Robot Hackathon: Apply now. 2 days, no robotics experience needed — just code. Win an arm + up to $5K in Viam credits. luma.com/wuo6ynis.

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论