<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Golang Weekly</title>
    <description>A weekly newsletter about the Go programming language</description>
    <link>https://golangweekly.com/</link>
    <item>
      <title>The Go team explains Go's new JSON API</title>
      <link>https://golangweekly.com/issues/623</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​623 — November 6, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://golangweekly.com/link/192639/rss" style=" color: #0099b4;"&gt;Read the Web Version&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;Go Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/192602/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mjufarps84eobx02hryp.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192602/rss" title="go.dev" style=" color: #0099b4;    font-size: 1.1em; line-height: 1.4em;"&gt;The Official Guide to &lt;code&gt;encoding/json/v2&lt;/code&gt; (and Migrating to It)&lt;/a&gt;&lt;/span&gt; — Now that &lt;code&gt;encoding/json/v2&lt;/code&gt; and &lt;code&gt;jsontext&lt;/code&gt; are stable, the Go team has a refreshed introduction to how they work, including how v1 and v2 interoperate. There's also a new &lt;a href="https://golangweekly.com/link/192603/rss" style=" color: #0099b4;   "&gt;migration guide&lt;/a&gt; which shows off &lt;code&gt;jsonsplit&lt;/code&gt; for running v1 and v2 side by side in production and logging any differences.&lt;/p&gt;
  &lt;p&gt;Pratt, Tsai, Martí et al. (Go Team) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 &lt;a href="https://golangweekly.com/link/192604/rss" style=" color: #0099b4; font-weight: 600;"&gt;Lleg put v2 to the test&lt;/a&gt; and found nine default behavior changes, 10% faster unmarshaling on plain structs, and big perf gains for deeply recursive custom decoders.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://golangweekly.com/link/192601/rss" style=" color: #0099b4;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/0ed978ca.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192601/rss" title="threedots.tech" style=" color: #0099b4;    font-size: 1.05em;"&gt;What Happens to Your &lt;code&gt;go func()&lt;/code&gt; When the Pod Restarts?&lt;/a&gt;&lt;/span&gt; — Whatever it was doing is gone: you lose the email being sent or the webhook call. Go Event-Driven, the hands-on training from Watermill's authors, starts with goroutines and ends with Go services where data survives a restart. Don’t miss the last cohort this year that opens November 11.&lt;/p&gt;
  &lt;p&gt;Three Dots Labs &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #885 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192605/rss" title="internals-for-interns.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;How &lt;code&gt;//go:embed&lt;/code&gt; Works: From Source Files to Binary&lt;/a&gt;&lt;/span&gt; — A guided tour of how an embedded file travels through the toolchain, with links to the Go source for each step. Along the way, we learn why &lt;code&gt;import _ "embed"&lt;/code&gt; is needed, even when you never reference the package.&lt;/p&gt;
  &lt;p&gt;Ainsley Clark &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;a href="https://golangweekly.com/link/192606/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;draft Go 1.28 release notes&lt;/a&gt; now list two new &lt;code&gt;go vet&lt;/code&gt; checks for unchecked &lt;code&gt;bufio.Scanner&lt;/code&gt; and &lt;code&gt;sql.Rows&lt;/code&gt; errors, a &lt;code&gt;FlagSet.All&lt;/code&gt; iterator, &lt;code&gt;url.MustParse&lt;/code&gt; and &lt;a href="https://golangweekly.com/link/192607/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Landlock&lt;/a&gt; support for subprocesses. The release is targeted for February 2027.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔐 &lt;a href="https://golangweekly.com/link/192608/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Go 1.27.4 and 1.26.11&lt;/a&gt; are due on November 10 with security fixes to the standard library and toolchain covering twelve CVEs (a lot for a minor release).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;React framework &lt;a href="https://golangweekly.com/link/192609/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Next.js&lt;/a&gt; has added (in its 'canary' build) &lt;a href="https://golangweekly.com/link/192610/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;experimental &lt;code&gt;route.go&lt;/code&gt; handlers&lt;/a&gt; where you can write plain &lt;code&gt;net/http&lt;/code&gt;-style GET/POST funcs in a &lt;code&gt;route.go&lt;/code&gt; file and Next.js will serve them as routes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Following last month's &lt;a href="https://golangweekly.com/link/192611/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;accepted experiment&lt;/a&gt; for building cgo code without a C toolchain, &lt;a href="https://golangweekly.com/link/192612/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;a CL in review&lt;/a&gt; reimplements &lt;code&gt;runtime/cgo&lt;/code&gt; in Go and assembly on every remaining OS and removes the C code entirely.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;PROPOSAL UPDATES:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192613/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;maps.Grow&lt;/code&gt;&lt;/a&gt; has been accepted and may make it into Go 1.28. &lt;a href="https://golangweekly.com/link/192614/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Redowan Delowar explains why it's useful.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192615/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;unicode/ascii&lt;/code&gt;&lt;/a&gt;, a package of ASCII-only string functions generic over strings and byte slices, has been proposed, with naming as a sticking point.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192616/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;runtime/bubble&lt;/code&gt;&lt;/a&gt;, from two Temporal engineers, would build on &lt;code&gt;testing/synctest&lt;/code&gt;'s bubbles to let a host program run goroutines, channels and &lt;code&gt;select&lt;/code&gt; deterministically.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192617/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;math/decimal&lt;/code&gt;&lt;/a&gt;, an arbitrary-precision decimal type with explicit rounding modes, has been proposed with an implementation already attached.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192640/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Go's Generic Collections Proposal Has Been Accepted&lt;/a&gt;&lt;/span&gt; — We covered &lt;a href="https://golangweekly.com/link/192618/rss" style=" color: #0099b4;   "&gt;the initial plan&lt;/a&gt; in July but now the umbrella proposal is accepted, along with &lt;code&gt;set.Set&lt;/code&gt; and hash-based &lt;code&gt;Map&lt;/code&gt; and &lt;code&gt;Set&lt;/code&gt; types. They'll land in &lt;code&gt;golang.org/x/exp/collection&lt;/code&gt; first.&lt;/p&gt;
  &lt;p&gt;The Go Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192619/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Go's GC Can Hit a Wall on 192 Cores&lt;/a&gt;&lt;/span&gt; — I doubt many of us work with such mammoth systems, but on 192-core amd64 hosts, heap-triggered GC cycles can take 3-4x longer as idle cores pile onto a shared lock-free stack. arm64 already has mitigations for this, and fixes are in review.&lt;/p&gt;
  &lt;p&gt;Nate Watson et al. &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192620/rss" title="link.svix.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Is Your Go Service Ready for AI Agents? Run the Free POKE Audit&lt;/a&gt;&lt;/span&gt; — A free agent skill that audits your Go service and gives the smallest steps to add an event log, SSE, and webhooks.&lt;/p&gt;
  &lt;p&gt;Svix &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #885 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/192641/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;The &lt;code&gt;MustCreate&lt;/code&gt; Pattern for Go Tests&lt;/a&gt; – How a generic &lt;code&gt;MustCreate(t, NewUsername, "joe123")&lt;/code&gt; can replace a pile of per-type test helpers. &lt;cite&gt;Michael Lynch&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/192621/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;The Heap Profile Named a Function I Didn't Write&lt;/a&gt; – &lt;code&gt;alloc_space&lt;/code&gt; measures churn, &lt;code&gt;inuse_space&lt;/code&gt; what's still live, which can point to different allocation hotspots. &lt;cite&gt;Nolan Keir&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/192622/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Sandboxing Subprocesses with Landlock in Go 1.28&lt;/a&gt; – How Go 1.28 will make it easier to restrict subprocesses on Linux. &lt;cite&gt;Mohammad Abdolirad&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/192623/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Five Go Exercises Worth Trying&lt;/a&gt; – Picks from the &lt;a href="https://golangweekly.com/link/192624/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;practice-go&lt;/a&gt; challenge collection, each with a solution walkthrough. &lt;cite&gt;Alex Pliutau&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/192625/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/drzxpcduyze63kwhwxg3.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192625/rss" title="blog.jetbrains.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;GoLand 2026.3: Coding Agents Move Into the Go IDE&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://golangweekly.com/link/192642/rss" style=" color: #0099b4;   "&gt;JetBrains Air&lt;/a&gt; is a system for running existing terminal coding agents (like Claude or Codex) within IDEs, and it's now included in JetBrains' Go IDE. A redesigned &lt;em&gt;Home&lt;/em&gt; window and Git worktree improvements round out the release.&lt;/p&gt;
  &lt;p&gt;Artem Pronichev (JetBrains) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192626/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;go-yaml v4: The First Stable Release Under the YAML Org&lt;/a&gt;&lt;/span&gt; — The archived &lt;code&gt;gopkg.in/yaml.v3&lt;/code&gt; now has a stable successor, adding &lt;code&gt;Load&lt;/code&gt; and &lt;code&gt;Dump&lt;/code&gt; functions that take options, a plugin system, and a debugging CLI. &lt;code&gt;Dump&lt;/code&gt;'s formatting defaults differ from &lt;code&gt;Marshal&lt;/code&gt;'s, and v2 and v3 now get security fixes only.&lt;/p&gt;
  &lt;p&gt;The YAML Organization &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;span&gt;🔎&lt;/span&gt; &lt;a href="https://golangweekly.com/link/192643/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Betterleaks: A Secrets Scanner from the Creator of Gitleaks&lt;/a&gt;&lt;/span&gt; — The creator of Gitleaks no longer controls that project, so this is its successor, written in Go. It scans Git history, GitHub/GitLab orgs, S3 and container images, and can check whether found keys are still active.&lt;/p&gt;
  &lt;p&gt;Zach Rice et al. &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192644/rss" title="fanout.run" style=" color: #0099b4;    font-size: 1.05em;"&gt;Fanout: A Single-Binary OpenTelemetry Backend in Go&lt;/a&gt;&lt;/span&gt; — From the creator of Echo: OTLP in, Parquet on disk, DuckDB for queries, all in one Go binary. It's alpha, but could be an appealing alternative to a full observability stack for smaller setups. &lt;a href="https://golangweekly.com/link/192627/rss" style=" color: #0099b4;   "&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Vishal Rana &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📰 Classifieds&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;Billion-row analytics with plain database/sql: &lt;a href="https://golangweekly.com/link/192628/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;TimescaleDB&lt;/a&gt; extends Postgres, so your Go code doesn’t change. &lt;a href="https://golangweekly.com/link/192628/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Get $1000 credit&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192629/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;WarpBuild&lt;/a&gt; provides optimized hardware and fast Golang caches for CI. At half the cost. &lt;a href="https://golangweekly.com/link/192629/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Get $50 in free credits&lt;/a&gt; with code &lt;code&gt;START50&lt;/code&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;a href="https://golangweekly.com/link/192633/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;pgx 5.12&lt;/a&gt; – The Postgres driver fixes a SQL injection in simple-protocol batches and a &lt;code&gt;require_auth&lt;/code&gt; bypass. It also adds batched transaction startup, client certificate policy controls, and per-query batch timing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192630/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Wails 3.1&lt;/a&gt; – An update after last week's &lt;a href="https://golangweekly.com/link/192631/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;big 3.0 release&lt;/a&gt; with fixes, performance improvements, and experimental cgo-free macOS and Linux backends.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 &lt;a href="https://golangweekly.com/link/192635/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;ADK for Go 2.7&lt;/a&gt; – Google's agent toolkit adds Claude as a first-party (experimental) model option and experimental classifiers for workflow routing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192632/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Excelize 2.11.1&lt;/a&gt; – The spreadsheet reading/writing library tackles 16 CVEs, mostly crashes and runaway allocations on malicious input, and now requires Go 1.26+.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192634/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Ginkgo 2.34&lt;/a&gt; – The BDD-style test framework adds &lt;code&gt;DeferOnFailure&lt;/code&gt; for capturing state before teardown destroys it.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://golangweekly.com/open/623/rss" width="1" height="1" /&gt;</description>
      <pubDate>Fri, 6 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://golangweekly.com/issues/623</guid>
    </item>
    <item>
      <title>Wails 3 arrives after nearly four years</title>
      <link>https://golangweekly.com/issues/622</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​622 — October 30, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://golangweekly.com/link/192298/rss" style=" color: #0099b4;"&gt;Read the Web Version&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;Go Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/192256/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/s0aokyzlbjmn4zfzop4e.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192256/rss" title="wails.io" style=" color: #0099b4;    font-size: 1.1em; line-height: 1.4em;"&gt;Wails 3.0: Build Desktop Apps with Go and Native Web Views&lt;/a&gt;&lt;/span&gt; — Nearly four years after its alpha, Wails 3 lets you build desktop apps with a Go backend and web frontend, rendered in a native WebView. 3.0 adds multiple windows, system tray support, an in-app updater, and generated JavaScript and TypeScript bindings for Go services. Mobile support remains experimental.&lt;/p&gt;
  &lt;p&gt;Lea Anthony &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://golangweekly.com/link/192255/rss" style=" color: #0099b4;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/8c603ab5.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192255/rss" title="link.svix.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Stop Hand-Rolling Webhooks in Your Go Service&lt;/a&gt;&lt;/span&gt; — Your webhooks want one package, one call per event, and idiomatic Go with typed models. Svix handles retries, signing, delivery logs, and a portal for your customers, so you don’t build any of it. Clerk has run its webhooks on Svix for 3+ years.&lt;/p&gt;
  &lt;p&gt;Svix &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #885 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192257/rss" title="go.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;How Go Shipped Its First &lt;code&gt;URGENT&lt;/code&gt; Track Security Release&lt;/a&gt;&lt;/span&gt; — As featured last week, Go &lt;a href="https://golangweekly.com/link/192299/rss" style=" color: #0099b4;   "&gt;hardcoded a block&lt;/a&gt; on eMudhra's broken intermediate certs. Now the Go security team explains why the notes were vague, how the fix shipped hours after they were alerted, and its plan for &lt;a href="https://golangweekly.com/link/192258/rss" style=" color: #0099b4;   "&gt;revocation checking on Linux&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Roland Shoemaker (Go Team) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;a href="https://golangweekly.com/link/192259/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;golang.org/x/net&lt;/code&gt; v0.62.0&lt;/a&gt; fixes two bugs in its &lt;code&gt;html&lt;/code&gt; package: a quadratic slowdown on crafted input and a &lt;a href="https://golangweekly.com/link/192260/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;raw text rendering flaw&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Filippo Valsorda has proposed friendlier &lt;a href="https://golangweekly.com/link/192261/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;crypto/aead&lt;/code&gt; packages&lt;/a&gt; for symmetric encryption, plus &lt;a href="https://golangweekly.com/link/192262/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;crypto/cobblestone&lt;/code&gt;&lt;/a&gt; for messages too big to hold in memory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;𝕏 &lt;a href="https://golangweekly.com/link/192263/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Emma Twersky&lt;/a&gt;, familiar to many from Angular's DevRel team, now leads Frameworks and Languages DevRel at Google, covering Go alongside Flutter and Dart.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;span&gt;🔒&lt;/span&gt; &lt;a href="https://golangweekly.com/link/192265/rss" title="groups.google.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Go on Linux and CVE-2026-98432: Patch Your Kernel&lt;/a&gt;&lt;/span&gt; — Go enables &lt;a href="https://golangweekly.com/link/192266/rss" style=" color: #0099b4;   "&gt;Multipath TCP&lt;/a&gt; by default for listeners in apps whose main module declares &lt;code&gt;go 1.24&lt;/code&gt; or later. &lt;a href="https://golangweekly.com/link/192267/rss" style=" color: #0099b4;   "&gt;Anthropic's remote root exploit&lt;/a&gt; for a new Linux kernel bug used such a listener, but the bug isn't MPTCP-specific. Update your kernel, as &lt;code&gt;GODEBUG=multipathtcp=0&lt;/code&gt; is only &lt;em&gt;"a fragile mitigation"&lt;/em&gt;.&lt;/p&gt;
  &lt;p&gt;Neal Patel (Go Security Team) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 &lt;a href="https://golangweekly.com/link/192268/rss" style=" color: #0099b4; font-weight: 600;"&gt;An issue that proposes Go turn the default off&lt;/a&gt; is open, but the Go team says any change would be premature for now. The issue is ultimately with Linux, not Go.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192264/rss" title="antonz.org" style=" color: #0099b4;    font-size: 1.05em;"&gt;Go Concurrency Distilled&lt;/a&gt;&lt;/span&gt; — A handy interactive refresher where Anton boils Go's numerous concurrency concepts and mechanisms down into a single page, covering everything from channels and &lt;code&gt;select&lt;/code&gt; to &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;synctest&lt;/code&gt; and the scheduler, with examples you can edit and run in place.&lt;/p&gt;
  &lt;p&gt;Anton Zhiyanov &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;span&gt;📊&lt;/span&gt; &lt;a href="https://golangweekly.com/link/192269/rss" title="abdolirad.me" style=" color: #0099b4;    font-size: 1.05em;"&gt;Measuring Go 1.28's HTTP/2 'Parking' Memory Savings&lt;/a&gt;&lt;/span&gt; — Thanks to &lt;a href="https://golangweekly.com/link/192270/rss" style=" color: #0099b4;   "&gt;a change by Brad Fitzpatrick&lt;/a&gt;, an idle HTTP/2 server connection in Go 1.28 can let its serve goroutine exit. With 5,000 idle connections, a dev build ran 5,000 fewer goroutines and used about 40% less RSS.&lt;/p&gt;
  &lt;p&gt;Mohammad Abdolirad &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192271/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Proposal: Let &lt;code&gt;go test&lt;/code&gt; Run Your Project's Own Analyzers&lt;/a&gt;&lt;/span&gt; — &lt;code&gt;//go:analyze&lt;/code&gt; directives would add custom analyzers to &lt;code&gt;go test&lt;/code&gt;, and libraries could ship checks that run on packages that import them, like &lt;code&gt;vet&lt;/code&gt; checks &lt;code&gt;Printf&lt;/code&gt; calls. It's still early but being actively discussed.&lt;/p&gt;
  &lt;p&gt;Alan Donovan (Go Team) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📺 &lt;a href="https://golangweekly.com/link/192272/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Profiling Go with &lt;code&gt;pprof&lt;/code&gt;: Flame Graphs and Memory Leaks&lt;/a&gt; – A quick, six minute primer that finds a CPU hog and leak in an app. &lt;cite&gt;Hüseyin Babal&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/192273/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Partial Updates in Go with Field Masks&lt;/a&gt; – How to separate update intent from values in &lt;code&gt;PATCH&lt;/code&gt; requests. &lt;cite&gt;Redowan Delowar&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/192274/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Where Go 1.27's HTTP/1 Connection Reuse Stops Working&lt;/a&gt; &lt;cite&gt;Lleg&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/192275/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/x1tqnpdllec2vidaspd5.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192275/rss" title="gohawk.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;gohawk: Static Analysis for Leaks and Lock Bugs&lt;/a&gt;&lt;/span&gt; — Finds leaked files, unjoined goroutines, unreaped processes and lock inversions, using Infer-style function summaries to track ownership across packages. It's a young project, but has already led to merged fixes in &lt;a href="https://golangweekly.com/link/192276/rss" style=" color: #0099b4;   "&gt;Moby&lt;/a&gt; and &lt;a href="https://golangweekly.com/link/192277/rss" style=" color: #0099b4;   "&gt;Caddy&lt;/a&gt;. (&lt;a href="https://golangweekly.com/link/192278/rss" style=" color: #0099b4;   "&gt;GitHub repo&lt;/a&gt;.)&lt;/p&gt;
  &lt;p&gt;James Ko &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192279/rss" title="tinygo.org" style=" color: #0099b4;    font-size: 1.05em;"&gt;TinyGo 0.44: Smaller, Faster, Better&lt;/a&gt;&lt;/span&gt; — The Go compiler for microcontrollers and WebAssembly now does more init work at compile time for smaller binaries that start faster, drops needless slice bounds checks, and adds multicore goroutines on the ESP32-S3. Support for the Arduino Uno R4 also brings TinyGo's first Renesas CPU support.&lt;/p&gt;
  &lt;p&gt;The TinyGo Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192280/rss" title="www.tigerdata.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;You Chose Go for Simplicity. Keep Your Data Stack Simple Too&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres with compression and continuous aggregates. Your Go code doesn’t change. &lt;a href="https://golangweekly.com/link/192280/rss" style=" color: #0099b4;   "&gt;Get $1000 credit&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #885 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/192281/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;noalloc: Keep Your Hot Paths Allocation-Free&lt;/a&gt;&lt;/span&gt; — Mark a function with &lt;code&gt;//noalloc:root&lt;/code&gt; and this CLI checks its call tree for heap allocations, flagging offending lines. It's a days-old, AI-written experiment that borrows an idea from &lt;a href="https://golangweekly.com/link/192282/rss" style=" color: #0099b4;   "&gt;OxCaml's &lt;code&gt;zero_alloc&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Phil Eaton (The Consensus) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔒 &lt;a href="https://golangweekly.com/link/192283/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Echo 5.4.4&lt;/a&gt; – The popular web framework has had four patch releases in eight days, including a fix for a critical &lt;a href="https://golangweekly.com/link/192300/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;access control bypass&lt;/a&gt; in its proxy middleware's WebSocket handling.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192284/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;go-json 0.12&lt;/a&gt; – Fast &lt;code&gt;encoding/json&lt;/code&gt;-compatible library. Adds a &lt;code&gt;jsontext&lt;/code&gt; package and an early &lt;code&gt;encoding/json/v2&lt;/code&gt;-style API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192285/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;cel-go 0.33&lt;/a&gt; – Google's &lt;a href="https://golangweekly.com/link/192286/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Common Expression Language&lt;/a&gt; for Go gets an opt-in parser that's 8-19x faster.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192287/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Huma 2.40&lt;/a&gt; – Framework for building HTTP APIs with OpenAPI 3 specs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192288/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;mockery 3.9&lt;/a&gt; – The popular mock generator for Go interfaces. (&lt;a href="https://golangweekly.com/link/192289/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Docs&lt;/a&gt;.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;✨ Richard Seroter, Google Cloud's Chief Evangelist and the exec with product and engineering responsibility for Go, 𝕏 &lt;a href="https://golangweekly.com/link/192290/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;says Go has just become the most-used language on Google Cloud&lt;/a&gt; by raw SDK API requests, with Java not far behind.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Before 'distributed SQLite' became a busy, venture-funded category, there was &lt;a href="https://golangweekly.com/link/192291/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;rqlite&lt;/a&gt;, built in Go in 2014. &lt;a href="https://golangweekly.com/link/192292/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Its creator tells the story&lt;/a&gt; of the ecosystem's growth.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/192293/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Lisette&lt;/a&gt; is a Rust-inspired language with algebraic data types, pattern matching and no &lt;code&gt;nil&lt;/code&gt; that compiles to readable Go and can call Go packages directly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⚠️ A reminder that the &lt;a href="https://golangweekly.com/link/192294/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;2026 Go Developer Survey&lt;/a&gt; closes for submissions on November 3, so there are a few more days to have your say.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://golangweekly.com/open/622/rss" width="1" height="1" /&gt;</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://golangweekly.com/issues/622</guid>
    </item>
    <item>
      <title>Why Go had to hardcode a block on broken certs</title>
      <link>https://golangweekly.com/issues/621</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​621 — October 23, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://golangweekly.com/link/191975/rss" style=" color: #0099b4;"&gt;Read the Web Version&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;Go Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/191929/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/b5x3lqadlkbtjjepavzj.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191929/rss" title="go.dev" style=" color: #0099b4;    font-size: 1.1em; line-height: 1.4em;"&gt;Interactive Refactoring in &lt;code&gt;gopls&lt;/code&gt;&lt;/a&gt;&lt;/span&gt; — LSP refactorings can't 'ask' you anything, so &lt;em&gt;"Add struct tags"&lt;/em&gt; in &lt;code&gt;gopls&lt;/code&gt; just guessed &lt;code&gt;json&lt;/code&gt; and camelCase. gopls can now pop up dialogs to collect your input. It uses a stateless, form-like protocol extension the Go and Dart teams have &lt;a href="https://golangweekly.com/link/191930/rss" style=" color: #0099b4;   "&gt;proposed as an LSP standard&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Hongxiang Jiang (Go Team) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 For now it works in VS Code, with Neovim and Emacs support at proof-of-concept stage. A &lt;em&gt;Move declaration&lt;/em&gt; refactoring is coming soon, with &lt;em&gt;Change signature&lt;/em&gt; to follow.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://golangweekly.com/link/191928/rss" style=" color: #0099b4;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/cac42246.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191928/rss" title="master.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Deploy Self-Healing Apps on Kubernetes&lt;/a&gt;&lt;/span&gt; — Learn Kubernetes by building a real production setup. Erik Reinert takes you from a local Kind cluster to Amazon EKS with health probes, autoscaling, safe rollbacks, and GitOps with Argo CD.&lt;/p&gt;
  &lt;p&gt;Master.dev &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #885 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;span&gt;🚫&lt;/span&gt; &lt;a href="https://golangweekly.com/link/191931/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Go Hardcodes a Block on Broken eMudhra Certs&lt;/a&gt;&lt;/span&gt; — Eight intermediate CA certificates had &lt;a href="https://golangweekly.com/link/191932/rss" style=" color: #0099b4;   "&gt;trivially recoverable private keys&lt;/a&gt;, so &lt;a href="https://golangweekly.com/link/191933/rss" style=" color: #0099b4;   "&gt;Go 1.27.3 and 1.26.10&lt;/a&gt; now refuse chains through them. It's hardcoded because, &lt;a href="https://golangweekly.com/link/191934/rss" style=" color: #0099b4;   "&gt;as Filippo Valsorda notes&lt;/a&gt;, Linux trust stores have no way to pass revocations on to apps.&lt;/p&gt;
  &lt;p&gt;The Go Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;📺 The &lt;a href="https://golangweekly.com/link/191935/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;GopherCon Europe 2026 talks&lt;/a&gt; are now online, including &lt;a href="https://golangweekly.com/link/191936/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;▶️ using Go to build for the Sega Dreamcast(!)&lt;/a&gt; and a &lt;a href="https://golangweekly.com/link/191937/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;▶️ panel with the Go team&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇮🇳 &lt;a href="https://golangweekly.com/link/191938/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;GopherCon India 2026&lt;/a&gt; takes place in Hyderabad on November 22, with tickets now on sale.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fiber has &lt;a href="https://golangweekly.com/link/191939/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;marked its v2 module as deprecated&lt;/a&gt;, so Go's tooling will now nudge v2 users toward Fiber v3.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;GO 1.28 &amp;amp; PROPOSALS:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Go 1.28 &lt;a href="https://golangweekly.com/link/191940/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;will let you omit a composite literal's type&lt;/a&gt; when the context supplies it (so &lt;code&gt;p = {1, 2}&lt;/code&gt; will work).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;iter.Seq&lt;/code&gt; could gain &lt;code&gt;Map&lt;/code&gt; and &lt;code&gt;Filter&lt;/code&gt; methods now that Go has generic methods, with &lt;a href="https://golangweekly.com/link/191941/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;a new proposal's thread&lt;/a&gt; already debating where to stop. &lt;code&gt;Fold&lt;/code&gt;? &lt;code&gt;Keys&lt;/code&gt;? &lt;code&gt;Map2&lt;/code&gt;?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;net/http&lt;/code&gt; is getting &lt;a href="https://golangweekly.com/link/191942/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;Server.HandleRequest&lt;/code&gt;&lt;/a&gt; (accepted last week), while &lt;a href="https://golangweekly.com/link/191943/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;maps.Grow&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://golangweekly.com/link/191944/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;an RSS-based &lt;code&gt;memory&lt;/code&gt; profile&lt;/a&gt; for &lt;code&gt;runtime/pprof&lt;/code&gt; are both &lt;em&gt;likely accepts&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191945/rss" title="go.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Better HTTP/1 Connection Reuse&lt;/a&gt;&lt;/span&gt; — You can now (mostly) stop draining HTTP/1 response bodies in Go 1.27 as the client now drains the leftovers in the background, within limits, making &lt;code&gt;io.Copy(io.Discard, resp.Body)&lt;/code&gt; helpers largely redundant when you close the body.&lt;/p&gt;
  &lt;p&gt;Nicholas Husin and Damien Neil (Go Team) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 &lt;a href="https://golangweekly.com/link/191946/rss" style=" color: #0099b4; font-weight: 600;"&gt;The release notes&lt;/a&gt; add a caveat the post skips: programs that let idle connections pile up (say, with &lt;code&gt;MaxIdleConns&lt;/code&gt; set to 0 or a new &lt;code&gt;Client&lt;/code&gt; per request) may get slower.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191947/rss" title="internals-for-interns.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;SIMD and Go: How the New Packages Work Under the Hood&lt;/a&gt;&lt;/span&gt; — A heavily illustrated tour of Go's experimental SIMD support, covering what vector instructions actually do, the operations offered by &lt;code&gt;simd/archsimd&lt;/code&gt; and the new portable &lt;code&gt;simd&lt;/code&gt; package, and how the compiler turns them into machine code.&lt;/p&gt;
  &lt;p&gt;Jesús Espino &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191948/rss" title="www.tigerdata.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;One Less System to Operate. Everything in SQL&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres so your metrics and app data share one database and one SQL join. &lt;a href="https://golangweekly.com/link/191948/rss" style=" color: #0099b4;   "&gt;Get $1000 credit&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #885 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/191949/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Spinning is a Bounded Bet: Why Go Hides Its Spinlocks&lt;/a&gt; – Part one of a four-part series on spinning versus parking. &lt;cite&gt;Alex Rios&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/191950/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;ConcurrentML: Improving on Go's Concurrency Model&lt;/a&gt; – Makes the case for composable events as a fix for the limits of &lt;code&gt;select&lt;/code&gt;. &lt;cite&gt;Nikhil Marathe&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/191951/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Cutting a Go Git Server's RAM Usage by Two-Thirds&lt;/a&gt; – Using &lt;code&gt;pprof&lt;/code&gt; to take a push from 617MB to 199MB. &lt;cite&gt;Xe Iaso (Tigris)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/191952/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Why a Healthy Go Heap Can Still Get OOM-Killed in Kubernetes&lt;/a&gt; &lt;cite&gt;Gulcan Topcu&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/191953/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Dancing Backwards with Go: Why TDD Feels Weird&lt;/a&gt;  &lt;cite&gt;John Arundel&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/191954/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/g3awowau4bxptrdzhcni.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191954/rss" title="mygo.egoist.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;MyGo: Build Desktop Apps in Go with No Cgo Required&lt;/a&gt;&lt;/span&gt; — Build macOS, Windows and Linux apps with a UI drawn on the GPU from pure Go, or a web frontend in the system webview that calls Go via a generated TypeScript client. Apps can be just a few megabytes. &lt;a href="https://golangweekly.com/link/191955/rss" style=" color: #0099b4;   "&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;EGOIST &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191956/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;TinyGo 0.43: Go for Microcontrollers and WebAssembly&lt;/a&gt;&lt;/span&gt; — The Go compiler 'for small places' closes more gaps with regular Go, adding &lt;code&gt;testing/synctest&lt;/code&gt;, parallel tests, panic recovery on Wasm, and more. Much of the work comes from Jake Bailey of TypeScript's Go port fame.&lt;/p&gt;
  &lt;p&gt;The TinyGo Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 For some TinyGo fun, Hoani Bryson's &lt;em&gt;Trick Shot II&lt;/em&gt; won this year's &lt;em&gt;Nokia 3310 Jam&lt;/em&gt;, built on &lt;a href="https://golangweekly.com/link/191957/rss" style=" color: #0099b4; font-weight: 600;"&gt;his own Go engine&lt;/a&gt; that even runs on a Pico inside a real 3310.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191958/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;coregex: A Faster Drop-In Replacement for &lt;code&gt;regexp&lt;/code&gt;&lt;/a&gt;&lt;/span&gt; — Brings the multi-engine design of Rust's &lt;code&gt;regex&lt;/code&gt; crate to Go, with lazy DFA, PikeVM, one-pass matching and SIMD prefilters. The author claims 15–240x speedups.&lt;/p&gt;
  &lt;p&gt;Andrey Kolkov &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 The standard library may close some of that gap: &lt;a href="https://golangweekly.com/link/191959/rss" style=" color: #0099b4; font-weight: 600;"&gt;a port of RE2's lazy DFA to &lt;code&gt;regexp&lt;/code&gt;&lt;/a&gt; is up for review, with early benchmarks showing big performance improvements.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191960/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;gopls 0.24&lt;/a&gt; – The official Go language server moves to LSP 3.18 and adds hover, highlighting and references in Go assembly files &lt;em&gt;(interactive refactoring is covered in the feature at the top of the issue)&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191961/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;GoReleaser 2.19&lt;/a&gt; – The release automation tool graduates several experimental features and adds tunable zstd compression for archives.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191962/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;fasthttp 1.76&lt;/a&gt; – The fast HTTP package gets extra hardening against request smuggling and message-framing attacks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191963/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;decimal 1.6&lt;/a&gt; – Arbitrary-precision fixed-point decimals, now with &lt;code&gt;Sqrt&lt;/code&gt;, &lt;code&gt;Root&lt;/code&gt; and BSON Decimal128.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191964/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;chi 5.5&lt;/a&gt; – Lightweight router, now with &lt;a href="https://golangweekly.com/link/191965/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;RFC 9745 deprecation middleware&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📰 Classifieds&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;Build your Golang app faster. &lt;a href="https://golangweekly.com/link/191966/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;WarpBuild&lt;/a&gt; runners are twice as fast at half the cost. &lt;a href="https://golangweekly.com/link/191966/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Get $50 in free credits&lt;/a&gt; with code &lt;code&gt;START50&lt;/code&gt;.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191967/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;CodeAF&lt;/a&gt;, an open-source coding harness written in Go: #1 of ten on DeepSWE on the same model, at 2x to 25x less per fix than the others.&lt;/p&gt;
 
