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: [email protected] For additional commands, e-mail: [email protected]
