---
title: "Go 1.21 released"
publication: "Go Weekly"
issue: 472
published_at: "2023-08-08"
canonical_url: "https://golangweekly.com/issues/472"
---

Plus cross-platform sound from Go, a new dependency security tool, and we're off for a few weeks. |        

#​472 — August 8, 2023 

[Unsub](https://golangweekly.com/leave/*|UID|*)|[Web Version](https://golangweekly.com/issues/472)   

**⛱ I'm taking two weeks off and will be back on Tuesday, August 29.** So if you don't see the newsletter turn up for a while, rest assured it's not your fault ;-) You're welcome to hit reply and send in things for the next issue though, but I might not reply for a while 😅
__
_Peter Cooper, your editor_ 

Together with [![Pangea logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto/e_make_transparent/co_white,e_outline:7/vdxvaq0osr46vwyw8hkt.png)](https://pangea.cloud/services/vault/?utm_medium=display&utm_source=display&utm_campaign=golang-newsletter-vault-august)  

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/inqp9i6iyduykbyarok0.jpg)](https://go.dev/doc/go1.21)  

[Go 1.21 Released](https://go.dev/blog/go1.21) — Six months on from the Go 1.20 release comes 1.21. While it’s no Go 1.18 in terms of scope and changes, there’s plenty to check out including the new `min`, `max` and `clear` functions, a preview of a change to `for` loop variable semantics, and profile-guided optimization (PGO) goes GA. **For all the details, check out [the official release notes.](https://go.dev/doc/go1.21)** 

Eli Bendersky and the Go Team   

Seth Vargo tells us [some of the things he's excited for in Go 1.21](https://www.sethvargo.com/things-im-excited-for-in-go-1-21/).  

[A Possible Future for Iterators in Go](https://bitfieldconsulting.com/golang/iterators) — We recently mentioned [a new proposal](https://github.com/golang/go/issues/61405) that would allow `for range` statements to iterate over _functions._ John Arundel gives us a practical look at the potential for this feature in real-world situations before concluding: _“In summary, then, iterators are neat.”_ 

John Arundel   [![\](https://copm.s3.amazonaws.com/75ddb150.png)](https://pangea.cloud/services/vault/?utm_medium=display&utm_source=display&utm_campaign=golang-newsletter-vault-august) 

[Use Pangea’s Vault for Secret and Key Management](https://pangea.cloud/services/vault/?utm_medium=display&utm_source=display&utm_campaign=golang-newsletter-vault-august) — The Pangea Vault API securely manages access and the lifecycle of keys and secrets to prevent unintentional leakage through hardcoding. Quickly generate, import, and manage secrets with API calls. 

Pangea sponsor   

**IN BRIEF:** 

- 🎧 If you need something to fill the hours while we're on vacation, tune in to the fantastic [▶️ Cup o'Go podcast](https://cupogo.dev/) which remains keeping everyone up to date on all matters Go on a weekly basis.
- 📋 You've got _two more days_ to [fill out the official Go developer survey.](https://go.dev/blog/survey2023-h2) Todd Kulesza of the Go team will love you forever if you do (well, he _might_, we probably shouldn't speak for him 😅).
- Jesse Duffield [reflects on five years of his Lazygit project.](https://jesseduffield.com/Lazygit-5-Years-On/) Lazygit is a (very) popular Go-powered [terminal UI for `git`commands](https://github.com/jesseduffield/lazygit).    

🔓 [_Socket_ Introduces Go Support](https://socket.dev/blog/go-support?a=1) — _Socket_, founded by well known JavaScript developer [Feross Aboukhadijeh](https://feross.org/about/), [was launched](https://socket.dev/blog/introducing-socket) in 2022 with a focus on providing tools to improve _npm's_ supply chain situation, but is taking steps into analyzing the security of Go dependencies too. 

Arjun Barrett (Socket)   

_The Register_ goes into [more detail on this news here.](https://www.theregister.com/2023/08/02/socket_go_funding/)  

[Replay 2023 Workshops: Temporal 101 and 102 with Go](https://t.mp/479LZXo) — Register now for our full day of workshops on Temporal with Go at _Replay_, our annual backend engineering conference. 

Temporal Technologies sponsor   

[How to Build a Globally Distributed, Multi-Region Identity and Access Platform with Go](https://www.ory.dev/global-identity-and-access-management-multi-region/) — Vendors often write “how we built it” posts full of buzzwords that lead to a quick call-to-action. This is _not_ that. The CTO of identity and access control service [Ory](https://www.ory.sh/) goes deep into the technicalities of the pieces behind the scenes that make such a system work (hello Go!) and what goes into making a truly distributed service. 

Aeneas Rekkas (Ory)   

[How to Visualize GORM Models with Atlas](https://atlasgo.io/blog/2023/08/08/gorm-visualizations) 
Rotem Tamir  

🛠 Code & Tools  

🔊 [Oto 3: Low-Level Cross-Platform Sound Library](https://github.com/ebitengine/oto) — Used by the [Ebitengine](https://ebitengine.org/) 2D game engine to play audio on a remarkable number of platforms from Windows, macOS and Linux to more intriguing options like the Nintendo Switch and iOS. 

Ebitengine   

[Ensure: Scenario-Based Testing for Go](https://github.com/iamkoch/ensure) — A brand new project that provides another way to structure tests. As the author says: _“I like text descriptions around my test so wrote this based a little bit on my experiences with [XBehave](https://programmingwithwolfgang.com/xbehave-getting-started/) in the .NET space.”_ 

Antony Koch   

[Build Your Own Uptime Monitoring System in 30 Minutes](https://encore.dev/docs/tutorials/uptime?utm_campaign=uptime&utm_medium=email&utm_source=golangweekly) — Build an Uptime Monitor in Go, using microservices and Pub/Sub, and deploy it to Encore's free development cloud. 

Encore sponsor   

[Katana: A Web Crawling and Spidering Framework](https://github.com/projectdiscovery/katana) — It began life last year as a crawler aimed at general CLI use, but you can now use it as a library too. 

ProjectDiscovery   

[BadgerDB 4.2: A Fast, Embeddable Key-Balue DB in Go](https://github.com/dgraph-io/badger) — Designed as a performant alternative to non-Go-based key-value stores like RocksDB. 

Dgraph   

- [Validator 10.15.0](https://github.com/go-playground/validator) – Value validations for structs and fields.
- 📧 [Pop 0.2](https://github.com/charmbracelet/pop) – Send emails from the terminal, Charm-style. [v0.2.0](https://github.com/charmbracelet/pop/releases/tag/v0.2.0) adds SMTP support.
- [OpenFGA 1.3](https://github.com/openfga/openfga) – Google Zanzibar-inspired authorization/permission engine.
- [retry-go 4.5](https://github.com/avast/retry-go) – Simple retry mechanism.
- [Kratos 2.7](https://github.com/go-kratos/kratos) – Microservices framework.    

Jobs  

[Find a Job Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-golangweekly%29&utm_content=find-your-next-job) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired    

✍️ And one for fun.. 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/cxwvr9hbbs0dhucci1ry.jpg)](https://github.com/intel/intel-one-mono)   

[Intel One Mono: An Expressive Monospace Font Family for Developers](https://github.com/intel/intel-one-mono) — Includes eight variations from light to bold-italic. Perhaps it could be your next coding font of choice if [the official Go fonts](https://go.dev/blog/go-fonts) don’t quite cut the mustard? 😅 

Intel Corporation     

👋 **_We'll be back in three weeks on August 29, 2023. See you soon!_** If you have anything to submit for the next issue, hit reply and let us know (but appreciate we may be slow to reply since we'll be on vacation 😉).         

Curated by Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict). 

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

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