This is an automated email from the ASF dual-hosted git repository.
ash pushed a change to branch v3-0-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git
from 71b03470da2 Update release notes for 3.0.3rc6
add 29c6781ec5a [Backport v3-0-test] Add back dag parsing pre-import
optimization (#50371) (#52698)
add d5e5dff2f0a [v3-0-test] Advanced auto classification for provider
documentation (#52902) (#52925)
add 51645de6263 [v3-0-test] Workaround the need to use latest version on
Lucas pre-commit's (#52931) (#52942)
add d206440c8aa [v3-0-test] Make the update_installer_and_pre_commit
script more resilient to re matches (#52960) (#52961)
add a36637537b1 Remove upper-binding for "python-requires" (#52980)
(#52984)
add 249b2e5a31d [v3-0-test] Remove remnants of ~= used in requires-python.
(#52985) (#52987)
add 2d7d5f63a63 [v3-0-test] docs: update public interface doc to reflect
airflow.sdk and AIP-72 (#52197) (#53117)
add 161030e0675 Run Task failure callbacks on DAG Processor when task is
externally killed (#53058) (#53143)
add 63c581ee15a [v3-0-test] Unify connection not found exceptions between
AF2 and AF3 (#52968) (#53093)
add c57bd9cde5c [v3-0-test] Move --no-binary flag to uv command line from
pyproject.toml (#53179) (#53185)
add 5b75df01dd6 [v3-0-test] Fix package typo in build images (#53209)
(#53210)
add 04278f1e206 Install python from source again (#53150) (#53202)
add 837f9416136 [v3-0-test] Bump uv to 0.7.20 (#53207) (#53220)
add e5cd6684039 [v3-0-test] Pass GITHUB_TOKEN to update checks (#53219)
(#53221)
add 9dd4439bf3b [v3-0-test] Bring back quick image build check and
increase timeout minutes (#53227) (#53230)
add 798dfa7017d [v3-0-test] bump remaining uv versions (#53228) (#53232)
add a12c7e5f7bf [v3-0-test] fix(ci): bump python versions (#53229) (#53233)
add d77fd5d529b [v3-0-test] Dev: Fix KeyError in release issue content
generation (#52751) (#52756)
add bafddb8dde8 [v3-0-test] Update mypy script with --warn-unused-ignores
(#53240) (#53245)
add 9826d5abbfd [v3-0-test] Fix mypy cmd (#53246) (#53247)
add 571ea4fad05 Resolve OOM When Reading Large Logs in Webserver (#49470)
(#53167)
add 631d0d335c4 [v3-0-test] Fix broken link in contributors doc on
providers (#53344) (#53347)
add 06b4afe583e [v3-0-test] Update doc string for BaseOperator (#53403)
(#53404)
add 4cdb058ad76 [v3-0-test] Fixing uv upgrade failures on main (#53406)
(#53451)
add 00f40787cb0 [v3-0-test] fix: Make ``task_success_overtime``
configurable (#53342) (#53351)
add f53db750fdd [v3-0-test] Add changelog for regenerated image for
Airflow 3.0.3 (#53516) (#53522)
add b7db19e0cfa [v3-0-test] Make GITHUB_TOKEN variable mandatory when
updating installers (#53452) (#53457)
add e592cc58736 [v3-0-test] Add sql extras to pandas in the providers
where sqlalchemy is needed (#53535) (#53539)
add 6d459b9dfc0 [v3-0-test] DagBag in file parsing used to collect dags in
dag processing uses default value for safe_mode, which resolves to value in
configuration (#52694) (#53507)
add 6c92cb2d061 [v3-0-test] Handle invalid execution API urls gracefully
in supervisor (#53082) (#53518)
add e8e12c18a8b Remove warning for `BaseOperator.executor` because its
false (#53496) (#53519)
add 192e66238c1 [v3-0-test] Upgdate to uv 0.8.0 (#53552) (#53564)
add 7212c8876ef [v3-0-test] Remove gunicorn daemonize for api-server
(#52860) (#53372)
add 13cecf9ff15 [v3-0-test] Include fixed navbar for anchor position
calculation. (#52016) (#53581)
add 4a828c98b90 [v3-0-test] fix: accordian child contents to be visible
when overflown (#53595) (#53602)
add 258fafb2385 [v3-0-test] fix(systemd): Update systemd unit files and
documentation for Airflow 3.0 (#52294) (#53609)
add 20e1a2fe78e [v3-0-test] Add deprecation notice for using Connection
from models (#53594) (#53621)
add dd2e3d2a368 [v3-0-test] Skip empty dag run conf rows and set statement
timeout (#50788) (#53619)
add cc88228070b [v3-0-test] Ignore cursor rules from the git tree (#53658)
(#53659)
add 226b669b441 Fix incorrect reference to SimpleHttpOperator in 3.0.0
release notes (#53661)
add e9eb0fc7d4d [v3-0-test] Add GITHUB_TOKEN in test helm release job
(#53674) (#53677)
add 28df8ee6bfd [v3-0-test] Add possibility to apply a commit with patch
to docs when publishing (#53668) (#53678)
add 844e742115f [v3-0-test] Improve validation of breeze workflow-run
command (#53685) (#53688)
add 9b20205e66a [v3-0-test] Fix typo in AIRFLOW_COMMIT(S) diagnostics in
workflow_run (#53686) (#53689)
add 231129fb46d [v3-0-test] CHG: cover v1, v2 (#53636) (#53709)
add 86b8d6f4d0a [v3-0-test] Bump gitpython from 3.1.44 to 3.1.45 in
/airflow-core (#53725) (#53731)
add b14b333bf7e [v3-0-test] Bump gitpython from 3.1.44 to 3.1.45 (#53724)
(#53732)
add ba1968fd591 [v3-0-test] this makes "all" not show all dags (#53656)
(#53672)
add d3190a14c1c [v3-0-test] Remove extra slash from endpoint URL (#53755)
(#53764)
add ac5f541b2fd [v3-0-test] Respect `apps` flags for api_server_command
(#52929) (#53775)
add 7ed469afea7 [v3-0-test] Better type handling to account for
types-docutils bump (#53364) (#53778)
add 8fe2b5f5c28 [v3-0-test] Make branch tests more resilient to provider
dependency changes (#53776) (#53777)
add be1cd2f2d07 sphinx: avoid repeated isinstance checks (#53367) (#53783)
add 4ba884a1e7d [v3-0-test] Add cert used for apiserver to client (fix for
self-signed) (#53574) (#53793)
add 00e60daf959 [v3-0-test] Add documentation for self-signed certificate
(#53788) (#53792)
add cae60bbf4ad [v3-0-test] Add user facing docs for running a separate
Task Execution API-server (#53789) (#53794)
add c27cb4ae9f9 [v3-0-test] Remove unnecessary group_by clause in event
logs query (#53733) (#53807)
add 7484e9be5ae [v3-0-test] Unconditionally disable start_from_trigger
(#53744) (#53750)
add 401096b07c7 [v3-0-test] Serialize nan and infinities to string
(#53835) (#53844)
add 400275fce5f Make BaseOperator on_kill functionality work with TaskSDK
(#53718) (#53832)
add 5523514dbd9 [v3-0-test] Allow Remote logging providers to load
connections from the API Server (#53719) (#53761)
add 6a962404e2f Revert "[v3-0-test] Fix editing connection with sensitive
extra field (#52403…" (#53889)
add c4ea7a2f281 [v3-0-test] Removed bold formatting for Public Interface
for Airflow 3.0+ (#53955) (#53964)
add 75df7271858 Handle unmodified sensitived fields when updating
connections (#53943) (#53973)
add e8f2eb99557 [v3-0-test] Add type annotation for dev system tests
(#53979) (#53996)
add 73fc7f356db [v3-0-test] Fix nth-child warning (#53982) (#54000)
add 025c4c967ad [v3-0-test] Fix scheduler heartbeat timeout failures with
``DetachedInstanceError`` (#53838) (#53858)
add 3c3f0ef4c4e fix(diagrams): update labels from "Webserver(s)" to "API
Server(s)" in architecture diagrams (#53917) (#54020)
add 26a698265aa docs: Update DAG author as Dag author (#53857) (#53950)
add 8e92bafc736 [v3-0-test] build: update uv to 0.8.4 and pip to 25.2
(#53954) (#54021)
add 69bb85b50d4 Revert "[v3-0-test] Remove gunicorn daemonize for
api-server (#52860) (#53372)" (#54002)
add 221e17bea13 Unmount dialog & add onOpen (#53307) (#54025)
add 1a42d477756 Fix version for `parsing_pre_import_modules` config option
move (#53995) (#54011)
add 11b1cdea218 [v3-0-test] Fix AIRFLOW_API_APPS constant in
api_server_command (#54007) (#54012)
add cf0ca8313ea [v3-0-test] Flexible form use ReactMarkdown instead of
default Markdown component (#54032) (#54040)
add 5498e39a766 [v3-0-test] Fix `_extract_template_fields ` mypy error
(#53855) (#54047)
add d3547e66287 [v3-0-test] Update docs for Airflow CLI help command
(#51042) (#53383)
add b1a74ea1e22 [v3-0-test] Make log redaction safer in edge case when
redaction has an error (#54046) (#54048)
add 43f910df44e [v3-0-test] Only forward debugger ports when debug
components are used (#54051) (#54053)
add 191594391c0 use of debugpy to run airflow components via breeze
(#51763)
add 6cb74462333 Apply pre-commits
add 70b83be4c3e Fixup constraint generation script
add eca2f45639c Run upgrade installers
add ce88229cc22 Simplify installing airflow from GitHub repo in breeze
(#54070) (#54076)
add 73968f9e017 Limit paramiko to `< 4.0.0` till we remove DSS support
(#54078)
add 07c34b816be Bump Airflow to 3.0.4 and Task SDK to 1.0.4
add 68c25d40633 Add Release notes for Airflow 3.0.4 and Task SDK 1.0.4
No new revisions were added by this update.
Summary of changes:
.dockerignore | 1 +
.github/actions/breeze/action.yml | 3 -
.github/actions/install-pre-commit/action.yml | 2 +-
.github/actions/migration_tests/action.yml | 16 +-
.../actions/prepare_breeze_and_image/action.yml | 2 -
.github/workflows/additional-ci-image-checks.yml | 11 +-
.github/workflows/airflow-distributions-tests.yml | 2 -
.github/workflows/backport-cli.yml | 4 +-
.github/workflows/basic-tests.yml | 24 +-
.github/workflows/ci-amd.yml | 15 +-
.github/workflows/ci-arm.yml | 8 +-
.github/workflows/ci-image-build.yml | 2 -
.github/workflows/ci-image-checks.yml | 2 -
.github/workflows/helm-tests.yml | 7 +-
.github/workflows/prod-image-build.yml | 4 -
.github/workflows/publish-docs-to-s3.yml | 68 ++-
.github/workflows/push-image-cache.yml | 4 -
.github/workflows/release_dockerhub_image.yml | 2 -
.../workflows/release_single_dockerhub_image.yml | 4 -
.github/workflows/run-unit-tests.yml | 5 +
.github/workflows/special-tests.yml | 10 +-
.gitignore | 3 +
.pre-commit-config.yaml | 11 +-
Dockerfile | 25 +-
Dockerfile.ci | 102 +++-
README.md | 4 +-
RELEASE_NOTES.rst | 63 ++-
.../administration-and-deployment/listeners.rst | 2 +-
.../administration-and-deployment/web-stack.rst | 27 ++
.../docs/authoring-and-scheduling/deferring.rst | 2 +-
.../dynamic-task-mapping.rst | 2 +-
airflow-core/docs/best-practices.rst | 12 +-
.../core-concepts/auth-manager/simple/token.rst | 4 +-
airflow-core/docs/core-concepts/overview.rst | 10 +-
airflow-core/docs/core-concepts/params.rst | 2 +-
airflow-core/docs/howto/docker-compose/index.rst | 2 +-
airflow-core/docs/howto/index.rst | 1 +
.../howto/run-with-self-signed-certificate.rst | 83 ++++
airflow-core/docs/howto/run-with-systemd.rst | 31 ++
airflow-core/docs/img/airflow_erd.sha256 | 2 +-
airflow-core/docs/img/airflow_erd.svg | 108 ++---
.../img/diagram_basic_airflow_architecture.md5sum | 2 +-
.../img/diagram_basic_airflow_architecture.png | Bin 117106 -> 74154 bytes
.../docs/img/diagram_basic_airflow_architecture.py | 2 +-
...agram_dag_processor_airflow_architecture.md5sum | 2 +-
.../diagram_dag_processor_airflow_architecture.png | Bin 238002 -> 164778 bytes
.../diagram_dag_processor_airflow_architecture.py | 2 +-
...diagram_distributed_airflow_architecture.md5sum | 2 +-
.../diagram_distributed_airflow_architecture.png | Bin 192331 -> 126505 bytes
.../diagram_distributed_airflow_architecture.py | 2 +-
.../diagram_multi_team_airflow_architecture.md5sum | 2 +-
.../diagram_multi_team_airflow_architecture.png | Bin 630129 -> 398313 bytes
.../img/diagram_multi_team_airflow_architecture.py | 2 +-
airflow-core/docs/installation/index.rst | 2 +-
.../docs/installation/supported-versions.rst | 2 +-
.../docs/installation/upgrading_to_airflow3.rst | 4 +-
airflow-core/docs/public-airflow-interface.rst | 42 +-
airflow-core/docs/security/api.rst | 4 +-
airflow-core/docs/security/security_model.rst | 58 +--
airflow-core/docs/start.rst | 2 +-
airflow-core/docs/tutorial/pipeline.rst | 2 +-
airflow-core/pyproject.toml | 8 +-
airflow-core/src/airflow/__init__.py | 2 +-
.../api_fastapi/core_api/datamodels/connections.py | 25 +-
.../core_api/routes/public/event_logs.py | 2 +-
.../api_fastapi/core_api/routes/public/log.py | 57 ++-
.../core_api/services/public/connections.py | 19 +-
.../execution_api/datamodels/taskinstance.py | 4 +-
.../src/airflow/callbacks/callback_requests.py | 2 +
.../src/airflow/cli/commands/api_server_command.py | 41 +-
.../config_templates/airflow_local_settings.py | 29 ++
.../src/airflow/config_templates/config.yml | 22 +-
airflow-core/src/airflow/configuration.py | 1 +
.../src/airflow/dag_processing/processor.py | 101 +++-
.../src/airflow/jobs/scheduler_job_runner.py | 20 +-
airflow-core/src/airflow/logging_config.py | 10 +-
...3_0_0_add_uuid_primary_key_to_task_instance_.py | 3 +
...49_3_0_0_remove_pickled_data_from_xcom_table.py | 19 +-
..._3_0_0_remove_pickled_data_from_dagrun_table.py | 37 +-
airflow-core/src/airflow/models/connection.py | 11 +-
airflow-core/src/airflow/models/mappedoperator.py | 9 +-
.../airflow/serialization/serialized_objects.py | 4 +
.../src/airflow/ui/src/components/ConfigForm.tsx | 1 +
.../ui/src/components/EditableMarkdownButton.tsx | 10 +-
.../ui/src/components/FlexibleForm/FieldRow.tsx | 5 +-
.../src/components/FlexibleForm/FlexibleForm.tsx | 9 +-
.../ui/src/pages/Connections/ConnectionForm.tsx | 20 +-
.../src/pages/Connections/EditConnectionButton.tsx | 1 +
.../airflow/ui/src/pages/DagsList/DagsFilters.tsx | 2 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 6 +
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 5 +
.../airflow/ui/src/queries/useEditConnection.tsx | 4 +-
.../src/airflow/utils/log/file_task_handler.py | 452 ++++++++++++++---
airflow-core/src/airflow/utils/log/log_reader.py | 31 +-
.../airflow/utils/log/log_stream_accumulator.py | 155 ++++++
.../tests/unit/always/test_providers_manager.py | 3 +-
.../core_api/routes/public/test_connections.py | 102 +++-
.../api_fastapi/core_api/routes/public/test_log.py | 27 +-
.../tests/unit/callbacks/test_callback_requests.py | 29 +-
.../unit/cli/commands/test_api_server_command.py | 77 +--
.../tests/unit/dag_processing/test_processor.py | 415 ++++++++++++++--
airflow-core/tests/unit/jobs/test_scheduler_job.py | 141 +++---
.../unit/serialization/test_dag_serialization.py | 6 +-
.../unit/serialization/test_serialized_objects.py | 4 +
.../tests/unit/utils/log/test_log_reader.py | 45 +-
.../unit/utils/log/test_stream_accumulator.py | 165 +++++++
airflow-core/tests/unit/utils/test_log_handlers.py | 539 +++++++++++++++++----
airflow-ctl/pyproject.toml | 2 +-
chart/pyproject.toml | 2 +-
clients/python/pyproject.toml | 2 +-
contributing-docs/05_pull_requests.rst | 2 +-
contributing-docs/06_development_environments.rst | 3 +
contributing-docs/08_static_code_checks.rst | 6 +
contributing-docs/12_provider_distributions.rst | 2 +-
.../20_debugging_airflow_components.rst | 162 +++++++
contributing-docs/README.rst | 3 +
dev/README_RELEASE_AIRFLOW.md | 19 +
dev/README_RELEASE_PROVIDERS.md | 14 +
dev/breeze/README.md | 2 +-
dev/breeze/doc/03_developer_tasks.rst | 6 +
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/doc/images/output_ci-image.svg | 30 +-
...e-management_install-provider-distributions.svg | 66 +--
...e-management_install-provider-distributions.txt | 2 +-
...se-management_verify-provider-distributions.svg | 48 +-
...se-management_verify-provider-distributions.txt | 2 +-
dev/breeze/doc/images/output_setup.svg | 2 +-
dev/breeze/doc/images/output_shell.svg | 90 ++--
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.svg | 80 ++-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
.../doc/images/output_testing_core-tests.svg | 48 +-
.../doc/images/output_testing_core-tests.txt | 2 +-
.../doc/images/output_testing_providers-tests.svg | 66 +--
.../doc/images/output_testing_providers-tests.txt | 2 +-
.../doc/images/output_testing_system-tests.svg | 48 +-
.../doc/images/output_testing_system-tests.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 92 +++-
.../images/output_workflow-run_publish-docs.txt | 2 +-
dev/breeze/pyproject.toml | 2 +-
.../src/airflow_breeze/commands/common_options.py | 24 +-
.../airflow_breeze/commands/developer_commands.py | 45 +-
.../commands/developer_commands_config.py | 4 +
.../commands/release_management_commands.py | 11 +-
.../airflow_breeze/commands/workflow_commands.py | 64 ++-
.../commands/workflow_commands_config.py | 15 +-
dev/breeze/src/airflow_breeze/global_constants.py | 24 +-
.../src/airflow_breeze/params/build_ci_params.py | 4 +
.../src/airflow_breeze/params/shell_params.py | 44 ++
.../prepare_providers/provider_documentation.py | 11 +-
.../utils/constraints_version_check.py | 27 +-
.../src/airflow_breeze/utils/custom_param_types.py | 8 +-
.../src/airflow_breeze/utils/gh_workflow_utils.py | 21 +
dev/breeze/src/airflow_breeze/utils/packages.py | 4 +-
dev/breeze/tests/test_provider_documentation.py | 39 +-
dev/breeze/uv.lock | 2 +-
dev/pyproject.toml | 2 +-
dev/system_tests/update_issue_status.py | 4 +-
devel-common/sphinx_design/static/custom.css | 17 +-
.../src/sphinx_exts/substitution_extensions.py | 18 +-
.../tests_common/test_utils/file_task_handler.py | 76 +++
.../src/tests_common/test_utils/markers.py | 6 +
docker-stack-docs/README.md | 10 +-
docker-stack-docs/changelog.rst | 14 +-
.../extending/add-airflow-configuration/Dockerfile | 2 +-
.../extending/add-apt-packages/Dockerfile | 2 +-
.../add-build-essential-extend/Dockerfile | 2 +-
.../extending/add-providers/Dockerfile | 2 +-
.../add-pypi-packages-constraints/Dockerfile | 2 +-
.../extending/add-pypi-packages-uv/Dockerfile | 2 +-
.../extending/add-pypi-packages/Dockerfile | 2 +-
.../extending/add-requirement-packages/Dockerfile | 2 +-
.../extending/custom-providers/Dockerfile | 2 +-
.../extending/embedding-dags/Dockerfile | 2 +-
.../extending/writable-directory/Dockerfile | 2 +-
docker-stack-docs/entrypoint.rst | 66 +--
docker-stack-docs/pyproject.toml | 2 +-
docker-tests/pyproject.toml | 2 +-
docs/spelling_wordlist.txt | 1 +
generated/PYPI_README.md | 2 +-
helm-tests/pyproject.toml | 2 +-
kubernetes-tests/pyproject.toml | 2 +-
providers-summary-docs/pyproject.toml | 2 +-
providers-summary-docs/uv.lock | 2 +-
providers/airbyte/pyproject.toml | 2 +-
.../src/airflow/providers/airbyte/__init__.py | 4 +-
providers/alibaba/pyproject.toml | 2 +-
.../src/airflow/providers/alibaba/__init__.py | 4 +-
providers/amazon/README.rst | 46 +-
providers/amazon/pyproject.toml | 2 +-
.../src/airflow/providers/amazon/__init__.py | 4 +-
.../amazon/aws/log/cloudwatch_task_handler.py | 16 +-
.../amazon/aws/log/test_cloudwatch_task_handler.py | 52 +-
.../unit/amazon/aws/log/test_s3_task_handler.py | 2 +
providers/apache/beam/README.rst | 2 +-
providers/apache/beam/pyproject.toml | 2 +-
providers/apache/cassandra/pyproject.toml | 2 +-
.../airflow/providers/apache/cassandra/__init__.py | 4 +-
providers/apache/drill/pyproject.toml | 2 +-
.../src/airflow/providers/apache/drill/__init__.py | 4 +-
providers/apache/druid/README.rst | 2 +-
providers/apache/druid/pyproject.toml | 2 +-
.../src/airflow/providers/apache/druid/__init__.py | 4 +-
providers/apache/flink/pyproject.toml | 2 +-
.../src/airflow/providers/apache/flink/__init__.py | 4 +-
providers/apache/hdfs/pyproject.toml | 2 +-
.../src/airflow/providers/apache/hdfs/__init__.py | 4 +-
providers/apache/hive/pyproject.toml | 2 +-
.../src/airflow/providers/apache/hive/__init__.py | 4 +-
providers/apache/iceberg/pyproject.toml | 2 +-
.../airflow/providers/apache/iceberg/__init__.py | 4 +-
providers/apache/impala/pyproject.toml | 2 +-
.../airflow/providers/apache/impala/__init__.py | 4 +-
providers/apache/kafka/pyproject.toml | 2 +-
.../src/airflow/providers/apache/kafka/__init__.py | 4 +-
providers/apache/kylin/pyproject.toml | 2 +-
.../src/airflow/providers/apache/kylin/__init__.py | 4 +-
providers/apache/livy/pyproject.toml | 2 +-
.../src/airflow/providers/apache/livy/__init__.py | 4 +-
providers/apache/pig/pyproject.toml | 2 +-
.../src/airflow/providers/apache/pig/__init__.py | 4 +-
providers/apache/pinot/pyproject.toml | 2 +-
.../src/airflow/providers/apache/pinot/__init__.py | 4 +-
providers/apache/spark/README.rst | 2 +-
providers/apache/spark/pyproject.toml | 2 +-
.../src/airflow/providers/apache/spark/__init__.py | 4 +-
providers/apprise/README.rst | 2 +-
providers/apprise/pyproject.toml | 2 +-
.../src/airflow/providers/apprise/__init__.py | 4 +-
providers/arangodb/pyproject.toml | 2 +-
.../src/airflow/providers/arangodb/__init__.py | 4 +-
providers/asana/pyproject.toml | 2 +-
.../asana/src/airflow/providers/asana/__init__.py | 4 +-
providers/atlassian/jira/README.rst | 2 +-
providers/atlassian/jira/pyproject.toml | 2 +-
.../airflow/providers/atlassian/jira/__init__.py | 4 +-
providers/celery/pyproject.toml | 2 +-
.../src/airflow/providers/celery/__init__.py | 4 +-
.../unit/celery/log_handlers/test_log_handlers.py | 17 +-
providers/cloudant/pyproject.toml | 2 +-
.../src/airflow/providers/cloudant/__init__.py | 4 +-
providers/cncf/kubernetes/pyproject.toml | 2 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 4 +-
providers/cohere/pyproject.toml | 2 +-
.../src/airflow/providers/cohere/__init__.py | 4 +-
providers/common/compat/pyproject.toml | 2 +-
.../airflow/providers/common/compat/__init__.py | 4 +-
providers/common/io/pyproject.toml | 2 +-
.../io/src/airflow/providers/common/io/__init__.py | 4 +-
providers/common/messaging/README.rst | 27 +-
providers/common/messaging/pyproject.toml | 2 +-
providers/common/sql/pyproject.toml | 4 +-
.../src/airflow/providers/common/sql/__init__.py | 4 +-
providers/databricks/README.rst | 2 +-
providers/databricks/pyproject.toml | 2 +-
providers/datadog/pyproject.toml | 2 +-
.../src/airflow/providers/datadog/__init__.py | 4 +-
providers/dbt/cloud/pyproject.toml | 2 +-
.../src/airflow/providers/dbt/cloud/__init__.py | 4 +-
providers/dingding/pyproject.toml | 2 +-
.../src/airflow/providers/dingding/__init__.py | 4 +-
providers/discord/README.rst | 2 +-
providers/discord/pyproject.toml | 2 +-
.../src/airflow/providers/discord/__init__.py | 4 +-
providers/docker/pyproject.toml | 2 +-
.../src/airflow/providers/docker/__init__.py | 4 +-
providers/edge3/pyproject.toml | 2 +-
providers/elasticsearch/pyproject.toml | 2 +-
.../airflow/providers/elasticsearch/__init__.py | 4 +-
.../providers/elasticsearch/log/es_task_handler.py | 15 +-
.../unit/elasticsearch/log/test_es_task_handler.py | 11 +-
providers/exasol/pyproject.toml | 2 +-
.../src/airflow/providers/exasol/__init__.py | 4 +-
providers/fab/README.rst | 10 +-
.../fab/docs/auth-manager/api-authentication.rst | 4 +-
providers/fab/docs/auth-manager/token.rst | 2 +-
providers/fab/pyproject.toml | 2 +-
...ec447657c06d.js => 743.d8aa6701681ac4c0381d.js} | 4 +-
...txt => 743.d8aa6701681ac4c0381d.js.LICENSE.txt} | 0
...> airflowDefaultTheme.56d4475fdae7883d3454.css} | 0
...=> airflowDefaultTheme.56d4475fdae7883d3454.js} | 2 +-
...b1e4286c.css => flash.0951d47c62bc8906be65.css} | 0
...c7b1e4286c.js => flash.0951d47c62bc8906be65.js} | 2 +-
.../providers/fab/www/static/dist/jquery-ui.min.js | 2 +-
...db.css => loadingDots.deaad0ce0e7691ed6251.css} | 0
...b8db.js => loadingDots.deaad0ce0e7691ed6251.js} | 2 +-
...51d77fea2.css => main.810554d06c3e30f2484e.css} | 0
.../www/static/dist/main.810554d06c3e30f2484e.js | 2 +
...xt => main.810554d06c3e30f2484e.js.LICENSE.txt} | 0
.../www/static/dist/main.b08b82a07fc51d77fea2.js | 2 -
.../providers/fab/www/static/dist/manifest.json | 26 +-
....css => materialIcons.b0c6cc32cdacff89f7c2.css} | 0
.../dist/materialIcons.b0c6cc32cdacff89f7c2.js | 1 +
.../dist/materialIcons.f88ecdbfcf2e0c4cd9d9.js | 1 -
.../www/static/dist/moment.518a43bcfaf149ae2836.js | 1 +
.../www/static/dist/moment.e78a32283d6b95c3888d.js | 1 -
.../static/dist/runtime.2ef1c2ebcabcb259d0c9.js | 1 -
.../static/dist/runtime.4a925577de9ab84d8e00.js | 1 +
providers/fab/www-hash.txt | 2 +-
providers/facebook/pyproject.toml | 2 +-
.../src/airflow/providers/facebook/__init__.py | 4 +-
providers/ftp/pyproject.toml | 2 +-
.../ftp/src/airflow/providers/ftp/__init__.py | 4 +-
providers/git/pyproject.toml | 2 +-
providers/github/pyproject.toml | 2 +-
.../src/airflow/providers/github/__init__.py | 4 +-
providers/google/README.rst | 147 +++---
.../google/docs/api-auth-backend/google-openid.rst | 2 +-
providers/google/pyproject.toml | 2 +-
.../providers/google/cloud/operators/pubsub.py | 3 +-
.../unit/google/cloud/log/test_gcs_task_handler.py | 2 +
providers/grpc/pyproject.toml | 2 +-
.../grpc/src/airflow/providers/grpc/__init__.py | 4 +-
providers/hashicorp/pyproject.toml | 2 +-
.../src/airflow/providers/hashicorp/__init__.py | 4 +-
providers/http/pyproject.toml | 2 +-
.../http/src/airflow/providers/http/__init__.py | 4 +-
providers/imap/pyproject.toml | 2 +-
.../imap/src/airflow/providers/imap/__init__.py | 4 +-
providers/influxdb/pyproject.toml | 2 +-
.../src/airflow/providers/influxdb/__init__.py | 4 +-
providers/jdbc/pyproject.toml | 2 +-
.../jdbc/src/airflow/providers/jdbc/__init__.py | 4 +-
providers/jenkins/pyproject.toml | 2 +-
.../src/airflow/providers/jenkins/__init__.py | 4 +-
providers/microsoft/azure/README.rst | 67 +--
providers/microsoft/azure/pyproject.toml | 2 +-
.../airflow/providers/microsoft/azure/__init__.py | 4 +-
.../microsoft/azure/log/test_wasb_task_handler.py | 6 +-
providers/microsoft/mssql/pyproject.toml | 2 +-
.../airflow/providers/microsoft/mssql/__init__.py | 4 +-
providers/microsoft/psrp/pyproject.toml | 2 +-
.../airflow/providers/microsoft/psrp/__init__.py | 4 +-
providers/microsoft/winrm/pyproject.toml | 2 +-
.../airflow/providers/microsoft/winrm/__init__.py | 4 +-
providers/mongo/pyproject.toml | 2 +-
.../mongo/src/airflow/providers/mongo/__init__.py | 4 +-
providers/mysql/README.rst | 12 +-
providers/mysql/pyproject.toml | 2 +-
.../mysql/src/airflow/providers/mysql/__init__.py | 4 +-
providers/neo4j/pyproject.toml | 2 +-
.../neo4j/src/airflow/providers/neo4j/__init__.py | 4 +-
providers/odbc/pyproject.toml | 2 +-
.../odbc/src/airflow/providers/odbc/__init__.py | 4 +-
providers/openai/pyproject.toml | 2 +-
.../src/airflow/providers/openai/__init__.py | 4 +-
providers/openfaas/pyproject.toml | 2 +-
.../src/airflow/providers/openfaas/__init__.py | 4 +-
providers/openlineage/pyproject.toml | 2 +-
.../src/airflow/providers/openlineage/__init__.py | 4 +-
providers/opensearch/pyproject.toml | 2 +-
.../src/airflow/providers/opensearch/__init__.py | 4 +-
.../providers/opensearch/log/os_task_handler.py | 18 +-
.../unit/opensearch/log/test_os_task_handler.py | 8 +-
providers/opsgenie/README.rst | 2 +-
providers/opsgenie/pyproject.toml | 2 +-
.../src/airflow/providers/opsgenie/__init__.py | 4 +-
providers/oracle/pyproject.toml | 2 +-
.../src/airflow/providers/oracle/__init__.py | 4 +-
providers/pagerduty/README.rst | 2 +-
providers/pagerduty/pyproject.toml | 2 +-
.../src/airflow/providers/pagerduty/__init__.py | 4 +-
providers/papermill/pyproject.toml | 2 +-
.../src/airflow/providers/papermill/__init__.py | 4 +-
providers/pgvector/pyproject.toml | 2 +-
.../src/airflow/providers/pgvector/__init__.py | 4 +-
providers/pinecone/pyproject.toml | 2 +-
.../src/airflow/providers/pinecone/__init__.py | 4 +-
providers/postgres/pyproject.toml | 2 +-
.../src/airflow/providers/postgres/__init__.py | 4 +-
providers/presto/pyproject.toml | 4 +-
.../src/airflow/providers/presto/__init__.py | 4 +-
providers/qdrant/pyproject.toml | 2 +-
.../src/airflow/providers/qdrant/__init__.py | 4 +-
providers/redis/pyproject.toml | 2 +-
.../redis/src/airflow/providers/redis/__init__.py | 4 +-
.../providers/redis/log/redis_task_handler.py | 7 +-
.../unit/redis/log/test_redis_task_handler.py | 13 +-
providers/salesforce/pyproject.toml | 2 +-
.../src/airflow/providers/salesforce/__init__.py | 4 +-
providers/samba/pyproject.toml | 2 +-
.../samba/src/airflow/providers/samba/__init__.py | 4 +-
providers/segment/pyproject.toml | 2 +-
.../src/airflow/providers/segment/__init__.py | 4 +-
providers/sendgrid/pyproject.toml | 2 +-
.../src/airflow/providers/sendgrid/__init__.py | 4 +-
providers/sftp/pyproject.toml | 5 +-
.../sftp/src/airflow/providers/sftp/__init__.py | 4 +-
providers/singularity/pyproject.toml | 2 +-
.../src/airflow/providers/singularity/__init__.py | 4 +-
providers/slack/README.rst | 2 +-
providers/slack/pyproject.toml | 2 +-
.../slack/src/airflow/providers/slack/__init__.py | 4 +-
providers/smtp/README.rst | 2 +-
providers/smtp/pyproject.toml | 2 +-
.../smtp/src/airflow/providers/smtp/__init__.py | 4 +-
providers/snowflake/README.rst | 2 +-
providers/snowflake/pyproject.toml | 2 +-
providers/sqlite/pyproject.toml | 2 +-
.../src/airflow/providers/sqlite/__init__.py | 4 +-
providers/ssh/pyproject.toml | 5 +-
.../ssh/src/airflow/providers/ssh/__init__.py | 4 +-
providers/standard/pyproject.toml | 2 +-
.../src/airflow/providers/standard/__init__.py | 4 +-
providers/tableau/pyproject.toml | 2 +-
.../src/airflow/providers/tableau/__init__.py | 4 +-
providers/telegram/pyproject.toml | 2 +-
.../src/airflow/providers/telegram/__init__.py | 4 +-
providers/teradata/pyproject.toml | 2 +-
.../src/airflow/providers/teradata/__init__.py | 4 +-
providers/trino/pyproject.toml | 2 +-
.../trino/src/airflow/providers/trino/__init__.py | 4 +-
providers/vertica/pyproject.toml | 2 +-
.../src/airflow/providers/vertica/__init__.py | 4 +-
providers/weaviate/pyproject.toml | 2 +-
.../src/airflow/providers/weaviate/__init__.py | 4 +-
providers/yandex/pyproject.toml | 2 +-
.../src/airflow/providers/yandex/__init__.py | 4 +-
providers/ydb/pyproject.toml | 2 +-
.../ydb/src/airflow/providers/ydb/__init__.py | 4 +-
providers/zendesk/pyproject.toml | 2 +-
.../src/airflow/providers/zendesk/__init__.py | 4 +-
pyproject.toml | 10 +-
reproducible_build.yaml | 4 +-
scripts/ci/airflow_version_check.py | 4 +-
scripts/ci/docker-compose/base-ports.yml | 7 +
.../{base-ports.yml => debug-ports.yml} | 10 +-
scripts/ci/install_breeze.sh | 4 +-
scripts/ci/pre_commit/mypy_folder.py | 13 +-
scripts/ci/pre_commit/supported_versions.py | 2 +-
.../pre_commit/update_installers_and_pre_commit.py | 82 +++-
scripts/ci/pre_commit/validate_operators_init.py | 4 +-
scripts/docker/common.sh | 9 +-
scripts/docker/entrypoint_ci.sh | 12 +-
.../docker/install_airflow_when_building_images.sh | 12 +-
...pendencies.sh => install_os_dependencies_ci.sh} | 38 +-
scripts/in_container/bin/run_tmux | 48 +-
.../in_container/install_airflow_and_providers.py | 26 +-
...rflow-scheduler.service => airflow-api.service} | 11 +-
scripts/systemd/airflow-flower.service | 1 +
scripts/systemd/airflow-kerberos.service | 2 +-
scripts/systemd/airflow-scheduler.service | 2 +-
...scheduler.service => airflow-triggerer.service} | 11 +-
scripts/systemd/airflow-webserver.service | 2 +-
scripts/systemd/airflow-worker.service | 2 +-
scripts/tools/setup_breeze | 2 +-
setup_vscode.py | 129 +++++
task-sdk/docs/concepts.rst | 4 +-
task-sdk/docs/index.rst | 10 +-
task-sdk/pyproject.toml | 4 +-
task-sdk/src/airflow/sdk/__init__.py | 2 +-
task-sdk/src/airflow/sdk/api/client.py | 7 +
.../src/airflow/sdk/api/datamodels/_generated.py | 2 +-
task-sdk/src/airflow/sdk/bases/operator.py | 11 +-
task-sdk/src/airflow/sdk/definitions/connection.py | 10 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 4 +-
.../airflow/sdk/execution_time/secrets_masker.py | 123 ++++-
.../src/airflow/sdk/execution_time/supervisor.py | 158 +++++-
.../src/airflow/sdk/execution_time/task_runner.py | 13 +
task-sdk/src/airflow/sdk/log.py | 10 +
task-sdk/tests/conftest.py | 10 +
task-sdk/tests/task_sdk/api/test_client.py | 10 +
.../tests/task_sdk/definitions/test_connections.py | 12 +-
.../task_sdk/definitions/test_secrets_masker.py | 309 +++++++++++-
.../task_sdk/execution_time/test_supervisor.py | 191 +++++++-
465 files changed, 5669 insertions(+), 1695 deletions(-)
create mode 100644 airflow-core/docs/howto/run-with-self-signed-certificate.rst
create mode 100644 airflow-core/src/airflow/utils/log/log_stream_accumulator.py
create mode 100644 airflow-core/tests/unit/utils/log/test_stream_accumulator.py
create mode 100644 contributing-docs/20_debugging_airflow_components.rst
create mode 100644
devel-common/src/tests_common/test_utils/file_task_handler.py
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{743.1f45c836ec447657c06d.js
=> 743.d8aa6701681ac4c0381d.js} (67%)
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{743.1f45c836ec447657c06d.js.LICENSE.txt
=> 743.d8aa6701681ac4c0381d.js.LICENSE.txt} (100%)
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{airflowDefaultTheme.4b283bdb8a602aabd312.css
=> airflowDefaultTheme.56d4475fdae7883d3454.css} (100%)
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{airflowDefaultTheme.4b283bdb8a602aabd312.js
=> airflowDefaultTheme.56d4475fdae7883d3454.js} (65%)
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{flash.6b54bcc7a0c7b1e4286c.css
=> flash.0951d47c62bc8906be65.css} (100%)
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{flash.6b54bcc7a0c7b1e4286c.js
=> flash.0951d47c62bc8906be65.js} (50%)
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{loadingDots.ba10cae09f75d81db8db.css
=> loadingDots.deaad0ce0e7691ed6251.css} (100%)
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{loadingDots.ba10cae09f75d81db8db.js
=> loadingDots.deaad0ce0e7691ed6251.js} (50%)
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{main.b08b82a07fc51d77fea2.css
=> main.810554d06c3e30f2484e.css} (100%)
create mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/main.810554d06c3e30f2484e.js
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{main.b08b82a07fc51d77fea2.js.LICENSE.txt
=> main.810554d06c3e30f2484e.js.LICENSE.txt} (100%)
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/main.b08b82a07fc51d77fea2.js
rename
providers/fab/src/airflow/providers/fab/www/static/dist/{materialIcons.f88ecdbfcf2e0c4cd9d9.css
=> materialIcons.b0c6cc32cdacff89f7c2.css} (100%)
create mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/materialIcons.b0c6cc32cdacff89f7c2.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/materialIcons.f88ecdbfcf2e0c4cd9d9.js
create mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/moment.518a43bcfaf149ae2836.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/moment.e78a32283d6b95c3888d.js
delete mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/runtime.2ef1c2ebcabcb259d0c9.js
create mode 100644
providers/fab/src/airflow/providers/fab/www/static/dist/runtime.4a925577de9ab84d8e00.js
copy scripts/ci/docker-compose/{base-ports.yml => debug-ports.yml} (71%)
copy scripts/docker/{install_os_dependencies.sh =>
install_os_dependencies_ci.sh} (80%)
copy scripts/systemd/{airflow-scheduler.service => airflow-api.service} (74%)
copy scripts/systemd/{airflow-scheduler.service => airflow-triggerer.service}
(74%)
create mode 100755 setup_vscode.py