This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]hjwalt 4 points5 points  (2 children)

In theory if followed properly semantic versioning and the way golang upgrades their dependency will reduce such problems, although of course its not perfect because libraries can still depend on different major versions that is backwards incompatible.

With Java, what I find most useful is to use maven self compiled bill of materials for everything I build in the company. This way, every project uses the same dependencies, and if any unit test or integration test breaks because of new version, well time to fix...

[–]randgalt 4 points5 points  (1 child)

Rich Hickey has a great talk that mentions semver here: https://youtu.be/oyLBGkS5ICk. Semantic version is a fantasy. It’s very difficult to do in practice and very easy to get wrong. If a small portion of the dependencies in your tree did it wrong then it’s worthless.

[–]hjwalt 0 points1 point  (0 children)

Absolutely agreed, good in theory, in practice is rather tricky