The Go Blog
Automatic cipher suite ordering in crypto/tls
Filippo Valsorda
15 September 2021
The Go standard library provides crypto/tls,
a robust implementation of Transport Layer Security (TLS), the most important security protocol on the Internet, and the fundamental component of HTTPS. In Go 1.17 we made its configuration easier, more secure, and more efficient by automating the priority order of cipher suites. How c
The Go Blog
Command PATH security in Go
Russ Cox
19 January 2021
Today’s Go security release
fixes an issue involving PATH lookups in untrusted directories that can lead to remote execution during the go get command. We expect people to have questions about what exactly this means and whether they might have issues in their own programs. This post details the bug, the fixes we have applied, how to decide whether your own
The Go Blog
Gopls on by default in the VS Code Go extension
Go tools team
1 February 2021
We’re happy to announce that the VS Code Go extension now enables the gopls
language server by default, to deliver more robust IDE features and better support for Go modules.
(gopls provides IDE features, such as as intelligent autocompletion, signature help, refactoring, and workspace symbol search.) When Go modules were
The Go Blog
Go 1.16 is released
Matt Pearring and Dmitri Shuralyov
16 February 2021
Today the Go team is very happy to announce the release of Go 1.16.
You can get it from the download page. The new embed package provides access to files embedded at compile time using the new //go:embed directive. Now it is easy to bundle supporting data files into your Go programs, making developing with Go even smoother. You can get st
The Go Blog
New module changes in Go 1.16
Jay Conrod
18 February 2021
We hope you’re enjoying Go 1.16!
This release has a lot of new features, especially for modules. The release notes describe these changes briefly, but let’s explore a few of them in depth. Modules on by default The go command now builds packages in module-aware mode by default, even when no go.mod is present. This is a big step toward using
The Go Blog
Contexts and structs
Jean de Klerk, Matt T. Proud
24 February 2021
Introduction
In many Go APIs, especially modern ones, the first argument to functions and methods is often context.Context. Context provides a means of transmitting deadlines, caller cancellations, and other request-scoped values across API boundaries and between processes. It is often used when a library interacts — directly or transitively —
The Go Blog
Go Developer Survey 2020 Results
Alice Merrick
9 March 2021
Thank you for the amazing response!
In 2020, we had another great turnout with 9,648 responses, about as many as 2019. Thank you for putting in the time to provide the community with these insights on your experiences using Go! New modular survey design You may notice some questions have smaller sample sizes (“n=") than others. That’
The Go Blog
Fuzzing is Beta Ready
Katie Hockman and Jay Conrod
3 June 2021
We are excited to announce that native fuzzing is ready for beta testing in its
development branch, dev.fuzz! Fuzzing is a type of automated testing which continuously manipulates inputs to a program to find issues such as panics or bugs. These semi-random data mutations can discover new code coverage that existing unit tests may miss, and uncover
The Go Blog
The Go Collective on Stack Overflow
Steve Francia
23 June 2021
Since the earliest days of Go,
Stack Overflow has been a significant part of the Go user experience. For the past five years, the Go user survey has consistently identified Stack Overflow as the #1 place users go to find answers to their Go questions. We are excited to share the Go Collective, the very first open source project in Collectives™ on
The Go Blog
Go 1.17 is released
Matt Pearring and Alex Rakoczy
16 August 2021
Today the Go team is thrilled to release Go 1.17, which you can get by visiting the
download page. This release brings additional improvements to the compiler, namely a new way of passing function arguments and results. This change has shown about a 5% performance improvement in Go programs and reduction in binary sizes of around 2% for amd64 p