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. -Rob __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
