Skip to content

Update docker.io/apache/airflow Docker tag to v2.11.2#196

Open
renovate-bot wants to merge 1 commit into
tier940:mainfrom
renovate-bot:renovate/docker.io-apache-airflow-2.x
Open

Update docker.io/apache/airflow Docker tag to v2.11.2#196
renovate-bot wants to merge 1 commit into
tier940:mainfrom
renovate-bot:renovate/docker.io-apache-airflow-2.x

Conversation

@renovate-bot

@renovate-bot renovate-bot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
docker.io/apache/airflow (source) final patch 2.11.0-python3.122.11.2-python3.12

Release Notes

apache/airflow (docker.io/apache/airflow)

v2.11.2

Compare Source

v2.11.1

Compare Source

Significant Changes
^^^^^^^^^^^^^^^^^^^

Python 3.9 support removed
""""""""""""""""""""""""""

Support for Python 3.9 has been removed, as it has reached end-of-life.
Airflow 2.11.1 requires Python 3.10, 3.11, or 3.12. Note that this is unusual to remove
Python version support in patch-level release of Airflow, but since Python 3.9 is already
end-of-life, many libraries do not support it any more, and Airflow 2.11.1 is focused on
improving security by upgrading dependencies, so we decided to remove Python 3.9 support
in this patch release, to improve security of the release. Python 3.10 and 3.11 had almost
no backward-incompatible changes, so you should be able to upgrade to Python 3.10 or 3.11
easily. If you were using Python 3.9 before, it is recommended to first upgrade Python version
in existing installation and then upgrade to Airflow 2.11.1.

Publishing timer and timing metrics in seconds is now deprecated
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

In Airflow 3.0, the timer_unit_consistency setting in the metrics section will be
enabled by default and setting itself will be removed. This will standardize all timer and timing metrics to
milliseconds across all metric loggers.

Users Integrating with Datadog, OpenTelemetry, or other metric backends should enable this setting. For users, using
statsd, this change will not affect you.

