Any comments from others :) ? This is not something urgent, I think the most important part here is to "catch" the moment where maintaining providers to keep backwards compatibility becomes a burden. So far I Thiink there are no "huge" problems. Some common utils and some name changes. but I do not see anything "serious" enough to break the limits
But maybe there are some strong points. J, On Sat, Jan 8, 2022 at 12:10 PM Jarek Potiuk <ja...@potiuk.com> wrote: > Thanks Elad, > > Important point indeed. > > Agree this might be frustrating, but on the other hand we have to make > sure Airflow is maintainable in the long term - this means for example > that in a year or two we will have Airflow 2.0, Airflow 2.1, Airflow > 2.2, Airflow 2.3, Airflow 2.4. Airflow 2.5 lines. Does it mean that we > will be releasing fixes to all the 'minor' lines ? We are already in > the situation that we have not released a single fix to 2.0 once 2.1 > is released, we have not released a single fix to 2.1 once 2.2 was > released and we've never released a single fix to 2.2 once 2.3 was > released. Does it mean that 2.0, 2.1 and 2.2 are bug-free? Nope. A lot > of bugs that were also present in 2.0 were released in 2.3. > > As I see our current "de-facto" policy is - whenever you need > something new OR you see a bug in 2.0, 2.1, 2.2 - unless there is a > workaround - migrate to the latest 2.3. So we already encourage our > users to go with the latest version (which is good). > > So for example releasing providers that are 2.3+ once we have 2.4 or > 2.5 seems to me like a natural extension of that approach. And yeah - > one of the important points of providers is that you can upgrade them > independently. And it should stay like that. I would never propose a > "fast" increase of min version. I think however that at some point > getting such a "bump" in min-version makes sense. > > How often ? When? I am not sure, but I am pretty sure it should happen > from time to time. > > However I do agree it might surprise some users that some providers > will not get more fixes for the version of airflow they have, and > surprise is never a good thing. > > Just a though maybe - what could help is just agreeing on the rules > now and communicating them would be a good thing to do? > > Same as we agreed on Python version/K8S version policies. If we do > some kind of agreement (for example - we support providers for - say 1 > year after the first minor release of Airflow all providers we > guarantee that all providers released will be compatible with that > line? > > If we agree that 1 year is enough that would meaan: > > * 31 May 2022 - we bump min version to 2.2 (1 year after 2.1.0 was > released) > * 11 October 2022 - we bump min version to 2.3 (1 year after 2.2.0 was > released) > > We can change it to 1.5 year or even 2 years if we think 1 year is > enough, but I think 1 year should be pretty good. > > That would give a really nice cadence, it would be very > straightforward rule, easy to understand and reason about, it will > also give as an opportunity to periodically modernize our providers - > on the other hand it would give the users a significant period where > they can expect regular provider's release and enough time to prepare > for bigger migration. > > Also this is somewhat a community-imposed upgrade cadence. Which I > think is fair, reasonable and the only way we can actually (as a > community) give our users certainty that they will get a good level of > support from the community. It's really a trade - " You get the > software from us, we agree that we will maintain it with fixes, but in > return, you should follow this upgrade cadence if you want to get the > full support". This is just "fair". On the other hand I think it's > quite "unfair" from the users to expect from the community an infinite > time of support. Making clear rules on what to expect and rules that > will allow the community to provide a good level of support to the > users seems like a good idea. > > WDYT? > > J. > > On Wed, Jan 5, 2022 at 5:39 PM Elad Kalif <elad...@apache.org> wrote: > > > > We need to be also mindful about the fact that not everyone is able to > migrate to the new Airflow version as soon as it's being released. > > One of the concepts of providers is that it's not tightly bound to > Airflow core - If we can give users more time before setting a minimum > version of airflow 2.3 that would be ideal. > > It's frustrating when a small bug fix that you really need is beyond > your reach due to some other issue that forced bumping version. It may be > more hussle for us but if we can release provider bug fixes/features first > and a few days later release the breaking changes in a separate release it > may be valuable for some users. > > > > On Thu, Dec 30, 2021 at 8:11 PM Kaxil Naik <kaxiln...@gmail.com> wrote: > >> > >> One other solution for just using "utils" from core is we can release > "airflow.backports" or "airflow.futures" package same as Python Backports > and Python Future where we can handle the compat shim without restricting > Airflow versions. > >> > >> Regards, > >> Kaxil > >> > >> On Thu, Dec 30, 2021 at 2:56 PM Jarek Potiuk <ja...@potiuk.com> wrote: > >>> > >>> > At this point, I think 2.3.0 will be around early Feb to get AIP-42 > in. We can reassess how the progress is moving ahead with the AIP mid-Jan > and based on that we can either release 2.3.0 end of Jan without AIP-42 > changes and mark it for 2.4.0. > >>> > >>> Yeah Agree here. I do not think we need to make a decision now - we > >>> can do it later. But I'd love to hear various opinions - from our > >>> users, various stakeholders (Amazon/Google/Astronomer who run it as a > >>> service for one). > >>> > >>> Just to be clear - I am not fully convinced myself if this is the > >>> right time to do it already (but there are some good indicators that > >>> we should at least start discussing it). > >>> > >>> This is more opening the discussion and gathering feedback/feelings of > >>> people. I think such decisions should be discussed (and their > >>> consequences realized) well in-advance so that at the time of decision > >>> we have all arguments and opinions and know the consequences. > >>> > >>> And it is not "strictly" necessary. It's just (like with all similar > >>> cases) an increased burden for maintenance and extra/boilerplate code > >>> that might be removed. In those cases there is rarely a "0/1" decision > >>> that can be made "here we know for sure that we should increase > >>> min-version" - it's more of the collective thinking: "Are the > >>> burden/overhead heavy enough we don't want to carry it any more as a > >>> community". > >>> > >>> J. >