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/14 19:01:39 UTC
(airflow) branch v3-0-test updated (cd134b9812a -> 1645a825eab)
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 cd134b9812a Refresh breeze documentation hashes in v3-0-test
discard 5451c0d72d6 Bump task-sdk version to 1.0.0
discard a5c3f6e3c93 Update RELEASE_NOTES.rst
discard 15da8ce95df Update Airflow version to 3.0.0
discard 3deec19300d Update default branches for 3-0
add 4919400862c Add cross dependencies between airflow-core and task-sdk (#49221)
add 20f8af546e6 Fix `EksClusterStateSensor`. Save `region` as attribute (#49138)
add 2a0009dddfd Unpause DAG in AWS MWAA system test (#49145)
add 2450c6a63f4 add callout for using multiple outputs in step 2 example (#49169)
add f8c3bbcfa67 Re-add section on getting Context in Taskflow API (#49240)
add 261d569d9ec Properly allow variable delete from models (#49234)
add 3dafd330591 Instantiate logger while logging loaded secrets backend (#49235)
add 647de21d4cb Remove `STATE_COLORS` from Airflow Local Setting (#49228)
add 58c5b820e7d Initialize Providers configuration is now session-scoped (#49245)
add 2b8eebd0692 Rename edge provider to edgeexecutor provider. (#49184)
add 344f75b6087 Fix deprecation warning for Variable utility imports from models (#49242)
new 4c8dab7209d Update default branches for 3-0
new 93109c85a8f Update Airflow version to 3.0.0
new e25d9d717d8 Update RELEASE_NOTES.rst
new 1645a825eab Refresh breeze documentation hashes in v3-0-test
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 (cd134b9812a)
\
N -- N -- N refs/heads/v3-0-test (1645a825eab)
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 4 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:
.github/CODEOWNERS | 2 +-
.../airflow_providers_bug_report.yml | 2 +-
.github/boring-cyborg.yml | 4 +-
.github/workflows/generate-constraints.yml | 5 ++
airflow-core/docs/cli-and-env-variables-ref.rst | 2 +-
airflow-core/docs/core-concepts/executor/index.rst | 2 +-
airflow-core/docs/extra-packages-ref.rst | 6 +--
airflow-core/docs/howto/customize-ui.rst | 59 ---------------------
airflow-core/docs/tutorial/taskflow.rst | 51 ++++++++++++++++++
airflow-core/pyproject.toml | 3 +-
.../api_fastapi/core_api/datamodels/ui/config.py | 1 -
.../api_fastapi/core_api/openapi/v1-generated.yaml | 5 --
.../api_fastapi/core_api/routes/ui/config.py | 3 +-
airflow-core/src/airflow/models/variable.py | 17 +++---
airflow-core/src/airflow/settings.py | 19 -------
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 6 ---
.../airflow/ui/openapi-gen/requests/types.gen.ts | 3 --
.../src/airflow/ui/src/mocks/handlers/config.ts | 14 -----
.../tests/unit/always/test_project_structure.py | 20 +++----
.../api_fastapi/core_api/routes/ui/test_config.py | 33 +-----------
dev/breeze/doc/images/output_build-docs.svg | 14 ++---
dev/breeze/doc/images/output_build-docs.txt | 2 +-
...tput_release-management_add-back-references.svg | 14 ++---
...tput_release-management_add-back-references.txt | 2 +-
...management_generate-issue-content-providers.svg | 12 ++---
...management_generate-issue-content-providers.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 12 ++---
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 12 ++---
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 14 ++---
.../output_release-management_publish-docs.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 4 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
.../commands/release_management_commands.py | 13 ++++-
dev/breeze/src/airflow_breeze/global_constants.py | 12 +----
.../src/airflow_breeze/params/shell_params.py | 4 +-
devel-common/src/tests_common/pytest_plugin.py | 2 +-
docs/spelling_wordlist.txt | 1 +
.../airflow/providers/amazon/aws/operators/eks.py | 59 +++++++++------------
.../airflow/providers/amazon/aws/sensors/eks.py | 32 +++++------
.../amazon/tests/system/amazon/aws/example_mwaa.py | 57 ++++++++++++--------
providers/edge/src/airflow/__init__.py | 17 ------
providers/edge/src/airflow/providers/__init__.py | 17 ------
.../src/airflow/providers/edge/cli/__init__.py | 16 ------
.../providers/edge/example_dags/__init__.py | 16 ------
.../src/airflow/providers/edge/models/__init__.py | 16 ------
.../src/airflow/providers/edge/plugins/__init__.py | 16 ------
.../providers/edge/worker_api/routes/__init__.py | 16 ------
providers/edge/tests/unit/__init__.py | 17 ------
providers/edge/tests/unit/edge/__init__.py | 16 ------
providers/edge/tests/unit/edge/cli/__init__.py | 17 ------
.../edge/tests/unit/edge/executors/__init__.py | 16 ------
providers/edge/tests/unit/edge/models/__init__.py | 17 ------
providers/edge/tests/unit/edge/plugins/__init__.py | 17 ------
.../edge/tests/unit/edge/worker_api/__init__.py | 17 ------
.../tests/unit/edge/worker_api/routes/__init__.py | 17 ------
providers/{edge => edgeexecutor}/README.rst | 14 ++---
.../{edge => edgeexecutor}/docs/changelog.rst | 2 +-
providers/{edge => edgeexecutor}/docs/cli-ref.rst | 2 +-
providers/{edge => edgeexecutor}/docs/commits.rst | 2 +-
providers/{edge => edgeexecutor}/docs/conf.py | 2 +-
.../docs/configurations-ref.rst | 0
.../{edge => edgeexecutor}/docs/edge_executor.rst | 2 +-
.../docs/img/worker_hosts.png | Bin
.../docs/img/worker_maintenance.png | Bin
providers/{edge => edgeexecutor}/docs/index.rst | 20 +++----
.../docs/install_on_windows.rst | 6 +--
.../docs/installing-providers-from-sources.rst | 0
providers/{edge => edgeexecutor}/docs/security.rst | 0
providers/{edge => edgeexecutor}/provider.yaml | 6 +--
providers/{edge => edgeexecutor}/pyproject.toml | 16 +++---
.../edgeexecutor/src/airflow}/__init__.py | 0
.../src/airflow/providers}/__init__.py | 0
.../src/airflow/providers/edgeexecutor}/LICENSE | 0
.../airflow/providers/edgeexecutor}/__init__.py | 2 +-
.../providers/edgeexecutor/cli}/__init__.py | 0
.../providers/edgeexecutor}/cli/api_client.py | 10 ++--
.../providers/edgeexecutor}/cli/dataclasses.py | 4 +-
.../providers/edgeexecutor}/cli/edge_command.py | 12 ++---
.../edgeexecutor/example_dags}/__init__.py | 0
.../edgeexecutor}/example_dags/integration_test.py | 0
.../edgeexecutor}/example_dags/win_notepad.py | 2 +-
.../edgeexecutor}/example_dags/win_test.py | 2 +-
.../providers/edgeexecutor}/executors/__init__.py | 2 +-
.../edgeexecutor}/executors/edge_executor.py | 12 ++---
.../providers/edgeexecutor}/get_provider_info.py | 6 +--
.../providers/edgeexecutor/models}/__init__.py | 0
.../providers/edgeexecutor}/models/edge_job.py | 0
.../providers/edgeexecutor}/models/edge_logs.py | 0
.../providers/edgeexecutor}/models/edge_worker.py | 0
.../providers/edgeexecutor}/openapi/__init__.py | 0
.../edgeexecutor}/openapi/edge_worker_api_v1.yaml | 16 +++---
.../providers/edgeexecutor/plugins}/__init__.py | 0
.../edgeexecutor}/plugins/edge_executor_plugin.py | 20 +++----
.../plugins/templates/edge_worker_hosts.html | 0
.../plugins/templates/edge_worker_jobs.html | 0
.../providers/edgeexecutor}/version_compat.py | 0
.../providers/edgeexecutor}/worker_api/__init__.py | 0
.../providers/edgeexecutor}/worker_api/app.py | 8 +--
.../providers/edgeexecutor}/worker_api/auth.py | 6 +--
.../edgeexecutor}/worker_api/datamodels.py | 4 +-
.../edgeexecutor/worker_api/routes}/__init__.py | 0
.../edgeexecutor}/worker_api/routes/_v2_compat.py | 2 +-
.../edgeexecutor}/worker_api/routes/_v2_routes.py | 15 +++---
.../edgeexecutor}/worker_api/routes/health.py | 2 +-
.../edgeexecutor}/worker_api/routes/jobs.py | 8 +--
.../edgeexecutor}/worker_api/routes/logs.py | 8 +--
.../edgeexecutor}/worker_api/routes/worker.py | 10 ++--
providers/{edge => edgeexecutor}/tests/conftest.py | 0
.../edgeexecutor/tests/unit}/__init__.py | 0
.../tests/unit/edgeexecutor}/__init__.py | 0
.../tests/unit/edgeexecutor/cli}/__init__.py | 0
.../unit/edgeexecutor}/cli/test_api_client.py | 2 +-
.../unit/edgeexecutor}/cli/test_dataclasses.py | 4 +-
.../unit/edgeexecutor}/cli/test_edge_command.py | 44 +++++++--------
.../tests/unit/edgeexecutor/executors}/__init__.py | 0
.../edgeexecutor}/executors/test_edge_executor.py | 12 ++---
.../tests/unit/edgeexecutor/models}/__init__.py | 0
.../tests/unit/edgeexecutor/plugins}/__init__.py | 0
.../plugins/test_edge_executor_plugin.py | 8 +--
.../unit/edgeexecutor/worker_api}/__init__.py | 0
.../edgeexecutor/worker_api/routes}/__init__.py | 0
.../edgeexecutor}/worker_api/routes/test_health.py | 2 +-
.../edgeexecutor}/worker_api/routes/test_jobs.py | 4 +-
.../edgeexecutor}/worker_api/routes/test_logs.py | 6 +--
.../edgeexecutor}/worker_api/routes/test_worker.py | 14 ++---
.../fab/www/extensions/init_jinja_globals.py | 2 -
.../providers/fab/www/templates/airflow/main.html | 14 -----
providers/fab/tests/unit/fab/utils.py | 1 -
pyproject.toml | 28 +++++-----
scripts/ci/docker-compose/remove-sources.yml | 2 +-
scripts/ci/docker-compose/tests-sources.yml | 4 +-
.../ci/pre_commit/update_airflow_pyproject_toml.py | 34 +++++++-----
scripts/in_container/bin/run_tmux | 2 +-
.../in_container/install_airflow_and_providers.py | 2 +-
scripts/in_container/run_generate_constraints.py | 18 ++++++-
task-sdk/pyproject.toml | 3 +-
.../src/airflow/sdk/execution_time/supervisor.py | 2 +
139 files changed, 446 insertions(+), 766 deletions(-)
delete mode 100644 providers/edge/src/airflow/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/edge/cli/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/edge/example_dags/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/edge/models/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/edge/plugins/__init__.py
delete mode 100644 providers/edge/src/airflow/providers/edge/worker_api/routes/__init__.py
delete mode 100644 providers/edge/tests/unit/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/cli/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/executors/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/models/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/plugins/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/worker_api/__init__.py
delete mode 100644 providers/edge/tests/unit/edge/worker_api/routes/__init__.py
rename providers/{edge => edgeexecutor}/README.rst (87%)
rename providers/{edge => edgeexecutor}/docs/changelog.rst (99%)
rename providers/{edge => edgeexecutor}/docs/cli-ref.rst (93%)
rename providers/{edge => edgeexecutor}/docs/commits.rst (99%)
rename providers/{edge => edgeexecutor}/docs/conf.py (98%)
rename providers/{edge => edgeexecutor}/docs/configurations-ref.rst (100%)
rename providers/{edge => edgeexecutor}/docs/edge_executor.rst (99%)
rename providers/{edge => edgeexecutor}/docs/img/worker_hosts.png (100%)
rename providers/{edge => edgeexecutor}/docs/img/worker_maintenance.png (100%)
rename providers/{edge => edgeexecutor}/docs/index.rst (75%)
rename providers/{edge => edgeexecutor}/docs/install_on_windows.rst (92%)
rename providers/{edge => edgeexecutor}/docs/installing-providers-from-sources.rst (100%)
rename providers/{edge => edgeexecutor}/docs/security.rst (100%)
rename providers/{edge => edgeexecutor}/provider.yaml (95%)
rename providers/{edge => edgeexecutor}/pyproject.toml (88%)
copy {airflow-core/tests/integration => providers/edgeexecutor/src/airflow}/__init__.py (100%)
copy {airflow-core/tests/integration => providers/edgeexecutor/src/airflow/providers}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/LICENSE (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/__init__.py (92%)
copy {airflow-core/src/airflow/api => providers/edgeexecutor/src/airflow/providers/edgeexecutor/cli}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/cli/api_client.py (94%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/cli/dataclasses.py (94%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/cli/edge_command.py (98%)
copy {airflow-core/src/airflow/api => providers/edgeexecutor/src/airflow/providers/edgeexecutor/example_dags}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/example_dags/integration_test.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/example_dags/win_notepad.py (96%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/example_dags/win_test.py (99%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/executors/__init__.py (91%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/executors/edge_executor.py (96%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/get_provider_info.py (95%)
copy {airflow-core/src/airflow/api => providers/edgeexecutor/src/airflow/providers/edgeexecutor/models}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/models/edge_job.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/models/edge_logs.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/models/edge_worker.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/openapi/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/openapi/edge_worker_api_v1.yaml (96%)
copy {airflow-core/src/airflow/api => providers/edgeexecutor/src/airflow/providers/edgeexecutor/plugins}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/plugins/edge_executor_plugin.py (91%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/plugins/templates/edge_worker_hosts.html (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/plugins/templates/edge_worker_jobs.html (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/version_compat.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/app.py (84%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/auth.py (94%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/datamodels.py (97%)
copy {airflow-core/src/airflow/api => providers/edgeexecutor/src/airflow/providers/edgeexecutor/worker_api/routes}/__init__.py (100%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/routes/_v2_compat.py (98%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/routes/_v2_routes.py (94%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/routes/health.py (92%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/routes/jobs.py (94%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/routes/logs.py (93%)
rename providers/{edge/src/airflow/providers/edge => edgeexecutor/src/airflow/providers/edgeexecutor}/worker_api/routes/worker.py (95%)
rename providers/{edge => edgeexecutor}/tests/conftest.py (100%)
copy {airflow-core/tests/integration => providers/edgeexecutor/tests/unit}/__init__.py (100%)
copy {airflow-core/src/airflow/api => providers/edgeexecutor/tests/unit/edgeexecutor}/__init__.py (100%)
copy {airflow-core/src/airflow/api/common => providers/edgeexecutor/tests/unit/edgeexecutor/cli}/__init__.py (100%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/cli/test_api_client.py (97%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/cli/test_dataclasses.py (89%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/cli/test_edge_command.py (89%)
copy {airflow-core/src/airflow/api => providers/edgeexecutor/tests/unit/edgeexecutor/executors}/__init__.py (100%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/executors/test_edge_executor.py (96%)
copy {airflow-core/src/airflow/api/common => providers/edgeexecutor/tests/unit/edgeexecutor/models}/__init__.py (100%)
copy {airflow-core/src/airflow/api/common => providers/edgeexecutor/tests/unit/edgeexecutor/plugins}/__init__.py (100%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/plugins/test_edge_executor_plugin.py (90%)
copy {airflow-core/src/airflow/api/common => providers/edgeexecutor/tests/unit/edgeexecutor/worker_api}/__init__.py (100%)
copy {airflow-core/src/airflow/api/common => providers/edgeexecutor/tests/unit/edgeexecutor/worker_api/routes}/__init__.py (100%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/worker_api/routes/test_health.py (92%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/worker_api/routes/test_jobs.py (95%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/worker_api/routes/test_logs.py (91%)
rename providers/{edge/tests/unit/edge => edgeexecutor/tests/unit/edgeexecutor}/worker_api/routes/test_worker.py (92%)
(airflow) 03/04: 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 e25d9d717d8c80506d9ed6c210dc57be34afa331
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 afc4a159ce3..e6115388d35 100644
--- a/docs/spelling_wordlist.txt
+++ b/docs/spelling_wordlist.txt
@@ -766,6 +766,7 @@ googleapiclient
GoogleDisplayVideo
gpu
gpus
+Grafana
graphviz
greenlet
Groupalia
@@ -1459,6 +1460,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) 02/04: 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 93109c85a8f8abea496b8677388bc56fb0a97e70
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)"> Selective check flags </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 reference to the commit 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 array formatted PR labels 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 against which the PR 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 against which the PR 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 Branch against 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: constraints-main]                          </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: constraints-3-0]                           </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)"> Github parameters </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 of the GitHub event 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"),
(airflow) 04/04: Refresh breeze documentation hashes in v3-0-test
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 1645a825eabb3fd70177eaf7ce093d4b0bf740ac
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Fri Apr 11 11:15:07 2025 +0200
Refresh breeze documentation hashes in v3-0-test
---
dev/breeze/doc/images/output_ci-image_build.txt | 2 +-
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_shell.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 +-
8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dev/breeze/doc/images/output_ci-image_build.txt b/dev/breeze/doc/images/output_ci-image_build.txt
index 87f5f5d0623..00841d537a2 100644
--- a/dev/breeze/doc/images/output_ci-image_build.txt
+++ b/dev/breeze/doc/images/output_ci-image_build.txt
@@ -1 +1 @@
-fa357412b75a691e1f4de900347e63e9
+e24c2fe2a675187f8b78a3af05d3fab0
diff --git a/dev/breeze/doc/images/output_prod-image_build.txt b/dev/breeze/doc/images/output_prod-image_build.txt
index a5afadd4028..a2ca3e75822 100644
--- a/dev/breeze/doc/images/output_prod-image_build.txt
+++ b/dev/breeze/doc/images/output_prod-image_build.txt
@@ -1 +1 @@
-d93adeb8940b079512d028052dd3e4c7
+68b5a71c151e381f8c5194dae22d432b
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_shell.txt b/dev/breeze/doc/images/output_shell.txt
index bc1afa16956..1d25fd5734c 100644
--- a/dev/breeze/doc/images/output_shell.txt
+++ b/dev/breeze/doc/images/output_shell.txt
@@ -1 +1 @@
-19ef098d3ebe4f9a7d5a4c805600bcfd
+ffce5275d67ac8c4ea03b7ab42ad17af
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
(airflow) 01/04: 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 4c8dab7209d50cf92013652439c28272692c11a3
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"