tl;dr "go mod" writes a timestamp/commit hash to go.mod when a perfectly good tag exists. I don't understand why go.mod doesn't use the tag.
Given this library https://github.com/twpayne/go-xdg with a "v2.0.0" tag: https://github.com/twpayne/go-xdg/releases/tag/v2.0.0 if I create a trivial program that uses it, like https://gist.github.com/twpayne/09e9135d3f62471ebd7c83359b081e80 when I run the go command (e.g. go build), I end up with a go.mod file that contains require github.com/twpayne/go-xdg v0.0.0-20190214203150-05c8dc503590 whereas I would expect go.mod to contain require github.com/twpayne/go-xdg v2.0.0 Even I run the explicit command: $ go get github.com/twpayne/go-xdg@v2.0.0 go.mod still ends up containing the v0.0.0/timestamp/commit hash instead of v2.0.0. Why does go.mod contain v0.0.0/timestamp/commitHash instead of "v2.0.0"? Possibly relevant information: - I initially made a mistake tagging "v2.0.0", so the tag has moved since the go command first saw it. However, I also tried creating a new "v3.0.0" tag, but also saw the v0.0.0/timestamp/commit hash instead of the expected "v3.0.0". - I have GO111MODULE=on. Thanks for any insight :) Tom -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.