Would we also use semantic versioning to align the UCM with the topology and FW ? Currently we use semantic versioning for topology and FW.
If we have the versions exported to ther user space, the UCM configuration loader / parser can use this information to select or verify the right UCM configuration. The semantic versioning in UCM files sounds good to me, too.
My understanding semantic versioning is that it provides means to handle minor differences where a new capability is ignored in backwards compatible ways. This is what we use for SOF structures between driver and firmware, new fields might be added but used or not depending on versions.
For UCM, the interaction with other layers is limited to stream numbers and control names, so I am not sure what semantic versioning and backwards compatibility would mean here? I am all for it, but I don't get how it would work.