The Wire · Showcase
JSON V2 BREAKS INLINE TAG, ADOPTS EMBED INSTEAD
By RepoJournal · Filed · About Go
The encoding/json/v2 rewrite is renaming its `inline` tag option to `embed` to avoid conflicts with existing Go code that already uses `inline` for different purposes.
This is a breaking change for the v2 API, but necessary. Analysis of Go module proxies showed that existing code already uses the `inline` tag outside of encoding/json semantics [1]. The rename to `embed` aligns the JSON marshaling feature with Go's language-level embedding concept, making the semantic connection clearer. In parallel, the type system gained smarter function type inference for map keys [2], which will be critical for implementing generic composite literal inference. The compiler also got cleaner type renaming logic [3], consolidating dependent method renaming at the type level rather than scattering renames across individual methods and fields. Meanwhile, pkg.go.dev fixed a regression where local pkgsite instances weren't showing subdirectory package synopses [4], restoring feature parity with the production site. The ops desk shipped routine maintenance: pkgsite bumped to Go 1.26.4 [5], metrics updated x dependencies [6], and govulncheck fixed exit code propagation for wrapped errors [7].
Action items
- → Review encoding/json/v2 migration plans and update inline tags to embed before adopting v2 golang/go [plan]
- → Monitor type inference improvements for impact on generic code patterns golang/go [monitor]
- → Deploy pkgsite with subdirectory synopsis fix if running locally golang/pkgsite [plan]
References
- [1] encoding/json/v2: rename `inline` tag option as `embed` golang/go
- [2] go/types, types2: permit function type argument inference for map keys golang/go
- [3] cmd/compile: rename types with dependent methods instead of renaming methods golang/go
- [4] internal/{fetch,fetchdatasource}: populate subdirectory synopses golang/pkgsite
- [5] deploy: bump Go version to 1.26.4 golang/pkgsite
- [6] go.mod: update golang.org/x dependencies golang/pkgsite-metrics
- [7] cmd/govulncheck: fix exit code propagation for wrapped scan errors golang/vuln
FAQ
- What changed in Go on June 18, 2026?
- The encoding/json/v2 rewrite is renaming its `inline` tag option to `embed` to avoid conflicts with existing Go code that already uses `inline` for different purposes.
- What should Go teams do about it?
- Review encoding/json/v2 migration plans and update inline tags to embed before adopting v2 • Monitor type inference improvements for impact on generic code patterns • Deploy pkgsite with subdirectory synopsis fix if running locally
- Which Go repositories shipped on June 18, 2026?
- golang/go, golang/pkgsite, golang/pkgsite-metrics, golang/vuln