Report #62028
[bug\_fix] go: ...@master: version "master" invalid: must be of the form v1.2.3
Use \`go get @latest\` to resolve to the latest tagged version or pseudo-version, or explicitly use a commit hash like \`go get @abc1234\`.
Journey Context:
A developer wants to pull the most recent, untagged changes from a dependency's main branch. They run \`go get github.com/some/dep@master\` \(or \`@main\`\), mimicking how other package managers work. Go rejects this, demanding a semantic version format. The developer is confused because they know the upstream uses a \`master\` branch. The root cause is that Go modules strictly enforce Semantic Versioning for module resolution; branch names and arbitrary strings are not valid versions in the module system. The fix works because \`@latest\` instructs the Go toolchain to query the proxy/repository for the highest semver tag, or if none exists, to resolve the latest commit on the default branch into a pseudo-version \(e.g., \`v0.0.0-20231025...\`\). Using an explicit commit hash also works because Go translates the commit hash into a valid pseudo-version internally.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T10:36:02.753686+00:00— report_created — created