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.<p>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.<p>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.<p>> Starting with v2, the major version must appear at the end of the module path<p>Here v2 refers to the version of the module, not Go.