If you need backward compatibility, you can leave this setting disabled temporarily, but enabling
timer_unit_consistency is encouraged to future-proof your metrics setup. (#​39908)

Retrieving historical log templates is disabled in Airflow 2.11.1
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

When you change the log template in Airflow 2.11.1, the historical log templates are not retrieved.
This means that if you have existing logs that were generated using a different log template,
they will not be accessible using the new log template.

This change is due to potential security issues that could arise from retrieving historical log templates,
which allow Dag Authors to execute arbitrary code in webserver when retrieving logs.
By disabling the retrieval of historical log templates, Airflow 2.11.1 aims to enhance the security of the
system and prevent potential vulnerabilities in case the potential of executing arbitrary code in webserver
is important for Airflow deployment.

Users who need to access historical logs generated with a different log template will need to manually
update their log files to match the naming of their historical log files with the latest log template
configured in Airflow configuration, or they can set the "core.use_historical_filename_templates"
configuration option to True to enable the retrieval of historical log templates, if they are fine with
the Dag Authors being able to execute arbitrary code in webserver when retrieving logs. (#​61880)

Updated dependencies
""""""""""""""""""""

Airflow 2.11.1 includes updates to a number of dependencies including connexion, Flask-Session, Werkzeug,
that were not possible to upgrade before, because the dependencies did not have compatible versions
with Airflow 2.11.0, but we worked together with the community to update them. Many thanks to connexion
team and a number of community members to help with the updates so that we could upgrade to newer
versions and get rid of some dependency versions that had known security vulnerabilities (#​51681)

Bug fixes
"""""""""

  • Add proxy values to be masked by secrets manager (#​61906)
  • Masking details while creating connections using json & uri (#​61882)
  • Fix redaction of illegal args (#​61883)
  • Fix stuck queued tasks by calling executor fail method and invoking failure callbacks (#​53038)
  • Fix recursion depth error in _redact_exception_with_context (#​61797)
  • Avoid warning when passing none as dataset alias (#​61791)
  • Add pool name validation to avoid XSS from the DAG file (#​61732)
  • Prevent scheduler to crash due to RecursionError when making a SQL query (#​55778)
  • Fix root logger level cache invalidation in LoggerMutationHelper (#​61644)
  • update null event values to empty string in downgrade for migration revision_id d753896 (#​57131)
  • Fix WeightRule spec (#​53947)
  • Correctly treat request on reschedule sensors as resetting after each reschedule (#​51410) (#​52638)
  • Allow more empty loops before stopping log streaming (#​52614) (#​52636)
  • Ensuring XCom return value can be mapped for dynamically-mapped @​task_group's (#​51668)
  • Fix archival for cascading deletes by archiving dependent tables first (#​51952) (#​52211)
  • Stop streaming task logs if end of log mark is missing (#​51904)
  • Fix bad width w/no options in multi-select DAG parameter (#​51516)
  • Fix remove filter button visibility in Pools list page (#​51161)
  • Fix delete button visibility in search filters (#​51100)
  • Fix migration from 2.2.0 to 2.11.0 for Sqlite (#​50745)
  • Check if stand alone dag processor is active in get_health endpoint (#​48612)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request automatically updates the Apache Airflow Docker image to version 2.11.1-python3.12. This patch release brings significant changes including the removal of Python 3.9 support, deprecation of certain metric behaviors, enhanced security by disabling historical log template retrieval by default, and a host of dependency updates and bug fixes to improve stability and security.

Highlights

  • Airflow Version Update: Updated the docker.io/apache/airflow Docker tag from 2.11.0-python3.12 to 2.11.1-python3.12.
  • Python 3.9 Support Removal: Airflow 2.11.1 no longer supports Python 3.9, requiring Python 3.10, 3.11, or 3.12 due to Python 3.9 reaching end-of-life and dependency updates for security.
  • Metrics Timer Unit Consistency: Publishing timer and timing metrics in seconds is now deprecated, with a future default to milliseconds in Airflow 3.0. Users are encouraged to enable timer_unit_consistency for future-proofing.
  • Historical Log Templates Security Enhancement: Retrieving historical log templates is disabled by default in Airflow 2.11.1 to prevent potential security issues, though it can be re-enabled via configuration if needed.
  • Dependency Updates and Bug Fixes: Numerous dependencies, including connexion, Flask-Session, and Werkzeug, were updated to address security vulnerabilities and improve stability, alongside various bug fixes.
Changelog
  • web/airflow/Dockerfile
    • Updated the base Airflow Docker image tag to 2.11.1-python3.12.
Activity
  • This pull request was automatically generated by renovate-bot to update a dependency.
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request aims to update the Apache Airflow Docker image from version 2.11.0 to 2.11.1. However, I've found a critical issue where a related environment variable for the Airflow version was not updated in the Dockerfile. This inconsistency will lead to an incorrect version of Airflow being installed, effectively negating the intended update. My review includes a suggestion to correct this.

Comment thread web/airflow/Dockerfile
FROM --platform=$BUILDPLATFORM docker.io/apache/airflow:2.11.1-python3.12

# Setup Airflow
ENV AIRFLOW_VERSION=2.11.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The AIRFLOW_VERSION environment variable is inconsistent with the base image version. While the base image is updated to 2.11.1, this variable is still set to 2.11.0. This will cause pip to install an older version of Airflow, which contradicts the goal of this pull request. Please update this variable to match the base image version.

ENV AIRFLOW_VERSION=2.11.1

@renovate-bot
renovate-bot force-pushed the renovate/docker.io-apache-airflow-2.x branch from 0f874ca to 110d02d Compare March 14, 2026 21:11
@renovate-bot renovate-bot changed the title Update docker.io/apache/airflow Docker tag to v2.11.1 Update docker.io/apache/airflow Docker tag to v2.11.2 Mar 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant