On Wed, Feb 21, 2018 at 10:17 PM Peter Bourgon <pe...@bourgon.org> wrote:
> ·Any· change to the exported API of a package except adding new > top-level identifiers can be considered an incompatible (breaking) > change. > > https://blog.merovius.de/2015/07/29/backwards-compatibility-in-go.html I should probably go on record that I acknowledge that post to be potentially unreasonably nitpicky :) FWIW, I *believe* that if you only ever release v1.x.x you'll end up at essentially the same space as today, whether you actually end up adding breaking changes or not. Unless vgo somehow tracks API changes and verifies that your versioning is semantic, which I can't imagine working (which was my point then, basically). Of course this makes semantic versions largely useless, which was my other point then. There is one significant difference, which is that people are currently automatically held back, whereas previously they where automatically updated, so it's somewhat more likely that people will sleep through necessary API changes and then break the build at an unpredictable point in the future. Personally, that is (with the information currently published) what I intend to do, most likely: Tag all my stuff at v1.x.x (or maybe not tag at all, for a "pin on first use" kinda policy) and just be careful in if and how I break stuff. -- 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.