This series is based on Markus' effort to add 'feature' flags to enum values so that e.g. they can be deprecated: https://listman.redhat.com/archives/libvir-list/2021-September/msg00453.html This series adapts both the schema query language to support querying for arbitrary feature flags and also the schema validator to reject deprecated enum values. Libvirt didn't use any deprecated value for now so to see that this really works you can fetch this series including patches which show it's working (tests fail): git fetch https://gitlab.com/pipo.sk/libvirt.git qemu-deprecate-enum The above branch also demonstrates that parsing from the new arrays produces identical results as it has updated qemu capabilities. This series is RFC as it's waiting for the qemu additions first. Peter Krempa (7): virQEMUQAPISchemaTraverseEnum: Move helper variables into loop virQEMUQAPISchemaTraverseEnum: Use the modern 'members' array virQEMUQAPISchemaTraverseEnum: Allow query of enume type features testQEMUSchemaValidateEnum: Refactor logic to simplify switching to new QMP schema format testQEMUSchemaValidateEnum: Use new 'members' for 'enum' meta type testQEMUSchemaValidateDeprecated: Move to the top testQEMUSchemaValidateEnum: Validate deprecated members src/qemu/qemu_qapi.c | 46 +++++++++++-- tests/testutilsqemuschema.c | 130 +++++++++++++++++++++--------------- 2 files changed, 117 insertions(+), 59 deletions(-) -- 2.31.1