You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ka...@apache.org on 2025/04/10 14:49:22 UTC

(airflow) branch v3-0-test updated (031fafabf1c -> 918da154416)

This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a change to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


 discard 031fafabf1c Remove FAB from chicken-egg provider
 discard c4694f79ad9 Bump task-sdk version to 1.0.0
 discard 40180e8066e Update RELEASE_NOTES.rst
 discard d62adec32d3 Update Airflow version to 3.0.0
 discard e3f62ce98d1 Update default branches for 3-0
     add 1e9367806a3 Add missing `airflow config lint` rules and update/fix newsfragments (#49048)
     add 6d8403a72da fix(example_dags): fix how asset events can be accessed through template (#49044)
     add 4e1192b0488 Fix bug in example Workday Timetable (#49055)
     add 2396b5c6c59 Remove unused Breeze variable (#49056)
     add 4a8567b20bd Prepare docs for Apr 2nd wave of providers (#49051)
     add d112830cd93 Ensure that TI.id is unique per try. (#48749)
     add 7013ba3df13 Add metadata for Task SDK (#49059)
     new be153a48796 Update default branches for 3-0
     new 3c4dd771a98 Update Airflow version to 3.0.0
     new 41255edac4c Update RELEASE_NOTES.rst
     new d3112ae131b Bump task-sdk version to 1.0.0
     new 918da154416 Remove FAB from chicken-egg provider

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (031fafabf1c)
            \
             N -- N -- N   refs/heads/v3-0-test (918da154416)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 airflow-core/docs/img/airflow_erd.sha256           |    2 +-
 airflow-core/docs/img/airflow_erd.svg              | 1073 ++++++++++----------
 airflow-core/docs/migrations-ref.rst               |    4 +-
 airflow-core/newsfragments/48066.significant.rst   |   56 +-
 airflow-core/newsfragments/48528.significant.rst   |    2 +-
 airflow-core/newsfragments/48579.significant.rst   |    2 +-
 airflow-core/newsfragments/api-38.significant.rst  |    4 +-
 .../execution_api/routes/task_instances.py         |    9 +-
 .../execution_api/routes/task_reschedules.py       |   15 +-
 .../src/airflow/cli/commands/config_command.py     |    8 +
 .../example_dags/example_inlet_event_extra.py      |    2 +-
 .../src/airflow/example_dags/plugins/workday.py    |    2 +-
 .../0068_3_0_0_ti_table_id_unique_per_try.py       |  130 +++
 airflow-core/src/airflow/models/dagrun.py          |   29 +-
 airflow-core/src/airflow/models/taskinstance.py    |  119 +--
 .../src/airflow/models/taskinstancehistory.py      |    9 +-
 airflow-core/src/airflow/models/taskreschedule.py  |   18 +-
 airflow-core/src/airflow/utils/db.py               |    2 +-
 .../core_api/routes/public/test_assets.py          |   86 +-
 .../api_fastapi/core_api/routes/public/test_log.py |   28 +-
 .../core_api/routes/public/test_task_instances.py  |   13 +-
 .../versions/head/test_task_instances.py           |   49 +-
 airflow-core/tests/unit/jobs/test_scheduler_job.py |   53 +-
 airflow-core/tests/unit/models/test_cleartasks.py  |   45 +-
 airflow-core/tests/unit/models/test_dagrun.py      |    3 +-
 .../tests/unit/models/test_taskinstance.py         |   25 +-
 .../ti_deps/deps/test_ready_to_reschedule_dep.py   |    3 +-
 dev/breeze/src/airflow_breeze/utils/packages.py    |    7 -
 .../src/tests_common/test_utils/mock_executor.py   |    1 +
 providers/airbyte/docs/.latest-doc-only-change.txt |    2 +-
 providers/alibaba/docs/.latest-doc-only-change.txt |    2 +-
 providers/amazon/README.rst                        |    6 +-
 providers/amazon/docs/changelog.rst                |   33 +
 providers/amazon/docs/commits.rst                  |   28 +-
 providers/amazon/docs/index.rst                    |   18 +-
 providers/amazon/provider.yaml                     |    3 +-
 providers/amazon/pyproject.toml                    |    6 +-
 .../src/airflow/providers/amazon/__init__.py       |    2 +-
 .../apache/beam/docs/.latest-doc-only-change.txt   |    2 +-
 .../cassandra/docs/.latest-doc-only-change.txt     |    2 +-
 .../apache/drill/docs/.latest-doc-only-change.txt  |    2 +-
 .../apache/druid/docs/.latest-doc-only-change.txt  |    2 +-
 .../apache/flink/docs/.latest-doc-only-change.txt  |    2 +-
 providers/apache/hdfs/README.rst                   |    6 +-
 providers/apache/hdfs/docs/changelog.rst           |   20 +
 providers/apache/hdfs/docs/commits.rst             |   23 +-
 providers/apache/hdfs/docs/index.rst               |    2 +-
 providers/apache/hdfs/provider.yaml                |    3 +-
 providers/apache/hdfs/pyproject.toml               |    6 +-
 .../src/airflow/providers/apache/hdfs/__init__.py  |    2 +-
 .../apache/hive/docs/.latest-doc-only-change.txt   |    2 +-
 .../iceberg/docs/.latest-doc-only-change.txt       |    2 +-
 .../apache/impala/docs/.latest-doc-only-change.txt |    2 +-
 .../apache/kafka/docs/.latest-doc-only-change.txt  |    2 +-
 .../apache/kylin/docs/.latest-doc-only-change.txt  |    2 +-
 providers/apache/livy/README.rst                   |    6 +-
 providers/apache/livy/docs/changelog.rst           |   14 +
 providers/apache/livy/docs/commits.rst             |   17 +-
 providers/apache/livy/docs/index.rst               |    6 +-
 providers/apache/livy/provider.yaml                |    3 +-
 providers/apache/livy/pyproject.toml               |    6 +-
 .../src/airflow/providers/apache/livy/__init__.py  |    2 +-
 .../apache/pig/docs/.latest-doc-only-change.txt    |    2 +-
 .../apache/pinot/docs/.latest-doc-only-change.txt  |    2 +-
 providers/apache/spark/README.rst                  |    6 +-
 providers/apache/spark/docs/changelog.rst          |   22 +
 providers/apache/spark/docs/commits.rst            |   21 +-
 providers/apache/spark/docs/index.rst              |    6 +-
 providers/apache/spark/provider.yaml               |    3 +-
 providers/apache/spark/pyproject.toml              |    6 +-
 .../src/airflow/providers/apache/spark/__init__.py |    2 +-
 providers/apprise/docs/.latest-doc-only-change.txt |    2 +-
 .../arangodb/docs/.latest-doc-only-change.txt      |    2 +-
 providers/asana/docs/.latest-doc-only-change.txt   |    2 +-
 .../jira/docs/.latest-doc-only-change.txt          |    2 +-
 providers/celery/README.rst                        |    6 +-
 providers/celery/docs/changelog.rst                |   18 +
 providers/celery/docs/commits.rst                  |   17 +-
 providers/celery/docs/index.rst                    |    6 +-
 providers/celery/provider.yaml                     |    3 +-
 providers/celery/pyproject.toml                    |    6 +-
 .../src/airflow/providers/celery/__init__.py       |    2 +-
 .../cloudant/docs/.latest-doc-only-change.txt      |    2 +-
 providers/cncf/kubernetes/README.rst               |    6 +-
 providers/cncf/kubernetes/docs/changelog.rst       |   15 +
 providers/cncf/kubernetes/docs/commits.rst         |   18 +-
 providers/cncf/kubernetes/docs/index.rst           |    2 +-
 providers/cncf/kubernetes/provider.yaml            |    3 +-
 providers/cncf/kubernetes/pyproject.toml           |    6 +-
 .../airflow/providers/cncf/kubernetes/__init__.py  |    2 +-
 providers/cohere/docs/.latest-doc-only-change.txt  |    2 +-
 .../common/compat/docs/.latest-doc-only-change.txt |    2 +-
 providers/common/io/README.rst                     |    6 +-
 providers/common/io/docs/changelog.rst             |   19 +
 providers/common/io/docs/commits.rst               |   24 +-
 providers/common/io/docs/index.rst                 |    8 +-
 providers/common/io/provider.yaml                  |    3 +-
 providers/common/io/pyproject.toml                 |    6 +-
 .../io/src/airflow/providers/common/io/__init__.py |    2 +-
 providers/common/messaging/docs/commits.rst        |   13 +-
 .../common/sql/docs/.latest-doc-only-change.txt    |    2 +-
 providers/databricks/README.rst                    |    6 +-
 providers/databricks/docs/changelog.rst            |   16 +
 providers/databricks/docs/commits.rst              |   19 +-
 providers/databricks/docs/index.rst                |    6 +-
 providers/databricks/provider.yaml                 |    3 +-
 providers/databricks/pyproject.toml                |    6 +-
 .../src/airflow/providers/databricks/__init__.py   |    2 +-
 providers/datadog/docs/.latest-doc-only-change.txt |    2 +-
 .../dbt/cloud/docs/.latest-doc-only-change.txt     |    2 +-
 .../dingding/docs/.latest-doc-only-change.txt      |    2 +-
 providers/discord/README.rst                       |    6 +-
 providers/discord/docs/changelog.rst               |   16 +
 providers/discord/docs/commits.rst                 |   17 +
 providers/discord/docs/index.rst                   |    6 +-
 providers/discord/provider.yaml                    |    3 +-
 providers/discord/pyproject.toml                   |    6 +-
 .../src/airflow/providers/discord/__init__.py      |    2 +-
 providers/docker/README.rst                        |    6 +-
 providers/docker/docs/changelog.rst                |   17 +
 providers/docker/docs/commits.rst                  |   20 +-
 providers/docker/docs/index.rst                    |    6 +-
 providers/docker/provider.yaml                     |    3 +-
 providers/docker/pyproject.toml                    |    6 +-
 .../src/airflow/providers/docker/__init__.py       |    2 +-
 .../elasticsearch/docs/.latest-doc-only-change.txt |    2 +-
 providers/exasol/docs/.latest-doc-only-change.txt  |    2 +-
 providers/fab/docs/changelog.rst                   |   17 +
 providers/fab/docs/commits.rst                     |   19 +-
 providers/fab/docs/index.rst                       |    1 +
 .../facebook/docs/.latest-doc-only-change.txt      |    2 +-
 providers/ftp/docs/.latest-doc-only-change.txt     |    2 +-
 providers/git/docs/changelog.rst                   |    3 +-
 providers/git/docs/commits.rst                     |   38 +-
 providers/github/docs/.latest-doc-only-change.txt  |    2 +-
 providers/google/README.rst                        |    6 +-
 providers/google/docs/changelog.rst                |   21 +
 providers/google/docs/commits.rst                  |   20 +-
 providers/google/docs/index.rst                    |    6 +-
 providers/google/provider.yaml                     |    3 +-
 providers/google/pyproject.toml                    |    6 +-
 .../src/airflow/providers/google/__init__.py       |    2 +-
 providers/grpc/docs/.latest-doc-only-change.txt    |    2 +-
 .../hashicorp/docs/.latest-doc-only-change.txt     |    2 +-
 providers/http/docs/.latest-doc-only-change.txt    |    2 +-
 providers/imap/docs/.latest-doc-only-change.txt    |    2 +-
 .../influxdb/docs/.latest-doc-only-change.txt      |    2 +-
 providers/jdbc/docs/.latest-doc-only-change.txt    |    2 +-
 providers/jenkins/docs/.latest-doc-only-change.txt |    2 +-
 .../azure/docs/.latest-doc-only-change.txt         |    2 +-
 .../mssql/docs/.latest-doc-only-change.txt         |    2 +-
 .../psrp/docs/.latest-doc-only-change.txt          |    2 +-
 .../winrm/docs/.latest-doc-only-change.txt         |    2 +-
 providers/mongo/docs/.latest-doc-only-change.txt   |    2 +-
 providers/mysql/README.rst                         |    6 +-
 providers/mysql/docs/changelog.rst                 |   20 +
 providers/mysql/docs/commits.rst                   |   23 +-
 providers/mysql/docs/index.rst                     |    6 +-
 providers/mysql/provider.yaml                      |    3 +-
 providers/mysql/pyproject.toml                     |    6 +-
 .../mysql/src/airflow/providers/mysql/__init__.py  |    2 +-
 providers/neo4j/docs/.latest-doc-only-change.txt   |    2 +-
 providers/odbc/docs/.latest-doc-only-change.txt    |    2 +-
 providers/openai/docs/.latest-doc-only-change.txt  |    2 +-
 .../openfaas/docs/.latest-doc-only-change.txt      |    2 +-
 providers/openlineage/README.rst                   |    6 +-
 providers/openlineage/docs/changelog.rst           |   16 +
 providers/openlineage/docs/commits.rst             |   19 +-
 providers/openlineage/docs/index.rst               |    6 +-
 providers/openlineage/provider.yaml                |    3 +-
 providers/openlineage/pyproject.toml               |    6 +-
 .../src/airflow/providers/openlineage/__init__.py  |    2 +-
 .../opensearch/docs/.latest-doc-only-change.txt    |    2 +-
 .../opsgenie/docs/.latest-doc-only-change.txt      |    2 +-
 providers/oracle/docs/.latest-doc-only-change.txt  |    2 +-
 .../pagerduty/docs/.latest-doc-only-change.txt     |    2 +-
 .../papermill/docs/.latest-doc-only-change.txt     |    2 +-
 .../pgvector/docs/.latest-doc-only-change.txt      |    2 +-
 .../pinecone/docs/.latest-doc-only-change.txt      |    2 +-
 .../postgres/docs/.latest-doc-only-change.txt      |    2 +-
 providers/presto/docs/.latest-doc-only-change.txt  |    2 +-
 providers/qdrant/docs/.latest-doc-only-change.txt  |    2 +-
 providers/redis/docs/.latest-doc-only-change.txt   |    2 +-
 .../salesforce/docs/.latest-doc-only-change.txt    |    2 +-
 providers/samba/docs/.latest-doc-only-change.txt   |    2 +-
 providers/segment/docs/.latest-doc-only-change.txt |    2 +-
 providers/sftp/README.rst                          |    6 +-
 providers/sftp/docs/changelog.rst                  |   19 +
 providers/sftp/docs/commits.rst                    |   18 +-
 providers/sftp/docs/index.rst                      |    6 +-
 providers/sftp/provider.yaml                       |    3 +-
 providers/sftp/pyproject.toml                      |    6 +-
 .../sftp/src/airflow/providers/sftp/__init__.py    |    2 +-
 .../singularity/docs/.latest-doc-only-change.txt   |    2 +-
 providers/slack/README.rst                         |    6 +-
 providers/slack/docs/changelog.rst                 |   16 +
 providers/slack/docs/commits.rst                   |   17 +
 providers/slack/docs/index.rst                     |    6 +-
 providers/slack/provider.yaml                      |    3 +-
 providers/slack/pyproject.toml                     |    6 +-
 .../slack/src/airflow/providers/slack/__init__.py  |    2 +-
 providers/smtp/docs/.latest-doc-only-change.txt    |    2 +-
 providers/snowflake/README.rst                     |    6 +-
 providers/snowflake/docs/changelog.rst             |   14 +
 providers/snowflake/docs/commits.rst               |   17 +-
 providers/snowflake/docs/index.rst                 |    6 +-
 providers/snowflake/provider.yaml                  |    3 +-
 providers/snowflake/pyproject.toml                 |    6 +-
 .../src/airflow/providers/snowflake/__init__.py    |    2 +-
 providers/sqlite/README.rst                        |    6 +-
 providers/sqlite/docs/changelog.rst                |   20 +
 providers/sqlite/docs/commits.rst                  |   23 +-
 providers/sqlite/docs/index.rst                    |    7 +-
 providers/sqlite/provider.yaml                     |    3 +-
 providers/sqlite/pyproject.toml                    |    6 +-
 .../src/airflow/providers/sqlite/__init__.py       |    2 +-
 providers/ssh/docs/.latest-doc-only-change.txt     |    2 +-
 providers/standard/README.rst                      |    6 +-
 providers/standard/docs/changelog.rst              |   27 +
 providers/standard/docs/commits.rst                |   22 +-
 providers/standard/docs/index.rst                  |    2 +-
 providers/standard/provider.yaml                   |    3 +-
 providers/standard/pyproject.toml                  |    6 +-
 .../src/airflow/providers/standard/__init__.py     |    2 +-
 .../tests/unit/standard/operators/test_python.py   |    3 +
 providers/tableau/docs/.latest-doc-only-change.txt |    2 +-
 .../telegram/docs/.latest-doc-only-change.txt      |    2 +-
 .../teradata/docs/.latest-doc-only-change.txt      |    2 +-
 providers/trino/docs/.latest-doc-only-change.txt   |    2 +-
 providers/vertica/docs/.latest-doc-only-change.txt |    2 +-
 .../weaviate/docs/.latest-doc-only-change.txt      |    2 +-
 providers/yandex/docs/.latest-doc-only-change.txt  |    2 +-
 providers/ydb/docs/.latest-doc-only-change.txt     |    2 +-
 providers/zendesk/docs/.latest-doc-only-change.txt |    2 +-
 LICENSE => task-sdk/LICENSE                        |    0
 task-sdk/README.md                                 |   18 +-
 task-sdk/pyproject.toml                            |   38 +-
 237 files changed, 2047 insertions(+), 1169 deletions(-)
 create mode 100644 airflow-core/src/airflow/migrations/versions/0068_3_0_0_ti_table_id_unique_per_try.py
 copy LICENSE => task-sdk/LICENSE (100%)


(airflow) 01/05: Update default branches for 3-0

Posted by ka...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit be153a48796644245883fd727c94a0297f38d7f5
Author: utkarsh sharma <ut...@gmail.com>
AuthorDate: Fri Jan 31 14:33:25 2025 +0530

    Update default branches for 3-0
---
 dev/breeze/src/airflow_breeze/branch_defaults.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dev/breeze/src/airflow_breeze/branch_defaults.py b/dev/breeze/src/airflow_breeze/branch_defaults.py
index e8639d348cd..ade4fcc5d56 100644
--- a/dev/breeze/src/airflow_breeze/branch_defaults.py
+++ b/dev/breeze/src/airflow_breeze/branch_defaults.py
@@ -38,6 +38,6 @@ Examples:
 
 from __future__ import annotations
 
-AIRFLOW_BRANCH = "main"
-DEFAULT_AIRFLOW_CONSTRAINTS_BRANCH = "constraints-main"
+AIRFLOW_BRANCH = "v3-0-test"
+DEFAULT_AIRFLOW_CONSTRAINTS_BRANCH = "constraints-3-0"
 DEBIAN_VERSION = "bookworm"


(airflow) 03/05: Update RELEASE_NOTES.rst

Posted by ka...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 41255edac4c8794da1aedd002933edc7424f8a61
Author: Jed Cunningham <je...@apache.org>
AuthorDate: Thu Feb 20 14:34:47 2025 -0700

    Update RELEASE_NOTES.rst
---
 RELEASE_NOTES.rst          | 96 ++++++++++++++++++++++++++++++++++++++++++++++
 docs/spelling_wordlist.txt |  2 +
 reproducible_build.yaml    |  4 +-
 3 files changed, 100 insertions(+), 2 deletions(-)

diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index f162cd5fb24..54f4f2202ba 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -21,6 +21,102 @@
 
 .. towncrier release notes start
 
+Airflow 3.0.0 (2025-04-17)
+--------------------------
+
+Airflow 3.0 is a huge milestone for the Airflow project; the first major release in over four years, and brings
+great improvements to the entire community.
+
+Highly requested UX features
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+DAG Versioning
+""""""""""""""
+
+Airflow now tracks DAG versions, providing better visibility into DAG changes over time. This enables users to view
+historical DAG run information, inspect historical DAG structures associated with that historical DAG run and execution states.
+
+Airflow now introduces DAG Bundles which allow tasks run with the correct code version even when DAGs evolve. Airflow also now
+supports the sourcing of these DAG bundles from multiple locations which enables more efficient DAG parsing and better control over refresh behaviour.
+
+Collectively, these improve observability and reliability across workflows.
+
+Modern Web Application
+""""""""""""""""""""""
+
+The Airflow UI is now completely React-based and fully API-driven using a new UI REST API.
+This overhaul improves user experience, maintainability and is a foundation for extensibility. Key feature enhancements include a new component-based design system
+(with dark mode) and an improved information architecture.
+
+We have also removed Flask AppBuilder as a core dependency. However, since FAB remains widely used for authentication and custom plugins,
+we have retained backwards compatibility for FAB plugins to ensure a smooth transition for users, while setting the stage for its eventual removal.
+
+Additionally, we have introduced a new flexible React-based plugin system to allow:
+- Custom widgets and information panels within the Grid View
+- Enhanced visibility of business-specific workflow details
+- Seamless integration of Airflow UI with external reporting tools like Grafana or Power BI
+
+Scheduler-managed Backfills
+"""""""""""""""""""""""""""
+
+In Airflow 3.0, Backfills are now first-class citizens, directly integrated into the Airflow scheduler. This enables better
+scalability, diagnostics, and support through the UI / API. This also eliminated redundancy in the scheduling logic, making Airflow more maintainable.
+
+Airflow 3.0 enables Tasks to be Run anywhere, at any time, in any language
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Task Execution Interface
+""""""""""""""""""""""""
+
+The Task Execution Interface evolves Airflow into a client / server architecture to enable easier upgrades, multi-cloud deployments, and multi-language support.
+This decouples task execution from Airflow internals, eliminating direct interaction from tasks with the Airflow metadatabase. These interactions
+now go through an API, which enables remote execution across network boundaries. This API based interaction also enables multi-language support
+for task execution while keeping DAGs in Python.
+Furthermore, this enhances security and scalability, reducing conflicts in dependency management.
+
+Edge Executor (Remote Task Execution)
+"""""""""""""""""""""""""""""""""""""
+
+The Edge Executor, designed for remote task execution across network boundaries is now based on the Task Execution Interface above.
+This enables seamless execution of tasks in remote environments without requiring direct database or message broker connections,
+making Airflow more scalable across diverse infrastructures.
+
+Data Assets and Event Driven Scheduling
+"""""""""""""""""""""""""""""""""""""""
+
+Airflow is evolving to be a more integrated part of the entire data ecosystem, in better understanding the data it
+operates on and to trigger DAGs based on changes in the surrounding data ecosystem.
+
+Asset-Centric Syntax
+""""""""""""""""""""
+
+Airflow evolution of Datasets into Data Assets enables it to better understand the data it orchestrates. Airflow 3 introduces
+the concept of Data Assets which go beyond physical Datasets such as tables and files to now expand to ML models, etc.
+Airflow 3 enables explicit definition of asset dependencies, making them easier to track and manage. The introduction of the
+@asset decorator streamlines defining assets within DAGs and clarifies dependency chains.
+
+
+External Event-Driven Scheduling in Airflow
+""""""""""""""""""""""""""""""""""""""""""""
+Airflow 3 introduces native event-driven capabilities, allowing DAGs to be triggered by external events like message queues.
+It builds on existing dataset-based scheduling (now referred to as Data Assets) and enhances monitoring, execution efficiency,
+and API support for event-based workflows.
+
+Enhanced Security in CLI via Integration of API
+"""""""""""""""""""""""""""""""""""""""""""""""
+
+Airflow 3 improves the security of Airflow and reduces the maintenance burden by having the CLI use the Airflow APIs
+(now significantly enhanced as detailed above). Evolving to have all access go through the APIs instead of direct database access
+is an important evolution for Airflow. This simplifies CLI deployment, reduces redundancy, and improves maintainability.
+
+Inference execution and hyper-parameter turning
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+Airflow currently uses execution_date to identify DAG runs, which introduces limitations, especially for dynamic workflows.
+In Airflow 3, execution_date has been renamed to logical_date and the constraint has selectively been removed to enable DAG
+execution for inference runs to be more intuitive and scalable.
+
+
 Airflow 2.10.5 (2025-02-10)
 ---------------------------
 
diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt
index 83d837edf6e..da72b236212 100644
--- a/docs/spelling_wordlist.txt
+++ b/docs/spelling_wordlist.txt
@@ -764,6 +764,7 @@ googleapiclient
 GoogleDisplayVideo
 gpu
 gpus
+Grafana
 graphviz
 greenlet
 Groupalia
@@ -1457,6 +1458,7 @@ RefreshError
 regexes
 reidentify
 ReidentifyContentResponse
+reimagined
 reinit
 Reinitialising
 reinitialization
diff --git a/reproducible_build.yaml b/reproducible_build.yaml
index f0b15c7ba4b..7e8db68de74 100644
--- a/reproducible_build.yaml
+++ b/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: aba14e1e0cbf18aaf82afbebaf5bf11e
-source-date-epoch: 1743864867
+release-notes-hash: 062af1ad9ccfee78ce7c9e730c585ed1
+source-date-epoch: 1744286802


(airflow) 05/05: Remove FAB from chicken-egg provider

Posted by ka...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 918da154416f08f2920a52cf3b85a44b2f83abf1
Author: Kaxil Naik <ka...@apache.org>
AuthorDate: Fri Apr 4 03:49:39 2025 +0530

    Remove FAB from chicken-egg provider
---
 dev/breeze/doc/images/output_prod-image_build.txt                       | 2 +-
 .../images/output_release-management_install-provider-distributions.txt | 2 +-
 .../images/output_release-management_verify-provider-distributions.txt  | 2 +-
 dev/breeze/doc/images/output_start-airflow.txt                          | 2 +-
 dev/breeze/doc/images/output_testing_core-tests.txt                     | 2 +-
 dev/breeze/doc/images/output_testing_providers-tests.txt                | 2 +-
 dev/breeze/src/airflow_breeze/global_constants.py                       | 1 -
 7 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/dev/breeze/doc/images/output_prod-image_build.txt b/dev/breeze/doc/images/output_prod-image_build.txt
index ec53866b2f3..9a14da0570b 100644
--- a/dev/breeze/doc/images/output_prod-image_build.txt
+++ b/dev/breeze/doc/images/output_prod-image_build.txt
@@ -1 +1 @@
-ecf08e6444121e48f145c0ef0c14ec10
+a3126ec5cad02cf0b0dae5f0f7d63421
diff --git a/dev/breeze/doc/images/output_release-management_install-provider-distributions.txt b/dev/breeze/doc/images/output_release-management_install-provider-distributions.txt
index f3e16dfb8ee..127ca4077b0 100644
--- a/dev/breeze/doc/images/output_release-management_install-provider-distributions.txt
+++ b/dev/breeze/doc/images/output_release-management_install-provider-distributions.txt
@@ -1 +1 @@
-909874eb2c67c469f0d1e80050016ef4
+55cd3c27fc478373017f20d8de40e10f
diff --git a/dev/breeze/doc/images/output_release-management_verify-provider-distributions.txt b/dev/breeze/doc/images/output_release-management_verify-provider-distributions.txt
index b0fc06426a6..f7bc71f727d 100644
--- a/dev/breeze/doc/images/output_release-management_verify-provider-distributions.txt
+++ b/dev/breeze/doc/images/output_release-management_verify-provider-distributions.txt
@@ -1 +1 @@
-84114290823d9a471015f1ea06dfcd32
+ea58abc758f3611db25db049c82a5c6e
diff --git a/dev/breeze/doc/images/output_start-airflow.txt b/dev/breeze/doc/images/output_start-airflow.txt
index 34e5ac54869..9ae4eef3dc1 100644
--- a/dev/breeze/doc/images/output_start-airflow.txt
+++ b/dev/breeze/doc/images/output_start-airflow.txt
@@ -1 +1 @@
-d17743200dad3972e3432e9c2e91ba02
+ec97b9250d8aeb50ebf50babd2225691
diff --git a/dev/breeze/doc/images/output_testing_core-tests.txt b/dev/breeze/doc/images/output_testing_core-tests.txt
index 60fa757df0a..d30200ecbb3 100644
--- a/dev/breeze/doc/images/output_testing_core-tests.txt
+++ b/dev/breeze/doc/images/output_testing_core-tests.txt
@@ -1 +1 @@
-214f80fb1b8b9cc2ac472a9205e92a51
+b2abaf81940290589318f54cd2801e48
diff --git a/dev/breeze/doc/images/output_testing_providers-tests.txt b/dev/breeze/doc/images/output_testing_providers-tests.txt
index 86de854ec93..17462b64e6a 100644
--- a/dev/breeze/doc/images/output_testing_providers-tests.txt
+++ b/dev/breeze/doc/images/output_testing_providers-tests.txt
@@ -1 +1 @@
-851800df7013ec168415c93e77ef3e53
+d6ef6ec3a3d70486bd6a164f56207fbb
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py
index 48f2e99a7ac..0711ac3ba23 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -630,7 +630,6 @@ DEFAULT_EXTRAS = [
 CHICKEN_EGG_PROVIDERS = " ".join(
     [
         "common.messaging",
-        "fab",
         "openlineage",
     ]
 )


(airflow) 04/05: Bump task-sdk version to 1.0.0

Posted by ka...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit d3112ae131b183763d0cb04e005f5031f8a7212b
Author: Jed Cunningham <je...@apache.org>
AuthorDate: Thu Feb 20 14:33:45 2025 -0700

    Bump task-sdk version to 1.0.0
---
 task-sdk/src/airflow/sdk/__init__.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/task-sdk/src/airflow/sdk/__init__.py b/task-sdk/src/airflow/sdk/__init__.py
index 8b933942df5..85d4b496f6f 100644
--- a/task-sdk/src/airflow/sdk/__init__.py
+++ b/task-sdk/src/airflow/sdk/__init__.py
@@ -55,7 +55,7 @@ __all__ = [
     "teardown",
 ]
 
-__version__ = "1.0.0.alpha1"
+__version__ = "1.0.0"
 
 if TYPE_CHECKING:
     from airflow.sdk.bases.notifier import BaseNotifier


(airflow) 02/05: Update Airflow version to 3.0.0

Posted by ka...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 3c4dd771a98769d4842595b7f073e1acd39a6ffa
Author: Jed Cunningham <je...@apache.org>
AuthorDate: Thu Feb 20 14:34:36 2025 -0700

    Update Airflow version to 3.0.0
---
 README.md                                          | 25 +++++++++++-----------
 .../docs/installation/supported-versions.rst       |  1 +
 clients/python/openapi_v1.yaml                     |  2 +-
 .../doc/images/output_ci_selective-check.svg       |  4 ++--
 .../doc/images/output_ci_selective-check.txt       |  2 +-
 generated/PYPI_README.md                           | 24 ++++++++++-----------
 scripts/ci/pre_commit/supported_versions.py        |  1 +
 7 files changed, 31 insertions(+), 28 deletions(-)

diff --git a/README.md b/README.md
index dd336c66449..ae57cfcd10d 100644
--- a/README.md
+++ b/README.md
@@ -96,14 +96,14 @@ Airflow is not a streaming solution, but it is often used to process real-time d
 
 Apache Airflow is tested with:
 
-|            | Main version (dev)     | Stable version (2.10.5)    |
-|------------|------------------------|----------------------------|
-| Python     | 3.9, 3.10, 3.11, 3.12  | 3.8, 3.9, 3.10, 3.11, 3.12 |
-| Platform   | AMD64/ARM64(\*)        | AMD64/ARM64(\*)            |
-| Kubernetes | 1.29, 1.30, 1.31, 1.32 | 1.27, 1.28, 1.29, 1.30     |
-| PostgreSQL | 13, 14, 15, 16, 17     | 12, 13, 14, 15, 16         |
-| MySQL      | 8.0, 8.4, Innovation   | 8.0, 8.4, Innovation       |
-| SQLite     | 3.15.0+                | 3.15.0+                    |
+|            | Main version (dev)     | Stable version (3.0.0) |
+|------------|------------------------|------------------------|
+| Python     | 3.9, 3.10, 3.11, 3.12  | 3.9, 3.10, 3.11, 3.12  |
+| Platform   | AMD64/ARM64(\*)        | AMD64/ARM64(\*)        |
+| Kubernetes | 1.29, 1.30, 1.31, 1.32 | 1.29, 1.30, 1.31, 1.32 |
+| PostgreSQL | 13, 14, 15, 16, 17     | 13, 14, 15, 16, 17     |
+| MySQL      | 8.0, 8.4, Innovation   | 8.0, 8.4, Innovation   |
+| SQLite     | 3.15.0+                | 3.15.0+                |
 
 \* Experimental
 
@@ -174,15 +174,15 @@ them to the appropriate format and workflow that your tool requires.
 
 
 ```bash
-pip install 'apache-airflow==2.10.5' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.5/constraints-3.9.txt"
+pip install 'apache-airflow==3.0.0' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.9.txt"
 ```
 
 2. Installing with extras (i.e., postgres, google)
 
 ```bash
-pip install 'apache-airflow[postgres,google]==2.10.5' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.5/constraints-3.9.txt"
+pip install 'apache-airflow[postgres,google]==3.0.0' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.9.txt"
 ```
 
 For information on installing provider distributions, check
@@ -287,6 +287,7 @@ Apache Airflow version life cycle:
 
 | Version   | Current Patch/Minor   | State     | First Release   | Limited Support   | EOL/Terminated   |
 |-----------|-----------------------|-----------|-----------------|-------------------|------------------|
+| 3         | 3.0.0                 | Supported | Apr 17, 2025    | TBD               | TBD              |
 | 2         | 2.10.5                | Supported | Dec 17, 2020    | TBD               | TBD              |
 | 1.10      | 1.10.15               | EOL       | Aug 27, 2018    | Dec 17, 2020      | June 17, 2021    |
 | 1.9       | 1.9.0                 | EOL       | Jan 03, 2018    | Aug 27, 2018      | Aug 27, 2018     |
diff --git a/airflow-core/docs/installation/supported-versions.rst b/airflow-core/docs/installation/supported-versions.rst
index 6c3f8952b95..beed87759b8 100644
--- a/airflow-core/docs/installation/supported-versions.rst
+++ b/airflow-core/docs/installation/supported-versions.rst
@@ -29,6 +29,7 @@ Apache Airflow® version life cycle:
 =========  =====================  =========  ===============  =================  ================
 Version    Current Patch/Minor    State      First Release    Limited Support    EOL/Terminated
 =========  =====================  =========  ===============  =================  ================
+3          3.0.0                  Supported  Apr 17, 2025     TBD                TBD
 2          2.10.5                 Supported  Dec 17, 2020     TBD                TBD
 1.10       1.10.15                EOL        Aug 27, 2018     Dec 17, 2020       June 17, 2021
 1.9        1.9.0                  EOL        Jan 03, 2018     Aug 27, 2018       Aug 27, 2018
diff --git a/clients/python/openapi_v1.yaml b/clients/python/openapi_v1.yaml
index af3c77c4732..59532b7485c 100644
--- a/clients/python/openapi_v1.yaml
+++ b/clients/python/openapi_v1.yaml
@@ -231,7 +231,7 @@ info:
     This means that the server encountered an unexpected condition that prevented it from
     fulfilling the request.
 
-  version: "2.9.0.dev0"
+  version: "3.0.0"
   license:
     name: Apache 2.0
     url: http://www.apache.org/licenses/LICENSE-2.0.html
diff --git a/dev/breeze/doc/images/output_ci_selective-check.svg b/dev/breeze/doc/images/output_ci_selective-check.svg
index 80c443dacf2..79d1c460be5 100644
--- a/dev/breeze/doc/images/output_ci_selective-check.svg
+++ b/dev/breeze/doc/images/output_ci_selective-check.svg
@@ -140,9 +140,9 @@
 </text><text class="breeze-ci-selective-check-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-ci-selective-check-line-5)">╭─</text><text class="breeze-ci-selective-check-r5" x="24.4" y="142" textLength="280.6" clip-path="url(#breeze-ci-selective-check-line-5)">&#160;Selective&#160;check&#160;flags&#160;</text><text class="breeze-ci-selective-check-r5" x="305" y="142" textLength="1134.6" clip-path="url(#breeze-ci-selective-check-line-5)">──────────────────────────────────────── [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-6)">│</text><text class="breeze-ci-selective-check-r4" x="24.4" y="166.4" textLength="146.4" clip-path="url(#breeze-ci-selective-check-line-6)">--commit-ref</text><text class="breeze-ci-selective-check-r1" x="414.8" y="166.4" textLength="695.4" clip-path="url(#breeze-ci-selective-check-line-6)">Commit-ish&#160;reference&#160;to&#160;the&#160;commit&#160;that& [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-7)">│</text><text class="breeze-ci-selective-check-r4" x="24.4" y="190.8" textLength="134.2" clip-path="url(#breeze-ci-selective-check-line-7)">--pr-labels</text><text class="breeze-ci-selective-check-r1" x="414.8" y="190.8" textLength="622.2" clip-path="url(#breeze-ci-selective-check-line-7)">Python&#160;array&#160;formatted&#160;PR&#160;labels&#160;assigned [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-8)">│</text><text class="breeze-ci-selective-check-r4" x="24.4" y="215.2" textLength="195.2" clip-path="url(#breeze-ci-selective-check-line-8)">--default-branch</text><text class="breeze-ci-selective-check-r1" x="414.8" y="215.2" textLength="500.2" clip-path="url(#breeze-ci-selective-check-line-8)">Branch&#160;against&#160;which&#160;the&#160;PR&#160;should&# [...]
+</text><text class="breeze-ci-selective-check-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-8)">│</text><text class="breeze-ci-selective-check-r4" x="24.4" y="215.2" textLength="195.2" clip-path="url(#breeze-ci-selective-check-line-8)">--default-branch</text><text class="breeze-ci-selective-check-r1" x="414.8" y="215.2" textLength="500.2" clip-path="url(#breeze-ci-selective-check-line-8)">Branch&#160;against&#160;which&#160;the&#160;PR&#160;should&# [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-9)">│</text><text class="breeze-ci-selective-check-r4" x="24.4" y="239.6" textLength="341.6" clip-path="url(#breeze-ci-selective-check-line-9)">--default-constraints-branch</text><text class="breeze-ci-selective-check-r1" x="414.8" y="239.6" textLength="646.6" clip-path="url(#breeze-ci-selective-check-line-9)">Constraints&#160;Branch&#160;against&#160;which&# [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-10)">│</text><text class="breeze-ci-selective-check-r5" x="414.8" y="264" textLength="646.6" clip-path="url(#breeze-ci-selective-check-line-10)">[default:&#160;constraints-main]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-ci- [...]
+</text><text class="breeze-ci-selective-check-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-10)">│</text><text class="breeze-ci-selective-check-r5" x="414.8" y="264" textLength="646.6" clip-path="url(#breeze-ci-selective-check-line-10)">[default:&#160;constraints-3-0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breez [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="288.4" textLength="1464" clip-path="url(#breeze-ci-selective-check-line-11)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-selective-check-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-11)">
 </text><text class="breeze-ci-selective-check-r5" x="0" y="312.8" textLength="24.4" clip-path="url(#breeze-ci-selective-check-line-12)">╭─</text><text class="breeze-ci-selective-check-r5" x="24.4" y="312.8" textLength="231.8" clip-path="url(#breeze-ci-selective-check-line-12)">&#160;Github&#160;parameters&#160;</text><text class="breeze-ci-selective-check-r5" x="256.2" y="312.8" textLength="1183.4" clip-path="url(#breeze-ci-selective-check-line-12)">────────────────────────────────────── [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-ci-selective-check-line-13)">│</text><text class="breeze-ci-selective-check-r4" x="24.4" y="337.2" textLength="231.8" clip-path="url(#breeze-ci-selective-check-line-13)">--github-event-name</text><text class="breeze-ci-selective-check-r1" x="329.4" y="337.2" textLength="1110.2" clip-path="url(#breeze-ci-selective-check-line-13)">Name&#160;of&#160;the&#160;GitHub&#160;event&#160;that [...]
diff --git a/dev/breeze/doc/images/output_ci_selective-check.txt b/dev/breeze/doc/images/output_ci_selective-check.txt
index ebeb5277929..1cf949a2ed2 100644
--- a/dev/breeze/doc/images/output_ci_selective-check.txt
+++ b/dev/breeze/doc/images/output_ci_selective-check.txt
@@ -1 +1 @@
-78d4ac07ec90efce5bd901f461d940bc
+9d6c6f0fb7a0bd076aca654d5d536012
diff --git a/generated/PYPI_README.md b/generated/PYPI_README.md
index 5140cdcd39d..8e293f3ec97 100644
--- a/generated/PYPI_README.md
+++ b/generated/PYPI_README.md
@@ -54,14 +54,14 @@ Use Airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The
 
 Apache Airflow is tested with:
 
-|            | Main version (dev)     | Stable version (2.10.5)    |
-|------------|------------------------|----------------------------|
-| Python     | 3.9, 3.10, 3.11, 3.12  | 3.8, 3.9, 3.10, 3.11, 3.12 |
-| Platform   | AMD64/ARM64(\*)        | AMD64/ARM64(\*)            |
-| Kubernetes | 1.29, 1.30, 1.31, 1.32 | 1.27, 1.28, 1.29, 1.30     |
-| PostgreSQL | 13, 14, 15, 16, 17     | 12, 13, 14, 15, 16         |
-| MySQL      | 8.0, 8.4, Innovation   | 8.0, 8.4, Innovation       |
-| SQLite     | 3.15.0+                | 3.15.0+                    |
+|            | Main version (dev)     | Stable version (3.0.0) |
+|------------|------------------------|------------------------|
+| Python     | 3.9, 3.10, 3.11, 3.12  | 3.9, 3.10, 3.11, 3.12  |
+| Platform   | AMD64/ARM64(\*)        | AMD64/ARM64(\*)        |
+| Kubernetes | 1.29, 1.30, 1.31, 1.32 | 1.29, 1.30, 1.31, 1.32 |
+| PostgreSQL | 13, 14, 15, 16, 17     | 13, 14, 15, 16, 17     |
+| MySQL      | 8.0, 8.4, Innovation   | 8.0, 8.4, Innovation   |
+| SQLite     | 3.15.0+                | 3.15.0+                |
 
 \* Experimental
 
@@ -128,15 +128,15 @@ them to the appropriate format and workflow that your tool requires.
 
 
 ```bash
-pip install 'apache-airflow==2.10.5' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.5/constraints-3.9.txt"
+pip install 'apache-airflow==3.0.0' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.9.txt"
 ```
 
 2. Installing with extras (i.e., postgres, google)
 
 ```bash
-pip install 'apache-airflow[postgres,google]==2.10.5' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.5/constraints-3.9.txt"
+pip install 'apache-airflow[postgres,google]==3.0.0' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.9.txt"
 ```
 
 For information on installing provider distributions, check
diff --git a/scripts/ci/pre_commit/supported_versions.py b/scripts/ci/pre_commit/supported_versions.py
index 855b0aeeb74..c94575587fe 100755
--- a/scripts/ci/pre_commit/supported_versions.py
+++ b/scripts/ci/pre_commit/supported_versions.py
@@ -27,6 +27,7 @@ AIRFLOW_SOURCES = Path(__file__).resolve().parent.parent.parent.parent
 HEADERS = ("Version", "Current Patch/Minor", "State", "First Release", "Limited Support", "EOL/Terminated")
 
 SUPPORTED_VERSIONS = (
+    ("3", "3.0.0", "Supported", "Apr 17, 2025", "TBD", "TBD"),
     ("2", "2.10.5", "Supported", "Dec 17, 2020", "TBD", "TBD"),
     ("1.10", "1.10.15", "EOL", "Aug 27, 2018", "Dec 17, 2020", "June 17, 2021"),
     ("1.9", "1.9.0", "EOL", "Jan 03, 2018", "Aug 27, 2018", "Aug 27, 2018"),