https://github.com/jbreu/jos?tab=readme-ov-file#reverse-debu...
https://github.com/jbreu/jos?tab=readme-ov-file#reverse-debu...
So much of my qemu work spent on randomly changing options, with no change documentation, discovering features, with no documentation, options with no reason or indication why, manpages out of date, READMEs not updated, changelog not there, etc.
However, all incompatible changes are documented and also announced at least 8 months in advance.
https://www.qemu.org/docs/master/about/removed-features.html
https://www.qemu.org/docs/master/about/deprecated.html
It may seem like there are many, but in practice they are in very old, mostly unused or very badly designed corners. For example configuration of audio was overhauled last year, and is now the same as basically all other backends (e.g. -audio pa,model=sb16; compare with -nic user,model=e1000 for a network card).
Generally we've been moving command line towards a scheme where each option describes an aspect of either the guest (a device, the board type, the CPU model) or the interface to the host (a file holding the contents of the disk, the network bridge to attach to, how to show graphic contents), with some options providing both as a shortcut (for example -nic, -audio, -serial).