Is it really such a big issue to have a breaking change or to modify an interface in a new version of an API ? Yes clients will have to do some (less == better) work in order to become compatible with the new version, but they presumably don't have to upgrade instantly. I suppose it depends on how generic or low level the API is, or how frequently it is extended in applications.