update Go, fix, add /@latest to goproxytest#302
Merged
Conversation
rogpeppe
reviewed
Apr 15, 2026
rogpeppe
left a comment
Owner
There was a problem hiding this comment.
Mostly LGTM but I think the version selection criteria aren't quite right.
Mainly so that gopls is not as noisy when editing files.
rogpeppe
approved these changes
Apr 15, 2026
The Go module proxy protocol defines a $base/$module/@latest endpoint that returns the .info JSON for the latest version of a module. The handler only matched paths containing /@v/, so /@latest got a 404. Add a check for the /@latest suffix before the /@v/ routing. When matched, find the highest release version, falling back to pre-release versions if no release exists, and serve its .info file. The version selection is in a standalone latestVersion function that takes an iter.Seq[string], following the same algorithm as cue-lang/cue's LatestVersion in internal/mod/modload/query.go. The test is a direct HTTP unit test rather than a testscript like testdata/list.txt because the go command does not expose /@latest responses to the user; it uses the endpoint internally as a fallback. There is no go subcommand whose output we could assert on in a script to verify that /@latest is served correctly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
(see commit messages - please do not squash)