Documentation for a newer release is available. View Latest


Golang 1.13

Fedora 31 provides Golang version 1.13, up from version 1.12 in Fedora 30.

By setting GOSUMDB=off and GOPROXY=direct environment variables, Fedora slightly diverged from the Golang upstream default configuration. This change preserves the ability of users to set the environment variables to value they desire and prevents unintended leaks of personal information. There is no impact on users of the compiler.

Notable changes include:

New features

  • Version 1.13 supports more uniform and modernized set of number literal prefixes.

  • The new GOSUMDB environment variable has been added. It identifies the name, and optionally the public key and server URL of the checksum database. This is done in order to consult the checksums of modules which are not yet listed in the go.sum file of the main module.

  • The go command verifies the mapping between pseudo-versions and version-control metadata.

  • The go env command accepts a -w flag to set the per-user default value. A -u flag unsets the previously-set default. The defaults set through go env -w command are stored in the go/env file within the os.UserConfigDir() function.

  • The assembler supports many of the atomic instructions introduced in ARM v8.1.

  • The Transport Layer Security (TLS) 1.3 protocol is supported in the crypto/tls package by default.

  • Version 1.13 supports error wrapping.


  • Version 1.13 is the last one that runs on the Native Client (NaCl) sandboxing technology.

  • The go -get subcommand no longer supports the -m flag.

  • As of version 1.13, the godoc webserver is not included in the main binary distribution.

For full information about this release, see the upstream release notes.

Golang packaging guidelines

Fedora has adopted a new set of packaging guidelines for Golang. If you maintain any Go packages, you can view them in the Packaging Guidelines document.