Golang is currently archived by Software Heritage:
The Go programming language identifies modules using URL-like strings, called the “module path”. Module paths start with a domain and path to a VCS repository (usually Git) and optionally path of a directory within that repository. See the Go Modules Reference for details.
Software Heritage follows the convention of the Golang ecosystem of proxying through the proxy.golang.org rather than accessing these repositories directly in order to be as close as possible to the Go build system.
Go origin URLs in Software Heritage are module paths prefixed with
For example, the origin URL for module
https://pkg.go.dev/github.com/gofiber/fiber (see it in the archive)
In the Golang ecosystem, it is customary to handle breaking changes in a module by
publishing the new module version at a different path; for example
See Module version numbering for details.
Software Heritage follows this convention, and uses different origin URLs for new major versions,
https://pkg.go.dev/github.com/gofiber/fiber/v2 (see it in the archive)
On the technical side, Software Heritage fetches the list of known Go modules from https://index.golang.org/index, and relies on the given timestamps to detect updates to packages archived in the past.