Paolo Bonzini <pbonz...@redhat.com> writes:

> On 21/09/20 11:16, Markus Armbruster wrote:
>> QMP is an *external* interface.
>> 
>> It supports compatible evolution: we can make certain kinds of changes
>> without affecting clients.  These include:
>> 
>> * Adding optional arguments
>> 
>> * Adding results
>> 
>> * Adding values to an enumeration type, branches to a union or
>>   alternate
>> 
>> * Reordering members of enumerations, structs, unions
>> 
>> * Turning an argument type into an alternate with the old type as branch
>> 
>> We've made use of this extensively.  See also
>> docs/devel/qapi-code-gen.txt section "Compatibility considerations."
>> 
>> How do such changes affect clients of the proposed D-Bus interface?
>
> All this makes me think that Q{MP,OM,API} badly needs rationale
> documentation.

docs/devel/qapi-code-gen.txt is fairly thorough (>8000 words), but it
doesn't try to serve as rationale documentation.


Reply via email to