JamesClonk / vultr

:penguin: Vultr CLI and API client library
https://jamesclonk.github.io/vultr/
MIT License
379 stars 75 forks source link

API breakage between 1.12.0 and 1.13.0 #40

Open stapelberg opened 7 years ago

stapelberg commented 7 years ago

Thanks for providing this package!

https://github.com/JamesClonk/vultr/blob/1.12.0/lib/dns.go has “type DnsDomain” https://github.com/JamesClonk/vultr/blob/1.13.0/lib/dns.go has “type DNSDomain”

This change has caused issues in the lego Debian packaging: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869270

Could you provide type aliases and wrapper functions to prevent API breakages in the future please?

Also, your version number looks like semantic versioning. But, as per the following quote from http://semver.org, the 1.13.0 release is a clear violation (it makes an incompatible API change without incrementing the major version). Are you not using semantic versioning? If so, that’d be worth calling out in the README.

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes.