Skip to content

feat(airflow): Update docker.io/apache/airflow Docker tag to v2.11.0 - #507

Open
plural-copilot[bot] wants to merge 1 commit into
mainfrom
renovate/docker.io-apache-airflow-2.x
Open

feat(airflow): Update docker.io/apache/airflow Docker tag to v2.11.0#507
plural-copilot[bot] wants to merge 1 commit into
mainfrom
renovate/docker.io-apache-airflow-2.x

Conversation

@plural-copilot

@plural-copilot plural-copilot Bot commented Feb 25, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
docker.io/apache/airflow (source) final minor 2.8.2-python3.10 -> 2.11.0-python3.10

Release Notes

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

v2.11.0

Compare Source

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

DeltaTriggerTimetable for trigger-based scheduling (#​47074)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

This change introduces DeltaTriggerTimetable, a new built-in timetable that complements the existing suite of
Airflow timetables by supporting delta-based trigger schedules without relying on data intervals.

Airflow currently has two major types of timetables:
- Data interval-based (e.g., CronDataIntervalTimetable, DeltaDataIntervalTimetable)
- Trigger-based (e.g., CronTriggerTimetable)

However, there was no equivalent trigger-based option for delta intervals like timedelta(days=1).
As a result, even simple schedules like schedule=timedelta(days=1) were interpreted through a data interval
lens—adding unnecessary complexity for users who don't care about upstream/downstream data dependencies.

This feature is backported to Airflow 2.11.0 to help users begin transitioning before upgrading to Airflow 3.0.

- In Airflow 2.11, ``schedule=timedelta(...)`` still defaults to ``DeltaDataIntervalTimetable``.
- A new config option ``[scheduler] create_delta_data_intervals`` (default: ``True``) allows opting in to ``DeltaTriggerTimetable``.
- In Airflow 3.0, this config defaults to ``False``, meaning ``DeltaTriggerTimetable`` becomes the default for timedelta schedules.

By flipping this config in 2.11, users can preview and adopt the new scheduling behavior in advance — minimizing surprises during upgrade.

Consistent timing metrics across all backends (#​39908, #​43966)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Previously, Airflow reported timing metrics in milliseconds for StatsD but in seconds for other backends
such as OpenTelemetry and Datadog. This inconsistency made it difficult to interpret or compare
timing metrics across systems.

Airflow 2.11 introduces a new config option:

  • [metrics] timer_unit_consistency (default: False in 2.11, True and dropped in Airflow 3.0).

When enabled, all timing metrics are consistently reported in milliseconds, regardless of the backend.

This setting has become mandatory and always True in Airflow 3.0 (the config will be removed), so
enabling it in 2.11 allows users to migrate early and avoid surprises during upgrade.

Ease migration to Airflow 3
"""""""""""""""""""""""""""
This release introduces several changes to help users prepare for upgrading to Airflow 3:

  • All models using execution_date now also include a logical_date field. Airflow 3 drops execution_date entirely in favor of logical_date (#​44283)
  • Added airflow config lint and airflow config update commands in 2.11 to help audit and migrate configs for Airflow 3.0. (#​45736, #​50353, #​46757)

Python 3.8 support removed
""""""""""""""""""""""""""
Support for Python 3.8 has been removed, as it has reached end-of-life.
Airflow 2.11 requires Python 3.9, 3.10, 3.11, or 3.12.

New Features
""""""""""""

  • Introduce DeltaTriggerTimetable (#​47074)
  • Backport airflow config update and airflow config lint changes to ease migration to Airflow 3 (#​45736, #​50353)
  • Add link to show task in a DAG in DAG Dependencies view (#​47721)
  • Align timers and timing metrics (ms) across all metrics loggers (#​39908, #​43966)

Bug Fixes
"""""""""

  • Don't resolve path for DAGs folder (#​46877)
  • Fix ti.log_url timestamp format from "%Y-%m-%dT%H:%M:%S%z" to "%Y-%m-%dT%H:%M:%S.%f%z" (#​50306)
  • Ensure that the generated airflow.cfg contains a random fernet_key and secret_key (#​47755)
  • Fixed setting rendered_map_index via internal api (#​49057)
  • Store rendered_map_index from TaskInstancePydantic into TaskInstance (#​48571)
  • Allow using log_url property on TaskInstancePydantic (Internal API) (#​50560)
  • Fix Trigger Form with Empty Object Default (#​46872)
  • Fix TypeError when deserializing task with execution_timeout set to None (#​46822)
  • Always populate mapped tasks (#​46790)
  • Ensure check_query_exists returns a bool (#​46707)
  • UI: /xcom/list got exception when applying filter on the value column (#​46053)
  • Allow to set note field via the experimental internal api (#​47769)

Miscellaneous
"""""""""""""

  • Add logical_date to models using execution_date (#​44283)
  • Drop support for Python 3.8 (#​49980, #​50015)
  • Emit warning for deprecated BaseOperatorLink.get_link signature (#​46448)

Doc Only Changes
""""""""""""""""

v2.10.5

Compare Source

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

Ensure teardown tasks are executed when DAG run is set to failed (#​45530)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Previously when a DAG run was manually set to "failed" or to "success" state the terminal state was set to all tasks.
But this was a gap for cases when setup- and teardown tasks were defined: If teardown was used to clean-up infrastructure
or other resources, they were also skipped and thus resources could stay allocated.

As of now when setup tasks had been executed before and the DAG is manually set to "failed" or "success" then teardown
tasks are executed. Teardown tasks are skipped if the setup was also skipped.

As a side effect this means if the DAG contains teardown tasks, then the manual marking of DAG as "failed" or "success"
will need to keep the DAG in running state to ensure that teardown tasks will be scheduled. They would not be scheduled
if the DAG is directly set to "failed" or "success".

Bug Fixes
"""""""""

  • Prevent using trigger_rule=TriggerRule.ALWAYS in a task-generated mapping within bare tasks (#​44751)
  • Fix ShortCircuitOperator mapped tasks (#​44912)
  • Fix premature evaluation of tasks with certain trigger rules (e.g. ONE_DONE) in a mapped task group (#​44937)
  • Fix task_id validation in BaseOperator (#​44938) (#​44938)
  • Allow fetching XCom with forward slash from the API and escape it in the UI (#​45134)
  • Fix FileTaskHandler only read from default executor (#​46000)
  • Fix empty task instance for log (#​45702) (#​45703)
  • Remove skip_if and run_if decorators before TaskFlow virtualenv tasks are run (#​41832) (#​45680)
  • Fix request body for json requests in event log (#​45546) (#​45560)
  • Ensure teardown tasks are executed when DAG run is set to failed (#​45530) (#​45581)
  • Do not update DR on TI update after task execution (#​45348)
  • Fix object and array DAG params that have a None default (#​45313) (#​45315)
  • Fix endless sensor rescheduling (#​45224) (#​45250)
  • Evaluate None in SQLAlchemy's extended JSON type decorator (#​45119) (#​45120)
  • Allow dynamic tasks to be filtered by rendered_map_index (#​45109) (#​45122)
  • Handle relative paths when sanitizing URLs (#​41995) (#​45080)
  • Set Autocomplete Off on Login Form (#​44929) (#​44940)
  • Add Webserver parameters max_form_parts, max_form_memory_size (#​46243) (#​45749)
  • Fixed accessing thread local variable in BaseOperators execute safeguard mechanism (#​44646) (#​46280)
  • Add map_index parameter to extra links API (#​46337)

Miscellaneous
"""""""""""""

v2.10.4

Compare Source

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

TaskInstance priority_weight is capped in 32-bit signed integer ranges (#​43611)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Some database engines are limited to 32-bit integer values. As some users reported errors in
weight rolled-over to negative values, we decided to cap the value to the 32-bit integer. Even
if internally in python smaller or larger values to 64 bit are supported, priority_weight is
capped and only storing values from -2147483648 to 2147483.

Bug Fixes
^^^^^^^^^

Doc Only Changes
""""""""""""""""

Miscellaneous
"""""""""""""

  • Raise deprecation warning when accessing inlet or outlet events through str (#​43922)

v2.10.3

Compare Source

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

No significant changes.

Bug Fixes
"""""""""

  • Improves the handling of value masking when setting Airflow variables for enhanced security. (#​43123) (#​43278)
  • Adds support for task_instance_mutation_hook to handle mapped operators with index 0. (#​42661) (#​43089)
  • Fixes executor cleanup to properly handle zombie tasks when task instances are terminated. (#​43065)
  • Adds retry logic for HTTP 502 and 504 errors in internal API calls to handle webserver startup issues. (#​42994) (#​43044)
  • Restores the use of separate sessions for writing and deleting RTIF data to prevent StaleDataError. (#​42928) (#​43012)
  • Fixes PythonOperator error by replacing hyphens with underscores in DAG names. (#​42993)
  • Improving validation of task retries to handle None values (#​42532) (#​42915)
  • Fixes error handling in dataset managers when resolving dataset aliases into new datasets (#​42733)
  • Enables clicking on task names in the DAG Graph View to correctly select the corresponding task. (#​38782) (#​42697)
  • Prevent redirect loop on /home with tags/last run filters (#​42607) (#​42609) (#​42628)
  • Support of host.name in OTEL metrics and usage of OTEL_RESOURCE_ATTRIBUTES in metrics (#​42428) (#​42604)
  • Reduce eyestrain in dark mode with reduced contrast and saturation (#​42567) (#​42583)
  • Handle ENTER key correctly in trigger form and allow manual JSON (#​42525) (#​42535)
  • Ensure DAG trigger form submits with updated parameters upon keyboard submit (#​42487) (#​42499)
  • Do not attempt to provide not stringified objects to UI via xcom if pickling is active (#​42388) (#​42486)
  • Fix the span link of task instance to point to the correct span in the scheduler_job_loop (#​42430) (#​42480)
  • Bugfix task execution from runner in Windows (#​42426) (#​42478)
  • Allows overriding the hardcoded OTEL_SERVICE_NAME with an environment variable (#​42242) (#​42441)
  • Improves trigger performance by using selectinload instead of joinedload (#​40487) (#​42351)
  • Suppress warnings when masking sensitive configs (#​43335) (#​43337)
  • Masking configuration values irrelevant to DAG author (#​43040) (#​43336)
  • Execute templated bash script as file in BashOperator (#​43191)
  • Fixes schedule_downstream_tasks to include upstream tasks for one_success trigger rule (#​42582) (#​43299)
  • Add retry logic in the scheduler for updating trigger timeouts in case of deadlocks. (#​41429) (#​42651)
  • Mark all tasks as skipped when failing a dag_run manually (#​43572)
  • Fix TrySelector for Mapped Tasks in Logs and Details Grid Panel (#​43566)
  • Conditionally add OTEL events when processing executor events (#​43558) (#​43567)
  • Fix broken stat scheduler_loop_duration (#​42886) (#​43544)
  • Ensure total_entries in /api/v1/dags (#​43377) (#​43429)
  • Include limit and offset in request body schema for List task instances (batch) endpoint (#​43479)
  • Don't raise a warning in ExecutorSafeguard when execute is called from an extended operator (#​42849) (#​43577)

Miscellaneous
"""""""""""""

Doc Only Changes
""""""""""""""""

v2.10.2

Compare Source

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

No significant changes.

Bug Fixes
"""""""""

Miscellaneous
"""""""""""""

  • Limit universal-pathlib below 0.2.4 as it breaks our integration (#​42101)
  • Auto-fix default deferrable with LibCST (#​42089)
  • Deprecate --tree flag for tasks list cli command (#​41965)

Doc Only Changes
""""""""""""""""

  • Update security_model.rst to clear unauthenticated endpoints exceptions (#​42085)
  • Add note about dataclasses and attrs to XComs page (#​42056)
  • Improve docs on markdown docs in DAGs (#​42013)
  • Add warning that listeners can be dangerous (#​41968)

v2.10.1

Compare Source

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

No significant changes.

Bug Fixes
"""""""""

  • Handle Example dags case when checking for missing files (#​41874)
  • Fix logout link in "no roles" error page (#​41845)
  • Set end_date and duration for triggers completed with end_from_trigger as True. (#​41834)
  • DAGs are not marked as stale if the dags folder change (#​41829)
  • Fix compatibility with FAB provider versions <1.3.0 (#​41809)
  • Don't Fail LocalTaskJob on heartbeat (#​41810)
  • Remove deprecation warning for cgitb in Plugins Manager (#​41793)
  • Fix log for notifier(instance) without __name__ (#​41699)
  • Splitting syspath preparation into stages (#​41694)
  • Adding url sanitization for extra links (#​41680)
  • Fix InletEventsAccessors type stub (#​41607)
  • Fix UI rendering when XCom is INT, FLOAT, BOOL or NULL (#​41605)
  • Fix try selector refresh (#​41503)
  • Incorrect try number subtraction producing invalid span id for OTEL airflow (#​41535)
  • Add WebEncoder for trigger page rendering to avoid render failure (#​41485)
  • Adding tojson filter to example_inlet_event_extra example dag (#​41890)
  • Add backward compatibility check for executors that don't inherit BaseExecutor (#​41927)

Miscellaneous
"""""""""""""

  • Bump webpack from 5.76.0 to 5.94.0 in /airflow/www (#​41879)
  • Adding rel property to hyperlinks in logs (#​41783)
  • Field Deletion Warning when editing Connections (#​41504)
  • Make Scarf usage reporting in major+minor versions and counters in buckets (#​41900)
  • Lower down universal-pathlib minimum to 0.2.2 (#​41943)
  • Protect against None components of universal pathlib xcom backend (#​41938)

Doc Only Changes
""""""""""""""""

  • Remove Debian bullseye support (#​41569)
  • Add an example for auth with keycloak (#​41791)

v2.10.0

Compare Source

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

Scarf based telemetry: Airflow now collect telemetry data (#​39510)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Airflow integrates Scarf to collect basic usage data during operation. Deployments can opt-out of data collection by
setting the [usage_data_collection]enabled option to False, or the SCARF_ANALYTICS=false environment variable.

Datasets no longer trigger inactive DAGs (#​38891)
"""""""""""""""""""""""""""""""""""""""""""""""""

Previously, when a DAG is paused or removed, incoming dataset events would still
trigger it, and the DAG would run when it is unpaused or added back in a DAG
file. This has been changed; a DAG's dataset schedule can now only be satisfied
by events that occur when the DAG is active. While this is a breaking change,
the previous behavior is considered a bug.

The behavior of time-based scheduling is unchanged, including the timetable part
of DatasetOrTimeSchedule.

try_number is no longer incremented during task execution (#​39336)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Previously, the try number (try_number) was incremented at the beginning of task execution on the worker. This was problematic for many reasons.
For one it meant that the try number was incremented when it was not supposed to, namely when resuming from reschedule or deferral. And it also resulted in
the try number being "wrong" when the task had not yet started. The workarounds for these two issues caused a lot of confusion.

Now, instead, the try number for a task run is determined at the time the task is scheduled, and does not change in flight, and it is never decremented.
So after the task runs, the observed try number remains the same as it was when the task was running; only when there is a "new try" will the try number be incremented again.

One consequence of this change is, if users were "manually" running tasks (e.g. by calling ti.run() directly, or command line airflow tasks run),
try number will no longer be incremented. Airflow assumes that tasks are always run after being scheduled by the scheduler, so we do not regard this as a breaking change.

/logout endpoint in FAB Auth Manager is now CSRF protected (#​40145)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

The /logout endpoint's method in FAB Auth Manager has been changed from GET to POST in all existing
AuthViews (AuthDBView, AuthLDAPView, AuthOAuthView, AuthOIDView, AuthRemoteUserView), and
now includes CSRF protection to enhance security and prevent unauthorized logouts.

OpenTelemetry Traces for Apache Airflow (#​37948).
"""""""""""""""""""""""""""""""""""""""""""""""""
This new feature adds capability for Apache Airflow to emit 1) airflow system traces of scheduler,
triggerer, executor, processor 2) DAG run traces for deployed DAG runs in OpenTelemetry format. Previously, only metrics were supported which emitted metrics in OpenTelemetry.
This new feature will add richer data for users to use OpenTelemetry standard to emit and send their trace data to OTLP compatible endpoints.

Decorator for Task Flow (@&#8203;skip_if, @&#8203;run_if) to make it simple to apply whether or not to skip a Task. (#​41116)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This feature adds a decorator to make it simple to skip a Task.

Using Multiple Executors Concurrently (#​40701)
""""""""""""""""""""""""""""""""""""""""""""""
Previously known as hybrid executors, this new feature allows Airflow to use multiple executors concurrently. DAGs, or even individual tasks, can be configured
to use a specific executor that suits its needs best. A single DAG can contain tasks all using different executors. Please see the Airflow documentation for
more details. Note: This feature is still experimental. See documentation on Executor <https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/executor/index.html#using-multiple-executors-concurrently>_ for a more detailed description.

New Features
""""""""""""

  • AIP-61 Hybrid Execution (AIP-61 <https://github.com/apache/airflow/pulls?q=is%3Apr+label%3Aarea%3Ahybrid-executors+is%3Aclosed+milestone%3A%22Airflow+2.10.0%22>_)
  • AIP-62 Getting Lineage from Hook Instrumentation (AIP-62 <https://github.com/apache/airflow/pulls?q=is%3Apr+is%3Amerged+label%3AAIP-62+milestone%3A%22Airflow+2.10.0%22>_)
  • AIP-64 TaskInstance Try History (AIP-64 <https://github.com/apache/airflow/pulls?q=is%3Apr+is%3Amerged+label%3AAIP-64+milestone%3A%22Airflow+2.10.0%22>_)
  • AIP-44 Internal API (AIP-44 <https://github.com/apache/airflow/pulls?q=is%3Apr+label%3AAIP-44+milestone%3A%22Airflow+2.10.0%22+is%3Aclosed>_)
  • Enable ending the task directly from the triggerer without going into the worker. (#​40084)
  • Extend dataset dependencies (#​40868)
  • Feature/add token authentication to internal api (#​40899)
  • Add DatasetAlias to support dynamic Dataset Event Emission and Dataset Creation (#​40478)
  • Add example DAGs for inlet_events (#​39893)
  • Implement accessors to read dataset events defined as inlet (#​39367)
  • Decorator for Task Flow, to make it simple to apply whether or not to skip a Task. (#​41116)
  • Add start execution from triggerer support to dynamic task mapping (#​39912)
  • Add try_number to log table (#​40739)
  • Added ds_format_locale method in macros which allows localizing datetime formatting using Babel (#​40746)
  • Add DatasetAlias to support dynamic Dataset Event Emission and Dataset Creation (#​40478, #​40723, #​40809, #​41264, #​40830, #​40693, #​41302)
  • Use sentinel to mark dag as removed on re-serialization (#​39825)
  • Add parameter for the last number of queries to the DB in DAG file processing stats (#​40323)
  • Add prototype version dark mode for Airflow UI (#​39355)
  • Add ability to mark some tasks as successful in dag test (#​40010)
  • Allow use of callable for template_fields (#​37028)
  • Filter running/failed and active/paused dags on the home page(#​39701)
  • Add metrics about task CPU and memory usage (#​39650)
  • UI changes for DAG Re-parsing feature (#​39636)
  • Add Scarf based telemetry (#​39510, #​41318)
  • Add dag re-parsing request endpoint (#​39138)
  • Redirect to new DAGRun after trigger from Grid view (#​39569)
  • Display endDate in task instance tooltip. (#​39547)
  • Implement accessors to read dataset events defined as inlet (#​39367, #​39893)
  • Add color to log lines in UI for error and warnings based on keywords (#​39006)
  • Add Rendered k8s pod spec tab to ti details view (#​39141)
  • Make audit log before/after filterable (#​39120)
  • Consolidate grid collapse actions to a single full screen toggle (#​39070)
  • Implement Metadata to emit runtime extra (#​38650)
  • Add executor field to the DB and parameter to the operators (#​38474)
  • Implement context accessor for DatasetEvent extra (#​38481)
  • Add dataset event info to dag graph (#​41012)
  • Add button to toggle datasets on/off in dag graph (#​41200)
  • Add run_if & skip_if decorators (#​41116)
  • Add dag_stats rest api endpoint (#​41017)
  • Add listeners for Dag import errors (#​39739)
  • Allowing DateTimeSensorAsync, FileSensor and TimeSensorAsync to start execution from trigger during dynamic task mapping (#​41182)

Improvements
""""""""""""

  • Allow set Dag Run resource into Dag Level permission: extends Dag's access_control feature to allow Dag Run resource permissions. (#​40703)
  • Improve security and error handling for the internal API (#​40999)
  • Datasets UI Improvements (#​40871)
  • Change DAG Audit log tab to Event Log (#​40967)
  • Make standalone dag file processor works in DB isolation mode (#​40916)
  • Show only the source on the consumer DAG page and only triggered DAG run in the producer DAG page (#​41300)
  • Update metrics names to allow multiple executors to report metrics (#​40778)
  • Format DAG run count (#​39684)
  • Update styles for renderedjson component (#​40964)
  • Improve ATTRIBUTE_REMOVED sentinel to use class and more context (#​40920)
  • Make XCom display as react json (#​40640)
  • Replace usages of task context logger with the log table (#​40867)
  • Rollback for all retry exceptions (#​40882) (#​40883)
  • Support rendering ObjectStoragePath value (#​40638)
  • Add try_number and map_index as params for log event endpoint (#​40845)
  • Rotate fernet key in batches to limit memory usage (#​40786)
  • Add gauge metric for 'last_num_of_db_queries' parameter (#​40833)
  • Set parallelism log messages to warning level for better visibility (#​39298)
  • Add error handling for encoding the dag runs (#​40222)
  • Use params instead of dag_run.conf in example DAG (#​40759)
  • Load Example Plugins with Example DAGs (#​39999)
  • Stop deferring TimeDeltaSensorAsync task when the target_dttm is in the past (#​40719)
  • Send important executor logs to task logs (#​40468)
  • Open external links in new tabs (#​40635)
  • Attempt to add ReactJSON view to rendered templates (#​40639)
  • Speeding up regex match time for custom warnings (#​40513)
  • Refactor DAG.dataset_triggers into the timetable class (#​39321)
  • add next_kwargs to StartTriggerArgs (#​40376)
  • Improve UI error handling (#​40350)
  • Remove double warning in CLI when config value is deprecated (#​40319)
  • Implement XComArg concat() (#​40172)
  • Added get_extra_dejson method with nested parameter which allows you to specify if you want the nested json as string to be also deserialized (#​39811)
  • Add executor field to the task instance API (#​40034)
  • Support checking for db path absoluteness on Windows (#​40069)
  • Introduce StartTriggerArgs and prevent start trigger initialization in scheduler (#​39585)
  • Add task documentation to details tab in grid view (#​39899)
  • Allow executors to be specified with only the class name of the Executor (#​40131)
  • Remove obsolete conditional logic related to try_number (#​40104)
  • Allow Task Group Ids to be passed as branches in BranchMixIn (#​38883)
  • Javascript connection form will apply CodeMirror to all textarea's dynamically (#​39812)
  • Determine needs_expansion at time of serialization (#​39604)
  • Add indexes on dag_id column in referencing tables to speed up deletion of dag records (#​39638)
  • Add task failed dependencies to details page (#​38449)
  • Remove webserver try_number adjustment (#​39623)
  • Implement slicing in lazy sequence (#​39483)
  • Unify lazy db sequence implementations (#​39426)
  • Add __getattr__ to task decorator stub (#​39425)
  • Allow passing labels to FAB Views registered via Plugins (#​39444)
  • Simpler error message when trying to offline migrate with sqlite (#​39441)
  • Add soft_fail to TriggerDagRunOperator (#​39173)
  • Rename "dataset event" in context to use "outlet" (#​39397)
  • Resolve RemovedIn20Warning in airflow task command (#​39244)
  • Determine fail_stop on client side when db isolated (#​39258)
  • Refactor cloudpickle support in Python operators/decorators (#​39270)
  • Update trigger kwargs migration to specify existing_nullable (#​39361)
  • Allowing tasks to start execution directly from triggerer without going to worker (#​38674)
  • Better db migrate error messages (#​39268)
  • Add stacklevel into the suppress_and_warn warning (#​39263)
  • Support searching by dag_display_name (#​39008)
  • Allow sort by on all fields in MappedInstances.tsx (#​38090)
  • Expose count of scheduled tasks in metrics (#​38899)
  • Use declarative_base from sqlalchemy.orm instead of sqlalchemy.ext.declarative (#​39134)
  • Add example DAG to demonstrate emitting approaches (#​38821)
  • Give on_task_instance_failed access to the error that caused the failure (#​38155)
  • Simplify dataset serialization (#​38694)
  • Add heartbeat recovery message to jobs (#​34457)
  • Remove select_column option in TaskInstance.get_task_instance (#​38571)
  • Don't create session in get_dag if not reading dags from database (#​38553)
  • Add a migration script for encrypted trigger kwargs (#​38358)
  • Implement render_templates on TaskInstancePydantic (#​38559)
  • Handle optional session in _refresh_from_db (#​38572)
  • Make type annotation less confusing in task_command.py (#​38561)
  • Use fetch_dagrun directly to avoid session creation (#​38557)
  • Added output_processor parameter to BashProcessor (#​40843)
  • Improve serialization for Database Isolation Mode (#​41239)
  • Only orphan non-orphaned Datasets (#​40806)
  • Adjust gantt width based on task history dates (#​41192)
  • Enable scrolling on legend with high number of elements. (#​41187)

Bug Fixes
"""""""""

  • Bugfix for get_parsing_context() when ran with LocalExecutor (#​40738)
  • Validating provider documentation urls before displaying in views (#​40933)
  • Move import to make PythonOperator working on Windows (#​40424)
  • Fix dataset_with_extra_from_classic_operator example DAG (#​40747)
  • Call listener on_task_instance_failed() after ti state is changed (#​41053)
  • Add never_fail in BaseSensor (#​40915)
  • Fix tasks API endpoint when DAG doesn't have start_date (#​40878)
  • Fix and adjust URL generation for UI grid and older runs (#​40764)
  • Rotate fernet key optimization (#​40758)
  • Fix class instance vs. class type in validate_database_executor_compatibility() call (#​40626)
  • Clean up dark mode (#​40466)
  • Validate expected types for args for DAG, BaseOperator and TaskGroup (#​40269)
  • Exponential Backoff Not Functioning in BaseSensorOperator Reschedule Mode (#​39823)
  • local task job: add timeout, to not kill on_task_instance_success listener prematurely (#​39890)
  • Move Post Execution Log Grouping behind Exception Print (#​40146)
  • Fix triggerer race condition in HA setting (#​38666)
  • Pass triggered or existing DAG Run logical date to DagStateTrigger (#​39960)
  • Passing external_task_group_id to WorkflowTrigger (#​39617)
  • ECS Executor: Set tasks to RUNNING state once active (#​39212)
  • Only heartbeat if necessary in backfill loop (#​39399)
  • Fix trigger kwarg encryption migration (#​39246)
  • Fix decryption of trigger kwargs when downgrading. (#​38743)
  • Fix wrong link in Tri

Configuration

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

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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 has been generated by Renovate Bot.

@plural-copilot
plural-copilot Bot enabled auto-merge (squash) February 25, 2025 12:27
Comment thread airflow/Dockerfile Fixed
@plural-copilot
plural-copilot Bot force-pushed the renovate/docker.io-apache-airflow-2.x branch from faf7b51 to 66c9c03 Compare February 25, 2025 14:25
@plural-copilot
plural-copilot Bot force-pushed the renovate/docker.io-apache-airflow-2.x branch from 66c9c03 to 0414143 Compare May 20, 2025 10:41
@plural-copilot plural-copilot Bot changed the title feat(airflow): Update docker.io/apache/airflow Docker tag to v2.10.5 feat(airflow): Update docker.io/apache/airflow Docker tag to v2.11.0 May 20, 2025
Comment thread airflow/Dockerfile
@@ -1,4 +1,4 @@
FROM docker.io/apache/airflow:2.8.2-python3.10
FROM docker.io/apache/airflow:2.11.0-python3.10

Check notice

Code scanning / Trivy

No HEALTHCHECK defined Low

Artifact: airflow/Dockerfile
Type: dockerfile
Vulnerability DS026
Severity: LOW
Message: Add HEALTHCHECK instruction in your Dockerfile
Link: DS026
@plural-copilot
plural-copilot Bot force-pushed the renovate/docker.io-apache-airflow-2.x branch from 0414143 to 66536cb Compare July 11, 2025 21:33
Signed-off-by: plural-copilot[bot] <172153387+plural-copilot[bot]@users.noreply.github.com>
@plural-copilot
plural-copilot Bot force-pushed the renovate/docker.io-apache-airflow-2.x branch from 66536cb to c876e4f Compare July 12, 2025 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant