Hi,
I'm one of the fedpkg maintainer. I have some questions about bodhi client versions.
I'm currently adding override support to fedpkg, and it is good to use Python bindings in some logic instead of CLI. fedpkg now has code to detected bodhi CLI's major version, and fedpkg only works with version less than 4. Will this major version change in future impact the interfaces in Python bindings? Would that change mean the bodhi CLI interface could change only? Thanks.
On 05/24/2018 02:46 AM, Chenxiong Qi wrote:
I'm currently adding override support to fedpkg, and it is good to use Python bindings in some logic instead of CLI. fedpkg now has code to detected bodhi CLI's major version, and fedpkg only works with version less than 4. Will this major version change in future impact the interfaces in Python bindings? Would that change mean the bodhi CLI interface could change only? Thanks.
Greetings!
One of the problems with Bodhi right now that I hope to solve at some point is that it uses the same version for its server, CLI, and bindings. This presents a challenge when I need to do something backwards incompatible in one of the three, because they will all get an X release bump. This indicates that *something* changed, but users will have to read the release notes to find out what.
All that to say, it is possible for future X releases to make incompatible changes in the bindings or CLI. I don't currently have specific plans for that. You can see my planned backwards incompatible changes here:
https://github.com/fedora-infra/bodhi/issues?q=is%3Aopen+is%3Aissue+label%3A...
Note that API changes from the server can change the data structures returned by the Python bindings, even if the bindings themselves don't change, if that makes sense. I may be releasing Bodhi 4 in the coming months with some of these changes. I don't expect the CLI or bindings to change, though the API will likely change a bit. You may not want to hard code the version check to be less than 4, but that's up to you.