&lt;p&gt;🪝 &lt;a href="https://golangweekly.com/link/191968/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Send webhooks from your Go service in minutes&lt;/a&gt;. Svix handles retries, signing, delivery logs, and a portal for your customers.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;⭐ And finally…&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/191969/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xtdpxgsdvsakrnew3e6m.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191969/rss" title="go.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Help Set Go's Priorities with the 2026 Go Developer Survey&lt;/a&gt;&lt;/span&gt; — The Go team uses the results to decide what to work on. &lt;a href="https://golangweekly.com/link/191970/rss" style=" color: #0099b4;   "&gt;Last year&lt;/a&gt;, the top frustration was keeping Go code idiomatic and following best practices, which led to the &lt;a href="https://golangweekly.com/link/191971/rss" style=" color: #0099b4;   "&gt;rewritten &lt;code&gt;go fix&lt;/code&gt;&lt;/a&gt; in Go 1.26 and more modernizers in 1.27.&lt;/p&gt;
  &lt;p&gt;Cameron Balahan (Go Team) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://golangweekly.com/open/621/rss" width="1" height="1" /&gt;</description>
      <pubDate>Fri, 23 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://golangweekly.com/issues/621</guid>
    </item>
    <item>
      <title>Hooking into the Go toolchain</title>
      <link>https://golangweekly.com/issues/620</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​620 — October 9, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://golangweekly.com/link/191399/rss" style=" color: #0099b4;"&gt;Read the Web Version&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;ℹ️ We're back, &lt;em&gt;but&lt;/em&gt; we're taking another break next week, so we'll see you again on Friday, October 23! :-)&lt;br&gt;__&lt;br&gt;&lt;em&gt;Your editor, Peter Cooper&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;Go Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/191359/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/yna9kitpqq3n37dpzywx.jpg" width="640" style="    line-height: 100%;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191359/rss" title="victoriametrics.com" style=" color: #0099b4;    font-size: 1.1em; line-height: 1.4em;"&gt;The Data Race That Wasn't a Bug (and the One That Was)&lt;/a&gt;&lt;/span&gt; — &lt;code&gt;Client.Do&lt;/code&gt; can return before &lt;code&gt;net/http&lt;/code&gt; has finished reading your request body, so reusing the buffer can trigger a data race. A walk through the transport’s goroutines and why VictoriaMetrics kept one such race but fixed another.&lt;/p&gt;
  &lt;p&gt;Jesús Espino &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://golangweekly.com/link/191358/rss" style=" color: #0099b4;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/bceb594c.png" width="150" height="150" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191358/rss" title="threedots.tech" style=" color: #0099b4;    font-size: 1.05em;"&gt;Nail Your Complex Go Backend&lt;/a&gt;&lt;/span&gt; — Adding a feature shouldn't break three other things. Learn advanced backend patterns by building a food delivery platform, by hand or with your coding agent. Enrollment opens in two weeks. &lt;a href="https://golangweekly.com/link/191358/rss" style=" color: #0099b4;   "&gt;Join the waitlist so you don’t miss it!&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Three Dots Labs &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #885 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191360/rss" title="internals-for-interns.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Hooking into the Go Toolchain&lt;/a&gt;&lt;/span&gt; — A deep tour of &lt;code&gt;go build -toolexec&lt;/code&gt; for wrapping compiler and linker runs, starting with a simple timer and moving on to rewriting code mid-build, patching &lt;code&gt;importcfg&lt;/code&gt; to add new imports, and more.&lt;/p&gt;
  &lt;p&gt;Kemal Akkoyun &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🔐 &lt;a href="https://golangweekly.com/link/191361/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Go 1.27.2 and 1.26.9&lt;/a&gt; have been released with 15 security fixes, mostly in &lt;code&gt;net/http&lt;/code&gt;, plus a fix for &lt;a href="https://golangweekly.com/link/191362/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;a compiler bug that could corrupt values&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 &lt;a href="https://golangweekly.com/link/191363/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Every Go release since 2013, benchmarked&lt;/a&gt;. The same benchmark programs took 11.5% less time on Go 1.27 than on 1.23, and ~41% less than on 1.2.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔒 Google has &lt;a href="https://golangweekly.com/link/191364/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;paused bounties&lt;/a&gt; for product vulnerabilities in Go and its other open source projects after &lt;a href="https://golangweekly.com/link/191365/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;a flood of mostly invalid automated reports&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇯🇵 &lt;a href="https://golangweekly.com/link/191366/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;GopherCon Japan 2027's CFP&lt;/a&gt; is open until October 25 if you fancy speaking at the (bilingual) event in Tokyo next February.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191367/rss" title="vincent.bernat.ch" style=" color: #0099b4;    font-size: 1.05em;"&gt;Hacking the Go Compiler to Efficiently Map IPv4 to IPv6&lt;/a&gt;&lt;/span&gt; — A small IPv4-to-IPv6 conversion led Vincent through noder hacks, SSA rewrite rules, and compiler pass ordering to close a ~8x performance gap.&lt;/p&gt;
  &lt;p&gt;Vincent Bernat &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191368/rss" title="go.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Arch-Specific SIMD in Go&lt;/a&gt;&lt;/span&gt; — A follow-up to the Go team’s look at &lt;a href="https://golangweekly.com/link/191369/rss" style=" color: #0099b4;   "&gt;platform-independent SIMD in Go&lt;/a&gt; covering the experimental &lt;code&gt;archsimd&lt;/code&gt; package, which now supports &lt;code&gt;arm64&lt;/code&gt; and &lt;code&gt;wasm&lt;/code&gt;, plus tips for writing SIMD code that compiles well.&lt;/p&gt;
  &lt;p&gt;Junyang Shao and David Chase (Go Team) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191370/rss" title="iain.rocks" style=" color: #0099b4;    font-size: 1.05em;"&gt;Don't Couple Your Go Code to GitHub&lt;/a&gt;&lt;/span&gt; — Is putting &lt;code&gt;github.com&lt;/code&gt; in import paths a problem? Iain thinks so, and makes the case for using your own domain instead, but it kicked off &lt;a href="https://golangweekly.com/link/191371/rss" style=" color: #0099b4;   "&gt;a lively debate on Hacker News&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Iain Cambridge &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191372/rss" title="www.tigerdata.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Ship Go Features, Not Data Pipelines&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres so your Go service gets fast analytics without a second system. &lt;a href="https://golangweekly.com/link/191372/rss" style=" color: #0099b4;   "&gt;Get $1000 credit&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #885 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/191373/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Poisoning a Go Build Cache&lt;/a&gt; – A hands-on look at how $GOCACHE works and why sharing it in CI can be risky. &lt;cite&gt;Lukas Schwab&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/191374/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Go 1.27 Detects Goroutine Leaks: I Tested It on Mine&lt;/a&gt; – With three caught, but one notable miss. &lt;cite&gt;Jules Robineau&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/191375/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Logs in Parallel Go Tests and Where to Find Them&lt;/a&gt; – Hint: Go 1.25’s &lt;code&gt;t.Output()&lt;/code&gt; is your friend. &lt;cite&gt;Artur Dryomov&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191376/rss" title="withblue.ink" style=" color: #0099b4;    font-size: 1.05em;"&gt;Francis: Durable Actors, Jobs and Workflows for Go&lt;/a&gt;&lt;/span&gt; — Durable actors, cron jobs, background jobs with retries, rate limiting and saga-style workflows, embedded in your app and backed by SQLite or Postgres, with an optional standalone runtime for larger clusters.&lt;/p&gt;
  &lt;p&gt;Alessandro Segala &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191377/rss" title="buf.build" style=" color: #0099b4;    font-size: 1.05em;"&gt;connect-go v2 Arrives with Simpler, gRPC-Go-Style Handlers&lt;/a&gt;&lt;/span&gt; — Buf's Go RPC library drops its generic request and response wrappers, splits HTTP out from the core, and no longer sends plain Go error messages to clients. There's a migration tool, and v1/v2 can coexist in one module.&lt;/p&gt;
  &lt;p&gt;Buf &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/191378/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;fx 40: Interactive Terminal JSON Viewer and Processor&lt;/a&gt;&lt;/span&gt; — We've linked &lt;code&gt;fx&lt;/code&gt; a few times over the years, but &lt;a href="https://golangweekly.com/link/191379/rss" style=" color: #0099b4;   "&gt;v40&lt;/a&gt; is a huge release: write queries inside the viewer and watch results update as you type, plus XML, HTML, EDN and MAML input, and vim-style commands.&lt;/p&gt;
  &lt;p&gt;Anton Medvedev &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191382/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;gopls 0.24 Prerelease&lt;/a&gt; – Now with LSP 3.18 support, better Go assembly handling, and a new analyzer for inconsistent &lt;code&gt;E&lt;/code&gt;/&lt;code&gt;*E&lt;/code&gt; error use.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191380/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Echo 5.4&lt;/a&gt; – The web framework fixes several security issues (some fixes change behavior). &lt;a href="https://golangweekly.com/link/191381/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;4.16&lt;/a&gt; gets them too.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 &lt;a href="https://golangweekly.com/link/191383/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;GitHub MCP Server 2.0&lt;/a&gt; – GitHub's official, Go-powered MCP server adds structured outputs for agents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191384/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Rill 0.9&lt;/a&gt; – Composable, channel-based concurrency toolkit, now with first-class context support. v1.0 is not far away.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191385/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;gomponents 1.4&lt;/a&gt; – Build HTML views as plain Go functions. Now with faster rendering and an &lt;a href="https://golangweekly.com/link/191400/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;official agent skill&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📰 Classifieds&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/191386/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;POKE&lt;/a&gt; (Publish Once, Kickoff Everywhere) is a free agent skill that audits your Go code and helps you add events, SSE and Standard Webhooks.&lt;/p&gt;
 
