<?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>An interactive tour of Go 1.27</title>
      <link>https://golangweekly.com/issues/613</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;#​613 — August 7, 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/189012/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/188988/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mmzqcje80imsmku8fdse.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/188988/rss" title="victoriametrics.com" style=" color: #0099b4;    font-size: 1.1em; line-height: 1.4em;"&gt;An Interactive Tour of Go 1.27&lt;/a&gt;&lt;/span&gt; — Anton Zhiyanov made interactive tours for Go 1.22 &lt;a href="https://golangweekly.com/link/188989/rss" style=" color: #0099b4;   "&gt;through 1.26&lt;/a&gt; but &lt;a href="https://golangweekly.com/link/188990/rss" style=" color: #0099b4;   "&gt;decided to stop&lt;/a&gt;. Jesús Espino has picked up the baton and tackles Go 1.27's huge array of features here, from generic methods and the &lt;code&gt;goroutineleak&lt;/code&gt; profile to the new &lt;code&gt;uuid&lt;/code&gt; package and experimental portable SIMD.&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;💡 No, Go 1.27 has &lt;em&gt;not&lt;/em&gt; been released yet, but &lt;a href="https://golangweekly.com/link/188991/rss" style=" color: #0099b4; font-weight: 600;"&gt;the second release candidate&lt;/a&gt; is solid, and the final is expected in the next week or two.&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/188987/rss" style=" color: #0099b4;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/3235669e.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/188987/rss" title="master.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Harness Engineering: How to Wrangle Your Agents&lt;/a&gt;&lt;/span&gt; — The models keep changing. The harness is the part you build. Scott Moss (Netflix) shows how: durable execution, sandboxed tool calls, memory systems, and multi-agent handoffs.&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;a href="https://golangweekly.com/link/188992/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;A Proposal to Fix Go's Proposal Backlog&lt;/a&gt;&lt;/span&gt; — The backlog is growing 23% a year with the median item over two years old. Austin Clements proposes a formal triage group, review tracks, and weighted community emoji voting to decide what gets reviewed next (though &lt;em&gt;not&lt;/em&gt; what gets accepted).&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/188993/rss" title="antonz.org" style=" color: #0099b4;    font-size: 1.05em;"&gt;Going Backward (or Why &lt;code&gt;slices.Backward&lt;/code&gt; Looks So Complicated)&lt;/a&gt;&lt;/span&gt; — &lt;code&gt;slices.Backward&lt;/code&gt;'s signature is intimidating at first glance, so Anton reinvents it step-by-step, from a naive slice copy to callback iterators, &lt;code&gt;iter.Seq2&lt;/code&gt;, and the &lt;code&gt;~[]E&lt;/code&gt; constraint. Then, fingers crossed… it clicks?&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;a href="https://golangweekly.com/link/188994/rss" title="healeycodes.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Adding Go's &lt;code&gt;defer&lt;/code&gt; to the TypeScript Compiler&lt;/a&gt;&lt;/span&gt; — Since &lt;code&gt;tsc&lt;/code&gt; is now written in Go, hacking on it is unusually friendly territory for a Gopher. Andrew adds a working &lt;code&gt;defer&lt;/code&gt; statement to the compiler, but concludes it probably shouldn't exist.&lt;/p&gt;
  &lt;p&gt;Andrew Healey &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/188995/rss" title="www.tigerdata.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;You Chose Go to Avoid Complexity. So Just Extend Postgres&lt;/a&gt;&lt;/span&gt; — TimescaleDB adds analytics to the Postgres you run. One system, no pipeline, no drift. &lt;a href="https://golangweekly.com/link/188995/rss" style=" color: #0099b4;   "&gt;Get $1000 credit to start&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/188996/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Looking at the Memory Map of a Go 1.27 Program on Linux&lt;/a&gt; – Go 1.25+ names its memory mappings, making &lt;code&gt;/proc/&amp;lt;pid&amp;gt;/maps&lt;/code&gt; readable. &lt;cite&gt;Chris Siebenmann&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/188997/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dvhdkvvqosig9omr6avn.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/188997/rss" title="v3.wails.io" style=" color: #0099b4;    font-size: 1.05em;"&gt;Wails v3 Beta: A New Foundation for Go Desktop Apps&lt;/a&gt;&lt;/span&gt; — The Go desktop framework's long-awaited rewrite lands in beta with explicit app and window APIs, first-class multi-window support, Go services with TypeScript bindings generated via static analysis, and &lt;em&gt;experimental&lt;/em&gt; iOS and Android support. Note that migrating from v2 will &lt;a href="https://golangweekly.com/link/188998/rss" style=" color: #0099b4;   "&gt;require real work&lt;/a&gt;.&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;p&gt;&lt;span style="font-weight: 600; font-size: 1.2em !important; color: #000;"&gt;&lt;a href="https://golangweekly.com/link/188999/rss" title="toonk.io" style=" color: #0099b4;    font-size: 1.05em;"&gt;Wireblast: A 100Gbps Packet Generator in Go&lt;/a&gt;&lt;/span&gt; — A Go app that uses &lt;a href="https://golangweekly.com/link/189000/rss" style=" color: #0099b4;   "&gt;&lt;code&gt;AF_XDP&lt;/code&gt;&lt;/a&gt; to hit 14.88 million packets per second on 10G (and 138 Mpps on 100G) with no DPDK or hugepages needed. Where &lt;code&gt;iperf3&lt;/code&gt; tops out, this is just getting started! &lt;a href="https://golangweekly.com/link/189001/rss" style=" color: #0099b4;   "&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Andree Toonk &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/189002/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Fantasy 0.40&lt;/a&gt; – Charm's library for building multi-provider, multi-model AI agents with a single API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📡 &lt;a href="https://golangweekly.com/link/189003/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;GopherTrunk 0.9&lt;/a&gt; – Pure-Go digital-trunking radio scanner engine for RTL-SDR.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/189004/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;GoProxy 1.9&lt;/a&gt; – Create customized HTTP/HTTPS proxy servers with Go.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/189005/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;slacrawl 0.8&lt;/a&gt; – Mirrors Slack workspace data into local SQLite.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/189006/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;pdfcpu 0.14&lt;/a&gt; – Go PDF processing and manipulation library.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/189007/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Delve 1.27.1&lt;/a&gt; – The popular Go debugger.&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;🎉 There's a party goin' on right here…&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/189008/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nc4pb9uiulywjimz3cku.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;a href="https://golangweekly.com/link/189008/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;JetBrains is holding an online release party for Go 1.27&lt;/a&gt; on August 25.&lt;/p&gt;
