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

ephraimanierobi pushed a change to branch v2-7-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git


    from c08c82e9dd fixup! Update RELEASE_NOTES.rst
     add 126b507e82 Remove openlineage exclusion (#33491)
     add dc44806dc3 Fix OpenLineage link in New Features notes (#33513)
     add a335ca5a58 Update the release date for 2.7.0
     add 100f37d9a4 Remove Pydantic limitation for version < 2 (#33507)
     add 698ad804d1 Add MySQL 8.1 to supported versions. (#33576)
     add 3fad890393 Fix dependencies for celery and opentelemetry for Python 
3.8 (#33579)
     add 6005da9ba5 Improve detection of when breeze CI image needs rebuilding 
(#33603)
     add fdd1bc374c Upgrade botocore/aiobotocore minimum requirements (#33649)
     add 45d228239a Limit hive provider check for Python 3.11 temporarily 
(#33774)
     add 20bfcafa31 Limit Redis dependencies to match celery limits (#33773)
     add d39abde825 Remove "eager upgrade" from PROD image completely (#33784)
     add 529346b6ad Bump airflow version to 2.7.1
     add b3bb92a461 Use PyPI constraints for PROD image in non-main branch 
(#33789)
     add 22d09d30df Fix rendering the mapped parameters when using 
`expand_kwargs` method (#32272)
     add 56ec8d7805 Bring back hive support for Python 3.11 (#32607)
     add fc77886fd5 [Models] [Postgres] Check if the dynamically-added index is 
in the table schema before adding (#32731)
     add 34aef4be89 Fix getting correct commit from multiple referenced PR 
(#33411)
     add 04e94bf2b4 More complete fix for dev release scripts to filter commit 
for PR (#33418)
     add aab0f4b4af Fix handling of default value and serialization of Param 
class (#33141)
     add ee20c88aa3 Refactor: Simplify code in configuration.py (#33160)
     add 11845bb042 respect soft_fail argument when ExternalTaskSensor runs in 
deferrable mode (#33196)
     add bc9ea43753 Fix pydantic warning about `orm_mode` rename (#33220)
     add 84369c6291 Refactor: Simplify dict manipulation in metrics (#33264)
     add d31f20b3c0 Refactor: Simplify code in serialization (#33266)
     add 3439f91325 Refactor: Simplify code in settings (#33267)
     add cff420b3c3 Refactor: Simplify code in utils (#33268)
     add 496f917f1a Refactor: Simplify code in www (#33270)
     add 4e4911b590 Refactor: Simplify code in scripts (#33295)
     add d329d70632 Refactor str.startswith with tuples (#33292)
     add c597ca1e8b Fix test_example_dags (#32714)
     add 75bf02ebd3 Refactor: Simplify code in tests (#33293)
     add 40743706d1 D205 Support - Root files (#33297)
     add a33cbf0355 D205 Support - WWW (#33298)
     add 601d0e41cc D401 Support - Secrets to Triggers (Inclusive) (#33338)
     add 4af3afd567 D205 Support - Stragglers (#33301)
     add bb6ea0f298 Remove the replace to <br> tag in Provider's view (#33326)
     add 548e3f55b3 D401 Support - Airflow/api thru Airflow/auth (#33333)
     add f7e39af87d Fix some missing type hints (#33334)
     add 448cf69700 D401 Support - airflow/callbacks thru airflow/decorators 
(#33335)
     add 85d75a2f78 D401 Support - airflow/example_dags thru airflow/listeners 
(#33336)
     add 4c0158440f D401 Support - Macros to Operators (Inclusive) (#33337)
     add 5988ea6b0c D401 Support - Utils (#33339)
     add 14c91db04a D401 Support - Root Files (#33352)
     add f44a3246d1 Fix DagFileProcessor interfering with dags outside its 
``processor_subdir`` (#33357)
     add c3580fc4dd Fix config description for base_log_folder (#33388)
     add 08d4e0168c Simplify 'X for X in Y' to 'Y' where applicable (#33453)
     add 6996d308a6 Create a new method used to resume the task in order to 
implement specific logic for operators (#33424)
     add dfe129f77c Respect "soft_fail" argument when "poke" is called (#33401)
     add a597d5eb8b Allow timetable to slightly miss catchup cutoff (#33404)
     add 0fbb01b5b9 Import utc from datetime and normalize its import (#33450)
     add 24b11c9950 make `conf.set` case insensitive (#33452)
     add 5930e18908 Fix Cluster Activity Health margin (#33456)
     add f5ea787b3e Revert "respect soft_fail argument when ExternalTaskSensor 
runs in deferrable mode (#33196)" (#33458)
     add 00fe5465a1 Static check fixes (#33462)
     add ab1fd50ef0 Fix secrets backend docs (#33471)
     add 29ffb32057 Use absolute path in README.md for broken links on pypi 
listing (#33473)
     add 502909253e Simplify code around enumerate (#33476)
     add 20ebd990a7 Consolidate import and usage of pandas (#33480)
     add ea432df49a Fix a bug in formatDuration method (#33486)
     add 5c8e799d92 Do not return ongoin dagrun when a end_date is less than 
utcnow (#33488)
     add e2578691ba Fix broken link in Modules Management page (#33499)
     add 7eeba7c3a6 Use `dialect.name` in custom SA types (#33503)
     add 3f8c35246f Update version_added field for configs in config file 
(#33509)
     add dc73e786fe Fix typo in `db upgrade` warning message (#33510)
     add a3fa682e8c Set strict to True when parsing dates in webserver views 
(#33512)
     add f4c2b58ec8 Move license templates out of repo root (#33515)
     add df352f37e7 Stop adding values to rendered templates UI when there is 
no dagrun (#33516)
     add 42cfb9143f Fix typo in release notes (#33521)
     add 5101840c3e Sort data before groupby in TIS duration calculation 
(#33535)
     add d508a9a54b Add a fallback in case no first name and last name are set 
(#33617)
     add e77f83dbd9 Bind engine before attempting to drop archive tables 
(#33622)
     add e6f6dea2b1 Treat dag-defined access_control as authoritative if 
defined (#33632)
     add b0f9afb2b5 Set context inside templates (#33645)
     add 4befd33b37 Fix 2.7.0 db migration job errors (#33652)
     add 37ac1e8728 Add back `get_url_for_login` in security manager (#33660)
     add 2ebfe475a1 SECURITY_MANAGER_CLASS should be a referrence to class, not 
a string (#33690)
     add 12db5ed16e Fix cleaning zombie RESTARTING tasks (#33706)
     add e32036e8d2 Add documentation explaining template_ext (and how to 
override it) (#33735)
     add d83c0c511b Use f-string instead of  in Airflow core (#33753)
     add 69fc667ede Fix UI DAG counts including deleted DAGs (#33778)
     add e793cf2eb5 Refactor: Simplofy code in dev (#33294)
     add b214417c63 Refactor: Simplify code in providers/amazon (#33222)
     add 5b213b81fb Refactor: Simplify code in smaller providers (#33234)
     add 2c14bb45f7 Simplify conditions on len() in other providers (#33569)
     add 2aa33449ed Refactor: Simplify code in providers/cncf (#33230)
     add fe85781ceb Consolidate import and usage of itertools (#33479)
     add dffc1d6488 Validate SqoopHook connection string and disable extra 
options from public hook methods (#33039)
     add 352c96e039 Replace OrderedDict with plain dict (#33508)
     add 5727eb6e39 openlineage: do not try to redact Proxy objects from 
deprecated config (#33393)
     add 6587b75bda Replace repr() with proper formatting (#33520)
     add f4557e53ea Simplify conditions on `len()` in utils (#33567)
     add 64b9ebb089 Simplify conditions on len() in jobs (#33568)
     add eb96b86e87 Automatically update the REVISIONS_HEADS_MAP in db.py 
(#33616)
     add 9314b4d77f Fix version heads map pre_commit rule (#33749)
     add 8043bab9b2 Add limit 1 if required first value from query result 
(#33672)
     add 70bfb11904 Update version to 2.7.1
     add 22df7b1112 Fix MappedTaskGroup tasks not respecting upstream 
dependency (#33732)
     add d254b5b367 Replace AIP-42 label with area:dynamic-task-mapping label 
(#33870)
     add 2d16c702d0 Raise 404 from Variable PATCH API if variable is not found 
(#33885)
     add 99a4f9f5df Add minimum requirement for sqlalchemy to 1.4.24 (#33892)
     add a14177141f Clarify that DAG authors can also run code in DAG File 
Processor (#33920)
     add 71e842e274 Bumping FAB to 4.3.4 in order to fix issues with filters 
(#33931)
     add ebbebf14bb Differentiate 0 and unset as a default param values (#33965)
     add 01e2b1696f Reinstall CI depdendencies from scratch (#33978)
     add 8754b509bd Respect "soft_fail" for core async sensors (#33403)
     add d0886260d7 fix(sensors): move trigger initialization from __init___ to 
execute (#33926)
     add f9d653bbc2 Suspend qubole provider (#33889)
     add 4dd75306e3 Reorganize devel_only extra in airflow's setup.py (#33907)
     add ae03ad5312 Upgrade to Pydantic 2 (#33956)
     add b83fa2eba9 Explain the users how they can check if python code is 
top-level (#34006)
     add c874f0ff8b Use a trimmed version of README.md for PyPI (#33637)
     add de95f98272 Upgrade Elasticsearch to 8 (#33135)
     add 7cd0748c60 Remove print introduced in PR #32261 (#34008)
     add d404d3f84a Limit celery by excluding 5.3.2 and 5.3.3 (#34031)
     add 590412ba58 Fix typos (double words and it's/its) (#33623)
     add b5dbf97317 Ensure that tasks wait for running indirect setup (#33903)
     add 891fae5025 Update RELEASE_NOTES.rst

No new revisions were added by this update.

Summary of changes:
 .github/actions/build-ci-images/action.yml         |  14 +-
 .github/actions/build-prod-images/action.yml       |  21 +-
 .github/workflows/build-images.yml                 |   2 +-
 .pre-commit-config.yaml                            |  31 +-
 CONTRIBUTING.rst                                   |   6 +-
 CONTRIBUTORS_QUICK_START.rst                       |   4 +-
 Dockerfile                                         |  56 +-
 Dockerfile.ci                                      |   6 +-
 INSTALL                                            |   6 +-
 README.md                                          |  68 ++-
 RELEASE_NOTES.rst                                  | 115 ++++-
 STATIC_CODE_CHECKS.rst                             |   2 +
 airflow/__init__.py                                |   2 +-
 airflow/__main__.py                                |   1 -
 airflow/api_connexion/endpoints/config_endpoint.py |   1 -
 .../endpoints/role_and_permission_endpoint.py      |   2 +-
 .../api_connexion/endpoints/variable_endpoint.py   |   4 +-
 airflow/api_connexion/exceptions.py                |   2 +-
 airflow/api_connexion/openapi/v1.yaml              |   2 +-
 airflow/api_connexion/parameters.py                |   4 +-
 airflow/api_connexion/schemas/dag_schema.py        |   6 +-
 airflow/api_connexion/schemas/pool_schema.py       |  12 +-
 .../api_connexion/schemas/task_instance_schema.py  |   4 +-
 airflow/api_connexion/security.py                  |   4 +-
 airflow/api_internal/endpoints/rpc_api_endpoint.py |   2 +-
 airflow/api_internal/internal_api_call.py          |   6 +-
 airflow/auth/managers/fab/models/__init__.py       |   8 +-
 airflow/callbacks/base_callback_sink.py            |   2 +-
 airflow/callbacks/database_callback_sink.py        |   2 +-
 airflow/callbacks/pipe_callback_sink.py            |   2 +-
 airflow/cli/cli_config.py                          |   6 +-
 airflow/cli/cli_parser.py                          |   2 +-
 airflow/cli/commands/celery_command.py             |   8 +-
 airflow/cli/commands/connection_command.py         |  12 +-
 airflow/cli/commands/dag_command.py                |  26 +-
 airflow/cli/commands/dag_processor_command.py      |   4 +-
 airflow/cli/commands/db_command.py                 |  57 +-
 airflow/cli/commands/info_command.py               |   6 +-
 airflow/cli/commands/internal_api_command.py       |   2 +-
 airflow/cli/commands/jobs_command.py               |   2 +-
 airflow/cli/commands/kubernetes_command.py         |   8 +-
 airflow/cli/commands/legacy_commands.py            |   2 +-
 airflow/cli/commands/pool_command.py               |  16 +-
 airflow/cli/commands/provider_command.py           |  20 +-
 airflow/cli/commands/role_command.py               |  12 +-
 airflow/cli/commands/scheduler_command.py          |   6 +-
 airflow/cli/commands/standalone_command.py         |  17 +-
 airflow/cli/commands/sync_perm_command.py          |   2 +-
 airflow/cli/commands/task_command.py               |  18 +-
 airflow/cli/commands/triggerer_command.py          |   4 +-
 airflow/cli/commands/user_command.py               |  12 +-
 airflow/cli/commands/variable_command.py           |  14 +-
 airflow/cli/commands/version_command.py            |   2 +-
 airflow/cli/commands/webserver_command.py          |  10 +-
 airflow/cli/simple_table.py                        |  10 +-
 airflow/config_templates/config.yml                | 116 +----
 airflow/configuration.py                           | 121 +++--
 airflow/dag_processing/manager.py                  |  38 +-
 airflow/dag_processing/processor.py                |   4 +-
 airflow/decorators/base.py                         |   6 +-
 airflow/decorators/branch_python.py                |   2 +-
 airflow/decorators/external_python.py              |   3 +-
 airflow/decorators/python.py                       |   3 +-
 airflow/decorators/python_virtualenv.py            |   3 +-
 airflow/decorators/sensor.py                       |   2 +-
 airflow/decorators/short_circuit.py                |   3 +-
 airflow/example_dags/example_sensors.py            |  19 +-
 .../example_setup_teardown_taskflow.py             |   2 +-
 airflow/exceptions.py                              |   5 +-
 airflow/executors/base_executor.py                 |  22 +-
 airflow/executors/executor_loader.py               |  13 +-
 airflow/executors/local_executor.py                |  22 +-
 airflow/hooks/base.py                              |   6 +-
 airflow/hooks/filesystem.py                        |   2 +-
 airflow/hooks/subprocess.py                        |   2 +-
 airflow/jobs/backfill_job_runner.py                |  14 +-
 airflow/jobs/base_job_runner.py                    |  12 +-
 airflow/jobs/job.py                                |  12 +-
 airflow/jobs/local_task_job_runner.py              |   6 +-
 airflow/jobs/scheduler_job_runner.py               |  43 +-
 airflow/jobs/triggerer_job_runner.py               |  31 +-
 .../pre_7_4_0_compatibility/kube_client.py         |   4 +-
 .../pre_7_4_0_compatibility/pod_generator.py       |  13 +-
 .../pod_generator_deprecated.py                    |   6 +-
 .../kubernetes/pre_7_4_0_compatibility/secret.py   |   6 +-
 airflow/lineage/__init__.py                        |   7 +-
 airflow/lineage/backend.py                         |   2 +-
 airflow/listeners/spec/dagrun.py                   |   6 +-
 airflow/listeners/spec/lifecycle.py                |   4 +-
 airflow/listeners/spec/taskinstance.py             |   6 +-
 airflow/metrics/otel_logger.py                     |  27 +-
 airflow/metrics/statsd_logger.py                   |   2 +-
 airflow/metrics/validators.py                      |   2 +-
 airflow/migrations/utils.py                        |   2 +-
 airflow/models/abstractoperator.py                 |  17 +-
 airflow/models/baseoperator.py                     |  54 +-
 airflow/models/connection.py                       |  16 +-
 airflow/models/dag.py                              |  85 +--
 airflow/models/dagbag.py                           |   8 +-
 airflow/models/dagcode.py                          |  26 +-
 airflow/models/dagrun.py                           |  42 +-
 airflow/models/expandinput.py                      |   5 +-
 airflow/models/mappedoperator.py                   |   6 +-
 airflow/models/param.py                            |  15 +-
 airflow/models/serialized_dag.py                   |  13 +-
 airflow/models/skipmixin.py                        |   6 +-
 airflow/models/taskinstance.py                     |  70 ++-
 airflow/models/taskinstancekey.py                  |   2 +-
 airflow/models/taskmixin.py                        |  12 +-
 airflow/models/taskreschedule.py                   |   4 +-
 airflow/models/trigger.py                          |   8 +-
 airflow/models/variable.py                         |   8 +-
 airflow/models/xcom.py                             |  10 +-
 airflow/models/xcom_arg.py                         |  12 +-
 airflow/notifications/basenotifier.py              |   2 +-
 airflow/operators/bash.py                          |   2 +-
 airflow/operators/datetime.py                      |   2 +-
 airflow/operators/python.py                        |   9 +-
 airflow/plugins_manager.py                         |   1 +
 airflow/policies.py                                |  10 +-
 .../SUSPENDING_AND_RESUMING_PROVIDERS.rst          |   2 +-
 airflow/providers/amazon/aws/hooks/base_aws.py     |   7 +-
 airflow/providers/amazon/aws/hooks/batch_client.py |  91 ++--
 airflow/providers/amazon/aws/hooks/datasync.py     |  28 +-
 airflow/providers/amazon/aws/hooks/quicksight.py   |   2 +-
 .../providers/amazon/aws/hooks/redshift_data.py    |   6 +-
 airflow/providers/amazon/aws/hooks/s3.py           |   7 +-
 airflow/providers/amazon/aws/hooks/sagemaker.py    |  31 +-
 .../providers/amazon/aws/log/s3_task_handler.py    |   7 +-
 airflow/providers/amazon/aws/operators/eks.py      |   2 +-
 .../amazon/aws/operators/redshift_cluster.py       |  18 +-
 .../amazon/aws/secrets/secrets_manager.py          |   5 +-
 .../amazon/aws/transfers/redshift_to_s3.py         |   2 +-
 .../amazon/aws/transfers/s3_to_redshift.py         |   2 +-
 .../providers/amazon/aws/transfers/sql_to_s3.py    |  14 +-
 airflow/providers/amazon/aws/triggers/README.md    |   2 +-
 airflow/providers/amazon/aws/triggers/batch.py     |   8 +-
 airflow/providers/amazon/aws/triggers/ecs.py       |   4 +-
 airflow/providers/amazon/aws/triggers/emr.py       |   4 +-
 airflow/providers/amazon/aws/triggers/sagemaker.py |   4 +-
 .../amazon/aws/utils/waiter_with_logging.py        |  30 +-
 airflow/providers/amazon/provider.yaml             |  22 +-
 airflow/providers/apache/hdfs/CHANGELOG.rst        |   2 +-
 airflow/providers/apache/hive/CHANGELOG.rst        |   1 +
 airflow/providers/apache/hive/hooks/hive.py        |  23 +-
 .../providers/apache/hive/operators/hive_stats.py  |   2 -
 airflow/providers/apache/hive/provider.yaml        |  11 +-
 .../apache/hive/transfers/mssql_to_hive.py         |   3 +-
 .../apache/hive/transfers/mysql_to_hive.py         |   3 +-
 .../apache/hive/transfers/vertica_to_hive.py       |   3 +-
 .../apache/kafka/triggers/await_message.py         |   2 +-
 airflow/providers/apache/sqoop/CHANGELOG.rst       |  11 +
 airflow/providers/apache/sqoop/hooks/sqoop.py      |  37 +-
 airflow/providers/apache/sqoop/operators/sqoop.py  |  30 +-
 airflow/providers/apache/sqoop/provider.yaml       |   1 +
 airflow/providers/celery/provider.yaml             |   3 +-
 .../kubernetes/executors/kubernetes_executor.py    |   4 +-
 .../providers/cncf/kubernetes/hooks/kubernetes.py  |   4 +-
 airflow/providers/cncf/kubernetes/operators/pod.py |   2 +-
 airflow/providers/cncf/kubernetes/pod_generator.py |   2 +-
 airflow/providers/cncf/kubernetes/triggers/pod.py  |  11 +-
 .../providers/cncf/kubernetes/utils/pod_manager.py |  20 +-
 airflow/providers/common/sql/hooks/sql.pyi         |   2 +-
 airflow/providers/common/sql/operators/sql.py      |   2 +-
 airflow/providers/common/sql/operators/sql.pyi     |   2 +-
 airflow/providers/common/sql/sensors/sql.pyi       |   2 +-
 .../daskexecutor/executors/dask_executor.py        |   2 +-
 .../providers/databricks/hooks/databricks_sql.py   |   2 +-
 .../databricks/operators/databricks_sql.py         |   2 +-
 .../databricks/sensors/databricks_partition.py     |   4 +-
 airflow/providers/databricks/utils/databricks.py   |  10 +-
 airflow/providers/datadog/sensors/datadog.py       |   2 +-
 airflow/providers/dbt/cloud/hooks/dbt.py           |   2 +-
 airflow/providers/docker/operators/docker.py       |   4 +-
 airflow/providers/docker/operators/docker_swarm.py |   2 +-
 airflow/providers/elasticsearch/CHANGELOG.rst      |   6 +
 .../providers/elasticsearch/log/es_task_handler.py |  19 +-
 airflow/providers/elasticsearch/provider.yaml      |  96 +++-
 airflow/providers/google/cloud/hooks/bigquery.py   |   4 +-
 .../google/cloud/operators/kubernetes_engine.py    |   2 +-
 airflow/providers/google/cloud/operators/pubsub.py |   2 +-
 .../providers/google/cloud/operators/workflows.py  |  11 +-
 airflow/providers/google/cloud/sensors/pubsub.py   |   2 +-
 .../google/cloud/triggers/bigquery_dts.py          |   2 +-
 .../google/cloud/triggers/kubernetes_engine.py     |   2 +-
 airflow/providers/google/cloud/triggers/pubsub.py  |   2 +-
 airflow/providers/grpc/operators/grpc.py           |   2 +-
 airflow/providers/hashicorp/hooks/vault.py         |   2 +-
 airflow/providers/http/hooks/http.py               |  24 +-
 airflow/providers/imap/hooks/imap.py               |   2 +-
 airflow/providers/microsoft/azure/CHANGELOG.rst    |   4 +-
 .../providers/microsoft/azure/hooks/data_lake.py   |   2 +-
 .../providers/microsoft/azure/operators/batch.py   |   2 +-
 .../microsoft/azure/operators/data_factory.py      |   2 +-
 airflow/providers/openlineage/utils/sql.py         |   2 +-
 airflow/providers/openlineage/utils/utils.py       |  69 +--
 .../providers/oracle/transfers/oracle_to_oracle.py |   6 +-
 airflow/providers/papermill/operators/papermill.py |   6 +-
 airflow/providers/plexus/operators/job.py          |   2 +-
 airflow/providers/presto/hooks/presto.py           |   6 +-
 airflow/providers/qubole/provider.yaml             |   6 +-
 airflow/providers/redis/provider.yaml              |   6 +-
 airflow/providers/sendgrid/utils/emailer.py        |   4 +-
 airflow/providers/slack/transfers/sql_to_slack.py  |   4 +-
 airflow/providers/smtp/hooks/smtp.py               |   2 +-
 airflow/providers/ssh/hooks/ssh.py                 |   2 +-
 airflow/providers/trino/hooks/trino.py             |   6 +-
 airflow/providers_manager.py                       |  14 +-
 airflow/secrets/cache.py                           |  18 +-
 airflow/secrets/local_filesystem.py                |   6 +-
 airflow/security/permissions.py                    |   2 +-
 airflow/security/utils.py                          |   6 +-
 airflow/sensors/base.py                            |  20 +-
 airflow/sensors/date_time.py                       |  10 +-
 airflow/sensors/external_task.py                   |   9 +-
 airflow/sensors/time_delta.py                      |  12 +-
 airflow/sensors/time_sensor.py                     |   5 +-
 airflow/sentry.py                                  |   6 +-
 airflow/serialization/enums.py                     |   1 +
 airflow/serialization/helpers.py                   |   3 +-
 airflow/serialization/pydantic/dag_run.py          |   3 +-
 airflow/serialization/pydantic/dataset.py          |  12 +-
 airflow/serialization/pydantic/job.py              |   3 +-
 airflow/serialization/pydantic/taskinstance.py     |   3 +-
 airflow/serialization/serde.py                     |  13 +-
 airflow/serialization/serialized_objects.py        |  44 +-
 airflow/serialization/serializers/pandas.py        |   8 +-
 airflow/settings.py                                |  55 +-
 airflow/task/task_runner/base_task_runner.py       |   2 +-
 airflow/template/templater.py                      |  11 +-
 airflow/ti_deps/dep_context.py                     |   2 +-
 airflow/ti_deps/deps/base_ti_dep.py                |   6 +-
 airflow/ti_deps/deps/dagrun_backfill_dep.py        |   2 +-
 airflow/ti_deps/deps/mapped_task_expanded.py       |   2 +-
 airflow/ti_deps/deps/not_previously_skipped_dep.py |   2 +-
 airflow/ti_deps/deps/pool_slots_available_dep.py   |   2 +-
 airflow/ti_deps/deps/ready_to_reschedule.py        |   2 +-
 airflow/ti_deps/deps/trigger_rule_dep.py           | 572 +++++++++++++--------
 airflow/timetables/interval.py                     |   3 +-
 airflow/timetables/trigger.py                      |   2 +-
 airflow/triggers/base.py                           |   4 +-
 airflow/triggers/external_task.py                  |  18 +-
 airflow/triggers/file.py                           |   2 +-
 airflow/utils/cli.py                               |  26 +-
 airflow/utils/cli_action_loggers.py                |  11 +-
 airflow/utils/cli_app_builder.py                   |   2 +-
 airflow/utils/code_utils.py                        |   4 +-
 airflow/utils/configuration.py                     |   2 +-
 airflow/utils/dag_cycle_tester.py                  |   2 +-
 airflow/utils/dates.py                             |   4 +-
 airflow/utils/db.py                                |  29 +-
 airflow/utils/db_cleanup.py                        |   1 +
 airflow/utils/decorators.py                        |   4 +-
 airflow/utils/dot_renderer.py                      |   6 +-
 airflow/utils/edgemodifier.py                      |   6 +-
 airflow/utils/email.py                             |   6 +-
 airflow/utils/empty_set.py                         |   2 +-
 airflow/utils/event_scheduler.py                   |   2 +-
 airflow/utils/file.py                              |  11 +-
 airflow/utils/hashlib_wrapper.py                   |   3 +-
 airflow/utils/helpers.py                           |  28 +-
 airflow/utils/json.py                              |   2 +-
 airflow/utils/log/file_task_handler.py             |  15 +-
 airflow/utils/log/log_reader.py                    |   6 +-
 airflow/utils/log/logging_mixin.py                 |  12 +-
 airflow/utils/log/secrets_masker.py                |  18 +-
 airflow/utils/operator_helpers.py                  |   2 +-
 airflow/utils/platform.py                          |   2 +-
 airflow/utils/process_utils.py                     |   6 +-
 airflow/utils/providers_configuration_loader.py    |   3 +-
 airflow/utils/python_virtualenv.py                 |   5 +-
 airflow/utils/retries.py                           |   3 +-
 airflow/utils/serve_logs.py                        |   2 +-
 airflow/utils/session.py                           |   2 +-
 airflow/utils/setup_teardown.py                    |  17 +-
 airflow/utils/sqlalchemy.py                        |  47 +-
 airflow/utils/state.py                             |  10 +-
 airflow/utils/task_group.py                        |  29 +-
 airflow/utils/timeout.py                           |   4 +-
 airflow/utils/timezone.py                          |  11 +-
 airflow/utils/trigger_rule.py                      |   4 +-
 airflow/utils/types.py                             |   2 +-
 airflow/utils/weekday.py                           |   2 +-
 airflow/utils/weight_rule.py                       |   2 +-
 airflow/www/api/experimental/endpoints.py          |  13 +-
 airflow/www/decorators.py                          |   9 +-
 airflow/www/extensions/init_appbuilder.py          |  16 +-
 airflow/www/extensions/init_dagbag.py              |   5 +-
 airflow/www/extensions/init_robots.py              |   6 +-
 airflow/www/extensions/init_security.py            |   5 +-
 airflow/www/fab_security/manager.py                |  26 +-
 airflow/www/fab_security/sqla/manager.py           |  11 +-
 airflow/www/forms.py                               |   5 +-
 airflow/www/security.py                            |  48 +-
 .../js/cluster-activity/live-metrics/Health.tsx    |   1 +
 .../static/js/cluster-activity/nav/FilterBar.tsx   |   2 +-
 .../www/static/js/cluster-activity/useFilters.tsx  |   5 +-
 airflow/www/static/js/datetime_utils.js            |   3 +-
 airflow/www/templates/airflow/trigger.html         |   2 +-
 airflow/www/templates/appbuilder/navbar_right.html |   9 +-
 airflow/www/utils.py                               |  27 +-
 airflow/www/views.py                               | 119 +++--
 ...UALLY_GENERATING_IMAGE_CACHE_AND_CONSTRAINTS.md |   2 +-
 dev/README_RELEASE_AIRFLOW.md                      |   2 -
 dev/README_RELEASE_PROVIDER_PACKAGES.md            |   2 +-
 dev/airflow-github                                 |  23 +-
 dev/airflow-license                                |   2 +-
 dev/breeze/SELECTIVE_CHECKS.md                     |   6 +-
 .../adr/0003-bootstrapping-virtual-environment.md  |   6 +-
 .../airflow_breeze/commands/ci_image_commands.py   |   8 +-
 .../commands/ci_image_commands_config.py           |   1 +
 .../airflow_breeze/commands/developer_commands.py  |   3 +
 .../commands/production_image_commands.py          |  73 ++-
 .../commands/production_image_commands_config.py   |   4 +-
 .../src/airflow_breeze/commands/setup_commands.py  |   2 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |   4 +-
 .../src/airflow_breeze/params/build_ci_params.py   |   6 +-
 .../src/airflow_breeze/params/build_prod_params.py |   7 +-
 .../airflow_breeze/params/common_build_params.py   |  14 +-
 .../src/airflow_breeze/params/shell_params.py      |   1 +
 dev/breeze/src/airflow_breeze/pre_commit_ids.py    |   1 +
 dev/breeze/src/airflow_breeze/utils/cdxgen.py      |   2 +-
 .../src/airflow_breeze/utils/common_options.py     |   9 +
 .../src/airflow_breeze/utils/md5_build_check.py    |  74 ++-
 dev/breeze/src/airflow_breeze/utils/path_utils.py  |   2 +-
 .../src/airflow_breeze/utils/selective_checks.py   |   9 +-
 dev/breeze/tests/test_selective_checks.py          |  24 +-
 dev/chart/build_changelog_annotations.py           |   2 +-
 dev/check_files.py                                 |   4 +-
 dev/perf/dags/elastic_dag.py                       |   2 +-
 dev/prepare_release_issue.py                       |   2 +-
 dev/send_email.py                                  |   2 +-
 dev/stats/get_important_pr_candidates.py           |  11 +-
 docker_tests/test_prod_image.py                    |   1 -
 .../connections/aws.rst                            |   4 +-
 .../connections/spark.rst                          |   2 +-
 .../configurations-ref.rst                         |   0
 .../index.rst                                      |   3 +-
 .../operators/cloud/bigquery_dts.rst               |   2 +-
 .../operators/cloud/kubernetes_engine.rst          |   2 +-
 .../operators/asb.rst                              |   2 +-
 .../operators/qubole.rst                           |   4 +-
 .../howto/create-custom-providers.rst              |   2 +-
 .../logging-monitoring/metrics.rst                 |   2 +-
 .../modules_management.rst                         |   2 +-
 docs/apache-airflow/best-practices.rst             |  92 +++-
 docs/apache-airflow/configurations-ref.rst         |   1 +
 docs/apache-airflow/core-concepts/operators.rst    |  33 ++
 docs/apache-airflow/extra-packages-ref.rst         |   2 -
 docs/apache-airflow/howto/docker-compose/index.rst |   2 +-
 docs/apache-airflow/howto/email-config.rst         |   2 +-
 docs/apache-airflow/howto/operator/datetime.rst    |   2 +-
 docs/apache-airflow/howto/setup-and-teardown.rst   |   8 +
 docs/apache-airflow/img/airflow_erd.sha256         |   2 +-
 docs/apache-airflow/img/airflow_erd.svg            |   8 +-
 docs/apache-airflow/installation/prerequisites.rst |   2 +-
 .../installation/supported-versions.rst            |   2 +-
 docs/apache-airflow/public-airflow-interface.rst   |   6 +-
 docs/apache-airflow/security/access-control.rst    |  44 ++
 .../security/secrets/secrets-backend/index.rst     |   4 +-
 docs/apache-airflow/security/security_model.rst    |  10 +-
 docs/apache-airflow/security/webserver.rst         |  12 +-
 docs/apache-airflow/tutorial/fundamentals.rst      |   2 +-
 docs/build_docs.py                                 |   6 +-
 docs/docker-stack/README.md                        |  10 +-
 docs/docker-stack/build-arg-ref.rst                |   1 +
 docs/docker-stack/changelog.rst                    |   2 +-
 .../customizing/own-requirements.sh                |   2 +-
 .../extending/add-airflow-configuration/Dockerfile |   2 +-
 .../extending/add-apt-packages/Dockerfile          |   2 +-
 .../add-build-essential-extend/Dockerfile          |   2 +-
 .../extending/add-providers/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                   |  22 +-
 docs/exts/docs_build/fetch_inventories.py          |   4 +-
 docs/exts/docs_build/lint_checks.py                |   6 +-
 generated/PYPI_README.md                           | 172 +++++++
 generated/README.md                                |   6 +
 generated/provider_dependencies.json               |  31 +-
 helm_tests/other/test_keda.py                      |   2 +-
 images/breeze/output-commands-hash.txt             |  28 +-
 images/breeze/output_build-docs.svg                |  46 +-
 images/breeze/output_ci-image.svg                  |  24 +-
 images/breeze/output_ci-image_build.svg            | 174 ++++---
 images/breeze/output_k8s.svg                       |  58 +--
 images/breeze/output_k8s_deploy-airflow.svg        |  68 +--
 images/breeze/output_k8s_run-complete-tests.svg    |  88 ++--
 images/breeze/output_prod-image_build.svg          | 186 +++----
 images/breeze/output_release-management.svg        |   6 +-
 ...tput_release-management_add-back-references.svg |   8 +-
 ...management_generate-issue-content-providers.svg |  42 +-
 ...elease-management_install-provider-packages.svg |  74 +--
 ...e-management_prepare-provider-documentation.svg |  46 +-
 ...elease-management_prepare-provider-packages.svg |  38 +-
 .../output_release-management_publish-docs.svg     | 110 ++--
 ...utput_release-management_update-constraints.svg |  40 +-
 .../output_sbom_generate-provider-requirements.svg |   6 +-
 images/breeze/output_setup_config.svg              |  40 +-
 images/breeze/output_static-checks.svg             |  94 ++--
 kubernetes_tests/test_kubernetes_pod_operator.py   |   2 +-
 scripts/ci/installed_providers.txt                 |   1 +
 .../ci/license-templates/LICENSE.md                |   2 +
 .../ci/license-templates}/LICENSE.rst              |   0
 .../ci/license-templates}/LICENSE.txt              |   0
 scripts/ci/pre_commit/common_precommit_utils.py    |   3 +-
 .../pre_commit_check_deferrable_default.py         |   2 +-
 .../pre_commit_check_pre_commit_hooks.py           |   5 +-
 ...it_check_providers_subpackages_all_have_init.py |   2 +-
 .../pre_commit_checkout_no_credentials.py          |   2 +-
 .../pre_commit/pre_commit_generate_pypi_readme.py  |  71 +++
 scripts/ci/pre_commit/pre_commit_json_schema.py    |   2 +-
 .../pre_commit_sort_installed_providers.py         |   3 +-
 .../pre_commit_sort_spelling_wordlist.py           |   3 +-
 .../ci/pre_commit/pre_commit_supported_versions.py |   2 +-
 .../pre_commit_update_common_sql_api_stubs.py      |  24 +-
 .../pre_commit_update_example_dags_paths.py        |   5 +-
 .../pre_commit_update_providers_dependencies.py    |  38 +-
 .../ci/pre_commit/pre_commit_version_heads_map.py  |  74 ++-
 .../docker/install_from_docker_context_files.sh    |  45 +-
 scripts/in_container/_in_container_utils.sh        |  21 +-
 scripts/in_container/run_generate_constraints.sh   |   2 +-
 scripts/in_container/run_migration_reference.py    |   4 +-
 .../in_container/run_provider_yaml_files_check.py  |  21 +-
 .../in_container/update_quarantined_test_status.py |   5 +-
 scripts/in_container/verify_providers.py           |   9 +-
 setup.cfg                                          |  24 +-
 setup.py                                           | 176 ++++---
 tests/always/test_connection.py                    |   6 +-
 tests/always/test_example_dags.py                  |  13 +-
 tests/always/test_project_structure.py             |  14 +-
 .../endpoints/test_provider_endpoint.py            |  53 +-
 .../endpoints/test_variable_endpoint.py            |  15 +
 tests/auth/managers/fab/test_models.py             |  62 +++
 tests/cli/commands/test_config_command.py          |   4 +-
 tests/cli/commands/test_db_command.py              |   2 +-
 tests/conftest.py                                  |   2 +-
 tests/core/test_configuration.py                   |  22 +-
 tests/core/test_policies.py                        |   4 +-
 tests/dag_processing/test_job_runner.py            |  35 +-
 tests/decorators/test_python.py                    |   2 +-
 tests/decorators/test_task_group.py                |  46 ++
 tests/jobs/test_scheduler_job.py                   |  28 +-
 tests/jobs/test_triggerer_job_logging.py           |   2 +-
 tests/models/test_dag.py                           |  23 +-
 tests/models/test_dagrun.py                        |   2 +-
 tests/models/test_mappedoperator.py                |  91 +++-
 tests/models/test_param.py                         |  31 ++
 tests/models/test_skipmixin.py                     |   2 +-
 tests/models/test_taskinstance.py                  |  88 +++-
 tests/models/test_taskmixin.py                     |  10 +-
 tests/operators/test_python.py                     |   8 +-
 .../amazon/aws/hooks/test_batch_waiters.py         |   8 +-
 tests/providers/amazon/aws/sensors/test_eks.py     |  10 +-
 .../amazon/aws/transfers/test_salesforce_to_s3.py  |  21 +-
 tests/providers/amazon/aws/utils/test_utils.py     |   6 +-
 tests/providers/apache/hive/hooks/test_hive.py     |  29 +-
 .../apache/hive/operators/test_hive_stats.py       |   4 -
 .../apache/hive/transfers/test_mssql_to_hive.py    |   5 +-
 .../apache/hive/transfers/test_mysql_to_hive.py    |  16 +-
 .../apache/hive/transfers/test_s3_to_hive.py       |  11 +-
 .../providers/apache/spark/hooks/test_spark_sql.py |   4 +-
 tests/providers/apache/sqoop/hooks/test_sqoop.py   |  51 +-
 .../providers/apache/sqoop/operators/test_sqoop.py |  16 +-
 .../providers/cncf/kubernetes/triggers/test_pod.py |   5 +-
 tests/providers/common/sql/hooks/test_sql.py       |   2 +-
 .../databricks/hooks/test_databricks_sql.py        |   2 +-
 .../elasticsearch/log/elasticmock/__init__.py      |  44 +-
 .../log/elasticmock/fake_elasticsearch.py          |  26 +-
 .../log/elasticmock/utilities/__init__.py          | 180 +++++++
 .../elasticsearch/log/test_es_task_handler.py      |  10 +-
 tests/providers/exasol/hooks/test_sql.py           |   2 +-
 .../cloud/log/test_stackdriver_task_handler.py     |   2 +-
 .../test_cloud_storage_transfer_service.py         |   9 +-
 .../google/cloud/operators/test_workflows.py       |   9 +-
 .../google/cloud/transfers/test_postgres_to_gcs.py |   3 +-
 .../cloud/transfers/test_salesforce_to_gcs.py      |  18 +-
 .../google/cloud/transfers/test_sql_to_gcs.py      |   4 +-
 .../test_cloud_storage_transfer_service.py         |   2 +-
 .../cloud/triggers/test_kubernetes_engine.py       |   5 +-
 tests/providers/grpc/operators/test_grpc.py        |   4 +-
 tests/providers/http/hooks/test_http.py            |   9 +-
 tests/providers/openlineage/plugins/test_utils.py  |   6 +
 tests/providers/snowflake/hooks/test_sql.py        |   2 +-
 tests/sensors/test_base.py                         |  64 ++-
 tests/sensors/test_external_task_sensor.py         |   8 +-
 .../serialization/serializers/test_serializers.py  |   4 +-
 tests/serialization/test_dag_serialization.py      |   9 +-
 tests/serialization/test_pydantic_models.py        |  14 +-
 tests/system/conftest.py                           |   4 +-
 tests/system/providers/amazon/CONTRIBUTING.md      |   2 +-
 tests/system/providers/amazon/aws/example_ec2.py   |   3 +-
 .../providers/amazon/aws/example_s3_to_sql.py      |   2 +-
 tests/system/providers/amazon/aws/utils/ec2.py     |   2 +-
 .../google/cloud/datapipelines}/__init__.py        |   0
 .../cloud/datapipelines/resources}/__init__.py     |   0
 .../cloud/sql_to_sheets/example_sql_to_sheets.py   |   2 +-
 .../providers/redis/example_redis_publish.py       |  14 +-
 tests/test_utils/mock_executor.py                  |   2 +-
 tests/test_utils/providers.py                      |   2 +-
 tests/test_utils/system_tests_class.py             |   2 +-
 tests/ti_deps/deps/test_trigger_rule_dep.py        | 164 ++++++
 tests/timetables/test_trigger_timetable.py         |  18 +-
 tests/utils/test_db_cleanup.py                     |  31 +-
 tests/utils/test_helpers.py                        |   6 +-
 tests/utils/test_sqlalchemy.py                     |   2 +-
 tests/www/test_security.py                         | 134 +++++
 tests/www/test_utils.py                            |   6 +-
 tests/www/views/test_views_acl.py                  |   2 +-
 tests/www/views/test_views_cluster_activity.py     |  25 +-
 tests/www/views/test_views_extra_links.py          |  22 +-
 tests/www/views/test_views_home.py                 |   6 +-
 tests/www/views/test_views_log.py                  |   3 +-
 tests/www/views/test_views_tasks.py                |   3 +-
 517 files changed, 5171 insertions(+), 3142 deletions(-)
 copy docs/{apache-airflow-providers-apache-hive => 
apache-airflow-providers-elasticsearch}/configurations-ref.rst (100%)
 create mode 100644 generated/PYPI_README.md
 copy license-templates/LICENSE.txt => scripts/ci/license-templates/LICENSE.md 
(98%)
 rename {license-templates => scripts/ci/license-templates}/LICENSE.rst (100%)
 rename {license-templates => scripts/ci/license-templates}/LICENSE.txt (100%)
 create mode 100755 scripts/ci/pre_commit/pre_commit_generate_pypi_readme.py
 create mode 100644 tests/auth/managers/fab/test_models.py
 copy {airflow/api_connexion => 
tests/system/providers/google/cloud/datapipelines}/__init__.py (100%)
 copy {airflow/api_connexion => 
tests/system/providers/google/cloud/datapipelines/resources}/__init__.py (100%)


Reply via email to