---
title: "Getting a grip on Go 1.23"
publication: "Go Weekly"
issue: 516
published_at: "2024-07-23"
canonical_url: "https://golangweekly.com/issues/516"
---

Plus building Mac apps in Go, sending notifications, and checking for vulnerabilities. |        

#​516 — July 23, 2024 

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

Together with [![Blacksmith\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_820,h_100/e_make_transparent/co_white,e_outline:7/uq9yvkqtinkixhiq19mf.png)](https://blacksmith.sh/?ref=cooperpressgo)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/rlsxqyjb8ydy6wdkd5xt.jpg)](https://antonz.org/go-1-23/)  

[Interactive Release Notes for Go 1.23](https://antonz.org/go-1-23/) — If you find traditional release notes hard going, this interactive alternative with inline executable code snippets might help you get a grip on some of 1.23's changes before the final release next month. 

Anton Zhiyanov   

💡 While we're on the topic.. [Go 1.23 Release Candidate 2](https://groups.google.com/g/golang-announce/c/jW315Nz132s/m/WqkCDaiVBQAJ) has been released.  

[First Impressions of Go 1.23's Range-over-Func Feature](https://boldlygo.tech/posts/2024-07-18-range-over-func/) — When the author read Go’s newest iteration proposal, he felt a bit intimidated, but decided to kick the tires and share his experiences. Now? He loves it! 

Jonathan Hall   [![\](https://copm.s3.amazonaws.com/0e2459e5.png)](https://blacksmith.sh/?ref=cooperpressgo) 

[Run GitHub Actions Up to 2x Faster at Half the Cost](https://blacksmith.sh/?ref=cooperpressgo) — Blacksmith runs your GitHub Actions substantially faster by running them on modern gaming CPUs. Integrating Blacksmith is a one-line code change. 100+ companies like GitBook, Superblocks, and Slope use Blacksmith to help developers merge code faster. 

Blacksmith sponsor   

[Hash-Based Bisect Debugging in Compilers and Runtimes](https://research.swtch.com/bisect) — If you’ve ever had to debug a large set of changes as part of an unfamiliar code base, this approach may feel like magic, so much so that Russ and others have created a CLI (`bisect`) to make the task easier. The explanation of using binary search, `git bisect`, and the `bisect` CLI here are very informative. 

Russ Cox   

 [How I Build Simple Mac Apps using Go](https://dev.to/progrium/how-i-build-simple-mac-apps-using-go-104j) — The creator of [DarwinKit](https://github.com/progrium/darwinkit), a set of native Apple APIs for Go, shows off how he uses it to create basic Mac apps. 

Jeff Lindsay   

[Live Website Updates with Go, SSE, and HTMX](https://threedots.tech/post/live-website-updates-go-sse-htmx/) — Showing real-time updates on a site may steer you toward WebSockets, but going the SSE (Server-Sent Events) route with HTMX provides a solid and simpler experience. 

Miłosz Smółka   

[Safeguarding Changes using the Plan-Execute Pattern](https://tn1ck.com/blog/update-plans) — A pattern used by tools like Terraform where a preview of changes is shown before applying them. Tom creates a simple example of importing data into a database while highlighting new, changed, and removed entities. 

Tom Nick   

📄 [gRPC Over HTTP/3](https://kmcd.dev/posts/grpc-over-http3/) – Complete with practical examples in Go. Kevin McDonald 

📄 [Calling Go Functions from C++](https://xnacly.me/posts/2024/go-cpp-interop/) Matteo / xnacly  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dyyosgw9zdnw0yeaywto.jpg)](https://github.com/nikoksr/notify)  

[Notify 1.0: Send Notifications to Various Messaging Services](https://github.com/nikoksr/notify) — Supports about [thirty different services](https://github.com/nikoksr/notify?tab=readme-ov-file#supported-services-) including Discord, AWS SES and SNS, Microsoft Teams, Slack, and Telegram. 

Niko Köser   

[Boost Your Go App Security with FusionAuth: Try Our Example SDKs](https://fusionauth.io/docs/sdks/examples/go?utm_medium=newsletter&utm_source=gonewsletter&utm_campaign=july24_newsletter) — Explore real-world example apps to integrate secure user management into your Go projects. 

FusionAuth sponsor   

🔒 [govulncheck 1.1: Find Vulnerable Dependencies in Your Go Code](https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck) — Govulncheck uses static analysis on your code, along with the [Go Vulnerability Database](https://vuln.go.dev/), to report relevant known vulnerabilities to you. There’s [an official tutorial](https://go.dev/doc/tutorial/govulncheck) on how to use it too. 

Julie Qiu (Go Security Team)   

[LinDB: A Go-Powered Time Series Database System](https://lindb.io/oss/lindb) — Joining a long line of Go-powered database systems comes LinDB, a new performance and availability-focused time-series database that can be accessed via a REST API. [GitHub repo.](https://github.com/lindb/lindb) 

Lin Labs Inc.   

[Kratos 2.8: A Go Framework for Cloud-Based Microservices](https://github.com/go-kratos/kratos) — A _“microservice-oriented governance framework”_ built around HTTP/gRPC. 

Kratos   

- [go-redis 9.6](https://github.com/redis/go-redis) – Redis client library. [v9.6](https://github.com/redis/go-redis/releases/tag/v9.6.0) adds support for [hash field expiration commands](https://redis.io/docs/latest/commands/hexpire/) as introduced in Redis 7.4.
- [go-resiliency 1.7](https://github.com/eapache/go-resiliency) – Resiliency patterns for Go. Circuit-breaker, deadline & more.
- [Permify 0.10](https://github.com/Permify/permify) – Google Zanzibar-inspired authorization.
- [Buf 1.35](https://github.com/bufbuild/buf) – CLI tool for working with Protocol Buffers.
- [Delve 1.23](https://github.com/go-delve/delve) – Popular debugging tool for Go code.         

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