&lt;p&gt;🐘 Many Go backends end up talking to Postgres, so you may also like our other newsletter: &lt;a href="https://golangweekly.com/link/191387/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Postgres Weekly&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;a href="https://golangweekly.com/link/191388/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ihyzdbxqzppjih1pazr5.jpg" width="640" style="    line-height: 100%;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;✨ &lt;a href="https://golangweekly.com/link/191388/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;GoNIX&lt;/a&gt; is a UNIX-like OS that boots a Linux kernel and hands off to a Go &lt;code&gt;init&lt;/code&gt;, with coreutils, networking, and an SSH server, all written in Go too. After some teething problems, which I reported to its creator, the &lt;a href="https://golangweekly.com/link/191389/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;instructions to boot it&lt;/a&gt; on Apple silicon now work well &lt;em&gt;(as above)&lt;/em&gt;. A neat experiment!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the same author, James Mills, also comes &lt;a href="https://golangweekly.com/link/191390/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Parley&lt;/a&gt;, a &lt;em&gt;"federated, decentralised chat that speaks plain IRC"&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Neki&lt;/em&gt;, PlanetScale's new sharded Postgres offering, sits behind a Go-powered proxy, and &lt;a href="https://golangweekly.com/link/191391/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;this look at its design&lt;/a&gt; shows how it avoids decoding Postgres wire data it doesn't need to touch.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mitchell Hashimoto has proposed &lt;a href="https://golangweekly.com/link/191392/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;OSC 7501, a terminal protocol&lt;/a&gt; that lets programs report their status to the terminal. &lt;a href="https://golangweekly.com/link/191393/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Bubble Tea 2.1&lt;/a&gt; (released this week) already supports it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🕹️ Fancy some late '90s real-time strategy? &lt;a href="https://golangweekly.com/link/191394/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Nanolathe&lt;/a&gt; reimplements &lt;em&gt;Total Annihilation&lt;/em&gt;'s engine in Go, and you can &lt;a href="https://golangweekly.com/link/191395/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;play a demo in your browser&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://golangweekly.com/open/620/rss" width="1" height="1" /&gt;</description>
      <pubDate>Fri, 9 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://golangweekly.com/issues/620</guid>
    </item>
  </channel>
</rss>
