#​446 — February 3, 2023

Unsub  |  Web Version

Together with  Tailscale logo

The Go Weekly Newsletter

Go 1.20 Released — Hurrah – exactly six months after Go 1.19 comes the latest significant release of Go. Here’s some of what’s new:

  • Profile-guided optimization (PGO) is a new (in preview) feature using profile runs of your app to optimize its future compilation.
  • Direct slice to array conversion.
  • Perf improvements in the garbage collector.
  • Errors can now wrap multiple other errors.
  • A new crypto/ecdh package implementing Elliptic Curve Diffie-Hellman key exchanges.
  • 1.20 is the final release that will run on macOS 10.13/10.14 or Windows 7/8.
  • And a lot more.. see the Go 1.20 release notes for the full roundup.

Robert Griesemer and the Go Team

Securely Access Internal Resources With Tailscale — Securely access resources in your tailnet without exposing them to the public internet, even if you’re on an untrusted network, mobile device, or just a web-browser.

Tailscale sponsor

Memory Arenas vs Traditional Memory Management — “Memory arenas” are very much an experimental concept in Go right now and should not be relied upon, but being able to obtain a single preallocated slab of memory within which related objects can be stored has some advantages worth exploring.

Dmitry Filimonov

What’s New in Go 1.20, Part III — The latest in a series of posts digging into the details of Go 1.20, this time focusing on minor standard library changes, briefly covering tweaks to math/rand, path/filepath, httputil.ReverseProxy, and the introduction of strings.CutPrefix.

Carl M Johnson

IN BRIEF:

Improving the Observability of Go-Powered Services — Jumps straight into the practicalities of logging, metrics, tracing with TraceQL, and connecting profiling with tracing.

Alexey Ivanov

Introducing The Linear Developer Experience — Explore a new developer experience concept that turns complex and dreadful project work into a delightful and pleasant experience.

Temporal Technologies sponsor

▶  How to Ace That CFP (Call For Papers) — A “call for papers/proposals” is when an event invites folks to submit talk proposals. Go Time brought on some conf organizers to talk about what they look for and how potential speakers can craft submissions.

Go Time Podcast podcast

Profiling Go Code in the GoLand IDE
Hrittik Roy

🛠 Code & Tools

gofeed 1.2: A Parser for RSS, Atom, and JSON Feeds — A mature, heavily relied upon on, and robust option for parsing RSS (in all common variants), Atom and JSON feeds. v1.2 adds support for multiple link tags in RSS feeds.

mmcdole

An Update on go-redis v9go-redis is a Redis client and now lives directly under the official Redis organization on GitHub. v9 adds support for the RESP3 protocol, OpenTelemetry-based performance monitoring, pipeline retries, and a new hooks API — it's a big update.

Uptrace

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut — The best issue tracking software is one that software developers are actually happy to use.

Shortcut (formerly Clubhouse.io) sponsor

Goldmark 1.5: Markdown Parser Library — Pure Go, easy to extend, and CommonMark compliant (handy for GitHub-Flavored Markdown).

Yusuke Inuzuka

tbls: CI-Friendly Tool for Documenting Databases — Auto document a database in Markdown format with schemas rendered via DOT, PlantUML, Mermaid, or images. By default you get docs covering columns, indexes, relations, and schema details (sample).

Ken’ichiro Oyama

Jobs

Site Reliability Engineer — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

Find a Job Through Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired

QUICK RELEASES: