---
title: "Go code can now run before your OS does"
publication: "Go Weekly"
issue: 616
published_at: "2026-09-04"
canonical_url: "https://golangweekly.com/issues/616"
---

Plus hunting leaked goroutines in production, Tailscale without Tailscale, and is the new JSON API actually faster?        

#​616 — September 4, 2026 

[Read the Web Version](https://golangweekly.com/issues/616)   

Together with [![Tiger Data logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_282/e_make_transparent/co_white,e_outline:30/px1u7kjyvz7xnbm6ytir.png)](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=golang-weekly-newsletter)  

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/azfh4cf5zsnmkjtpcr8p.jpg)](https://go.dev/blog/goroutine-leak-profiles)  

[Go 1.27 Can Now Find Leaked Goroutines](https://go.dev/blog/goroutine-leak-profiles) — 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   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/99d79997.png)](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=golang-weekly-newsletter) 

[Query a Billion Rows Without Leaving Postgres](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=golang-weekly-newsletter) — 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](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=golang-weekly-newsletter). 

Tiger Data (creators of TimescaleDB) sponsor   

[TinyGo 0.42: `recover` Works, and Go Can Now Boot Your PC](https://tinygo.org/blog/2026/tinygo-0.42-recover-is-real/) — 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:** 

- [Go 1.27.1 and 1.26.8 have been released](https://groups.google.com/g/golang-nuts/c/hZGtItqO-mQ) with fixes for cgo, the compiler, and several packages. No security updates.
- 🤖 Russ Cox says [frontier LLMs are _"much better and dramatically faster"_](https://bsky.app/profile/swtch.com/post/3mtwnosklvk2v) than he is at finding and fixing Go bugs, and shares the agent transcripts to prove it. (He also mentions he's no longer at Google.)
- The long effort to [move HTTP/2 natively into `net/http`](https://github.com/golang/go/issues/67810) has been marked _"And done"_ by Damien Neil, with `x/net/http2` headed for deprecation.   

[How Swiss Tables Work in Go’s Built-in Map](https://victoriametrics.com/blog/go-swiss-table-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?](https://lemire.me/blog/2026/08/29/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](https://www.checklyhq.com/blog/agentic-rewrite-nodejs-to-go/) — 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 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/tgzfvpr5to6yxgft4hgg.jpg)](https://github.com/ebitengine/purego)  

[purego 0.11: Call C Functions from Go _without_ Cgo](https://github.com/ebitengine/purego) — Born from porting [Ebitengine](https://ebitengine.org/) off Cgo, this lets you `Dlopen` a shared library and register C functions as Go functions. [v0.11](https://github.com/ebitengine/purego/releases/tag/v0.11.0) 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](https://tailscale.com/blog/tailcat) — Brad's `netcat` over Tailscale's WireGuard, NAT traversal and DERP data plane (minus the control plane). Anyone fancy creating hole-punched `net.Conn`s between any two machines? 

Brad Fitzpatrick   

[automemlimit 1.0: Sets `GOMEMLIMIT` to Match `cgroups`](https://github.com/KimMachineGun/automemlimit/releases/tag/v1.0.0) — Blank-import this and [`GOMEMLIMIT`](https://pkg.go.dev/runtime#hdr-Environment_Variables) 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](https://github.com/aws/aws-lambda-go/releases/tag/v1.55.0) – AWS's official library for writing Lambda functions in Go improves Go 1.27 compatibility and now requires Go 1.26+.
- [GoReleaser 2.18](https://goreleaser.com/blog/goreleaser-v2.18/) – The release automation tool adds preflight checks and release summaries in GitHub Actions.
- [quic-go 0.62](https://github.com/quic-go/quic-go/releases/tag/v0.62.0) – Pure Go QUIC and HTTP/3 implementation, now with RFC 9218 stream priorities.
- [Miniredis 2.39](https://github.com/alicebob/miniredis) – Pure Go Redis server for unit tests, now with `GEOSEARCH` and hash field TTLs.
- 🤖 [MCP-Go 1.0](https://github.com/mark3labs/mcp-go) – Go implementation of the Model Context Protocol (MCP).
- [Notify 1.6](https://github.com/nikoksr/notify) – One API for sending notifications to numerous services.
- [fq 0.18](https://github.com/wader/fq) – Decode and query binary files with a `jq`-style language.
- [bluetooth 0.16](https://github.com/tinygo-org/bluetooth) – Bluetooth Low Energy API for Go and TinyGo.      

📰 Classifieds   

🧠 [Discern is hiring a senior full-stack Go/React dev](https://jobs.ashbyhq.com/Discern/86a45dff-638b-4261-a288-9f073ef47e1f) to help automate entity compliance (US/LATAM). [Join us](https://jobs.ashbyhq.com/Discern/86a45dff-638b-4261-a288-9f073ef47e1f). 

--- 

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

Curated by Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict).
Go is a [trademark of Google](https://go.dev/brand).
The [Go gopher](https://go.dev/blog/gopher), whenever used, is an original creation by Renée French. 

[Change your email](https://golangweekly.com/edit_subscription/*|UID|*)
[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
