Agreed, moving to latest by default sounds like a fine idea. I don't see
any drawbacks to it and seems like a good enough time as any to make the
switch with 2.8.0.

--
Regards,
Aritra Basu

On Fri, Nov 17, 2023, 12:33 AM Vincent Beck <vincb...@apache.org> wrote:

> I agree, by default we should use the latest python version. Like any
> package manager, if the user does not explicitly specify a version, the
> latest should be used. If the user wants to use a lower version, he can
> always pin it.
>
> On 2023/11/16 12:06:17 Jarek Potiuk wrote:
> > Hello everyone,
> >
> > Since we are close to the Airflow 2.8.0 release, I would like to propose
> a
> > change in the approach for our "default" images.
> >
> > Currently there are few images that are considered as "default", for
> > example:
> >
> > apache/airflow:latest
> > apache/airflow:2.7.4
> >
> > Currently (according to our process [1] and user documentation [2]) those
> > point to the "oldest" python version we support (currently they point to
> > Python 3.8).
> >
> > There is no particular reason why it is like that, and with Airflow 2.8.0
> > we have an opportunity to change it and point the default images to
> "latest
> > supported" (and keep this version as default for the whole MINOR line of
> > releases.
> >
> > In the case of Airflow 2.8.* - that would be "Python 3.11" being default
> > for the whole 2.8.* line unless we manage to get Python 3.12 support in
> our
> > CI before we release Airflow 2.8.0, then it would be Python 3.12
> >
> > We do not have any SemVer promises about that. Users can still choose to
> > use the  "2.8.0-python3.8" tag if they want.
> >
> > Generally going to 2.8 should always be a deliberate action, so we have
> > chance to explain in the release notes that if they want to stick to the
> > 2.8 release. So they are not "losing" anything, they can have 100%
> > compatibility by just choosing a different image in their deployment.
> This
> > **might** cause a little hassle when they migrate if they find some
> > incompatibilities, but generally speaking it's a very straightforward and
> > simple change - just  adding "-python3.8" to your TAG - whatever
> deployment
> > option you have. And our users will have to go through it anyway every
> time
> > we drop the old Python version (and this change might be even more costly
> > as they have no choice then) - so it changes very little, just shifts the
> > time where they will have to do it.
> >
> > There are benefits of doing it - for both our users and well, environment
> > as well (and I really mean a positive impact on the "world environment"
> to
> > be honest. Maybe a little impact - but with Airflow's popularity, it
> might
> > make a (small) difference. Python 3.11 is generally 30% faster than
> > previous versions and using it by default means that 30% less CPU is
> being
> > wasted. Also it will mean actual money savings for our users. Also Python
> > 3.12 comes with even more performance improvements and keeping up with
> > those being the "default" is a pretty good idea.
> >
> > I cannot think of any other drawbacks of this change.
> >
> > WDYT?
> >
> > [1] Documented versioning approach:
> >
> https://github.com/apache/airflow#base-os-support-for-reference-airflow-images
> > [2] User documentation
> > https://airflow.apache.org/docs/docker-stack/index.html
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> For additional commands, e-mail: dev-h...@airflow.apache.org
>
>

Reply via email to