Yep, if we can, I would prefer to explicitly mention something like 2.0.X :)

On Wed, Mar 31, 2021 at 10:54 AM Sumit Maheshwari <sumeet.ma...@gmail.com>
wrote:

> Yeah totally agrees with you XD about the range vs the fixed version of
> the main software. And with Airflow 2 dot & beyond, we would be following
> the semantic versioning more judiciously, so with that can we assume that
> users would be cognizant of the related Airflow version implicitly, or do
> you think we should mention something like *2.0.X* in the changelog
> explicitly?
>
> On Wed, Mar 31, 2021 at 1:38 PM Deng Xiaodong <xd.den...@gmail.com> wrote:
>
>> Thanks, Sumit, for bringing this up.
>>
>> - Regarding *versioning for Python client*: I favour the 1st way as
>> well. The only minor comment I have is: instead of "*mention the release
>> version of the main software*", possibly what users would expect is a "*range
>> of compatible versions of main software*". If we follow semver for
>> Airflow itself relatively strictly, this should not be hard.
>>
>> - Regarding *the release of different client libraries*: I agree with
>> you. They should be versioned & released separately.
>>
>>
>> Regards,
>> XD
>>
>> On Wed, Mar 31, 2021 at 9:21 AM Sumit Maheshwari <sumeet.ma...@gmail.com>
>> wrote:
>>
>>> Thanks QP for your feedback. I think the latest release of K8s client
>>> (v17.x.y) is moving in another direction.
>>>
>>> On Wed, Mar 31, 2021 at 12:13 AM QP Hou <q...@scribd.com.invalid> wrote:
>>>
>>>> Thanks Sumit for kicking off this discussion!
>>>>
>>>> I am in favor of approach #1 as well. Airflow software version can
>>>> change due to none API related changes, but the client should only
>>>> care about the public API contract. I believe this is also the same
>>>> approach that the k8s python client took as well? For example, the k8s
>>>> python client version 12.0.1 targets k8s api version 1.16.15.
>>>>
>>>> I am also with you that clients for different languages should have
>>>> their own release cycles. Other than testing burdens, every client
>>>> could introduce their own bug fixes and breaking changes without
>>>> having to trigger releases for all other clients. It would be a waste
>>>> of work for us to bump the python client version just for a bug fix in
>>>> the go client.
>>>>
>>>> Thanks,
>>>> QP
>>>>
>>>> On Tue, Mar 30, 2021 at 1:56 AM Sumit Maheshwari <msu...@apache.org>
>>>> wrote:
>>>> >
>>>> > Hello Airflow dev community
>>>> >
>>>> > I'm writing this mail in regards to seek feedback on the first
>>>> release of Apache Airflow's Python client. 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 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:
>>>> >
>>>> > 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.
>>>> > 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. 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 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
>>>>
>>>

Reply via email to