
Go Modules: v2 and Beyond - ingve
https://blog.golang.org/v2-go-modules
======
harikb
(Merging comment from other thread)

It hasn't been clearly communicated how radical (unlike other languages) a
change this is. Although well intentioned, this is going to waste a lot of
hours for a lot of Go developers. If there is any package out there that is
already at a version higher than v2, they have to do some intrusive change.
Moreover, since "internal" references to packages must also use the absolute
path of each package, this even requires module developers to make changes all
throughout the source code.

May be this was always a problem, but I find the blog text could use more
detailed explanation. This is like the magic time of "Mon Jan 2 15:04:05 MST
2006" for Go timestamp parsing. Yes, it is a very neat trick, but you have to
tell the users that you are explicitly doing something different from the
norm.

> Starting with v2, the major version must appear at the end of the module
> path

Here v2 refers to the version of the module, not Go.

------
vacuus
Using a version directory is... different. Can someone explain the reasoning
for this? Coming from Python land this strikes me as a bit odd.

