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

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


    from 6b772f68db update release note
     new 443ac72ed1 Fix empty image preparation (#23304)
     new 1f33df596a Unify style of communication with the users for Breeze. 
(#23311)
     new e8fdd95dfc Remove confusion about upgrade-to-newer-dependencies breeze 
param (#23334)
     new 45a8483020 resolving conflict (#23052)
     new 18d7456c6f Cleaner default output when breeze starts (#23341)
     new 001987cc21 Fix regeneration of breeze screenshots (#23344)
     new 995c45aef7 Fix mssql in the new Breeze (#23368)
     new cc1f736529 When exec fails in breeze we do not print stack-trace 
(#23342)
     new ec69860529 Add missing --for-production parameter for new breeze docs 
building (#23376)
     new 5647a95832 Bump version to 2.3.0
     new 8fc0a5aba5 Fix 2.3.0 release date in release notes
     new 04cc4a510f Clarify 2.3.0 kubernetes min version is about library not 
cluster (#23398)
     new d9718c3601 Fix deriving of PyPI branch from airflow version (#23380)
     new 886c10e42e Improve handling of entry and exit to common Breeze 
commands (#23395)
     new fbb6b9cbb9 Add tags inside try block. (#21784)
     new 683d1dc4fb Bump pre-commit hook versions (#22887)
     new 44578a80ce Use kubernetes queue in kubernetes hybrid executors (#23048)
     new 367a6f077a Show warning if '/' is used in a DAG run ID (#23106)
     new 062308f5ca Override pool for TaskInstance when pool is passed from 
cli. (#23258)
     new a0a2ddf60d Remove custom signal handling in Triggerer (#23274)
     new 8cc26f7df6 Store grid view selection in url params (#23290)
     new d3be9dd592 Fix duplicated Kubernetes DeprecationWarnings (#23302)
     new fc8aef0978 Use <Time /> in Mapped Instance table (#23313)
     new 2976182e12 Fix update user auth stats (#23314)
     new c0b91462d2 Ignore some files/directory when releasing source code 
(#23325)
     new 7657e65312 Improve react www tests (#23329)
     new 427a125389 Use run_id for ti.mark_success_url (#23330)
     new 84021dedbe Don't show grid actions if server would reject with 
permission denied (#23332)
     new 5290cfd506 Hide some task instance attributes (#23338)
     new a5389e8313 fix cli `airflow dags show` for mapped operator (#23339)
     new 04b815d96a Fix connection test button (#23345)
     new 636e82e833 Fix broken task instance link in xcom list (#23367)
     new c06c214581 Add doc notes for keyword-only args for `expand()` and 
`partial()` (#23373)
     new 02be4d99af Update missing `version_added` in config.yml (#23387)
     new 806ea46e0d Fix `version_added` for `[sensors] default_timeout` (#23388)
     new 98872ef906 [FIX] remove python 3.6 (#23409)
     new e338621dca Fix literal cross product expansion (#23434)
     new 372495d4b1 Add backward compatibility for core__sql_alchemy_conn__cmd 
(#23441)
     new 321294bbf1 Docs: Python 3.10 is now supported (#23457)
     new 824d36ff0d Optimize 2.3.0 pre-upgrade check queries (#23458)
     new 93253c0d57 Add Python 3.10 trove classifier (#23464)
     new 4bdfeb54ff Remove remaining Python3.6 references (#23474)
     new a1a1cf1d49 Remove color change for highly nested groups (#23482)
     new 56a19fd102 Visually distinguish task group summarys (#23488)
     new fef6f7773d Only count bad refs when `moved` table exists (#23491)
     new e7d860ab87 Replace DummyOperator references in docs (#23502)
     new 5af6febf1f Fix _PIP_ADDITIONAL_REQUIREMENTS case for docker-compose 
(#23517)
     new 1e3b8014e2 Change approach to finding bad rows to LEFT OUTER JOIN. 
(#23528)
     new 7e1611132d Add IPV6 form of the address in cassandra status check 
(#23537)
     new 6ba8f44278 Refactor code references from tree to grid (#23254)
     new d100302158 Mark image as refreshed when pulled on CI (#23410)
     new de460d3ca2 Improve verbose output of Breeze (#23446)
     new 0400865b68 Unify approach for user questions asked in Breeze (#23335)
     new 0968ac7763 Move non-opencontainer labeling of the image to breeze from 
Dockerfile (#23379)
     new d4ee616b1f Changed word 'the' instead 'his' (#23493)
     new 7526742613 Move tests command in new breeze (#23445)
     new 79eb165801 Seperate provider verification as standalone breeze command 
(#23454)
     new c64b0094c3 Fix accidental including of providers in airflow package 
(#23552)
     new 3d9c24143c Add logging in to Github Registry for breeze pull (#23551)
     new c8d393d8f8 Refactor Breeze to group related methods and classes 
together (#23556)
     new 77627b2e52 Add slim images to release process (#23391)
     new 4929d365d3 tHe output of commands of Breeze are only generated when 
they change (#23570)
     new 90b9e7365e Clean up in-line f-string concatenation (#23591)
     new 9809ad75b6 Improve caching for multi-platform images. (#23562)
     new 69f18fc2fe Use inclusive words in apache airflow project (#23090)
     new bfc04e9f39 Update min requirements for rich to 12.4.1 (#23604)
     new e4b8a1b799 [FEATURE] update K8S-KIND to 0.13.0 (#23636)
     new 0407042e6c [FEATURE] add K8S 1.24 support (#23637)
     new 1441e11d7c Added postgres 14 to support versions(including breeze) 
(#23506)
     new dd5db259df Synchronize support for Postgres and K8S in docs (#23673)
     new fdc098eec5 Add wildcard possibility to `package-filter` parametere 
(#23672)
     new 403a3f00a3 Replace "absolute()" with "resolve()" in pathlib objects 
(#23675)
     new a5e6a93bf1 Upgrade `pip` to latest released 22.1.0 version (#23665)
     new e3fd257dc1 Disable Flower by default from docker-compose (#23685)
     new 32aa1ac6ba Clarify that bundle extras should not be used for PyPi 
installs (#23697)
     new e90395a564 Add slim image to docs/docker-stack/README.md (#23710)
     new b0b8a953ff Use profiles to disable flower in docker-compose (#23709)
     new 33defa999d Add typing for airflow/configuration.py (#23716)
     new bb6d7ad0d0 Move around overflow, position and padding (#23044)
     new 1d00531e99 Pools with negative open slots should not block other pools 
(#23143)
     new 4b5b15c976 Handle invalid date parsing in webserver views. (#23161)
     new 59f00970f5 Fix: Exception when parsing log #20966 (#23301)
     new 85851e71b6 Move dag_processing.processor_timeouts to counters section 
(#23393)
     new c7c7ae3847 Fix broken dagrun links when many runs start at the same 
time (#23462)
     new cc502478a1 Fix scheduler crash when expanding with mapped task that 
returned none (#23486)
     new 5a94a165b3 Prevent KubernetesJobWatcher getting stuck on resource too 
old (#23521)
     new 243d663ee0 Apply specific ID collation to root_dag_id too (#23536)
     new 08a771b805 Fix `PythonVirtualenvOperator` templated_fields (#23559)
     new 8f0e02879b Update dags.rst (#23579)
     new 9ec2b8a229 Add slim images to docker-stack docs index (#23601)
     new 5eaad50422 Implement send_callback method for CeleryKubernetesExecutor 
and LocalKubernetesExecutor (#23617)
     new 13588a5aee Add index for event column in log table (#23625)
     new 64cb280ca8 Fix typo issue (#23633)
     new 44af6a7bd8 Don't run pre-migration checks for downgrade (#23634)
     new 37d7e6bee3 Ensure execution_timeout as timedelta (#23655)
     new 4190119f96 remove `--` in `./breeze build-docs` command (#23671)
     new a780109c33 Fix grid details header text overlap (#23728)
     new 77477dd14b Remove titles from link buttons (#23736)
     new 212ad67c7d Add 'reschedule' to the serialized fields for the 
BaseSensorOperator (#23674)
     new 0ca318a575 Fix task log is not captured (#23684)
     new d63c84c7ac Fix auto upstream dep when expanding non-templated field 
(#23771)
     new d1af6c6a67 Fix dag-processor fetch metabase config (#23575)
     new a96d15f5dd Fix property name in breeze Shell Params (#23696)
     new bcd9bb771c Add environment check and build image check for more Breeze 
commands (#23687)
     new 81d8c7e05d Change `Github` to `GitHub` (#23764)
     new b1ec576f85 Add tagging image as latest for CI image wait (#23775)
     new 36e68a8988 Further speed up fixing ownership in CI (#23782)
     new 84592d400f Increase timeout for Helm Chart executor upgrade tests 
(#23759)
     new 578421e8e8 Fix python version used for cache preparaation (#23785)
     new ef21c8f1b8 Update Airflow Release Doc (#23322)
     new 29077c5801 Remove tagging of `constraint-x-y` branch from release 
process (#23399)
     new 74168ed2e5 Add missing steps to release process (#23384)
     new d8254db5bb Fix `check_files.py` to work on new minor releases (#23287)
     new ba4649ea78 Fix typos in README.md and airflow_doc_issue_report.yml 
(#23294)
     new 7b48c9df31 Add version to migration prefix (#23564)
     new acfdc54b6a Make Breeze help generation indepdent from having breeze 
installed (#23612)
     new d7092b7611 Shorten max pre-commit hook name length (#23677)
     new dd22e54600 Modify db clean to also catch the ProgrammingError 
exception (#23699)
     new a1bcb8a669 Fix "breeze-legacy" after building images was removed 
(#23404)
     new 06b0629434 Fix regression in ignoring symlinks (#23535)
     new 622b5e2fc5 Fix provider import error matching (#23825)
     new 1cbb0ad26d Fix secrets rendered in UI when task is not executed. 
(#22754)
     new 0230f12cad Fix retrieval of deprecated non-config values (#23723)
     new 0bc7ef8da1 Expand/collapse all groups (#23487)
     new b87becae6a 19943 Grid view status filters (#23392)
     new 3dad7d5a1c Fix expand/collapse all buttons (#23590)
     new 43940bed14 Add UI tests for /utils and /components (#23456)
     new 7058eb3236 Automatically reschedule stalled queued tasks in 
CeleryExecutor (v2) (#23690)
     new 23385571f9 Document fix for broken elasticsearch logs with 2.3.0+ 
upgrade (#23821)
     new 99b4095f5c Fix python version command (#23818)
     new 164af6a4e0 Add missing "airflow-constraints-reference" parameter 
(#23844)
     new b3b8b78b44 Grid data: do not load all mapped instances (#23813)
     new 045abd9e03 Update version to 2.3.1 and add release notes
     new 5b5dd7f462 Better fix for constraint-reference (#23845)
     new ecd25be72a Add limit for JPype1 (#23847)
     new ee100a592e Update release date on Release note

The 136 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:
 .gitattributes                                     |  48 +-
 .../ISSUE_TEMPLATE/airflow_doc_issue_report.yml    |   2 +-
 .github/workflows/build-images.yml                 |   7 +-
 .github/workflows/ci.yml                           |  70 +-
 .pre-commit-config.yaml                            | 102 ++-
 BREEZE.rst                                         | 128 ++-
 CI.rst                                             |   8 +-
 COMMITTERS.rst                                     |  10 +-
 CONTRIBUTING.rst                                   |  25 +-
 CONTRIBUTORS_QUICK_START.rst                       | 108 +--
 Dockerfile                                         | 105 +--
 Dockerfile.ci                                      | 440 ++--------
 IMAGES.rst                                         |  38 +-
 INSTALL                                            |  14 +-
 PULL_REQUEST_WORKFLOW.rst                          |   2 +-
 README.md                                          |  32 +-
 RELEASE_NOTES.rst                                  |  99 ++-
 STATIC_CODE_CHECKS.rst                             | 376 ++++-----
 TESTING.rst                                        |   8 +-
 airflow/api/client/__init__.py                     |   2 +-
 airflow/cli/commands/connection_command.py         |   8 +-
 airflow/cli/commands/dag_processor_command.py      |   2 +-
 airflow/cli/commands/task_command.py               |   5 +-
 airflow/cli/commands/triggerer_command.py          |  18 +-
 airflow/config_templates/airflow_local_settings.py |  46 +-
 airflow/config_templates/config.yml                |  19 +-
 airflow/config_templates/config.yml.schema.json    |   2 +-
 airflow/config_templates/default_airflow.cfg       |  11 +-
 airflow/config_templates/default_celery.py         |   6 +-
 airflow/configuration.py                           | 522 +++++++++---
 airflow/dag_processing/manager.py                  |   5 +-
 .../example_branch_python_dop_operator_3.py        |   4 +-
 airflow/executors/celery_executor.py               | 143 +++-
 airflow/executors/celery_kubernetes_executor.py    |  13 +
 airflow/executors/executor_loader.py               |   3 +-
 airflow/executors/kubernetes_executor.py           |  12 +-
 airflow/executors/local_kubernetes_executor.py     |  13 +
 airflow/hooks/subprocess.py                        |   2 +-
 airflow/jobs/scheduler_job.py                      |   9 +-
 airflow/kubernetes/pod.py                          |   5 +-
 airflow/kubernetes/pod_runtime_info_env.py         |   1 +
 airflow/kubernetes/volume.py                       |   1 +
 airflow/kubernetes/volume_mount.py                 |   1 +
 ...rent_schema.py => 0001_1_5_0_current_schema.py} |   0
 ...rypted.py => 0002_1_5_0_create_is_encrypted.py} |   0
 ...tibility.py => 0003_1_5_0_for_compatibility.py} |   0
 ... 0004_1_5_0_more_logging_into_task_isntance.py} |   0
 ..._id_indices.py => 0005_1_5_2_job_id_indices.py} |   0
 ...to_log.py => 0006_1_6_0_adding_extra_to_log.py} |   0
 ...b76e_add_dagrun.py => 0007_1_6_0_add_dagrun.py} |   0
 ...ask_duration.py => 0008_1_6_0_task_duration.py} |   0
 ...agrun_config.py => 0009_1_6_0_dagrun_config.py} |   0
 ...y => 0010_1_6_2_add_password_column_to_user.py} |   0
 ...start_end.py => 0011_1_6_2_dagrun_start_end.py} |   0
 ..._0_add_notification_sent_column_to_sla_miss.py} |   0
 ...1_7_0_add_a_column_to_track_the_encryption_.py} |   0
 ..._1_7_0_add_is_encrypted_column_to_variable_.py} |   0
 ...er_table.py => 0015_1_7_1_rename_user_table.py} |   0
 ...e_index.py => 0016_1_7_1_add_ti_state_index.py} |   0
 ... => 0017_1_7_1_add_task_fails_journal_table.py} |   0
 ..._table.py => 0018_1_7_1_add_dag_stats_table.py} |   0
 ..._7_1_add_fractional_seconds_to_mysql_tables.py} |   0
 ...ices.py => 0020_1_7_1_xcom_dag_task_indices.py} |   0
 ...=> 0021_1_7_1_add_pid_field_to_taskinstance.py} |   0
 ...7_1_add_dag_id_state_index_on_dag_run_table.py} |   0
 ...1_8_2_add_max_tries_column_to_task_instance.py} |   0
 ...1_8_2_make_xcom_value_column_a_large_binary.py} |   0
 ..._index.py => 0025_1_8_2_add_ti_job_id_index.py} |   0
 ... => 0026_1_8_2_increase_text_size_for_mysql.py} |   0
 ...s.py => 0027_1_10_0_add_time_zone_awareness.py} |   0
 ..._10_0_add_kubernetes_resource_checkpointing.py} |   0
 ...1_10_0_add_executor_config_to_task_instance.py} |   0
 ..._1_10_0_add_kubernetes_scheduler_uniqueness.py} |   0
 ...6_merge_heads.py => 0031_1_10_0_merge_heads.py} |   0
 ...> 0032_1_10_0_fix_mysql_not_null_constraint.py} |   0
 ...ey.py => 0033_1_10_0_fix_sqlite_foreign_key.py} |   0
 ...x_taskfail.py => 0034_1_10_0_index_taskfail.py} |   0
 ...x_log_dag.py => 0035_1_10_2_add_idx_log_dag.py} |   0
 ...py => 0036_1_10_2_add_index_to_taskinstance.py} |   0
 ...py => 0037_1_10_2_add_task_reschedule_table.py} |   0
 ...ag_index.py => 0038_1_10_2_add_sm_dag_index.py} |   0
 ...field.py => 0039_1_10_2_add_superuser_field.py} |   0
 ..._to_dag.py => 0040_1_10_3_add_fields_to_dag.py} |   0
 ...=> 0041_1_10_3_add_schedule_interval_to_dag.py} |   0
 ...1_10_3_task_reschedule_fk_on_cascade_delete.py} |   0
 ..._1_10_4_make_taskinstance_pool_not_nullable.py} |   0
 ....py => 0044_1_10_7_add_serialized_dag_table.py} |   0
 ...ag.py => 0045_1_10_7_add_root_dag_id_to_dag.py} |   4 +-
 ..._5_change_datetime_to_datetime2_6_on_mssql_.py} |   0
 ... 0047_1_10_4_increase_queue_name_size_limit.py} |   0
 ...ble.py => 0048_1_10_3_remove_dag_stat_table.py} |   0
 ...4_merge_heads.py => 0049_1_10_7_merge_heads.py} |   0
 ...0_7_increase_length_for_connection_password.py} |   0
 ...s_table.py => 0051_1_10_8_add_dagtags_table.py} |   0
 ...10_10_add_pool_slots_field_to_task_instance.py} |   0
 ..._10_add_rendered_task_instance_fields_table.py} |   0
 ...table.py => 0054_1_10_10_add_dag_code_table.py} |   0
 ...11_add_precision_to_execution_date_in_mysql.py} |   0
 ...0_12_add_dag_hash_column_to_serialized_dag_.py} |   0
 ...ab_tables.py => 0057_1_10_13_add_fab_tables.py} |   0
 ..._10_13_increase_length_of_fab_ab_view_menu_.py} |   0
 ..._chart.py => 0059_2_0_0_drop_user_and_chart.py} |   0
 ...py => 0060_2_0_0_remove_id_column_from_xcom.py} |   0
 ... => 0061_2_0_0_increase_length_of_pool_name.py} |   0
 ...n_type.py => 0062_2_0_0_add_dagrun_run_type.py} |   0
 ...=> 0063_2_0_0_set_conn_type_as_non_nullable.py} |   0
 ...0064_2_0_0_add_unique_constraint_to_conn_id.py} |   0
 ...> 0065_2_0_0_update_schema_for_smart_sensor.py} |   0
 ...py => 0066_2_0_0_add_queued_by_job_id_to_ti.py} |   0
 ...> 0067_2_0_0_add_external_executor_id_to_ti.py} |   0
 ...=> 0068_2_0_0_drop_kuberesourceversion_and_.py} |   0
 ..._0_0_add_scheduling_decision_to_dagrun_and_.py} |   0
 ..._fix_mssql_exec_date_rendered_task_instance.py} |   0
 ...py => 0071_2_0_0_add_job_id_to_dagrun_table.py} |   0
 ...72_2_0_0_add_k8s_yaml_to_rendered_templates.py} |   0
 ...ons.py => 0073_2_0_0_prefix_dag_permissions.py} |   0
 ...py => 0074_2_0_0_resource_based_permissions.py} |   0
 ...5_2_0_0_add_description_field_to_connection.py} |   0
 ...0_0_fix_description_field_in_connection_to_.py} |   0
 ..._0_0_change_field_in_dagcode_to_mediumtext_.py} |   0
 ...2_0_1_remove_can_read_permission_on_config_.py} |   0
 ..._2_increase_size_of_connection_extra_field_.py} |   0
 ...> 0080_2_0_2_change_default_pool_slots_to_1.py} |   0
 ...0081_2_0_2_rename_last_scheduler_run_column.py} |   0
 ...1_0_increase_pool_name_size_in_taskinstance.py} |   0
 ...083_2_1_0_add_description_field_to_variable.py} |   0
 ...1_0_resource_based_permissions_for_default_.py} |   0
 ..._2_1_3_add_queued_at_column_to_dagrun_table.py} |   0
 ...1_4_add_max_active_runs_column_to_dagmodel_.py} |   0
 ...2_1_4_add_index_on_state_dag_id_for_queued_.py} |   0
 ...y => 0088_2_2_0_improve_mssql_compatibility.py} |   0
 ...9_2_2_0_make_xcom_pkey_columns_non_nullable.py} |   0
 ...2_0_rename_concurrency_column_in_dag_table_.py} |   0
 ... 0091_2_2_0_add_trigger_table_and_task_info.py} |   0
 ...a_interval_start_end_to_dagmodel_and_dagrun.py} |   0
 ... => 0093_2_2_0_taskinstance_keyed_to_dagrun.py} |   0
 ..._3_add_has_import_errors_column_to_dagmodel.py} |   0
 ...db.py => 0095_2_2_4_add_session_table_to_db.py} |   0
 ...> 0096_2_2_4_adding_index_for_dag_id_in_job.py} |   0
 ...2_3_0_increase_length_of_email_and_username.py} |   0
 ...98_2_3_0_added_timetable_description_column.py} |   0
 ..._2_3_0_add_task_log_filename_template_model.py} |   0
 ..._3_0_add_taskmap_and_map_id_on_taskinstance.py} |   0
 ...2_3_0_add_data_compressed_to_serialized_dag.py} |   0
 ... 0102_2_3_0_switch_xcom_table_to_use_run_id.py} |   0
 ...py => 0103_2_3_0_add_callback_request_table.py} |   0
 ..._0_migrate_rtif_to_use_run_id_and_map_index.py} |   0
 ....py => 0105_2_3_0_add_map_index_to_taskfail.py} |   0
 ...n_for_fab_tables_to_add_missing_constraints.py} |   0
 ...o_log.py => 0107_2_3_0_add_map_index_to_log.py} |   0
 ...grid.py => 0108_2_3_0_default_dag_view_grid.py} |   0
 ...py => 0109_2_3_1_add_index_for_event_in_log.py} |  23 +-
 airflow/models/abstractoperator.py                 |   6 +-
 airflow/models/baseoperator.py                     |   6 +
 airflow/models/dag.py                              |  14 +-
 airflow/models/log.py                              |   5 +-
 airflow/models/mappedoperator.py                   |   8 +-
 airflow/models/pool.py                             |   6 +-
 airflow/models/taskinstance.py                     |  29 +-
 airflow/operators/python.py                        |   3 +-
 airflow/operators/subdag.py                        |  11 +-
 .../providers/amazon/aws/hooks/batch_waiters.py    |   2 +-
 airflow/providers/amazon/aws/operators/ecs.py      |  10 +-
 airflow/providers/amazon/aws/sensors/emr.py        |  10 +-
 airflow/providers/amazon/aws/utils/redshift.py     |   2 +-
 airflow/providers/apache/drill/hooks/drill.py      |   2 +-
 airflow/providers/apache/hive/operators/hive.py    |   6 +-
 .../providers/apache/hive/operators/hive_stats.py  |   5 +-
 .../providers/apache/spark/hooks/spark_submit.py   |   2 +-
 .../providers/cncf/kubernetes/utils/pod_manager.py |   5 +-
 .../databricks/operators/databricks_repos.py       |   2 +-
 .../dingding/example_dags/example_dingding.py      |  10 +-
 .../github/example_dags/example_github.py          |   2 +-
 airflow/providers/github/hooks/github.py           |   6 +-
 airflow/providers/github/provider.yaml             |   2 +-
 airflow/providers/github/sensors/github.py         |   6 +-
 .../cloud/hooks/cloud_storage_transfer_service.py  |   5 +-
 airflow/providers/google/cloud/hooks/datafusion.py |   2 +-
 .../google/cloud/utils/credentials_provider.py     |   2 +-
 .../hashicorp/_internal_client/vault_client.py     |   2 +-
 airflow/providers/influxdb/hooks/influxdb.py       |   8 +-
 .../azure/operators/container_instances.py         |   2 +-
 airflow/providers/mongo/hooks/mongo.py             |  10 +-
 airflow/providers/neo4j/hooks/neo4j.py             |   7 +-
 airflow/providers/qubole/hooks/qubole.py           |   2 +-
 airflow/providers_manager.py                       |   8 +-
 airflow/security/kerberos.py                       |  20 +-
 airflow/sensors/base.py                            |  10 +-
 airflow/sentry.py                                  |   6 +-
 airflow/settings.py                                |   6 +-
 airflow/utils/cli.py                               |   4 +-
 airflow/utils/db.py                                | 139 ++--
 airflow/utils/db_cleanup.py                        |   4 +-
 airflow/utils/dot_renderer.py                      |   9 +-
 airflow/utils/email.py                             |   8 +-
 airflow/utils/file.py                              |  34 +-
 airflow/utils/helpers.py                           |   2 +-
 airflow/utils/mixins.py                            |   2 +-
 airflow/utils/orm_event_handlers.py                |   2 +-
 airflow/utils/sqlalchemy.py                        |   2 +-
 airflow/utils/state.py                             |   2 +-
 airflow/www/ask_for_recompile_assets_if_needed.sh  |   8 +-
 airflow/www/fab_security/manager.py                |  13 +-
 airflow/www/jest-setup.js                          |   6 +-
 airflow/www/package.json                           |   1 +
 airflow/www/static/css/graph.css                   |  19 +
 airflow/www/static/css/{tree.css => grid.css}      |   0
 airflow/www/static/js/datetime_utils.js            |   1 +
 airflow/www/static/js/graph.js                     |   2 +-
 .../ExtraLinks.jsx => grid/AutoRefresh.jsx}        |  57 +-
 airflow/www/static/js/grid/FilterBar.jsx           | 127 +++
 airflow/www/static/js/grid/Grid.jsx                | 118 +++
 airflow/www/static/js/grid/Grid.test.jsx           | 197 +++++
 .../js/{tree/ResetRoot.jsx => grid/LegendRow.jsx}  |  41 +-
 airflow/www/static/js/grid/Main.jsx                |  80 ++
 airflow/www/static/js/{tree => grid}/README.md     |   0
 airflow/www/static/js/{tree => grid}/ResetRoot.jsx |   0
 airflow/www/static/js/grid/ToggleGroups.jsx        |  77 ++
 airflow/www/static/js/{tree => grid}/api/index.js  |   4 +-
 .../static/js/{tree => grid}/api/useClearRun.js    |   4 +-
 .../static/js/{tree => grid}/api/useClearTask.js   |   4 +-
 .../js/{tree => grid}/api/useConfirmMarkTask.js    |   2 +-
 .../static/js/{tree => grid}/api/useExtraLinks.js  |   0
 .../api/useTreeData.js => grid/api/useGridData.js} |  56 +-
 .../api/useGridData.test.jsx}                      |  40 +-
 .../js/{tree => grid}/api/useMappedInstances.js    |   0
 .../js/{tree => grid}/api/useMarkFailedRun.js      |   4 +-
 .../js/{tree => grid}/api/useMarkFailedTask.js     |   4 +-
 .../js/{tree => grid}/api/useMarkSuccessRun.js     |   4 +-
 .../js/{tree => grid}/api/useMarkSuccessTask.js    |   4 +-
 .../static/js/{tree => grid}/api/useQueueRun.js    |   4 +-
 .../www/static/js/{tree => grid}/api/useRunTask.js |   4 +-
 .../www/static/js/{tree => grid}/api/useTasks.js   |   3 +
 .../js/{tree => grid/components}/Clipboard.jsx     |   2 +-
 .../js/grid/components/Clipboard.test.jsx}         |  33 +-
 .../{tree => grid/components}/InstanceTooltip.jsx  |   4 +-
 .../js/grid/components/InstanceTooltip.test.jsx    |  86 ++
 .../js/{tree => grid/components}/StatusBox.jsx     |   5 +-
 .../static/js/{tree => grid/components}/Table.jsx  |  39 +-
 .../www/static/js/grid/components/Table.test.jsx   | 211 +++++
 .../js/{tree => grid/components}/TaskName.jsx      |  10 +-
 .../static/js/grid/components/TaskName.test.jsx    |  53 ++
 .../static/js/{tree => grid/components}/Time.jsx   |   5 +-
 .../www/static/js/grid/components/Time.test.jsx    |  83 ++
 .../js/{tree => grid}/context/autorefresh.jsx      |   6 +-
 .../js/{tree => grid}/context/containerRef.jsx     |   0
 .../static/js/{tree => grid}/context/selection.jsx |   0
 .../static/js/{tree => grid}/context/timezone.jsx  |   5 +-
 .../www/static/js/{tree => grid}/dagRuns/Bar.jsx   |   2 +-
 .../static/js/{tree => grid}/dagRuns/Tooltip.jsx   |   2 +-
 .../www/static/js/{tree => grid}/dagRuns/index.jsx |   6 +-
 .../js/{tree => grid}/dagRuns/index.test.jsx       | 118 ++-
 .../static/js/{tree => grid}/details/Header.jsx    |  30 +-
 .../details/content/ConfirmDialog.jsx              |   2 +-
 .../js/{tree => grid}/details/content/Dag.jsx      |   8 +-
 .../details/content/dagRun/ClearRun.jsx            |  11 +-
 .../details/content/dagRun/MarkFailedRun.jsx       |   5 +-
 .../details/content/dagRun/MarkSuccessRun.jsx      |   5 +-
 .../details/content/dagRun/QueueRun.jsx            |   4 +
 .../details/content/dagRun/index.jsx               |  10 +-
 .../details/content/taskInstance/Details.jsx       |   6 +-
 .../details/content/taskInstance/ExtraLinks.jsx    |   0
 .../details/content/taskInstance/Logs.jsx          |   0
 .../content/taskInstance/MappedInstances.jsx       |  14 +-
 .../details/content/taskInstance/Nav.jsx           |   0
 .../details/content/taskInstance/index.jsx         |  11 +-
 .../taskInstance/taskActions/ActionButton.jsx      |   0
 .../content/taskInstance/taskActions/Clear.jsx     |   6 +-
 .../taskInstance/taskActions/MarkFailed.jsx        |   7 +-
 .../taskInstance/taskActions/MarkSuccess.jsx       |   7 +-
 .../content/taskInstance/taskActions/Run.jsx       |   7 +-
 .../www/static/js/{tree => grid}/details/index.jsx |   4 +-
 airflow/www/static/js/{tree => grid}/index.jsx     |  11 +-
 .../static/js/{tree => grid}/renderTaskRows.jsx    |  59 +-
 airflow/www/static/js/grid/renderTaskRows.test.jsx | 112 +++
 .../treeDataUtils.js => grid/utils/gridData.js}    |   0
 .../ResetRoot.jsx => grid/utils/gridData.test.js}  |  46 +-
 airflow/www/static/js/grid/utils/testUtils.jsx     |  79 ++
 .../js/{tree => grid/utils}/useErrorToast.js       |   4 +-
 .../static/js/grid/utils/useErrorToast.test.jsx    |  52 ++
 airflow/www/static/js/grid/utils/useFilters.js     |  93 +++
 .../www/static/js/grid/utils/useFilters.test.jsx   |  80 ++
 airflow/www/static/js/grid/utils/useSelection.js   |  60 ++
 .../www/static/js/grid/utils/useSelection.test.jsx |  70 ++
 airflow/www/static/js/tree/Tree.jsx                | 144 ----
 airflow/www/static/js/tree/renderTaskRows.test.jsx | 177 ----
 airflow/www/templates/airflow/chart.html           |   2 +-
 airflow/www/templates/airflow/dag.html             |   9 +-
 airflow/www/templates/airflow/duration_chart.html  |   2 +-
 airflow/www/templates/airflow/gantt.html           |   2 +-
 airflow/www/templates/airflow/grid.html            |  49 ++
 airflow/www/templates/airflow/tree.html            |  86 --
 airflow/www/utils.py                               |  19 +-
 airflow/www/views.py                               | 165 ++--
 airflow/www/webpack.config.js                      |   2 +-
 airflow/www/yarn.lock                              |  29 +
 breeze                                             |  14 +-
 breeze-complete                                    |   6 +-
 breeze-legacy                                      |   3 -
 dev/PROVIDER_PACKAGE_DETAILS.md                    |  16 +
 dev/README_RELEASE_AIRFLOW.md                      |  88 +-
 dev/README_RELEASE_HELM_CHART.md                   |   5 +
 dev/README_RELEASE_PROVIDER_PACKAGES.md            |  63 +-
 dev/REFRESHING_CI_CACHE.md                         |   8 +-
 dev/TRACKING_BACKTRACKING_ISSUES.md                |   2 +-
 dev/assign_cherry_picked_prs_with_milestone.py     |   8 +-
 dev/breeze/README.md                               |   2 +-
 .../0002-implement-standalone-python-command.md    |   4 +-
 ...-using-contributed-code-when-building-images.md |   2 +-
 .../0011-unified-communication-with-the-users.md   |  94 +++
 .../doc/adr/0012-asking-user-for-confirmation.md   |  99 +++
 dev/breeze/setup.cfg                               |   2 +-
 dev/breeze/src/airflow_breeze/breeze.py            |   5 +-
 .../src/airflow_breeze/build_image/__init__.py     |  17 -
 .../src/airflow_breeze/build_image/ci/__init__.py  |  17 -
 .../build_image/ci/build_ci_image.py               | 202 -----
 .../build_image/ci/build_ci_params.py              | 182 ----
 .../build_image/prod/build_prod_image.py           | 197 -----
 .../airflow_breeze/commands/ci_image_commands.py   | 543 ++++++++++++
 .../src/airflow_breeze/commands/ci_image_tools.py  | 332 --------
 ...y => configuration_and_maintenance_commands.py} | 209 +++--
 .../airflow_breeze/commands/developer_commands.py  | 284 +++++--
 .../commands/{main.py => main_command.py}          |  12 +-
 ...image_tools.py => production_image_commands.py} | 210 ++++-
 .../airflow_breeze/commands/release_management.py  | 397 ---------
 .../commands/release_management_commands.py        | 766 +++++++++++++++++
 dev/breeze/src/airflow_breeze/commands/testing.py  |  93 ---
 .../airflow_breeze/commands/testing_commands.py    | 163 ++++
 .../{commands => }/configure_rich_click.py         |  22 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |  25 +-
 .../airflow_breeze/params/_common_build_params.py  | 165 ++++
 .../src/airflow_breeze/params/build_ci_params.py   | 101 +++
 .../prod => params}/build_prod_params.py           | 227 +++--
 .../src/airflow_breeze/params/doc_build_params.py  |  44 +
 .../{shell => params}/shell_params.py              |  99 ++-
 dev/breeze/src/airflow_breeze/shell/__init__.py    |  17 -
 dev/breeze/src/airflow_breeze/shell/enter_shell.py | 139 ----
 dev/breeze/src/airflow_breeze/utils/cache.py       |   8 +-
 dev/breeze/src/airflow_breeze/utils/ci_group.py    |  12 +-
 .../{commands => utils}/common_options.py          | 107 ++-
 dev/breeze/src/airflow_breeze/utils/confirm.py     |  42 +-
 dev/breeze/src/airflow_breeze/utils/console.py     |  51 +-
 dev/breeze/src/airflow_breeze/utils/constraints.py |  79 --
 .../{commands => utils}/custom_param_types.py      |  79 +-
 .../airflow_breeze/utils/docker_command_utils.py   | 321 ++++----
 .../utils/find_newer_dependencies.py               |  25 +-
 dev/breeze/src/airflow_breeze/utils/image.py       | 260 ++++++
 .../utils/mark_image_as_refreshed.py               |  30 +-
 .../src/airflow_breeze/utils/md5_build_check.py    |  19 +-
 dev/breeze/src/airflow_breeze/utils/parallel.py    |  22 +-
 dev/breeze/src/airflow_breeze/utils/path_utils.py  |  24 +-
 .../prod/__init__.py => utils/platforms.py}        |   9 +-
 dev/breeze/src/airflow_breeze/utils/pulll_image.py | 170 ----
 .../src/airflow_breeze/utils/python_versions.py    |   8 +-
 dev/breeze/src/airflow_breeze/utils/registry.py    |  30 +-
 dev/breeze/src/airflow_breeze/utils/reinstall.py   |  41 +-
 dev/breeze/src/airflow_breeze/utils/run_tests.py   |   8 +-
 dev/breeze/src/airflow_breeze/utils/run_utils.py   | 156 ++--
 dev/breeze/src/airflow_breeze/utils/visuals.py     |   8 +-
 dev/breeze/tests/test_cache.py                     |   2 +-
 dev/breeze/tests/test_commands.py                  |  20 +-
 dev/breeze/tests/test_docker_command_utils.py      |  68 +-
 dev/breeze/tests/test_find_airflow_directory.py    |   2 +-
 dev/check_files.py                                 |  14 +-
 dev/import_all_classes.py                          | 141 ----
 dev/prepare_bulk_issues.py                         |   2 +-
 dev/prepare_prod_docker_images.sh                  |  85 --
 dev/prepare_release_issue.py                       |   6 +-
 dev/provider_packages/README.md                    | 356 --------
 .../build_provider_documentation.sh                |   2 +-
 dev/provider_packages/prepare_provider_packages.py | 791 ++----------------
 dev/refresh_images.sh                              |   2 +-
 dev/retag_docker_images.py                         |  11 +-
 ...calculate_statistics_provider_testing_issues.py |   2 +-
 docker_tests/docker_tests_utils.py                 |   4 +-
 docs/README.rst                                    |   8 +-
 .../logging/index.rst                              |  34 +-
 docs/apache-airflow-providers-github/commits.rst   |   2 +-
 .../connections/github.rst                         |   6 +-
 docs/apache-airflow-providers-github/index.rst     |   2 +-
 .../operators/index.rst                            |   4 +-
 .../howto/create-update-providers.rst              |  24 +-
 .../installing-from-pypi.rst                       |   2 +-
 docs/apache-airflow/concepts/dags.rst              |  40 +-
 .../concepts/dynamic-task-mapping.rst              |   4 +
 docs/apache-airflow/executor/kubernetes.rst        |   5 +-
 docs/apache-airflow/extra-packages-ref.rst         |  11 +-
 docs/apache-airflow/howto/run-behind-proxy.rst     |   2 +-
 docs/apache-airflow/howto/set-up-database.rst      |   4 +-
 docs/apache-airflow/howto/timetable.rst            |   4 +-
 .../installation/installing-from-pypi.rst          |  14 +-
 docs/apache-airflow/installation/prerequisites.rst |   8 +-
 .../installation/supported-versions.rst            |   2 +-
 docs/apache-airflow/lineage.rst                    |   4 +-
 .../logging-monitoring/callbacks.rst               |   8 +-
 .../logging-monitoring/check-health.rst            |   2 +-
 docs/apache-airflow/logging-monitoring/metrics.rst |   2 +-
 docs/apache-airflow/migrations-ref.rst             |   4 +-
 docs/apache-airflow/security/flower.rst            |   3 +
 docs/apache-airflow/security/webserver.rst         |  10 +-
 docs/apache-airflow/start/docker-compose.yaml      |   6 +
 docs/apache-airflow/start/docker.rst               |   7 +-
 docs/apache-airflow/start/local.rst                |   4 +-
 docs/apache-airflow/timezone.rst                   |   2 +-
 docs/apache-airflow/upgrading-from-1-10/index.rst  |   2 +
 docs/build_docs.py                                 |  32 +-
 docs/docker-stack/README.md                        |  17 +-
 docs/docker-stack/build-arg-ref.rst                |   7 +-
 docs/docker-stack/build.rst                        | 240 +++---
 .../customizing/pypi-extras-and-deps.sh            |   2 +-
 .../customizing/pypi-selected-version.sh           |   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/custom-providers/Dockerfile          |   2 +-
 .../extending/embedding-dags/Dockerfile            |   2 +-
 .../extending/writable-directory/Dockerfile        |   2 +-
 docs/docker-stack/entrypoint.rst                   |  18 +-
 docs/docker-stack/index.rst                        |  11 +-
 docs/exts/docs_build/docs_builder.py               |  18 +-
 docs/exts/docs_build/errors.py                     |   4 +-
 docs/exts/docs_build/spelling_checks.py            |   4 +-
 docs/helm-chart/manage-dags-files.rst              |   6 +-
 images/breeze/output-build-docs.svg                | 280 +++----
 images/breeze/output-build-image.svg               | 282 +++----
 images/breeze/output-build-prod-image.svg          | 316 +++----
 images/breeze/output-cleanup.svg                   | 201 ++---
 images/breeze/output-command-hash-export.svg       |  61 ++
 images/breeze/output-commands-hash.txt             |   1 +
 images/breeze/output-commands.svg                  | 320 +++----
 images/breeze/output-config.svg                    | 212 ++---
 images/breeze/output-docker-compose-tests.svg      | 205 ++---
 images/breeze/output-exec.svg                      |  62 ++
 images/breeze/output-find-newer-dependencies.svg   | 205 ++---
 images/breeze/output-fix-ownership.svg             | 191 ++---
 images/breeze/output-free-space.svg                | 193 ++---
 images/breeze/output-generate-constraints.svg      | 227 ++---
 images/breeze/output-prepare-airflow-package.svg   | 202 ++---
 .../output-prepare-provider-documentation.svg      | 223 ++---
 images/breeze/output-prepare-provider-packages.svg | 226 ++---
 images/breeze/output-pull-image.svg                | 225 ++---
 images/breeze/output-pull-prod-image.svg           | 225 ++---
 images/breeze/output-release-prod-images.svg       |  80 ++
 images/breeze/output-resource-check.svg            | 189 ++---
 images/breeze/output-self-upgrade.svg              | 193 ++---
 images/breeze/output-setup-autocomplete.svg        | 199 ++---
 images/breeze/output-shell.svg                     | 246 +++---
 images/breeze/output-start-airflow.svg             | 251 +++---
 images/breeze/output-static-checks.svg             | 271 +++---
 images/breeze/output-stop.svg                      | 195 ++---
 images/breeze/output-tests.svg                     |  71 ++
 images/breeze/output-verify-image.svg              | 205 ++---
 images/breeze/output-verify-prod-image.svg         | 205 ++---
 images/breeze/output-verify-provider-packages.svg  |  80 ++
 images/breeze/output-version.svg                   | 187 ++---
 scripts/ci/docker-compose/_docker.env              |   4 +-
 scripts/ci/docker-compose/base.yml                 |   4 +-
 scripts/ci/docker-compose/devcontainer.env         |   3 +-
 .../ci/docker-compose/integration-cassandra.yml    |   4 +-
 scripts/ci/libraries/_initialization.sh            |  15 +-
 scripts/ci/libraries/_md5sum.sh                    |   2 +-
 scripts/ci/libraries/_parallel.sh                  |   2 +-
 scripts/ci/libraries/_sanity_checks.sh             |   2 +-
 .../ci/pre_commit/pre_commit_breeze_cmd_line.py    |  36 +-
 .../pre_commit_check_order_dockerfile_extras.py    |   4 +-
 .../ci/pre_commit/pre_commit_check_order_setup.py  |  10 +-
 .../pre_commit_check_pre_commit_hooks.py           |  10 +-
 scripts/ci/pre_commit/pre_commit_flake8.py         |   4 +-
 .../pre_commit_inline_scripts_in_docker.py         |   2 +-
 scripts/ci/pre_commit/pre_commit_insert_extras.py  |   4 +-
 .../pre_commit/pre_commit_migration_reference.py   |   4 +-
 scripts/ci/pre_commit/pre_commit_mypy.py           |   4 +-
 .../ci/pre_commit/pre_commit_supported_versions.py |   2 +-
 scripts/ci/pre_commit/pre_commit_ui_lint.py        |   4 +-
 .../pre_commit_update_breeze_config_hash.py        |   2 +-
 .../ci/pre_commit/pre_commit_update_versions.py    |   2 +-
 scripts/ci/pre_commit/pre_commit_www_lint.py       |   4 +-
 .../ci_install_and_test_provider_packages.sh       |  48 --
 .../ci_make_providers_2_1_compliant.sh             |  27 -
 scripts/ci/selective_ci_checks.sh                  |  14 +-
 scripts/docker/common.sh                           |   4 +-
 scripts/docker/entrypoint_ci.sh                    |  34 +-
 scripts/docker/entrypoint_prod.sh                  |   2 +-
 scripts/docker/install_additional_dependencies.sh  |  15 +-
 scripts/docker/install_airflow.sh                  |  18 +-
 ...install_airflow_dependencies_from_branch_tip.sh |   6 +-
 .../docker/install_from_docker_context_files.sh    |  49 +-
 scripts/docker/install_pipx_tools.sh               |   2 +-
 scripts/in_container/_in_container_utils.sh        |  59 +-
 scripts/in_container/run_generate_constraints.sh   |  23 +-
 .../run_install_and_test_provider_packages.sh      | 344 --------
 scripts/in_container/run_migration_reference.py    |  49 +-
 .../in_container/run_prepare_airflow_packages.sh   |   4 +
 .../run_prepare_provider_documentation.sh          |  29 -
 .../in_container/run_prepare_provider_packages.sh  |   2 +
 scripts/in_container/run_system_tests.sh           |   2 +-
 scripts/in_container/verify_providers.py           | 916 +++++++++++++++++++++
 setup.cfg                                          |   3 +-
 setup.py                                           |   6 +-
 tests/cli/commands/test_dag_processor_command.py   |   2 +-
 tests/cli/commands/test_task_command.py            |  25 +-
 tests/cli/test_cli_parser.py                       |   6 +-
 .../config_templates/deprecated.cfg                |  28 +-
 .../config_templates/deprecated_cmd.cfg            |  27 +-
 .../config_templates/deprecated_secret.cfg         |  27 +-
 .../config_templates/empty.cfg                     |  27 +-
 tests/conftest.py                                  |   2 +-
 tests/core/test_configuration.py                   | 665 +++++++++++----
 tests/dag_processing/test_manager.py               |   2 +-
 tests/executors/test_celery_executor.py            | 151 +++-
 tests/executors/test_celery_kubernetes_executor.py |  22 +
 tests/executors/test_kubernetes_executor.py        |  83 +-
 tests/executors/test_local_kubernetes_executor.py  |  19 +
 tests/hooks/test_subprocess.py                     |   6 +
 tests/jobs/test_scheduler_job.py                   |  36 +
 tests/models/test_baseoperator.py                  |  11 +
 tests/models/test_dagbag.py                        |  18 +-
 tests/models/test_taskinstance.py                  |  83 +-
 tests/operators/test_python.py                     |   3 +
 tests/providers/amazon/aws/hooks/test_sagemaker.py |   7 +-
 .../providers/amazon/aws/sensors/test_emr_base.py  |   5 +-
 tests/sensors/test_external_task_sensor.py         |  10 +-
 tests/serialization/test_dag_serialization.py      |   1 +
 .../google/bigquery/example_bigquery_tables.py     |   2 +-
 tests/test_utils/system_tests_class.py             |  15 +-
 tests/ti_deps/deps/test_ready_to_reschedule_dep.py |   7 +-
 tests/utils/test_config.py                         |  79 ++
 tests/utils/test_db_cleanup.py                     |   2 +-
 tests/utils/test_dot_renderer.py                   |  13 +
 tests/utils/test_file.py                           |  56 +-
 tests/www/test_security.py                         |  67 ++
 tests/www/views/test_views.py                      |  57 ++
 tests/www/views/test_views_connection.py           |  13 +-
 tests/www/views/test_views_graph_gantt.py          |  96 ++-
 tests/www/views/test_views_home.py                 |   2 +-
 tests/www/views/test_views_rendered.py             |  43 +-
 537 files changed, 13024 insertions(+), 11216 deletions(-)
 rename airflow/migrations/versions/{0001_e3a246e0dc1_current_schema.py => 
0001_1_5_0_current_schema.py} (100%)
 rename airflow/migrations/versions/{0002_1507a7289a2f_create_is_encrypted.py 
=> 0002_1_5_0_create_is_encrypted.py} (100%)
 copy airflow/migrations/versions/{0003_13eb55f81627_for_compatibility.py => 
0003_1_5_0_for_compatibility.py} (100%)
 rename 
airflow/migrations/versions/{0004_338e90f54d61_more_logging_into_task_isntance.py
 => 0004_1_5_0_more_logging_into_task_isntance.py} (100%)
 rename airflow/migrations/versions/{0005_52d714495f0_job_id_indices.py => 
0005_1_5_2_job_id_indices.py} (100%)
 rename airflow/migrations/versions/{0006_502898887f84_adding_extra_to_log.py 
=> 0006_1_6_0_adding_extra_to_log.py} (100%)
 rename airflow/migrations/versions/{0007_1b38cef5b76e_add_dagrun.py => 
0007_1_6_0_add_dagrun.py} (100%)
 rename airflow/migrations/versions/{0008_2e541a1dcfed_task_duration.py => 
0008_1_6_0_task_duration.py} (100%)
 rename airflow/migrations/versions/{0009_40e67319e3a9_dagrun_config.py => 
0009_1_6_0_dagrun_config.py} (100%)
 rename 
airflow/migrations/versions/{0010_561833c1c74b_add_password_column_to_user.py 
=> 0010_1_6_2_add_password_column_to_user.py} (100%)
 rename airflow/migrations/versions/{0011_4446e08588_dagrun_start_end.py => 
0011_1_6_2_dagrun_start_end.py} (100%)
 rename 
airflow/migrations/versions/{0012_bbc73705a13e_add_notification_sent_column_to_sla_miss.py
 => 0012_1_7_0_add_notification_sent_column_to_sla_miss.py} (100%)
 rename 
airflow/migrations/versions/{0013_bba5a7cfc896_add_a_column_to_track_the_encryption_.py
 => 0013_1_7_0_add_a_column_to_track_the_encryption_.py} (100%)
 rename 
airflow/migrations/versions/{0014_1968acfc09e3_add_is_encrypted_column_to_variable_.py
 => 0014_1_7_0_add_is_encrypted_column_to_variable_.py} (100%)
 copy airflow/migrations/versions/{0015_2e82aab8ef20_rename_user_table.py => 
0015_1_7_1_rename_user_table.py} (100%)
 rename airflow/migrations/versions/{0016_211e584da130_add_ti_state_index.py => 
0016_1_7_1_add_ti_state_index.py} (100%)
 rename 
airflow/migrations/versions/{0017_64de9cddf6c9_add_task_fails_journal_table.py 
=> 0017_1_7_1_add_task_fails_journal_table.py} (100%)
 rename airflow/migrations/versions/{0018_f2ca10b85618_add_dag_stats_table.py 
=> 0018_1_7_1_add_dag_stats_table.py} (100%)
 rename 
airflow/migrations/versions/{0019_4addfa1236f1_add_fractional_seconds_to_mysql_tables.py
 => 0019_1_7_1_add_fractional_seconds_to_mysql_tables.py} (100%)
 rename airflow/migrations/versions/{0020_8504051e801b_xcom_dag_task_indices.py 
=> 0020_1_7_1_xcom_dag_task_indices.py} (100%)
 copy 
airflow/migrations/versions/{0021_5e7d17757c7a_add_pid_field_to_taskinstance.py 
=> 0021_1_7_1_add_pid_field_to_taskinstance.py} (100%)
 rename 
airflow/migrations/versions/{0022_127d2bf2dfa7_add_dag_id_state_index_on_dag_run_table.py
 => 0022_1_7_1_add_dag_id_state_index_on_dag_run_table.py} (100%)
 rename 
airflow/migrations/versions/{0023_cc1e65623dc7_add_max_tries_column_to_task_instance.py
 => 0023_1_8_2_add_max_tries_column_to_task_instance.py} (100%)
 rename 
airflow/migrations/versions/{0024_bdaa763e6c56_make_xcom_value_column_a_large_binary.py
 => 0024_1_8_2_make_xcom_value_column_a_large_binary.py} (100%)
 rename airflow/migrations/versions/{0025_947454bf1dff_add_ti_job_id_index.py 
=> 0025_1_8_2_add_ti_job_id_index.py} (100%)
 rename 
airflow/migrations/versions/{0026_d2ae31099d61_increase_text_size_for_mysql.py 
=> 0026_1_8_2_increase_text_size_for_mysql.py} (100%)
 rename 
airflow/migrations/versions/{0027_0e2a74e0fc9f_add_time_zone_awareness.py => 
0027_1_10_0_add_time_zone_awareness.py} (100%)
 rename 
airflow/migrations/versions/{0028_33ae817a1ff4_add_kubernetes_resource_checkpointing.py
 => 0028_1_10_0_add_kubernetes_resource_checkpointing.py} (100%)
 rename 
airflow/migrations/versions/{0029_27c6a30d7c24_add_executor_config_to_task_instance.py
 => 0029_1_10_0_add_executor_config_to_task_instance.py} (100%)
 rename 
airflow/migrations/versions/{0030_86770d1215c0_add_kubernetes_scheduler_uniqueness.py
 => 0030_1_10_0_add_kubernetes_scheduler_uniqueness.py} (100%)
 rename airflow/migrations/versions/{0031_05f30312d566_merge_heads.py => 
0031_1_10_0_merge_heads.py} (100%)
 rename 
airflow/migrations/versions/{0032_f23433877c24_fix_mysql_not_null_constraint.py 
=> 0032_1_10_0_fix_mysql_not_null_constraint.py} (100%)
 rename 
airflow/migrations/versions/{0033_856955da8476_fix_sqlite_foreign_key.py => 
0033_1_10_0_fix_sqlite_foreign_key.py} (100%)
 rename airflow/migrations/versions/{0034_9635ae0956e7_index_taskfail.py => 
0034_1_10_0_index_taskfail.py} (100%)
 rename airflow/migrations/versions/{0035_dd25f486b8ea_add_idx_log_dag.py => 
0035_1_10_2_add_idx_log_dag.py} (100%)
 rename 
airflow/migrations/versions/{0036_bf00311e1990_add_index_to_taskinstance.py => 
0036_1_10_2_add_index_to_taskinstance.py} (100%)
 rename 
airflow/migrations/versions/{0037_0a2a5b66e19d_add_task_reschedule_table.py => 
0037_1_10_2_add_task_reschedule_table.py} (100%)
 rename airflow/migrations/versions/{0038_03bc53e68815_add_sm_dag_index.py => 
0038_1_10_2_add_sm_dag_index.py} (100%)
 rename airflow/migrations/versions/{0039_41f5f12752f8_add_superuser_field.py 
=> 0039_1_10_2_add_superuser_field.py} (100%)
 rename airflow/migrations/versions/{0040_c8ffec048a3b_add_fields_to_dag.py => 
0040_1_10_3_add_fields_to_dag.py} (100%)
 rename 
airflow/migrations/versions/{0041_dd4ecb8fbee3_add_schedule_interval_to_dag.py 
=> 0041_1_10_3_add_schedule_interval_to_dag.py} (100%)
 rename 
airflow/migrations/versions/{0042_939bb1e647c8_task_reschedule_fk_on_cascade_delete.py
 => 0042_1_10_3_task_reschedule_fk_on_cascade_delete.py} (100%)
 rename 
airflow/migrations/versions/{0043_6e96a59344a4_make_taskinstance_pool_not_nullable.py
 => 0043_1_10_4_make_taskinstance_pool_not_nullable.py} (100%)
 rename 
airflow/migrations/versions/{0044_d38e04c12aa2_add_serialized_dag_table.py => 
0044_1_10_7_add_serialized_dag_table.py} (100%)
 rename 
airflow/migrations/versions/{0045_b3b105409875_add_root_dag_id_to_dag.py => 
0045_1_10_7_add_root_dag_id_to_dag.py} (91%)
 rename 
airflow/migrations/versions/{0046_74effc47d867_change_datetime_to_datetime2_6_on_mssql_.py
 => 0046_1_10_5_change_datetime_to_datetime2_6_on_mssql_.py} (100%)
 rename 
airflow/migrations/versions/{0047_004c1210f153_increase_queue_name_size_limit.py
 => 0047_1_10_4_increase_queue_name_size_limit.py} (100%)
 rename airflow/migrations/versions/{0048_a56c9515abdc_remove_dag_stat_table.py 
=> 0048_1_10_3_remove_dag_stat_table.py} (100%)
 rename airflow/migrations/versions/{0049_08364691d074_merge_heads.py => 
0049_1_10_7_merge_heads.py} (100%)
 rename 
airflow/migrations/versions/{0050_fe461863935f_increase_length_for_connection_password.py
 => 0050_1_10_7_increase_length_for_connection_password.py} (100%)
 rename airflow/migrations/versions/{0051_7939bcff74ba_add_dagtags_table.py => 
0051_1_10_8_add_dagtags_table.py} (100%)
 rename 
airflow/migrations/versions/{0052_a4c2fd67d16b_add_pool_slots_field_to_task_instance.py
 => 0052_1_10_10_add_pool_slots_field_to_task_instance.py} (100%)
 rename 
airflow/migrations/versions/{0053_852ae6c715af_add_rendered_task_instance_fields_table.py
 => 0053_1_10_10_add_rendered_task_instance_fields_table.py} (100%)
 rename airflow/migrations/versions/{0054_952da73b5eff_add_dag_code_table.py => 
0054_1_10_10_add_dag_code_table.py} (100%)
 rename 
airflow/migrations/versions/{0055_a66efa278eea_add_precision_to_execution_date_in_mysql.py
 => 0055_1_10_11_add_precision_to_execution_date_in_mysql.py} (100%)
 rename 
airflow/migrations/versions/{0056_da3f683c3a5a_add_dag_hash_column_to_serialized_dag_.py
 => 0056_1_10_12_add_dag_hash_column_to_serialized_dag_.py} (100%)
 rename airflow/migrations/versions/{0057_92c57b58940d_add_fab_tables.py => 
0057_1_10_13_add_fab_tables.py} (100%)
 rename 
airflow/migrations/versions/{0058_03afc6b6f902_increase_length_of_fab_ab_view_menu_.py
 => 0058_1_10_13_increase_length_of_fab_ab_view_menu_.py} (100%)
 rename airflow/migrations/versions/{0059_cf5dc11e79ad_drop_user_and_chart.py 
=> 0059_2_0_0_drop_user_and_chart.py} (100%)
 rename 
airflow/migrations/versions/{0060_bbf4a7ad0465_remove_id_column_from_xcom.py => 
0060_2_0_0_remove_id_column_from_xcom.py} (100%)
 rename 
airflow/migrations/versions/{0061_b25a55525161_increase_length_of_pool_name.py 
=> 0061_2_0_0_increase_length_of_pool_name.py} (100%)
 rename airflow/migrations/versions/{0062_3c20cacc0044_add_dagrun_run_type.py 
=> 0062_2_0_0_add_dagrun_run_type.py} (100%)
 rename 
airflow/migrations/versions/{0063_8f966b9c467a_set_conn_type_as_non_nullable.py 
=> 0063_2_0_0_set_conn_type_as_non_nullable.py} (100%)
 rename 
airflow/migrations/versions/{0064_8d48763f6d53_add_unique_constraint_to_conn_id.py
 => 0064_2_0_0_add_unique_constraint_to_conn_id.py} (100%)
 rename 
airflow/migrations/versions/{0065_e38be357a868_update_schema_for_smart_sensor.py
 => 0065_2_0_0_update_schema_for_smart_sensor.py} (100%)
 rename 
airflow/migrations/versions/{0066_b247b1e3d1ed_add_queued_by_job_id_to_ti.py => 
0066_2_0_0_add_queued_by_job_id_to_ti.py} (100%)
 rename 
airflow/migrations/versions/{0067_e1a11ece99cc_add_external_executor_id_to_ti.py
 => 0067_2_0_0_add_external_executor_id_to_ti.py} (100%)
 rename 
airflow/migrations/versions/{0068_bef4f3d11e8b_drop_kuberesourceversion_and_.py 
=> 0068_2_0_0_drop_kuberesourceversion_and_.py} (100%)
 rename 
airflow/migrations/versions/{0069_98271e7606e2_add_scheduling_decision_to_dagrun_and_.py
 => 0069_2_0_0_add_scheduling_decision_to_dagrun_and_.py} (100%)
 rename 
airflow/migrations/versions/{0070_52d53670a240_fix_mssql_exec_date_rendered_task_instance.py
 => 0070_2_0_0_fix_mssql_exec_date_rendered_task_instance.py} (100%)
 rename 
airflow/migrations/versions/{0071_364159666cbd_add_job_id_to_dagrun_table.py => 
0071_2_0_0_add_job_id_to_dagrun_table.py} (100%)
 rename 
airflow/migrations/versions/{0072_45ba3f1493b9_add_k8s_yaml_to_rendered_templates.py
 => 0072_2_0_0_add_k8s_yaml_to_rendered_templates.py} (100%)
 rename 
airflow/migrations/versions/{0073_849da589634d_prefix_dag_permissions.py => 
0073_2_0_0_prefix_dag_permissions.py} (100%)
 rename 
airflow/migrations/versions/{0074_2c6edca13270_resource_based_permissions.py => 
0074_2_0_0_resource_based_permissions.py} (100%)
 rename 
airflow/migrations/versions/{0075_61ec73d9401f_add_description_field_to_connection.py
 => 0075_2_0_0_add_description_field_to_connection.py} (100%)
 rename 
airflow/migrations/versions/{0076_64a7d6477aae_fix_description_field_in_connection_to_.py
 => 0076_2_0_0_fix_description_field_in_connection_to_.py} (100%)
 rename 
airflow/migrations/versions/{0077_e959f08ac86c_change_field_in_dagcode_to_mediumtext_.py
 => 0077_2_0_0_change_field_in_dagcode_to_mediumtext_.py} (100%)
 rename 
airflow/migrations/versions/{0078_82b7c48c147f_remove_can_read_permission_on_config_.py
 => 0078_2_0_1_remove_can_read_permission_on_config_.py} (100%)
 rename 
airflow/migrations/versions/{0079_449b4072c2da_increase_size_of_connection_extra_field_.py
 => 0079_2_0_2_increase_size_of_connection_extra_field_.py} (100%)
 rename 
airflow/migrations/versions/{0080_8646922c8a04_change_default_pool_slots_to_1.py
 => 0080_2_0_2_change_default_pool_slots_to_1.py} (100%)
 rename 
airflow/migrations/versions/{0081_2e42bb497a22_rename_last_scheduler_run_column.py
 => 0081_2_0_2_rename_last_scheduler_run_column.py} (100%)
 rename 
airflow/migrations/versions/{0082_90d1635d7b86_increase_pool_name_size_in_taskinstance.py
 => 0082_2_1_0_increase_pool_name_size_in_taskinstance.py} (100%)
 rename 
airflow/migrations/versions/{0083_e165e7455d70_add_description_field_to_variable.py
 => 0083_2_1_0_add_description_field_to_variable.py} (100%)
 rename 
airflow/migrations/versions/{0084_a13f7613ad25_resource_based_permissions_for_default_.py
 => 0084_2_1_0_resource_based_permissions_for_default_.py} (100%)
 rename 
airflow/migrations/versions/{0085_97cdd93827b8_add_queued_at_column_to_dagrun_table.py
 => 0085_2_1_3_add_queued_at_column_to_dagrun_table.py} (100%)
 rename 
airflow/migrations/versions/{0086_092435bf5d12_add_max_active_runs_column_to_dagmodel_.py
 => 0086_2_1_4_add_max_active_runs_column_to_dagmodel_.py} (100%)
 rename 
airflow/migrations/versions/{0087_ccde3e26fe78_add_index_on_state_dag_id_for_queued_.py
 => 0087_2_1_4_add_index_on_state_dag_id_for_queued_.py} (100%)
 rename 
airflow/migrations/versions/{0088_83f031fd9f1c_improve_mssql_compatibility.py 
=> 0088_2_2_0_improve_mssql_compatibility.py} (100%)
 rename 
airflow/migrations/versions/{0089_e9304a3141f0_make_xcom_pkey_columns_non_nullable.py
 => 0089_2_2_0_make_xcom_pkey_columns_non_nullable.py} (100%)
 rename 
airflow/migrations/versions/{0090_30867afad44a_rename_concurrency_column_in_dag_table_.py
 => 0090_2_2_0_rename_concurrency_column_in_dag_table_.py} (100%)
 rename 
airflow/migrations/versions/{0091_54bebd308c5f_add_trigger_table_and_task_info.py
 => 0091_2_2_0_add_trigger_table_and_task_info.py} (100%)
 rename 
airflow/migrations/versions/{0092_142555e44c17_add_data_interval_start_end_to_dagmodel_and_dagrun.py
 => 0092_2_2_0_add_data_interval_start_end_to_dagmodel_and_dagrun.py} (100%)
 rename 
airflow/migrations/versions/{0093_7b2661a43ba3_taskinstance_keyed_to_dagrun.py 
=> 0093_2_2_0_taskinstance_keyed_to_dagrun.py} (100%)
 rename 
airflow/migrations/versions/{0094_be2bfac3da23_add_has_import_errors_column_to_dagmodel.py
 => 0094_2_2_3_add_has_import_errors_column_to_dagmodel.py} (100%)
 rename 
airflow/migrations/versions/{0095_c381b21cb7e4_add_session_table_to_db.py => 
0095_2_2_4_add_session_table_to_db.py} (100%)
 rename 
airflow/migrations/versions/{0096_587bdf053233_adding_index_for_dag_id_in_job.py
 => 0096_2_2_4_adding_index_for_dag_id_in_job.py} (100%)
 rename 
airflow/migrations/versions/{0097_5e3ec427fdd3_increase_length_of_email_and_username.py
 => 0097_2_3_0_increase_length_of_email_and_username.py} (100%)
 rename 
airflow/migrations/versions/{0098_786e3737b18f_added_timetable_description_column.py
 => 0098_2_3_0_added_timetable_description_column.py} (100%)
 rename 
airflow/migrations/versions/{0099_f9da662e7089_add_task_log_filename_template_model.py
 => 0099_2_3_0_add_task_log_filename_template_model.py} (100%)
 rename 
airflow/migrations/versions/{0100_e655c0453f75_add_taskmap_and_map_id_on_taskinstance.py
 => 0100_2_3_0_add_taskmap_and_map_id_on_taskinstance.py} (100%)
 rename 
airflow/migrations/versions/{0101_a3bcd0914482_add_data_compressed_to_serialized_dag.py
 => 0101_2_3_0_add_data_compressed_to_serialized_dag.py} (100%)
 rename 
airflow/migrations/versions/{0102_c306b5b5ae4a_switch_xcom_table_to_use_run_id.py
 => 0102_2_3_0_switch_xcom_table_to_use_run_id.py} (100%)
 rename 
airflow/migrations/versions/{0103_c97c2ab6aa23_add_callback_request_table.py => 
0103_2_3_0_add_callback_request_table.py} (100%)
 rename 
airflow/migrations/versions/{0104_4eaab2fe6582_migrate_rtif_to_use_run_id_and_map_index.py
 => 0104_2_3_0_migrate_rtif_to_use_run_id_and_map_index.py} (100%)
 rename 
airflow/migrations/versions/{0105_48925b2719cb_add_map_index_to_taskfail.py => 
0105_2_3_0_add_map_index_to_taskfail.py} (100%)
 rename 
airflow/migrations/versions/{0106_909884dea523_update_migration_for_fab_tables_to_add_missing_constraints.py
 => 0106_2_3_0_update_migration_for_fab_tables_to_add_missing_constraints.py} 
(100%)
 rename airflow/migrations/versions/{0107_75d5ed6c2b43_add_map_index_to_log.py 
=> 0107_2_3_0_add_map_index_to_log.py} (100%)
 rename airflow/migrations/versions/{0108_b1b348e02d07_default_dag_view_grid.py 
=> 0108_2_3_0_default_dag_view_grid.py} (100%)
 rename 
airflow/migrations/versions/{0021_5e7d17757c7a_add_pid_field_to_taskinstance.py 
=> 0109_2_3_1_add_index_for_event_in_log.py} (66%)
 rename airflow/www/static/css/{tree.css => grid.css} (100%)
 copy airflow/www/static/js/{tree/details/content/taskInstance/ExtraLinks.jsx 
=> grid/AutoRefresh.jsx} (53%)
 create mode 100644 airflow/www/static/js/grid/FilterBar.jsx
 create mode 100644 airflow/www/static/js/grid/Grid.jsx
 create mode 100644 airflow/www/static/js/grid/Grid.test.jsx
 copy airflow/www/static/js/{tree/ResetRoot.jsx => grid/LegendRow.jsx} (63%)
 create mode 100644 airflow/www/static/js/grid/Main.jsx
 rename airflow/www/static/js/{tree => grid}/README.md (100%)
 copy airflow/www/static/js/{tree => grid}/ResetRoot.jsx (100%)
 create mode 100644 airflow/www/static/js/grid/ToggleGroups.jsx
 rename airflow/www/static/js/{tree => grid}/api/index.js (97%)
 rename airflow/www/static/js/{tree => grid}/api/useClearRun.js (94%)
 rename airflow/www/static/js/{tree => grid}/api/useClearTask.js (95%)
 rename airflow/www/static/js/{tree => grid}/api/useConfirmMarkTask.js (96%)
 rename airflow/www/static/js/{tree => grid}/api/useExtraLinks.js (100%)
 rename airflow/www/static/js/{tree/api/useTreeData.js => 
grid/api/useGridData.js} (57%)
 rename airflow/www/static/js/{tree/api/useTreeData.test.jsx => 
grid/api/useGridData.test.jsx} (68%)
 rename airflow/www/static/js/{tree => grid}/api/useMappedInstances.js (100%)
 rename airflow/www/static/js/{tree => grid}/api/useMarkFailedRun.js (94%)
 rename airflow/www/static/js/{tree => grid}/api/useMarkFailedTask.js (95%)
 rename airflow/www/static/js/{tree => grid}/api/useMarkSuccessRun.js (94%)
 rename airflow/www/static/js/{tree => grid}/api/useMarkSuccessTask.js (95%)
 rename airflow/www/static/js/{tree => grid}/api/useQueueRun.js (94%)
 rename airflow/www/static/js/{tree => grid}/api/useRunTask.js (95%)
 rename airflow/www/static/js/{tree => grid}/api/useTasks.js (95%)
 rename airflow/www/static/js/{tree => grid/components}/Clipboard.jsx (97%)
 copy airflow/www/{jest-setup.js => 
static/js/grid/components/Clipboard.test.jsx} (57%)
 rename airflow/www/static/js/{tree => grid/components}/InstanceTooltip.jsx 
(95%)
 create mode 100644 
airflow/www/static/js/grid/components/InstanceTooltip.test.jsx
 rename airflow/www/static/js/{tree => grid/components}/StatusBox.jsx (92%)
 rename airflow/www/static/js/{tree => grid/components}/Table.jsx (90%)
 create mode 100644 airflow/www/static/js/grid/components/Table.test.jsx
 rename airflow/www/static/js/{tree => grid/components}/TaskName.jsx (88%)
 create mode 100644 airflow/www/static/js/grid/components/TaskName.test.jsx
 rename airflow/www/static/js/{tree => grid/components}/Time.jsx (92%)
 create mode 100644 airflow/www/static/js/grid/components/Time.test.jsx
 rename airflow/www/static/js/{tree => grid}/context/autorefresh.jsx (94%)
 rename airflow/www/static/js/{tree => grid}/context/containerRef.jsx (100%)
 rename airflow/www/static/js/{tree => grid}/context/selection.jsx (100%)
 rename airflow/www/static/js/{tree => grid}/context/timezone.jsx (93%)
 rename airflow/www/static/js/{tree => grid}/dagRuns/Bar.jsx (99%)
 rename airflow/www/static/js/{tree => grid}/dagRuns/Tooltip.jsx (97%)
 rename airflow/www/static/js/{tree => grid}/dagRuns/index.jsx (95%)
 rename airflow/www/static/js/{tree => grid}/dagRuns/index.test.jsx (54%)
 rename airflow/www/static/js/{tree => grid}/details/Header.jsx (77%)
 rename airflow/www/static/js/{tree => grid}/details/content/ConfirmDialog.jsx 
(95%)
 rename airflow/www/static/js/{tree => grid}/details/content/Dag.jsx (95%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/dagRun/ClearRun.jsx (87%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/dagRun/MarkFailedRun.jsx (92%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/dagRun/MarkSuccessRun.jsx (92%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/dagRun/QueueRun.jsx (93%)
 rename airflow/www/static/js/{tree => grid}/details/content/dagRun/index.jsx 
(94%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/Details.jsx (95%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/ExtraLinks.jsx (100%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/Logs.jsx (100%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/MappedInstances.jsx (91%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/Nav.jsx (100%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/index.jsx (96%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/taskActions/ActionButton.jsx (100%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/taskActions/Clear.jsx (94%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/taskActions/MarkFailed.jsx (94%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/taskActions/MarkSuccess.jsx (94%)
 rename airflow/www/static/js/{tree => 
grid}/details/content/taskInstance/taskActions/Run.jsx (92%)
 rename airflow/www/static/js/{tree => grid}/details/index.jsx (91%)
 rename airflow/www/static/js/{tree => grid}/index.jsx (91%)
 rename airflow/www/static/js/{tree => grid}/renderTaskRows.jsx (74%)
 create mode 100644 airflow/www/static/js/grid/renderTaskRows.test.jsx
 rename airflow/www/static/js/{tree/treeDataUtils.js => grid/utils/gridData.js} 
(100%)
 rename airflow/www/static/js/{tree/ResetRoot.jsx => 
grid/utils/gridData.test.js} (54%)
 create mode 100644 airflow/www/static/js/grid/utils/testUtils.jsx
 rename airflow/www/static/js/{tree => grid/utils}/useErrorToast.js (92%)
 create mode 100644 airflow/www/static/js/grid/utils/useErrorToast.test.jsx
 create mode 100644 airflow/www/static/js/grid/utils/useFilters.js
 create mode 100644 airflow/www/static/js/grid/utils/useFilters.test.jsx
 create mode 100644 airflow/www/static/js/grid/utils/useSelection.js
 create mode 100644 airflow/www/static/js/grid/utils/useSelection.test.jsx
 delete mode 100644 airflow/www/static/js/tree/Tree.jsx
 delete mode 100644 airflow/www/static/js/tree/renderTaskRows.test.jsx
 create mode 100644 airflow/www/templates/airflow/grid.html
 delete mode 100644 airflow/www/templates/airflow/tree.html
 create mode 100644 
dev/breeze/doc/adr/0011-unified-communication-with-the-users.md
 create mode 100644 dev/breeze/doc/adr/0012-asking-user-for-confirmation.md
 delete mode 100644 dev/breeze/src/airflow_breeze/build_image/__init__.py
 delete mode 100644 dev/breeze/src/airflow_breeze/build_image/ci/__init__.py
 delete mode 100644 
dev/breeze/src/airflow_breeze/build_image/ci/build_ci_image.py
 delete mode 100644 
dev/breeze/src/airflow_breeze/build_image/ci/build_ci_params.py
 delete mode 100644 
dev/breeze/src/airflow_breeze/build_image/prod/build_prod_image.py
 create mode 100644 dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
 delete mode 100644 dev/breeze/src/airflow_breeze/commands/ci_image_tools.py
 rename 
dev/breeze/src/airflow_breeze/commands/{configuration_and_maintenance.py => 
configuration_and_maintenance_commands.py} (68%)
 rename dev/breeze/src/airflow_breeze/commands/{main.py => main_command.py} 
(84%)
 rename dev/breeze/src/airflow_breeze/commands/{production_image_tools.py => 
production_image_commands.py} (57%)
 delete mode 100644 dev/breeze/src/airflow_breeze/commands/release_management.py
 create mode 100644 
dev/breeze/src/airflow_breeze/commands/release_management_commands.py
 delete mode 100644 dev/breeze/src/airflow_breeze/commands/testing.py
 create mode 100644 dev/breeze/src/airflow_breeze/commands/testing_commands.py
 rename dev/breeze/src/airflow_breeze/{commands => }/configure_rich_click.py 
(75%)
 create mode 100644 dev/breeze/src/airflow_breeze/params/_common_build_params.py
 create mode 100644 dev/breeze/src/airflow_breeze/params/build_ci_params.py
 rename dev/breeze/src/airflow_breeze/{build_image/prod => 
params}/build_prod_params.py (55%)
 create mode 100644 dev/breeze/src/airflow_breeze/params/doc_build_params.py
 rename dev/breeze/src/airflow_breeze/{shell => params}/shell_params.py (75%)
 delete mode 100644 dev/breeze/src/airflow_breeze/shell/__init__.py
 delete mode 100644 dev/breeze/src/airflow_breeze/shell/enter_shell.py
 rename dev/breeze/src/airflow_breeze/{commands => utils}/common_options.py 
(79%)
 delete mode 100644 dev/breeze/src/airflow_breeze/utils/constraints.py
 rename dev/breeze/src/airflow_breeze/{commands => utils}/custom_param_types.py 
(60%)
 create mode 100644 dev/breeze/src/airflow_breeze/utils/image.py
 copy airflow/migrations/versions/0003_13eb55f81627_for_compatibility.py => 
dev/breeze/src/airflow_breeze/utils/mark_image_as_refreshed.py (55%)
 rename dev/breeze/src/airflow_breeze/{build_image/prod/__init__.py => 
utils/platforms.py} (71%)
 delete mode 100644 dev/breeze/src/airflow_breeze/utils/pulll_image.py
 delete mode 100755 dev/import_all_classes.py
 delete mode 100755 dev/prepare_prod_docker_images.sh
 delete mode 100644 dev/provider_packages/README.md
 create mode 100644 images/breeze/output-command-hash-export.svg
 create mode 100644 images/breeze/output-commands-hash.txt
 create mode 100644 images/breeze/output-exec.svg
 create mode 100644 images/breeze/output-release-prod-images.svg
 create mode 100644 images/breeze/output-tests.svg
 create mode 100644 images/breeze/output-verify-provider-packages.svg
 delete mode 100755 
scripts/ci/provider_packages/ci_install_and_test_provider_packages.sh
 delete mode 100755 
scripts/ci/provider_packages/ci_make_providers_2_1_compliant.sh
 delete mode 100755 
scripts/in_container/run_install_and_test_provider_packages.sh
 create mode 100755 scripts/in_container/verify_providers.py
 copy airflow/migrations/versions/0003_13eb55f81627_for_compatibility.py => 
tests/config_templates/deprecated.cfg (63%)
 copy airflow/migrations/versions/0003_13eb55f81627_for_compatibility.py => 
tests/config_templates/deprecated_cmd.cfg (62%)
 rename airflow/migrations/versions/0003_13eb55f81627_for_compatibility.py => 
tests/config_templates/deprecated_secret.cfg (63%)
 rename airflow/migrations/versions/0015_2e82aab8ef20_rename_user_table.py => 
tests/config_templates/empty.cfg (65%)
 create mode 100644 tests/utils/test_config.py

Reply via email to