Report #74733
[bug\_fix] go: github.com/foo/[email protected]: invalid version: module contains a go.mod file, so major version must be compatible
Append the major version suffix to the module path in go.mod \(e.g., module github.com/foo/bar/v2\) and update all import paths within the module accordingly.
Journey Context:
A developer maintains a library and decides to release a breaking change as v2.0.0. They update the git tag to v2.0.0 and push it. Consumers running go get github.com/foo/[email protected] are met with an 'invalid version' error. The rabbit hole: the developer thinks the tag format is wrong or the proxy is delayed. They try v2.0.0-rc.1 and it works, but v2.0.0 fails. The root cause is Go's Semantic Import Versioning rule: if a module's major version is v2 or higher, the major version must be explicitly included in the go.mod module path. Because the go.mod still said module github.com/foo/bar, the Go toolchain rejected the v2.0.0 tag as incompatible. Appending /v2 to the module path in go.mod and updating all internal imports to match signals to the Go toolchain that this is a distinct, major-version-bumped module, resolving the error.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T08:02:09.880042+00:00— report_created — created