&lt;p&gt;Ainsley Clark and Jesús Espino (who created the Go 1.27 tour at the top of this issue) are hosting, and some of the team behind the Go 1.27 release will be taking part! Robert Griesemer, Alan Donovan, Marc Dougherty, Cameron Balahan, and Joe Tsai will be sharing some background about the release and answering viewers' questions live.&lt;/p&gt;
&lt;p&gt;I take it this means Go 1.27 will definitely be out by the 25th then… 😅&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/613/rss" width="1" height="1" /&gt;</description>
      <pubDate>Fri, 7 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://golangweekly.com/issues/613</guid>
    </item>
    <item>
      <title>A plan to bring generic collections to Go 1.28</title>
      <link>https://golangweekly.com/issues/612</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;#​612 — July 31, 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/188708/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/188678/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/jceqsfo8ll9htkttsdzl.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/188678/rss" title="github.com" style=" color: #0099b4;    font-size: 1.1em; line-height: 1.4em;"&gt;Go's Proposals for Generic Collection Types in Go 1.28&lt;/a&gt;&lt;/span&gt; — An umbrella proposal from Go's Collections working group covering several collection data structures intended for the eventual Go 1.28 standard library. Includes a canonical &lt;code&gt;set.Set&lt;/code&gt; type, hash-based maps and sets with custom hashers, an ordered map, and a new generic binary heap.&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;a href="https://golangweekly.com/link/188677/rss" style=" color: #0099b4;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/bbfde8ae.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/188677/rss" title="agentfield.ai" style=" color: #0099b4;    font-size: 1.05em;"&gt;Top Open-Source Code Reviewer on Code-Review-Bench&lt;/a&gt;&lt;/span&gt; — pr-af, AgentField's open-source reviewer, just outranked leading closed models — #2 of 42 on Code-Review-Bench. Multi-agent PR review with ~3× more valid findings than closed tools at ~10× lower cost. Self-hosted, drops into GitHub Actions.&lt;/p&gt;
  &lt;p&gt;Agentfield.ai &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/188679/rss" title="theconsensus.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Watching Go's New Garbage Collector Move Through the Heap&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://golangweekly.com/link/188680/rss" style=" color: #0099b4;   "&gt;Green Tea&lt;/a&gt; became the default GC in Go 1.26, and Phil goes looking with &lt;code&gt;perf&lt;/code&gt; and an ASCII map of the heap. Go lays objects out in size-segregated spans and never moves them, which can mean freeing 90% of your objects frees almost no memory.&lt;/p&gt;
  &lt;p&gt;Phil Eaton &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;All being well, Go 1.27 is expected to land in the next couple of weeks, but &lt;a href="https://golangweekly.com/link/188681/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;the draft Go 1.27 release notes&lt;/a&gt; have been fleshed out some more if you want to get ahead of it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;go vet&lt;/code&gt; is &lt;a href="https://golangweekly.com/link/188682/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;now set&lt;/a&gt; to &lt;a href="https://golangweekly.com/link/188683/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;flag formatting pointers with &lt;code&gt;%d&lt;/code&gt; in &lt;code&gt;printf&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Eitam Ring &lt;a href="https://golangweekly.com/link/188684/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;teases &lt;em&gt;KinetiGo&lt;/em&gt;&lt;/a&gt;, a TinyGo-based toolchain for working with LEGO robotics devices.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188685/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Stacked pull requests are now in public preview&lt;/a&gt; on GitHub.&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/188686/rss" title="rednafi.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Supervised Fire-and-Forget Tasks in Go&lt;/a&gt;&lt;/span&gt; — How to run 'fire and forget' tasks with bounded concurrency, panic recovery, and graceful shutdown, instead of bare &lt;code&gt;go func()&lt;/code&gt; calls.&lt;/p&gt;
  &lt;p&gt;Redowan Delowar &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/188687/rss" title="blog.lvmbdv.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Adding Go to a Browser Code Runner&lt;/a&gt;&lt;/span&gt; — A look at adding Go to a browser code runner, why the usual &lt;code&gt;GOOS=js&lt;/code&gt; approach didn't work in a V8 isolate, and how compiling the &lt;a href="https://golangweekly.com/link/188688/rss" style=" color: #0099b4;   "&gt;Yaegi&lt;/a&gt; interpreter to WASI got it working cleanly.&lt;/p&gt;
  &lt;p&gt;Ata Kuyumcu &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/188689/rss" title="zolstein.substack.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;&lt;code&gt;pgx.CollectRows&lt;/code&gt; or Why Nice APIs Don't Have To Be Slow&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://golangweekly.com/link/188690/rss" style=" color: #0099b4;   "&gt;pgx&lt;/a&gt;'s &lt;code&gt;CollectRows&lt;/code&gt; and &lt;code&gt;RowToStructByName&lt;/code&gt; helpers were much slower than handwritten loops. The author got caching fixes into pgx 5.6 (released in 2024) and shows how a rethought abstraction closes the gap almost entirely.&lt;/p&gt;
  &lt;p&gt;zolstein &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/188691/rss" title="www.tigerdata.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;A Second Database Is a Dependency You Can Skip&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres for analytics at scale, no new service to run. &lt;a href="https://golangweekly.com/link/188691/rss" style=" color: #0099b4;   "&gt;Get $1000 credit to start&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/188692/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Wrapping Errors with Defer&lt;/a&gt; – A small pattern combining &lt;code&gt;defer&lt;/code&gt; with a named error result to avoid repetition while still adding context to errors. &lt;cite&gt;Roxy Light&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/188693/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Go's Maps: How Swiss Tables Replaced the Old Bucket Design&lt;/a&gt;  &lt;cite&gt;Gabor Koos&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/188694/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/cvohm7zepez9mzxi7q0u.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/188694/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Gore 0.7: A Full-Featured Go REPL Environment&lt;/a&gt;&lt;/span&gt; — Has all the niceties you'd expect like line editing, history, multi-line input, expression evaluation, the ability to import packages (and, in &lt;a href="https://golangweekly.com/link/188695/rss" style=" color: #0099b4;   "&gt;v0.7&lt;/a&gt;, you can create import aliases too) and gopls-powered code completion.&lt;/p&gt;
  &lt;p&gt;motemen &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/188696/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Goph 2.0: A Native Go SSH Client Library&lt;/a&gt;&lt;/span&gt; — Supports connections using passwords, private keys, keys with passphrases, doing file transfers, etc. v2 brings a functional options API, context-aware commands, SOCKS5 proxy, jump hosts, and more.&lt;/p&gt;
  &lt;p&gt;Mohamed El Bahja &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/188697/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;webp-go-pure: Pure Go WebP Encoding and Decoding&lt;/a&gt;&lt;/span&gt; — A pure Go WebP encoder/decoder for when you want to avoid cgo and &lt;code&gt;libwebp&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Kaan Barmore-Genc &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/188706/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;soup 2.0: A &lt;em&gt;Beautiful Soup&lt;/em&gt;-Inspired Web Scraper&lt;/a&gt;&lt;/span&gt; — Takes inspiration from Python's popular &lt;a href="https://golangweekly.com/link/188707/rss" style=" color: #0099b4;   "&gt;Beautiful Soup&lt;/a&gt; and provides functions for loading and parsing pages and then navigating or reading the elements on them.&lt;/p&gt;
  &lt;p&gt;Anas Khan &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/188698/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Wish 2.0.2&lt;/a&gt; – Charm's SSH server framework for building terminal-accessible apps. v2.0.2 fixes a bug with apps running under &lt;code&gt;bubbletea.Middleware&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188699/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;jsonparser 1.6&lt;/a&gt; – Fast JSON parser offering path-based access without predefined structs and minimal allocations.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188700/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Milvus 3.0&lt;/a&gt; – Go-powered cloud-native vector database built for vector ANN search. (&lt;a href="https://golangweekly.com/link/188701/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Repo&lt;/a&gt;.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188702/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;req 3.60&lt;/a&gt; – Simple, powerful HTTP client library with advanced features.&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/612/rss" width="1" height="1" /&gt;</description>
      <pubDate>Fri, 31 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://golangweekly.com/issues/612</guid>
    </item>
    <item>
      <title>Go can't kill a stuck goroutine</title>
      <link>https://golangweekly.com/issues/611</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;#​611 — July 24, 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/188463/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/188427/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zhcszkrphluiv32gio8g.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/188427/rss" title="gomlx.github.io" style=" color: #0099b4;    font-size: 1.1em; line-height: 1.4em;"&gt;GoMLX: Accelerated Machine Learning Framework for Go&lt;/a&gt;&lt;/span&gt; — A Python-free, idiomatically Go alternative to TensorFlow or PyTorch. It's come a long way since we linked to it last, with more SIMD support, a new homepage, &lt;a href="https://golangweekly.com/link/188428/rss" style=" color: #0099b4;   "&gt;thorough docs&lt;/a&gt;, and support for more Hugging Face models out of the box.&lt;/p&gt;
  &lt;p&gt;Jan Pfeifer and Contributors &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 new docs include &lt;a href="https://golangweekly.com/link/188429/rss" style=" color: #0099b4; font-weight: 600;"&gt;a guide to training your own Convolutional Neural Network (CNN)&lt;/a&gt; with it to classify &lt;a href="https://golangweekly.com/link/188430/rss" style=" color: #0099b4; font-weight: 600;"&gt;the MNIST digits&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;a href="https://golangweekly.com/link/188426/rss" style=" color: #0099b4;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/0e15268a.png" width="140" height="140" 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/188426/rss" title="master.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Build Production-Ready CI/CD Pipelines with GitHub Actions&lt;/a&gt;&lt;/span&gt; — Erik Reinert takes you from your first workflow to production pipelines: matrix builds, caching, composite actions, reusable workflows, and secure cloud deploys with OIDC.&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;a href="https://golangweekly.com/link/188431/rss" title="words.filippo.io" style=" color: #0099b4;    font-size: 1.05em;"&gt;Storing Passkeys Like Password Hashes, and a Go API to Match&lt;/a&gt;&lt;/span&gt; — A proposal for storing WebAuthn credentials as opaque strings, a la password hashes, plus a draft stateless &lt;code&gt;crypto/passkey&lt;/code&gt; API that could reach the standard library in Go 1.28. Filippo wants feedback on both now.&lt;/p&gt;
  &lt;p&gt;Filippo Valsorda &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/188432/rss" title="riverqueue.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Go's Stuck Goroutine Problem (And Why to Let It Fail)&lt;/a&gt;&lt;/span&gt; — How goroutines get stuck, why Go can't kill them, and River v0.40's Erlang-inspired 'let it crash' answer for background jobs that ignore cancellation.&lt;/p&gt;
  &lt;p&gt;Brandur Leach &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/188433/rss" title="blog.jetbrains.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Escape Analysis in Go: Stack vs. Heap Allocations Explained&lt;/a&gt;&lt;/span&gt; — An approachable intro to Go's escape analysis and reading &lt;code&gt;-gcflags="-m"&lt;/code&gt; output that doubles as a demo of &lt;a href="https://golangweekly.com/link/188434/rss" style=" color: #0099b4;   "&gt;GoLand 2026.2&lt;/a&gt;'s new tooling for it.&lt;/p&gt;
  &lt;p&gt;Dominika Stankiewicz (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/188435/rss" title="www.tigerdata.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Building a Metrics Backend? Keep It in Postgres&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres to ingest and query metrics at scale. One database, not two. &lt;a href="https://golangweekly.com/link/188435/rss" style=" color: #0099b4;   "&gt;Get $1000 credit to start&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/188436/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Building a &lt;code&gt;pkg.go.dev&lt;/code&gt; TUI Explorer&lt;/a&gt; – A written alternative to &lt;a href="https://golangweekly.com/link/188437/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;▶️ Alex's video&lt;/a&gt; on the same build. &lt;cite&gt;Alex Pliutau&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/188438/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Memory Profiling and Optimization in Go: How One Line Allocated 687GB&lt;/a&gt; – An accidentally quadratic slice prepend that was caught by the allocation profiler. &lt;cite&gt;Solomon Oladiran&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/188439/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Everyone Should Know SIMD&lt;/a&gt; – More relevant now as Go continues to add support. &lt;cite&gt;Mitchell Hashimoto&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/188440/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pun8yykrwsjbed0fbfh0.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/188440/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;httpretty 0.2: Pretty-Print HTTP Requests Made from Go&lt;/a&gt;&lt;/span&gt; — Inspired by &lt;code&gt;curl&lt;/code&gt;'s &lt;code&gt;--verbose&lt;/code&gt;, this could be handy when debugging. We first linked this 7 years ago(!) and it's been rounded out with support for multipart bodies, HTTP trailers, and &lt;code&gt;http.Flusher&lt;/code&gt;/&lt;code&gt;http.ResponseController&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Henrique Vicente &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/188441/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;oapi-codegen 2.8.0: Now with OpenAPI 3.1 Support&lt;/a&gt;&lt;/span&gt; — A long-standing way to generate idiomatic Go client and server boilerplate code from OpenAPI 3 specifications, and now OpenAPI 3.1 too. Specs are now validated prior to generation too, Fiber v3 is supported, and Go 1.25+ is now required.&lt;/p&gt;
  &lt;p&gt;Jamie Tanna and Contributors &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/188442/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;go-diskfs: Manipulate Disks and Disk Images from Go&lt;/a&gt;&lt;/span&gt; — For tasks that you might otherwise use &lt;code&gt;fdisk&lt;/code&gt;, &lt;code&gt;mkfs.vfat&lt;/code&gt;, or &lt;code&gt;mtools&lt;/code&gt; for – partitioning, making filesystems, etc.&lt;/p&gt;
  &lt;p&gt;Avi Deitcher &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/188443/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Crush 0.86.0&lt;/a&gt; – Charm's Go-powered CLI agentic development tool adds new LSP tools for better refactoring.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188444/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;iso8601 1.8&lt;/a&gt; – Fast ISO8601 date parsing library. v1.8 adds support for ordinal dates (e.g. &lt;code&gt;2026-205&lt;/code&gt; which is today).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188445/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Agent Development Kit (ADK) for Go 2.1&lt;/a&gt; – Google's toolkit for building agents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188446/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;do 2.1&lt;/a&gt; – Dependency injection toolkit built on generics.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188447/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;go-ora 3.0&lt;/a&gt; – Pure Go Oracle Database client library.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188448/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Ergo 2.19&lt;/a&gt; – Modern Go-powered IRCv3 daemon.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188449/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;go-pinecone 6.0&lt;/a&gt; – Official Go SDK for &lt;a href="https://golangweekly.com/link/188450/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Pinecone&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;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;Scala on Go: sealed types, exhaustive matching, Option/Try &amp;amp; new bind/also do-notation — compiled to plain Go. Try it: &lt;a href="https://golangweekly.com/link/188451/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;gala.fyi&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🤖 If you can code, you can build a robot. Viam 101 is a free 90-min course — no hardware needed. &lt;a href="https://golangweekly.com/link/188452/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Sign up by July 31 to win a $3,500 arm&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;/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/188453/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/msgurrgpxwbi2zmpsl9y.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/188453/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Shirei&lt;/a&gt; is a cross-platform Go immediate-mode GUI framework that now has early support for generating iOS and Android apps from the same codebase.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Anton Zhiyanov's Solod, an attempt to create a 'better C' based on a subset of Go, &lt;a href="https://golangweekly.com/link/188454/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;now supports networking in v0.2&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 In &lt;a href="https://golangweekly.com/link/188455/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;How I Stopped Running Out of Tokens&lt;/a&gt;, a developer whose company uses Claude Enterprise shares some tools you can use (like &lt;a href="https://golangweekly.com/link/188456/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;rtk&lt;/a&gt;) to get the most out of your assigned limits.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188457/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Metago&lt;/a&gt; is an experimental template-based metaprogramming approach to writing templates that write Go.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188458/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;OctoGo&lt;/a&gt; is a Go-like language for the Parallax Propeller 2 microcontroller with the unusual property that goroutines are not scheduled, they take over a CPU core each.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;/r/golang&lt;/code&gt; discussed &lt;a href="https://golangweekly.com/link/188459/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;why is Cgo so bad?&lt;/a&gt; (Or not!)&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/611/rss" width="1" height="1" /&gt;</description>
      <pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://golangweekly.com/issues/611</guid>
    </item>
    <item>
      <title>Compile-time OpenTelemetry instrumentation for Go</title>
      <link>https://golangweekly.com/issues/610</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;#​610 — July 17, 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/188175/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/188127/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/fkin8iemnyruuzthrkrg.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/188127/rss" title="www.alexedwards.net" style=" color: #0099b4;    font-size: 1.1em; line-height: 1.4em;"&gt;How I Use HTMX to Build Go Webapps&lt;/a&gt;&lt;/span&gt; — A practical walkthrough of using &lt;a href="https://golangweekly.com/link/188128/rss" style=" color: #0099b4;   "&gt;htmx&lt;/a&gt; (think AJAX-style updates driven by HTML attributes) with Go. Opinionated, super Go-specific, and honest about the tricky bits. A good starter on building server-rendered interfaces with incremental interactivity.&lt;/p&gt;
  &lt;p&gt;Alex Edwards &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/188126/rss" style=" color: #0099b4;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/82d62c2e.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/188126/rss" title="www.tigerdata.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;One Postgres for Your App and Your Metrics&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends the Postgres you already run so high-volume metrics and events stay queryable at scale. Hypertables, up to 95% compression, continuous aggregates. One database to operate, not two. &lt;a href="https://golangweekly.com/link/188126/rss" style=" color: #0099b4;   "&gt;Get $1000 credit to start&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/188129/rss" title="opentelemetry.io" style=" color: #0099b4;    font-size: 1.05em;"&gt;Compile-Time OpenTelemetry Instrumentation for Go&lt;/a&gt;&lt;/span&gt; — No more hand-written instrumentation or eBPF agents needed, as OpenTelemetry's compile-time instrumentation for Go is now stable. It uses &lt;code&gt;-toolexec&lt;/code&gt; to inject telemetry automatically, but v1's library coverage has some limits worth noting.&lt;/p&gt;
  &lt;p&gt;Kemal Akkoyun (OpenTelemetry) &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;14 years ago Rob Pike &lt;a href="https://golangweekly.com/link/188130/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;proposed removing &lt;code&gt;string(int)&lt;/code&gt;&lt;/a&gt; – there's an update! It's a &lt;em&gt;likely decline&lt;/em&gt; but comments are open. The more recent &lt;a href="https://golangweekly.com/link/188131/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;conditional expression proposal&lt;/a&gt; is also looking likely to suffer a similar fate.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;go fmt&lt;/code&gt; and &lt;code&gt;go doc&lt;/code&gt; are set to &lt;a href="https://golangweekly.com/link/188132/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;no longer rewrite straight quotes into 'smart' quotes&lt;/a&gt; inside comments.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🕹️ Luigi Vanacore has released &lt;a href="https://golangweekly.com/link/188133/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;em&gt;Beginning Game Programming with Go&lt;/em&gt;&lt;/a&gt;, a (paid) book about building a complete game using &lt;a href="https://golangweekly.com/link/188134/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Ebitengine&lt;/a&gt;. The code is open source, though, and &lt;a href="https://golangweekly.com/link/188135/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reddit's &lt;code&gt;/r/golang&lt;/code&gt; discussed the situation where &lt;a href="https://golangweekly.com/link/188136/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;passing structs by value is faster&lt;/a&gt; than passing pointers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188137/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;&lt;code&gt;url.MustParse&lt;/code&gt; has been accepted&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 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/188138/rss" title="packagemain.tech" style=" color: #0099b4;    font-size: 1.05em;"&gt;My Thoughts on the Future of Go in the AI Era&lt;/a&gt;&lt;/span&gt; — Akin to Steve Francia's &lt;a href="https://golangweekly.com/link/188139/rss" style=" color: #0099b4;   "&gt;recent piece&lt;/a&gt;, Alex argues that "&lt;em&gt;AI might actually make boring languages more valuable, not less.&lt;/em&gt;"&lt;/p&gt;
  &lt;p&gt;Alex Pliutau &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/188140/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Eliminating Go Bounds Checks with &lt;code&gt;unsafe&lt;/code&gt;&lt;/a&gt; – For optimization purposes. &lt;cite&gt;Andrii Berezhynskyi&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/188141/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Implementing Go-Flavored Concurrency in C&lt;/a&gt; – Being done as part of Anton's work on his &lt;a href="https://golangweekly.com/link/188142/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;Solod&lt;/a&gt; compilable-to-C Go subset. &lt;cite&gt;Anton Zhiyanov&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/188143/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;How a Malicious Go Module Exposed a Network of GitHub Malware Lures&lt;/a&gt;  &lt;cite&gt;Kirill Boychenko (Socket)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://golangweekly.com/link/188144/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;6 Security Settings Every GitHub Maintainer Should Enable This Week&lt;/a&gt;  &lt;cite&gt;Joseph Katsioloudes (GitHub)&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/188145/rss" style=" color: #0099b4;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/u1xlrwlozsx7s6ai8yqn.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/188145/rss" title="fyne.io" style=" color: #0099b4;    font-size: 1.05em;"&gt;Fyne 2.8: A Big Update for the Popular GUI Toolkit&lt;/a&gt;&lt;/span&gt; — 
The cross-platform GUI toolkit lands its biggest release in years, adding GPU-accelerated shapes, shadows and custom GLSL shaders, richer Markdown rendering, multi-monitor window APIs, and more.
&lt;/p&gt;
  &lt;p&gt;Fyne 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/188146/rss" title="agentfield.ai" style=" color: #0099b4;    font-size: 1.05em;"&gt;AI Wrote the Diff. Who Reviews It?&lt;/a&gt;&lt;/span&gt; — Open-source multi-agent PR review, drops into GitHub Actions.&lt;/p&gt;
  &lt;p&gt;Agentfield.ai &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/188147/rss" title="blog.jetbrains.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;GoLand 2026.2 Released&lt;/a&gt;&lt;/span&gt; — The latest release of the commercial Go IDE now integrates with the &lt;code&gt;go fix&lt;/code&gt; tool and introduces a new 'Go optimization' tool that brings profiling, escape analysis, and struct optimization into one place.&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;span&gt;🤖&lt;/span&gt; &lt;a href="https://golangweekly.com/link/188148/rss" title="devblogs.microsoft.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Microsoft Agent Framework for Go in Public Preview&lt;/a&gt;&lt;/span&gt; — Microsoft follows in &lt;a href="https://golangweekly.com/link/188149/rss" style=" color: #0099b4;   "&gt;Google ADK Go&lt;/a&gt;'s footsteps with its own framework for building, orchestrating and deploying AI agents and workflows. &lt;a href="https://golangweekly.com/link/188150/rss" style=" color: #0099b4;   "&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Quim Muntal (Microsoft) &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;em&gt;The New Stack&lt;/em&gt; shares &lt;a href="https://golangweekly.com/link/188151/rss" style=" color: #0099b4; font-weight: 600;"&gt;some more background&lt;/a&gt; on the project, pointing a finger at Anthropic and OpenAI for not yet supporting Go directly with their similar SDKs.&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/188152/rss" title="www.hmans.dev" style=" color: #0099b4;    font-size: 1.05em;"&gt;Chatto: A Go-Powered Group/Team Chat App&lt;/a&gt;&lt;/span&gt; — A complete, self-hostable Slack-like (except fast and doesn't nag about AI features constantly) group chat with a Go backend and SvelteKit frontend. &lt;a href="https://golangweekly.com/link/188153/rss" style=" color: #0099b4;   "&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Hendrik Mans &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/188154/rss" title="github.com" style=" color: #0099b4;    font-size: 1.05em;"&gt;Sketchy: A Framework for Creating Generative Art in Go&lt;/a&gt;&lt;/span&gt; — This is pretty slick. Powered by Ebitengine and &lt;a href="https://golangweekly.com/link/188155/rss" style=" color: #0099b4;   "&gt;canvas&lt;/a&gt; behind the scenes.&lt;/p&gt;
  &lt;p&gt;Vernon Miller &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/188156/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Tinyauth 5.1&lt;/a&gt; – Tiny authorization and authentication server. &lt;a href="https://golangweekly.com/link/188157/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;v5.1&lt;/a&gt; marks it becoming &lt;em&gt;officially&lt;/em&gt; OpenID Connect™ Certified and adds support for auth through Tailscale and deny-by-default access controls.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188158/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Echo 5.3&lt;/a&gt; – The popular web framework adds support for the &lt;a href="https://golangweekly.com/link/188159/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;new HTTP &lt;code&gt;QUERY&lt;/code&gt; method&lt;/a&gt; and adds a mechanism to automatically handle &lt;code&gt;HEAD&lt;/code&gt; requests on &lt;code&gt;GET&lt;/code&gt; endpoints.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188160/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;THUNDERSNAP&lt;/a&gt; – A new library from Tailscale for replicating, forking, and sharing container snapshots. &lt;a href="https://golangweekly.com/link/188161/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;More here&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188162/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Tetra3D 0.18&lt;/a&gt; – PS1/N64-inspired Ebitengine-based hybrid 3D renderer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/188163/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Gofeed 1.4&lt;/a&gt; – A robust library for parsing RSS, Atom and JSON feeds.&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;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;Sum types, exhaustive pattern matching, Option — the type system Go lacks, compiled to plain Go. Every Go module works. &lt;a href="https://golangweekly.com/link/188164/rss" style=" color: #0099b4; font-weight: 500 !important;"&gt;gala.fyi&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;/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;✨ This week, I stumbled upon &lt;a href="https://golangweekly.com/link/188165/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;this table of the top 100 starred Go repos on GitHub&lt;/a&gt;. How far can you go before you find something new to you?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Last month, Bruce Ediger &lt;a href="https://golangweekly.com/link/188166/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;created a TFTP honeypot in Go&lt;/a&gt; (&lt;a href="https://golangweekly.com/link/188167/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;TFTP&lt;/a&gt; is a file transfer protocol often used by embedded devices and network hardware). Here's &lt;a href="https://golangweekly.com/link/188168/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;the results&lt;/a&gt; of what turned up on it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you woke up to AWS billing alerts forecasting you'll owe them billions of dollars at the end of the month, &lt;a href="https://golangweekly.com/link/188169/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;you're not alone&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GitHub's &lt;a href="https://golangweekly.com/link/188170/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;Dependabot is now giving packages a three-day default cooldown&lt;/a&gt; before opening version update PRs, though security fixes are exempt.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Did you know &lt;a href="https://golangweekly.com/link/188171/rss" style=" color: #0099b4; font-weight: 500 !important;   "&gt;SQLite supports &lt;code&gt;STRICT&lt;/code&gt; tables&lt;/a&gt; that actually attempt to enforce data is of the correct type?&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/610/rss" width="1" height="1" /&gt;</description>
      <pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://golangweekly.com/issues/610</guid>
    </item>
  </channel>
</rss>
