Runtime Briefing — Go 1.16 Embraces Modules and Embed
Go 1.16 landed on 16 February 2021 with module-aware mode enabled by default, a new embed package for bundling static assets, and native Apple silicon builds that platform engineers must incorporate into toolchains.
Executive briefing: The Go team published Go 1.16 on , closing the long transition to module-aware development, delivering first-party asset embedding, and widening platform support.
Feature highlights
- Modules by default. The
gocommand now uses module mode without theGO111MODULEflag, affecting dependency resolution for every build. embedpackage. New directives let applications ship configuration files, templates, and Web assets within binaries without external pipelines.- Apple silicon builds. Official
darwin/arm64toolchains unlock native performance on M1 developer workstations and CI agents. - I/O and file system APIs.
io/fsandtestingadditions expand virtual file system support for tooling.
Adoption steps
- Audit repositories that still rely on GOPATH semantics and update CI scripts for module mode defaults.
- Refactor asset packaging workflows to evaluate
//go:embedusage and reduce runtime file dependencies. - Roll out native macOS ARM64 builds to unblock secure supply chains for developer laptops and managed runners.