This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a change to branch v2-9-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git
from e61cb8fa41 Apply PROVIDE_PROJECT_ID mypy workaround across Google
provider (#39129)
add 1d40343286 Fix typo with DatasetOrTimeSchedule as it was renamed
(#38576)
add 70d31c0977 Raise deprecated warning in `airflow dags backfill` only if
`-I`/`--ignore-first-depends-on-past` provided (#38676)
add c501d3a1f6 Use `methodtools.lru_cache` instead of
`functools.lru_cache` in class methods (#37757)
add 83e7dec335 Improve audit log events filter (#38719)
add 16256a2514 Bump undici from 5.28.3 to 5.28.4 in /airflow/www (#38751)
add c6c589f5a4 Use async db calls in WorkflowTrigger (#38689)
add 6d36c80d0b Fix 'use case' spelling (#38817)
add a0249d4a9e Remove decorator from rendering fields example (#38827)
add 3b84410342 Update version added field in config.yml (#38840)
add 672f8ad02a Remove a couple items from the 2.9.0 changelog (#38866)
add 84b76e02fc Fix dag run link params (#38873)
add 72b2ec0ea4 Fix typo in templates-ref.rst (#38865)
add 1725139a42 Fix problem that links in legacy log view can not be
clicked (#38882)
add 2659704629 Fix implicit cartessian product in AirflowSecurityManagerV2
(#38913)
add e9986043a1 Limit redis image to 7.2 in sample docker-compose.yaml
(#38938)
add df37d60d49 Fix `SAWarning` 'Coercing Subquery object into a select()
for use in IN()' (#38926)
add 39dd593027 Fix dag run selection (#38941)
add 2e25153a52 (external_task.py): changed the background color of
external task in graph (#38969)
add b35f67dc4c Fix calendar view with no DAG Run. (#38964)
add 5c6736daeb Don't wait for DagRun lock in mini scheduler (#38914)
add 1f70db4794 Use debug level for minischeduler skip (#38976)
add adfabe897b Add in Trove classifiers Python 3.12 support (#39004)
add 82a1b6abde Add `inherit_cache` attribute for `CreateTableAs` custom SA
Clause (#38985)
add d6e397fe11 Correcting an example taskflow example (#39015)
add 083a781d1f Undeprecate `BaseXCom.get_one` method for now (#38991)
add 3487fccfe2 Bugfix: Move rendering of `map_index_template` so it
renders for failed tasks as long as it was defined before the point of failure
(#38902)
add 983ab58769 Check whether `AUTH_ROLE_PUBLIC` is set in
`check_authentication` (#39012)
add 394821f47a Hostname was "redacted", not "redact"; remove it when there
is no context (#39037)
add 2970e35e1d Fix doc redirects (#39039)
add 672d47ebf0 [docs] update `DagBag` class docstring to include all
params (#38814)
add 0602de2222 Data aware scheduling docs edits (#38687)
add ed4cd93eca update document (#39068)
add 5fcf36cc65 Check that the dataset<>task exists before trying to render
graph (#39069)
add 7cd476ed50 Graph view improvements (#38940)
add 6cee9b0d56 Improve rendered_template ux in react dag page (#39122)
add 2091072167 Improve task filtering UX (#39119)
add fd0226e068 Add k8s 1.29 to supported version in docs (#39168)
add 092ceaed55 Update `is_authorized_custom_view` from auth manager to
handle custom actions (#39167)
add 8e458d979e Add warning about run/import Airflow under the Windows
(#39196)
add c5836745e8 Add link to `user` and `role` commands (#39224)
add 7cd311dc78 Use grid view for Task Instance's `log_url` (#39183)
add 899d4e8587 Fixed side effect of menu filtering causing disappearing
menus (#39229)
add f299149da4 doc: dynamictaskmapping pythonoperator op_kwargs (#39242)
add 505ecd9538 Get served logs when remote or executor logs not available
for non-running task try (#39177)
add d2ae8c9755 Force to use Airflow Deprecation warnings categories on
`@deprecated` decorator (#39205)
add df9db0cb15 Add Grid button to Task Instance view (#39223)
add d5d8b588f7 Add workaround for datetime-local input in firefox (#39261)
add c9cc72608d Fix trigger kwarg encryption migration (#39246)
add 0a40b34c17 Fix supported k8s version in docs (#39172)
add eb11360a9c (img/edge_label_example.png): changed imaged to new label
view (#38802)
add 368ff13c13 Move significant note for past release to release notes
(#39283)
add cddaf23e59 Copy menu_item href for nav bar (#39282)
add 06296f7052 fix(google,log): Avoid log name overriding (#38071)
add 24f7a89d96 Make task log messages include run_id (#39280)
add 8b3c24f273 `TriggerDagRunOperator` depreacte `exection_date` in favor
of `logical_date` (#39285)
add e33dd6194c bump uv to 0.1.29 (#38758)
add f7b9749305 bump uv to 0.1.32 (#38874)
add afefa76098 Upgrade to latest build/install dependencies (#39160)
add 74abd013bb Fix ERD sha256 & svg
add 34f23ce86c Avoid to use `functools.lru_cache` in class methods in
`google` provider (#38652)
add 042f302a14 Update version to 2.9.1
add e203935469 Update RELEASE_NOTES.rst
add fe7dd31836 Fix reproducible build hash
add 44a1fe781b Avoid to use `functools.lru_cache` in class methods in dev
(#38627)
add 5356cb9f9b Update RELEASE_NOTES.rst
No new revisions were added by this update.
Summary of changes:
.pre-commit-config.yaml | 20 ++-
Dockerfile | 2 +-
Dockerfile.ci | 4 +-
README.md | 10 +-
RELEASE_NOTES.rst | 81 ++++++++-
airflow/__init__.py | 18 +-
airflow/api/common/experimental/get_code.py | 6 +-
.../api/common/experimental/get_dag_run_state.py | 3 +-
airflow/api/common/experimental/get_task.py | 3 +-
.../api/common/experimental/get_task_instance.py | 4 +-
airflow/api/common/experimental/pool.py | 10 +-
.../endpoints/import_error_endpoint.py | 8 +-
airflow/api_connexion/openapi/v1.yaml | 2 +-
airflow/api_connexion/security.py | 6 +
airflow/auth/managers/base_auth_manager.py | 19 +-
airflow/auth/managers/fab/fab_auth_manager.py | 5 +-
.../auth/managers/fab/security_manager/override.py | 4 +-
airflow/cli/commands/dag_command.py | 13 +-
airflow/compat/functools.pyi | 27 ---
airflow/config_templates/airflow_local_settings.py | 2 +-
airflow/config_templates/config.yml | 2 +-
.../0140_2_9_0_update_trigger_kwargs_type.py | 46 ++++-
airflow/models/abstractoperator.py | 4 +-
airflow/models/dagbag.py | 5 +
airflow/models/mappedoperator.py | 8 +-
airflow/models/taskinstance.py | 44 +++--
airflow/models/trigger.py | 10 +-
airflow/models/xcom.py | 2 -
airflow/operators/trigger_dagrun.py | 62 ++++---
.../amazon/aws/auth_manager/avp/entities.py | 2 +-
.../amazon/aws/auth_manager/avp/facade.py | 7 +-
.../amazon/aws/auth_manager/aws_auth_manager.py | 2 +-
.../providers/fab/auth_manager/fab_auth_manager.py | 7 +-
.../providers/google/cloud/hooks/compute_ssh.py | 2 +-
.../google/cloud/log/stackdriver_task_handler.py | 21 ++-
.../providers/google/common/hooks/base_google.py | 2 +-
airflow/reproducible_build.yaml | 4 +-
airflow/sensors/external_task.py | 4 +-
airflow/triggers/external_task.py | 46 ++---
airflow/utils/db.py | 39 -----
airflow/utils/db_cleanup.py | 6 +-
airflow/utils/log/file_task_handler.py | 12 +-
airflow/utils/task_group.py | 9 +-
airflow/utils/weight_rule.py | 4 +-
airflow/www/auth.py | 6 +-
airflow/www/security.py | 4 +-
airflow/www/security_manager.py | 8 +-
airflow/www/static/js/api/useGridData.ts | 32 +++-
.../static/js/cluster-activity/nav/FilterBar.tsx | 9 +-
airflow/www/static/js/components/DateTimeInput.tsx | 84 +++++++++
airflow/www/static/js/dag/Main.tsx | 14 +-
airflow/www/static/js/dag/TaskName.tsx | 1 -
airflow/www/static/js/dag/details/AuditLog.tsx | 73 ++++----
airflow/www/static/js/dag/details/FilterTasks.tsx | 76 +++++---
airflow/www/static/js/dag/details/Header.tsx | 13 +-
airflow/www/static/js/dag/details/dag/Calendar.tsx | 6 +-
.../www/static/js/dag/details/graph/DagNode.tsx | 34 ++--
airflow/www/static/js/dag/details/graph/index.tsx | 15 +-
airflow/www/static/js/dag/details/index.tsx | 2 +-
.../static/js/dag/details/taskInstance/Details.tsx | 59 ++++---
.../js/dag/details/taskInstance/Logs/utils.ts | 1 +
.../www/static/js/dag/details/taskInstance/Nav.tsx | 10 +-
airflow/www/static/js/dag/grid/renderTaskRows.tsx | 5 -
airflow/www/static/js/dag/nav/FilterBar.tsx | 6 +-
airflow/www/static/js/dag/useFilters.tsx | 1 +
airflow/www/static/js/dag/useSelection.ts | 7 -
airflow/www/static/js/ti_log.js | 8 +-
airflow/www/static/js/types/index.ts | 1 +
airflow/www/static/js/utils/graph.ts | 11 +-
airflow/www/templates/airflow/dag.html | 2 +-
airflow/www/templates/airflow/task_instance.html | 3 +
airflow/www/utils.py | 4 +-
airflow/www/views.py | 48 ++---
airflow/www/yarn.lock | 6 +-
clients/python/pyproject.toml | 3 +-
contributing-docs/08_static_code_checks.rst | 4 +
dev/breeze/doc/images/output_static-checks.svg | 152 ++++++++--------
dev/breeze/doc/images/output_static-checks.txt | 2 +-
dev/breeze/src/airflow_breeze/pre_commit_ids.py | 2 +
.../src/airflow_breeze/utils/selective_checks.py | 60 ++++---
docker_tests/requirements.txt | 2 +-
.../logging/stackdriver.rst | 4 +-
.../authoring-and-scheduling/datasets.rst | 65 ++++---
.../dynamic-task-mapping.rst | 18 ++
docs/apache-airflow/cli-and-env-variables-ref.rst | 1 +
docs/apache-airflow/core-concepts/operators.rst | 2 +-
docs/apache-airflow/extra-packages-ref.rst | 4 +-
.../howto/docker-compose/docker-compose.yaml | 4 +-
docs/apache-airflow/img/airflow_erd.sha256 | 2 +-
docs/apache-airflow/img/edge_label_example.png | Bin 33270 -> 37438 bytes
docs/apache-airflow/installation/prerequisites.rst | 2 +-
.../installation/supported-versions.rst | 2 +-
docs/apache-airflow/migrations-ref.rst | 2 +-
docs/apache-airflow/redirects.txt | 15 +-
docs/apache-airflow/templates-ref.rst | 2 +-
docs/apache-airflow/tutorial/taskflow.rst | 1 +
docs/conf.py | 2 +-
docs/docker-stack/README.md | 10 +-
.../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 +-
docs/docker-stack/entrypoint.rst | 14 +-
docs/helm-chart/index.rst | 2 +-
generated/PYPI_README.md | 8 +-
hatch_build.py | 3 +-
pyproject.toml | 12 +-
scripts/ci/pre_commit/check_deprecations.py | 194 +++++++++++++++++++++
scripts/ci/pre_commit/compat_cache_on_methods.py | 69 ++++++++
scripts/ci/pre_commit/supported_versions.py | 2 +-
tests/api_connexion/conftest.py | 15 +-
.../endpoints/test_config_endpoint.py | 22 +++
.../endpoints/test_connection_endpoint.py | 89 ++++++++++
tests/api_connexion/endpoints/test_dag_endpoint.py | 99 +++++++++++
.../endpoints/test_dag_run_endpoint.py | 185 ++++++++++++++++++++
.../endpoints/test_dag_source_endpoint.py | 16 ++
.../endpoints/test_dag_warning_endpoint.py | 12 ++
.../endpoints/test_dataset_endpoint.py | 186 +++++++++++++++++++-
.../endpoints/test_event_log_endpoint.py | 44 +++++
.../auth/backend/test_basic_auth.py | 6 +-
tests/auth/managers/test_base_auth_manager.py | 56 +++++-
tests/cli/commands/test_dag_command.py | 35 ++--
tests/cli/commands/test_task_command.py | 9 +-
tests/models/test_mappedoperator.py | 29 +++
tests/models/test_taskinstance.py | 9 +-
tests/models/test_trigger.py | 17 ++
tests/operators/test_trigger_dagrun.py | 148 +++++++++-------
.../test_role_and_permission_endpoint.py | 63 +++++++
tests/providers/fab/auth_manager/conftest.py | 15 +-
.../fab/auth_manager/test_fab_auth_manager.py | 13 +-
.../google/cloud/hooks/test_compute_ssh.py | 56 +++---
.../cloud/log/test_stackdriver_task_handler.py | 28 +++
tests/providers/smtp/notifications/test_smtp.py | 2 +-
tests/triggers/test_external_task.py | 153 ++++++++++------
tests/utils/test_log_handlers.py | 14 +-
tests/www/views/test_views_tasks.py | 20 +++
143 files changed, 2387 insertions(+), 787 deletions(-)
delete mode 100644 airflow/compat/functools.pyi
create mode 100644 airflow/www/static/js/components/DateTimeInput.tsx
create mode 100755 scripts/ci/pre_commit/check_deprecations.py
create mode 100755 scripts/ci/pre_commit/compat_cache_on_methods.py