Hello Airflow dev community I'm writing this mail in regards to seek feedback on the first release of Apache Airflow's Python client <https://github.com/apache/airflow-client-python>. This is an icebreaker email only and we will follow the Apache process of releasing the version later on. As of now, I've raised a small PR <https://github.com/apache/airflow-client-python/pull/6> to add the missing files in the repo, which are required to do the release of the client lib.
The main question I've in mind about the versioning. I see that there are mainly two theories related to maintain the release versions of clients: 1. The first is about following the semantic release of the clients on its own. The release version of the client doesn't include the version of the software itself. Something like we are doing with Airflow's provider packages. However, in each release, we mention the release version of the main software (Airflow in this case). This is the simple most way of maintaining releases and followed majorly. 2. The second way is to include the software's version as well in its client's versioning, something like it's been done in the K8s Python client <https://github.com/kubernetes-client/python/blob/master/CHANGELOG.md>. In this approach, the client version provides more implicit knowledge about the compatible software, however it creates an extra burden of releasing the client with every minor release of the software, otherwise the versioning would fall apart. Also, there is a good chance that most of these minor or even a major release has no changes in the APIs, but the client would be needed to re-released nevertheless, just to keep the versioning in check. Personally, I'm in favour of the 1st way, as it's simple to manage and doesn't tightly couple client with its software. Another unrelated question I have is about the release of different client libraries. As of now, Airflow has Python and Go <https://github.com/apache/airflow-client-go> clients, so should we try to release them together or they should follow their own paths? In general, I'm against batching them together, cause the person who is releasing them may not be able to test all the different clients in the future. Let me know your thoughts on these 2 points. Thanks, Sumit Maheshwari PMC Apache Airflow