5 ms·
Go 1.13 has been by far the worse release in my memory. The go ecosystem and community was not ready nor prepared for modules. Enabling by default the sum data
by geoah 7y ago
Go 1.13 has been by far the worse release in my memory. The go ecosystem and community was not ready nor prepared for modules.
Enabling by default the sum database broke a number of codebases that had altered the history of their codebases (either themselves or their dependencies). This should have been an opt in feature for this version.
Changing the way the pseudoversion behaves by expecting a correct date and specific sha length broke a larger number of codebases. This should have been a warning on this version and not cause the modules to fail.
There was one more change that I have wiped from my memory that broke athens. It has to do with how go now looks for a go.mod file in parent urls that caused athens to return a 500.
Overall spent about a week of swearing and trying to fix tools and deps. At the end gave up and moved back to 1.12.
- kardianos 7y agoThis is in stark contrast to my experience, which was great. Were you able to file any issues or explain to people what happened?
- geoah 7y agoHey kardianos, first of all thank you for all your hard work with getting the golang community a worthy dep manager. --- As for reporting the issues, it's something I assumed is common knowledge from the fact that any dep I had an issue with on the first day of 1.13 already had a bug filled. Searching for `"invalid pseudo-version"` in github results in around 80 issues in different repositories that all have to do with go 1.13 and modules. [1] Similarly a search for `golang "checksum mismatch"` will result in over 130 issues in regards to the sum db complaining about broken builds. [2] There will be more that are not been correctly reported in github issues, and there will be false reports as well. But the repos that show up will have caused cascade issues. We couldn't use golangci-lint for a couple of days before it was fixed. There is a limit to the amount of mod replaces I can live with before deciding it's not worth it. Don't get me wrong. I do like mod, but I just think that for a language that prides itself on "backwards compatibility" it's doing a pretty poor job at keeping the same promise when mod is involved. --- [1] https://github.com/search?q=%22invalid+pseudo-version%22+is%3Aissue&type=Issues https://github.com/search?q=%22invalid+pseudo-version%22+is%... [2] https://github.com/search?q=golang+%22checksum+mismatch%22+is%3Aissue&type=Issues https://github.com/search?q=golang+%22checksum+mismatch%22+i...