Excerpts from Robert Collins's message of 2016-05-18 14:57:05 +1200: > On 18 May 2016 at 00:54, Brian Rosmaita <[email protected]> wrote: > > >> Couple of examples: > >> 1. switching from "is_public=true" to "visibility=public" > > > > > > This was a major version change in the Images API. The 'is_public' boolean > > is in the original Images v1 API, 'visibility' was introduced with the > > Images v2 API in the Folsom release. You just need an awareness of which > > version of the API you're talking to. > > So I realise this is ancient history, but this is really a good > example of why Monty has been pushing on 'never break our APIs': API > breaks hurt users, major versions or not. Keeping the old attribute as > an alias to the new one would have avoided the user pain for a very > small amount of code. > > We are by definition an API - doesn't matter that its HTTP vs Python - > when we break compatibility, there's a very long tail of folk that > will have to spend time updating their code; 'Microversions' are a > good answer to this, as long as we never raise the minimum version we > support. glibc does a very similar thing with versioned symbols - and > they support things approximately indefinitely.
+1, realy well said. As Nikhil said, assumptions are bad, and assuming that nobody's using that, or that they'll just adapt, is not really a great way to establish a relationship with the users. __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
