You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2021/05/12 23:45:20 UTC

[GitHub] [airflow] jhtimmins opened a new pull request #15811: Add v2.1 changelog

jhtimmins opened a new pull request #15811:
URL: https://github.com/apache/airflow/pull/15811


   <!--
   Thank you for contributing! Please make sure that your code changes
   are covered with tests. And in case of new features or big changes
   remember to adjust the documentation.
   
   Feel free to ping committers for the review!
   
   In case of existing issue, reference it using one of the following:
   
   closes: #ISSUE
   related: #ISSUE
   
   How to write a good git commit message:
   http://chris.beams.io/posts/git-commit/
   -->
   
   ---
   **^ Add meaningful description above**
   
   Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#pull-request-guidelines)** for more information.
   In case of fundamental code change, Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals)) is needed.
   In case of a new dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x).
   In case of backwards incompatible changes please leave a note in [UPDATING.md](https://github.com/apache/airflow/blob/master/UPDATING.md).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] ashb commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
ashb commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r633003042



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,208 @@
+Airflow 2.1.0, 2021-05-11

Review comment:
       Date is wrong now. (Stupid lack of reliable fortune tellers)




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] ashb commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
ashb commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r632514533



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)

Review comment:
       ```suggestion
   52339a55c Host key can be specified via SSH connection extras. (#12944)
   f25ec3368 Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
   72d370809 Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)

Review comment:
       ```suggestion
   86ad62815 More verbose logs when running ``airflow db check-migrations`` (#15662)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)

Review comment:
       ```suggestion
   6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)
   1627323a1 Faster default role syncing during webserver start (#15017)
   8711f90ab Prevent creating flask sessions on REST API requests (#15295)
   d52ad8752 Sync DAG specific permissions when parsing (#15311)
   bc5ced3e5 Increase maximum length of pool name on Tasks to 256 characters (#15203)
   231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)
+6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)
+01a5d36e6 Running tests in parallel (#14915)
+d6e1d7b3c Replace deprecated decorator (#13443)
+a9314dd63 clean up gantt js (#14545)
+e395fcd24 Pre commit new UI (#14836)
+a7f2cc267 UI scaffold views, routes, and layout containers for Runs and Tasks (#15041)
+70f184add Bump UI packages to latest releases (#14902)
+e9e86a590 Initialize the new UI project (#14691)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)

Review comment:
       ```suggestion
   ```
   
   Was included in 2.0.2

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)

Review comment:
       ```suggestion
   31b691896 BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)

Review comment:
       ```suggestion
   409c24912 Webserver: Sanitize string passed to origin param (#14738)
   1cdd1cd3a Prevent mixed case env vars from crashing processes like worker (#14380)
   3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
   1543bb73c Fixed type annotations in DAG decorator (#15778)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)

Review comment:
       Provider only
   
   ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)
+6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)
+01a5d36e6 Running tests in parallel (#14915)
+d6e1d7b3c Replace deprecated decorator (#13443)
+a9314dd63 clean up gantt js (#14545)
+e395fcd24 Pre commit new UI (#14836)
+a7f2cc267 UI scaffold views, routes, and layout containers for Runs and Tasks (#15041)
+70f184add Bump UI packages to latest releases (#14902)
+e9e86a590 Initialize the new UI project (#14691)
+e7bb17aeb Use built-in `cached_property` on Python 3.8 where possible (#14606)
+14805cc01 Clean-up JS code in UI templates (#14019)
+6851677a8 Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
+ea0710edc Run kubernetes tests in parallel (#15222)
+3585b3c54 Remove 'conf' from search_columns in DagRun View (#15099)
+a9ac2b040 Switch to f-strings using flynt. (#13732)
+523fb5c3f use jquery ready instead of vanilla js (#15258)
+9dd14aae4 Migrate task instance log (ti_log) js (#15309)
+bcc6c9331 Migrate graph js (#15307)
+ce457295c Migrate dags.html javascript (#14692)
+d65e492a3 Removes unnecessary AzureContainerInstance connection type (#15514)
+ce91872ec Better compatibility/diagnostics for arbitrary UID in docker image (#15162)
+6d7a70b88 Separate Kubernetes pod_launcher from core airflow (#15165)
+1d641d8f1 update remaining old import paths of operators (#15127)
+6e99ae056 Allow pathlib.Path in DagBag and various util fns (#15110)
+1d0c16848 Move celery.default_queue to operators.default_queue to re-use between executors  (#14699)
+eb64155e3 improve react-query testing (#15043)
+e7eb449c8 Remove extra/needless deprecation warnings from airflow.contrib module (#15065)
+73200379f Merge contextlib.suppress() calls (#15029)
+72d370809 Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+7b6b84896 Excludes .git-modules from rat-check (#14759)
+3be1e1996 Remove broken and undocumented "demo mode" feature (#14601)
+409c24912 Webserver: Sanitize string passed to origin param (#14738)
+1cdd1cd3a Prevent mixed case env vars from crashing processes like worker (#14380)
+b753c7fa6 Prepare ad-hoc release of the four previously excluded providers (#14655)
+201d6e43f Remove unused usage of logging module (#14632)
+6ef23aff8 Streamline & simplify __eq__ methods in models Dag and BaseOperator (#13449)
+d7f7c63ca Make Smart Sensors DB Migration idempotent (#13892)
+aa08382ff Simplify configuration/legibility of Webpack entries (#14551)
+8801a0cc3 remove inline tree js (#14552)
+9f14724d1 Js linting and inline migration for simple scripts (#14215)
+4336f4cfd Use `Lax` for `cookie_samesite` when empty string is passed (#14183)
+e35bdb94b json-merge-patch becomes optional library and has looser restrictions (#13175)
+568327f01 Disable row level locking for Mariadb and MySQL <8 (#14031)
+e7f176d2d Sync DB Migrations in Master with 2.0.1 (#14155)
+da80b6981 Limits Sphinx to <3.5.0 (#14238)
+c427f3c77 Remove duplicate dependecies (#14611)
+7daebefd1 Use libyaml C library when available. (#14577)

Review comment:
       This one was in 2.0.2
   ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)

Review comment:
       Improvement
   
   ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)
+6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)

Review comment:
       ```suggestion
   ```
   
   (Provider only)

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)
+6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)
+01a5d36e6 Running tests in parallel (#14915)
+d6e1d7b3c Replace deprecated decorator (#13443)
+a9314dd63 clean up gantt js (#14545)
+e395fcd24 Pre commit new UI (#14836)
+a7f2cc267 UI scaffold views, routes, and layout containers for Runs and Tasks (#15041)
+70f184add Bump UI packages to latest releases (#14902)
+e9e86a590 Initialize the new UI project (#14691)
+e7bb17aeb Use built-in `cached_property` on Python 3.8 where possible (#14606)
+14805cc01 Clean-up JS code in UI templates (#14019)
+6851677a8 Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
+ea0710edc Run kubernetes tests in parallel (#15222)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)
+6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)
+01a5d36e6 Running tests in parallel (#14915)
+d6e1d7b3c Replace deprecated decorator (#13443)
+a9314dd63 clean up gantt js (#14545)
+e395fcd24 Pre commit new UI (#14836)
+a7f2cc267 UI scaffold views, routes, and layout containers for Runs and Tasks (#15041)
+70f184add Bump UI packages to latest releases (#14902)
+e9e86a590 Initialize the new UI project (#14691)
+e7bb17aeb Use built-in `cached_property` on Python 3.8 where possible (#14606)
+14805cc01 Clean-up JS code in UI templates (#14019)
+6851677a8 Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
+ea0710edc Run kubernetes tests in parallel (#15222)
+3585b3c54 Remove 'conf' from search_columns in DagRun View (#15099)
+a9ac2b040 Switch to f-strings using flynt. (#13732)
+523fb5c3f use jquery ready instead of vanilla js (#15258)
+9dd14aae4 Migrate task instance log (ti_log) js (#15309)
+bcc6c9331 Migrate graph js (#15307)
+ce457295c Migrate dags.html javascript (#14692)
+d65e492a3 Removes unnecessary AzureContainerInstance connection type (#15514)
+ce91872ec Better compatibility/diagnostics for arbitrary UID in docker image (#15162)
+6d7a70b88 Separate Kubernetes pod_launcher from core airflow (#15165)
+1d641d8f1 update remaining old import paths of operators (#15127)
+6e99ae056 Allow pathlib.Path in DagBag and various util fns (#15110)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)
+6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)
+01a5d36e6 Running tests in parallel (#14915)
+d6e1d7b3c Replace deprecated decorator (#13443)
+a9314dd63 clean up gantt js (#14545)
+e395fcd24 Pre commit new UI (#14836)
+a7f2cc267 UI scaffold views, routes, and layout containers for Runs and Tasks (#15041)
+70f184add Bump UI packages to latest releases (#14902)
+e9e86a590 Initialize the new UI project (#14691)
+e7bb17aeb Use built-in `cached_property` on Python 3.8 where possible (#14606)
+14805cc01 Clean-up JS code in UI templates (#14019)
+6851677a8 Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
+ea0710edc Run kubernetes tests in parallel (#15222)
+3585b3c54 Remove 'conf' from search_columns in DagRun View (#15099)
+a9ac2b040 Switch to f-strings using flynt. (#13732)
+523fb5c3f use jquery ready instead of vanilla js (#15258)
+9dd14aae4 Migrate task instance log (ti_log) js (#15309)
+bcc6c9331 Migrate graph js (#15307)
+ce457295c Migrate dags.html javascript (#14692)
+d65e492a3 Removes unnecessary AzureContainerInstance connection type (#15514)
+ce91872ec Better compatibility/diagnostics for arbitrary UID in docker image (#15162)
+6d7a70b88 Separate Kubernetes pod_launcher from core airflow (#15165)
+1d641d8f1 update remaining old import paths of operators (#15127)
+6e99ae056 Allow pathlib.Path in DagBag and various util fns (#15110)
+1d0c16848 Move celery.default_queue to operators.default_queue to re-use between executors  (#14699)
+eb64155e3 improve react-query testing (#15043)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)
+6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)
+01a5d36e6 Running tests in parallel (#14915)
+d6e1d7b3c Replace deprecated decorator (#13443)
+a9314dd63 clean up gantt js (#14545)
+e395fcd24 Pre commit new UI (#14836)
+a7f2cc267 UI scaffold views, routes, and layout containers for Runs and Tasks (#15041)
+70f184add Bump UI packages to latest releases (#14902)
+e9e86a590 Initialize the new UI project (#14691)
+e7bb17aeb Use built-in `cached_property` on Python 3.8 where possible (#14606)
+14805cc01 Clean-up JS code in UI templates (#14019)
+6851677a8 Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
+ea0710edc Run kubernetes tests in parallel (#15222)
+3585b3c54 Remove 'conf' from search_columns in DagRun View (#15099)
+a9ac2b040 Switch to f-strings using flynt. (#13732)
+523fb5c3f use jquery ready instead of vanilla js (#15258)
+9dd14aae4 Migrate task instance log (ti_log) js (#15309)
+bcc6c9331 Migrate graph js (#15307)
+ce457295c Migrate dags.html javascript (#14692)
+d65e492a3 Removes unnecessary AzureContainerInstance connection type (#15514)
+ce91872ec Better compatibility/diagnostics for arbitrary UID in docker image (#15162)
+6d7a70b88 Separate Kubernetes pod_launcher from core airflow (#15165)
+1d641d8f1 update remaining old import paths of operators (#15127)
+6e99ae056 Allow pathlib.Path in DagBag and various util fns (#15110)
+1d0c16848 Move celery.default_queue to operators.default_queue to re-use between executors  (#14699)
+eb64155e3 improve react-query testing (#15043)
+e7eb449c8 Remove extra/needless deprecation warnings from airflow.contrib module (#15065)
+73200379f Merge contextlib.suppress() calls (#15029)
+72d370809 Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+7b6b84896 Excludes .git-modules from rat-check (#14759)
+3be1e1996 Remove broken and undocumented "demo mode" feature (#14601)
+409c24912 Webserver: Sanitize string passed to origin param (#14738)
+1cdd1cd3a Prevent mixed case env vars from crashing processes like worker (#14380)
+b753c7fa6 Prepare ad-hoc release of the four previously excluded providers (#14655)
+201d6e43f Remove unused usage of logging module (#14632)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a Allow hiding of all edges when highlighting states (#15281)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b4374d33b Turn off autocomplete for connection forms (#15073)
+b8cf46a12 Select better default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+3f7ebfdfe Fix UI bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+657384615 Fix `logging.exception` redundancy (#14823)
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
+74c1ce045 Add resolution to force dependencies to use patched version of lodash (#15777)
+3edcd1230 Update croniter to 1.0.x series (#15769)
+25caeda58 Remove unused dependency (#15762)
+9c8391a13 Fix spelling (#15699)
+57ad4af31 Get rid of Airflow 1.10 in Breeze (#15712)
+bdb76be74 Run helm chart tests in parallel (#15706)
+edbc89c64 Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
+50a1504c5 Fix spellings (#14483)
+ec962b01b Adds dill exclusion to Dockerfiles to accomodate upcoming beam fix (#15048)
+8529cb1c7 Fix spelling (#13130)
+4f494d4d9 Fix few typos (#13450)
+e49722859 Updates 3.6 limits for latest versions of a few libraries (#15209)
+a7a558ead Loosen cassandra-driver requirement to allow latest version (#15022)
+e8aa3de4b Upgrades moto to newer version (~=2.0) (#15051)
+87d61dcbc Add minimum version of pylint (#14775)
+4c90712f1 Add better description and guidance in case of sqlite version mismatch (#14209)
+6e90dfc38 Switches to latest version of snowflake connector (#13654)
+b213dbef0 Check for minimum version of Sqlite (#13496)
+a1f4938ec Limit old versions of pinotdb to force update on CI (#13402)
+8212247a8 Bump version to 2.1.0dev0 (#13382)
+9c0a5df22 Update minimum cattrs version (#13223)
+419111696 Add missing version information to recently added configs (#13161)
+387af82e7 Bump version of sphinx-airflow-theme (#13054)
+d7a14a892 Remove the limit on Gunicorn dependency (#15611)
+457d3fe22 Better "dependency already registered" warning message for tasks #14613 (#14860)
+437850bd1 Adds Blinker dependency which is missing after recent changes (#15182)
+97b5e4cd6 Update Flask-AppBuilder dependency to allow 3.2 (and all 3.x series) (#14665)
+1c23e91f0 Bump Redoc to resolve vulnerability in sub-dependency (#14608)
+df73edf76 Add open id dependency (#13714)
+6fb4f4b26 Add dependency to azure-core (#13715)
+b5d921bd9 Remove thrift as a core dependency (#13471)
+62b82feb0 Remove 'typing' dependency (#13472)
+b955e3461 Remove unused dependency - contextdecorator (#13455)
+4437137ef Replace tests-only dependency - tzlocal (#13413)
+d23ac9b23 Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
+b3b412523 Pin pandas-gbq to <0.15.0 (#15114)
+c29f6fb76 Pin SQLAlchemy to <1.4 due to breakage of sqlalchemy-utils (#14812)
+802159767 Pin moto to <2 (#14433)
+98f097e54 Add integration tests for Apache Pinot (#13195)
+0b626c804 Support google-cloud-redis>=2.0.0 (#13117)
+962fc97e2 Bump datatables JS to 1.10.23 (#13253)
+8c00ec89b Support google-cloud-pubsub>=2.0.0 (#13127)
+b26b0df5b Update compatibility with google-cloud-kms>=2.0 (#13124)
+0ec499895 Update pylint to 2.6.0 (#13174)
+1259c712a Update compatibility with google-cloud-os-login>=2.0.0 (#13126)
+9a1d3820d Support google-cloud-datacatalog>=1.0.0 (#13097)
+cb6914509 Bump dompurify from 2.0.12 to 2.2.6 in /airflow/www (#13164)
+49f104b89 Remove unused libraries - flask-swagger, funcsigs (#13178)
+814e471d1 Update pre-commit checks (#15583)
+428ce0378 Update python openapi gen script to generate code in a submodule (#14932)
+10c026cb7 Update to Pytest 6.0 (#14065)
+04fd339d6 Update license check to include TypeScript file extensions (#14868)
+1be20c614 Bump datatables.net from 1.10.21 to 1.10.22 in /airflow/www (#13143)
+e229f3541 Use Pip 21.* to install airflow officially (#15513)
+f69bb8255 Remove unused packages (#15383)
+70290b9e8 Add python-daemon limit for python 3.8+ (#13540)
+09c1e9ab3 upgrade mysql-connector-python to 8.0.22 (#13370)
+fe2a70c71 Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
+0e8c77b93 Support google-cloud-logging` >=2.0.0 (#13801)
+d2efb3323 Support google-cloud-monitoring>=2.0.0 (#13769)
+309788e5e Refactor DataprocOperators to support google-cloud-dataproc 2.0 (#13256)
+ef8617ec9 Support google-cloud-tasks>=2.0.0 (#13347)
+a6f999b62 Support google-cloud-automl >=2.1.0 (#13505)
+947dbb73b Support google-cloud-datacatalog>=3.0.0 (#13534)
+feb84057d Support google-cloud-datacatalog 3.0.0 (#13224)
+9de712708 Support google-cloud-bigquery-datatransfer>=3.0.0 (#13337)
+1f712219f Support google-cloud-tasks>=2.0.0 (#13334)
+4fe9304c4 User werkzeug's own type conversion for request args (#13184)
+c26366ef2 Use generic information in UpdateMask component (#13146)
+ccaca0af3 Annotate DagRun methods with return types (#11486)
+1dc36d870 Add schema validation for config.yml (#13025)
+317858ac7 Remove unneeded parentheses from Python file (#12968)
+169aa019c Skip discovering snowflake provider in development mode (#13062)
+0b4c67d29 Finish refactor of DAG resource name helper (#15511)
+47cbff9ce Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
+b780c2b67 chore: Refactor code quality issues (#14920)
+7d1eae343 Refactor info command to use AirflowConsole (#14757)
+4e49adc02 Refactor Taskflow decorator for extensibility (#14709)
+33214d932 Refactor SQL/BigQuery/Qubole/Druid Check operators (#12677)
+0d214575a Refactored setup.py to better reflect changes in providers (#13314)
+d52ad8752 Sync DAG specific permissions when parsing (#15311)
+18c5b8af1 Standardize default fab perms (#14946)
+8711f90ab Prevent creating flask sessions on REST API requests (#15295)
+4b031d39e Make Airflow code Pylint 2.8 compatible (#15534)
+9ba467b38 Rename nteract-scrapbook to scrapbook (#15290)
+56a03710a Remove datepicker for task instance detail view (#15284)
+a1e06ac7a Compile assets automatically when needed at Breeze entry (#13292)
+1627323a1 Faster default role syncing during webserver start (#15017)
+2f32df7b7 Turn provider's import warnings into debug logs (#14903)
+4531168e9 Sort lists, sets and tuples in Serialized DAGs (#14909)
+68e4c4dcb Remove Backport Providers (#14886)
+178dee9a5 Simplify cleaning string passed to origin param (#14738) (#14905)
+30c6300c6 Chart: Allow disabling `git-sync` for Webserver (#15314)
+283945001 Upgrade slack_sdk to v3 (#13745)
+94b153123 Upgrade azure blob to v12 (#12188)
+8caa4d620 relax boto3 requirement (#14824)
+74506af8b Remove left-over fields from required in provider_info schema. (#14119)
+f49f36b6a Removes provider-imposed requirements from setup.cfg (#13409)
+ef0f5cd7d Deprecate `tableau` extra (#13595)
+46edea341 Salesforce provider requires tableau (#13593)
+43b2d3392 Log migrations info in consisten way (#13458)
+27449ba46 Replace dictionary creation with dictionary literal (#13474)
+d627dfa72 Run Airflow package preparation in docker in breeze/CI (#15723)
+e81ec7c6a Reduce false-positives when detecting SQLite usage (#15716)
+36ba5b6f1 Clarifies installation/runtime options for CI/PROD images. (#15320)
+6e31465a3 Change default of `[kubernetes] enable_tcp_keepalive` to `True` (#15338)
+01a5d36e6 Running tests in parallel (#14915)
+d6e1d7b3c Replace deprecated decorator (#13443)
+a9314dd63 clean up gantt js (#14545)
+e395fcd24 Pre commit new UI (#14836)
+a7f2cc267 UI scaffold views, routes, and layout containers for Runs and Tasks (#15041)
+70f184add Bump UI packages to latest releases (#14902)
+e9e86a590 Initialize the new UI project (#14691)
+e7bb17aeb Use built-in `cached_property` on Python 3.8 where possible (#14606)
+14805cc01 Clean-up JS code in UI templates (#14019)
+6851677a8 Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
+ea0710edc Run kubernetes tests in parallel (#15222)
+3585b3c54 Remove 'conf' from search_columns in DagRun View (#15099)
+a9ac2b040 Switch to f-strings using flynt. (#13732)
+523fb5c3f use jquery ready instead of vanilla js (#15258)
+9dd14aae4 Migrate task instance log (ti_log) js (#15309)
+bcc6c9331 Migrate graph js (#15307)
+ce457295c Migrate dags.html javascript (#14692)
+d65e492a3 Removes unnecessary AzureContainerInstance connection type (#15514)
+ce91872ec Better compatibility/diagnostics for arbitrary UID in docker image (#15162)
+6d7a70b88 Separate Kubernetes pod_launcher from core airflow (#15165)
+1d641d8f1 update remaining old import paths of operators (#15127)
+6e99ae056 Allow pathlib.Path in DagBag and various util fns (#15110)
+1d0c16848 Move celery.default_queue to operators.default_queue to re-use between executors  (#14699)
+eb64155e3 improve react-query testing (#15043)
+e7eb449c8 Remove extra/needless deprecation warnings from airflow.contrib module (#15065)
+73200379f Merge contextlib.suppress() calls (#15029)
+72d370809 Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+7b6b84896 Excludes .git-modules from rat-check (#14759)

Review comment:
       ```suggestion
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] kaxil commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
kaxil commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r632869458



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)

Review comment:
       This will appear in https://airflow.apache.org/docs/apache-airflow/stable/changelog.html and it uses RST syntax -- otherwise this will raise a "spelling" error 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] mik-laj commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
mik-laj commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r632183588



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)

Review comment:
       Improvents?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] github-actions[bot] commented on pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#issuecomment-842105846


   The PR is likely ready to be merged. No tests are needed as no important environment files, nor python files were modified by it. However, committers might decide that full test matrix is needed and add the 'full tests needed' label. Then you should rebase it to the latest master or amend the last commit of the PR, and push it with --force-with-lease.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] github-actions[bot] commented on pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#issuecomment-841745643






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] mik-laj commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
mik-laj commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r632183267



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,502 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+da897c926 Add Taskgroup decorator (#15034)
+87e440ddd Create a DAG Calendar View (#15423)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+adf7755ea Add ``extra`` field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+6410f0710 Add __repr__ for Executors (#13753)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+523e2f48c Allow ``additionalProperties`` in provider schema (#13440)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+19b74fd28 Add support for labelling DAG edges (#15142)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+6706b67fe Add CUD REST API endpoints for Roles (#14840)
+7cadb63d3 Import connections from a file (#15177)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b Add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+76105c12f Auto refresh on Tree View (#15474)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+52339a55c Host key can be specified via SSH connection extras. (#12944)
+
+Improvements
+""""""""""""
+
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 Add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0ef084c3b Add plain format output to cli tables (#14546)
+f25ec3368 Add CLI check for scheduler (#14519)

Review comment:
       It is a new feature, because it's add a new CLI commaand.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] kaxil commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
kaxil commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r632868341



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)

Review comment:
       ```suggestion
   - Add ``worker_pod_pending_timeout`` support (#15263)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)
+- Fix four bugs in StackdriverTaskHandler (#13784)
+- ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+- Persist tags params in pagination (#15411)
+- API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+- Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+- extra docker-py update to resolve docker op issues (#15731)
+- Ensure executors end method is called (#14085)
+- Remove user_id from API schema (#15117)
+- Removes references to directory that no longer exists (#15083)
+- Prevent clickable bad links on disabled pagination (#15074)
+- Acquire lock on db for the time of migration (#10151)
+- Skip SLA check only if SLA is None (#14064)
+- Print right version in airflow info command (#14560)
+- Make ``airflow info`` work with pipes (#14528)
+- Rework client-side script for connection form. (#14052)
+- Add CollectionInfo in all Collections that have total_entries (#14366)

Review comment:
       ```suggestion
   - API: Add ``CollectionInfo`` in all Collections that have ``total_entries`` (#14366)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)

Review comment:
       ```suggestion
   - Fix timeout when using XCom with ``KubernetesPodOperator`` (#15388)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)

Review comment:
       ```suggestion
   - Add ``SubprocessHook`` for running commands from operators (#13423)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)

Review comment:
       ```suggestion
   - Add ``PythonVirtualenvDecorator`` to Taskflow API (#14761)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)

Review comment:
       ```suggestion
   - Rename ``DateTimeBranchOperator`` to ``BranchDateTimeOperator`` (#14720)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)

Review comment:
       ```suggestion
   - Update ``KubernetesExecutor`` pod templates to allow access to IAM permissions (#15669)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)

Review comment:
       ```suggestion
   - A bunch of ``template_fields_renderers`` additions (#15130)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)
+- Fix four bugs in StackdriverTaskHandler (#13784)
+- ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+- Persist tags params in pagination (#15411)
+- API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+- Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)

Review comment:
       ```suggestion
   - Remove duplicate call to ``sync_metadata`` inside ``DagFileProcessorManager`` (#15121)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)
+- Fix four bugs in StackdriverTaskHandler (#13784)
+- ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+- Persist tags params in pagination (#15411)
+- API: Raise `AlreadyExists` exception when the execution_date is same (#15174)

Review comment:
       ```suggestion
   - API: Raise ``AlreadyExists`` exception when the ``execution_date`` is same (#15174)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)

Review comment:
       ```suggestion
   - Auto-apply ``apply_default`` to subclasses of ``BaseOperator`` (#15667)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)

Review comment:
       ```suggestion
   - BashOperator to raise ``AirflowSkipException`` on exit code 99 (by default, configurable) (#13421) (#14963)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)

Review comment:
       ```suggestion
   - Increase default ``worker_refresh_interval`` to ``6000`` seconds (#14970)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)

Review comment:
       ```suggestion
   - Add ``WeekDayBranchOperator`` (#13997)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)

Review comment:
       ```suggestion
   - Correct typo in ``GCSObjectsWtihPrefixExistenceSensor``  (#14179)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)
+- Fix four bugs in StackdriverTaskHandler (#13784)

Review comment:
       ```suggestion
   - Fix four bugs in ``StackdriverTaskHandler`` (#13784)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)

Review comment:
       this too can be removed

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)

Review comment:
       ```suggestion
   - Fix critical ``CeleryKubernetesExecutor`` bug (#13247)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)
+- Fix four bugs in StackdriverTaskHandler (#13784)
+- ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+- Persist tags params in pagination (#15411)
+- API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+- Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+- extra docker-py update to resolve docker op issues (#15731)
+- Ensure executors end method is called (#14085)
+- Remove user_id from API schema (#15117)

Review comment:
       ```suggestion
   - Remove ``user_id`` from API schema (#15117)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)

Review comment:
       This too can be removed

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)
+- Fix four bugs in StackdriverTaskHandler (#13784)
+- ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+- Persist tags params in pagination (#15411)
+- API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+- Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+- extra docker-py update to resolve docker op issues (#15731)
+- Ensure executors end method is called (#14085)
+- Remove user_id from API schema (#15117)
+- Removes references to directory that no longer exists (#15083)
+- Prevent clickable bad links on disabled pagination (#15074)
+- Acquire lock on db for the time of migration (#10151)
+- Skip SLA check only if SLA is None (#14064)
+- Print right version in airflow info command (#14560)
+- Make ``airflow info`` work with pipes (#14528)
+- Rework client-side script for connection form. (#14052)
+- Add CollectionInfo in all Collections that have total_entries (#14366)
+
+Doc only changes
+""""""""""""""""
+
+- Fix docstring of SqlSensor (#15466)
+- Small changes on "DAGs and Tasks documentation" (#14853)
+- Add note on changes to configuration options (#15696)
+- Add docs to the markdownlint and yamllint config files (#15682)
+- Rename old "Experimental" API to deprecated in the docs. (#15653)
+- Fix documentation error in `git_sync_template.yaml` (#13197)
+- Fix doc link permission name (#14972)
+- Fix link to Helm chart docs (#14652)
+- Fix docstrings for Kubernetes code (#14605)
+- docs: Capitalise & minor fixes (#14283) (#14534)
+- Fixed reading from zip package to default to text. (#13984)
+- Fix spellings (#13867)

Review comment:
       can be removed -- generally I tend to removed "spelling/typo" ones -- ones that are not CHANGELOG-worthy

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)
+- Fix four bugs in StackdriverTaskHandler (#13784)
+- ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+- Persist tags params in pagination (#15411)
+- API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+- Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+- extra docker-py update to resolve docker op issues (#15731)
+- Ensure executors end method is called (#14085)
+- Remove user_id from API schema (#15117)
+- Removes references to directory that no longer exists (#15083)

Review comment:
       Can be removed

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+- Fix order of failed deps (#14036)
+- Fix critical CeleryKubernetesExecutor bug (#13247)
+- Fix four bugs in StackdriverTaskHandler (#13784)
+- ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
+- Persist tags params in pagination (#15411)
+- API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+- Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+- extra docker-py update to resolve docker op issues (#15731)

Review comment:
       ```suggestion
   - Extra ``docker-py`` update to resolve docker op issues (#15731)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+- Fix DAG last run link (#15327)
+- fix broken link in experimental API deprecation headers (#13547)
+- Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
+- Fixes limits on Arrow for plexus test (#14781)
+- Fix UI bugs in tree view (#14566)
+- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+- Fix permission error on non-POSIX filesystem (#13121)
+- Fix spelling in "ignorable" (#14348)
+- Fix get_context_data doctest import (#14288)
+- Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)

Review comment:
       tbh this can be removed... it is a typo fix

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)
+- Add support for labelling DAG edges (#15142)
+- Add CUD REST API endpoints for Roles (#14840)
+- Import connections from a file (#15177)
+- A bunch of template_fields_renderers additions (#15130)
+- Add REST API query sort and order to some endpoints (#14895)
+- Add timezone context in new ui (#15096)
+- Add query mutations to new UI (#15068)
+- Add different modes to sort dag files for parsing (#15046)
+- Auto refresh on Tree View (#15474)
+- BashOperator to raise AirflowSkipException on exit code 99 (by default, configurable) (#13421) (#14963)
+- Clear tasks by task ids in REST API (#14500)
+- Support jinja2 native Python types (#14603)
+- Allow celery workers without gossip or mingle modes (#13880)
+- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
+- Rename DateTimeBranchOperator to BranchDateTimeOperator (#14720)
+
+Improvements
+""""""""""""
+
+- Update Flask App Builder limit to recently released 3.3 (#15792)
+- Prevent creating flask sessions on REST API requests (#15295)
+- Sync DAG specific permissions when parsing (#15311)
+- Increase maximum length of pool name on Tasks to 256 characters (#15203)
+- Enforce READ COMMITTED isolation when using mysql (#15714)
+- Auto-apply apply_default to subclasses of BaseOperator (#15667)
+- Emit error on duplicated DAG ID (#15302)
+- Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+- More verbose logs when running ``airflow db check-migrations`` (#15662)
+- When one_success mark task as failed if no success (#15467)
+- Add an option to trigger a dag w/o changing conf (#15591)
+- Add Airflow UI instance_name configuration option (#10162)
+- Add a decorator to retry functions with DB transactions (#14109)
+- Add return to PythonVirtualenvOperator's execute method (#14061)
+- Add verify_ssl config for kubernetes (#13516)
+- Add description about ``secret_key`` when Webserver > 1 (#15546)
+- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+- Add support for arbitrary json in conn uri format (#15100)
+- Adds description field in variable (#12413) (#15194)
+- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+- Allow hiding of all edges when highlighting states (#15281)
+- Display explicit error in case UID has no actual username (#15212)
+- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+- Turn off autocomplete for connection forms (#15073)
+- Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+- Only show User's local timezone if it's not UTC (#13904)
+- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+- Configurable API response (CORS) headers (#13620)
+- Allow viewers to see all docs links (#14197)
+- Update Tree View date ticks (#14141)
+- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+- Warn about precedence of env var when getting variables (#13501)
+- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)
+
+Bug Fixes
+"""""""""
+
+- Ensure that task preceeding a PythonVirtualenvOperator doesn't fail (#15822)
+- Prevent mixed case env vars from crashing processes like worker (#14380)
+- Fixed type annotations in DAG decorator (#15778)
+- Fix on_failure_callback when task receive SIGKILL (#15537)
+- Fix dags table overflow (#15660)
+- Fix changing the parent dag state on subdag clear (#15562)
+- Fix reading from zip package to default to text (#13962)
+- Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+- Fix QueuedLocalWorker crashing with EOFError (#13215)
+- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+- Fix parallelism after KubeExecutor pod adoption (#15555)
+- Fix kube client on mac with keepalive enabled (#15551)
+- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+- Fix timeout when using XCom with KubernetesPodOperator (#15388)
+- Fix deprecated provider aliases in "extras" not working (#15465)
+- Fixed default XCom deserialization. (#14827)
+- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
+- Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)

Review comment:
       ```suggestion
   - Further fix trimmed ``pod_id`` for ``KubernetesPodOperator`` (#15445)
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] github-actions[bot] commented on pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#issuecomment-841745643


   [The Workflow run](https://github.com/apache/airflow/actions/runs/845956384) is cancelling this PR. Building images for the PR has failed. Follow the workflow link to check the reason.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] ashb commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
ashb commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r633003042



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,208 @@
+Airflow 2.1.0, 2021-05-11

Review comment:
       Date is wrong now. (Stupid lack of reliable fortune tellers)




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] kaxil commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
kaxil commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r632869458



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,212 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+New Features
+""""""""""""
+
+- Add PythonVirtualenvDecorator to Taskflow API (#14761)
+- Add Taskgroup decorator (#15034)
+- Create a DAG Calendar View (#15423)
+- Create cross-DAG dependencies view (#13199)
+- Add rest API to query for providers (#13394)
+- Mask passwords and sensitive info in task logs and UI (#15599)
+- Add SubprocessHook for running commands from operators (#13423)
+- Add DAG Timeout in UI page "DAG Details" (#14165)
+- Add WeekDayBranchOperator (#13997)
+- Add JSON linter to DAG Trigger UI (#13551)
+- Add DAG Description Doc to Trigger UI Page (#13365)
+- Add airflow webserver URL into SLA miss email. (#13249)
+- Add readonly REST API endpoints for users (#14735)
+- Add files to generate Airflow's Python SDK (#14739)
+- Add dynamic fields to snowflake connection (#14724)
+- Add readonly REST API endpoint for roles and permissions (#14664)
+- Add new datetime branch operator (#11964)
+- Add Google leveldb hook and operator (#13109) (#14105)
+- Add plugins endpoint to the REST API (#14280)
+- Add worker_pod_pending_timeout support (#15263)

Review comment:
       This will appear https://airflow.apache.org/docs/apache-airflow/stable/changelog.html in it uses RST syntax -- otherwise this will raise a "spelling" error 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] ashb merged pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
ashb merged pull request #15811:
URL: https://github.com/apache/airflow/pull/15811


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] github-actions[bot] commented on pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#issuecomment-840759454


   [The Workflow run](https://github.com/apache/airflow/actions/runs/839858578) is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] ashb merged pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
ashb merged pull request #15811:
URL: https://github.com/apache/airflow/pull/15811


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] github-actions[bot] commented on pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#issuecomment-840873539


   [The Workflow run](https://github.com/apache/airflow/actions/runs/840397959) is cancelling this PR. It has some failed jobs matching ^Pylint$,^Static checks,^Build docs$,^Spell check docs$,^Provider packages,^Checks: Helm tests$,^Test OpenAPI*.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] ashb commented on a change in pull request #15811: Add v2.1 changelog

Posted by GitBox <gi...@apache.org>.
ashb commented on a change in pull request #15811:
URL: https://github.com/apache/airflow/pull/15811#discussion_r631869707



##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)

Review comment:
       ```suggestion
   ```
   
   I tend to not include entirely internal things like this

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)

Review comment:
       ```suggestion
   fdea62267 Fix deprecated provider aliases in "extras" not working (#15465)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+ca35bd7f7 By default PIP will install all packages in .local folder (#14125)
+4d4aa9ec2 Use template strings for string concatenation in JS code in dags.html (#13957)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)

Review comment:
       ```suggestion
   ```
   
   This is tiny internal detail that isn't relevant to users

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)

Review comment:
       ```suggestion
   1e425fe64 Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)

Review comment:
       ```suggestion
   3f7ebfdfe Fix UI bugs in tree view (#14566)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)

Review comment:
       Doc only change
   ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+ca35bd7f7 By default PIP will install all packages in .local folder (#14125)
+4d4aa9ec2 Use template strings for string concatenation in JS code in dags.html (#13957)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+
+Improvements
+""""""""""""
+
+feddc517d Add missing docstring params (#15741)
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+3614910b4 New UI: Add Timezone select (#15674)
+87e440ddd Create a DAG Calendar View (#15423)
+37681bca0 Auto-apply apply_default decorator (#15667)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+b8c0fde38 Add extra links for google dataproc (#10343)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+f7fe36325 Fix Deprecation for configuration.getsection (#13804)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+adf7755ea Add extra field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+6410f0710 Add __repr__ for Executors (#13753)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+523e2f48c Additional properties should be allowed in provider schema (#13440)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+0ef084c3b Add plain format output to cli tables (#14546)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+f25ec3368 Add CLI check for scheduler (#14519)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+19b74fd28 Add support for labelling DAG edges (#15142)
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+7cadb63d3 Import connections from a file (#15177)6706b67fe Add CUD REST API endpoints for Roles (#14840)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+76105c12f Auto refresh on Tree View (#15474)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a allow hiding of all edges when highlighting states (#15281)
+da897c926 Taskgroup decorator (#15034)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+b4374d33b turn off autocomplete for connection forms (#15073)
+b8cf46a12 More proper default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+52339a55c [AIRFLOW-7044] Host key can be specified via SSH connection extras. (#12944)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Doc only changes
+""""""""""""""""
+
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)

Review comment:
       ```suggestion
   42f6b67b8 Fix docstring of SqlSensor (#15466)
   4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
   00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+ca35bd7f7 By default PIP will install all packages in .local folder (#14125)
+4d4aa9ec2 Use template strings for string concatenation in JS code in dags.html (#13957)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+
+Improvements
+""""""""""""
+
+feddc517d Add missing docstring params (#15741)
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+3614910b4 New UI: Add Timezone select (#15674)
+87e440ddd Create a DAG Calendar View (#15423)
+37681bca0 Auto-apply apply_default decorator (#15667)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+b8c0fde38 Add extra links for google dataproc (#10343)
+15f5bf4a9 Support jinja2 native Python types (#14603)
+09674537c Emit error on duplicated DAG ID (#15302)
+1024c922e Update KubeExecutor pod templates to allow access to IAM permissions (#15669)
+d295e708d Mask passwords and sensitive info in task logs and UI (#15599)
+86ad62815 More verbose logs when running `airflow check_migrations` (#15662)
+32c636268 When one_success mark task as failed if no success (#15467)
+f7fe36325 Fix Deprecation for configuration.getsection (#13804)
+c2a0cb958 Rename last_scheduler_run into last_parsed_time, and ensure it's updated in DB (#14581)
+943e3cae9 add an option to trigger a dag w/o changing conf (#15591)
+ef0c17baa Add more flexibility with FAB menu links (#13903)
+7d60bbfd8 Add Airflow UI instance_name configuration option (#10162)
+59e33c1ec Add SubprocessHook for running commands from operators (#13423)
+61b613359 Add DAG Timeout in UI page "DAG Details" (#14165)
+6a0b8b208 Add a decorator to retry functions with DB transactions (#14109)
+2a3960f35 Add return to PythonVirtualenvOperator's execute method (#14061)
+e2a06a32c Added json_render method to separate filtering from view (#14024)
+ffd05e684 Add WeekDayBranchOperator (#13997)
+1872d8719 Add Apache Beam operators (#12814)
+6d6588fe2 Add Google Cloud Workflows Operators (#13366)
+24a54242d Add authentication to lineage endpoint for experimental API (#13870)
+adf7755ea Add extra field to get_connnection REST endpoint (#13885)
+10b8ecc86 Add params to the DAG details endpoint (#13790)
+d65cf7755 Add description to hint if conn_type is missing (#13778)
+6410f0710 Add __repr__ for Executors (#13753)
+614b70805 Add verify_ssl config for kubernetes (#13516)
+2fef2ab1b Add JSON linter to DAG Trigger UI (#13551)
+1d2977f6a Add Neo4j hook and operator (#13324)
+bfb7cb343 Add recipes for installing a few common tools in Docker image (#13655)
+ad64dfa0c Add NotFound response for DELETE methods in OpenAPI YAML (#13550)
+0e510b2f2 Add DAG Description Doc to Trigger UI Page (#13365)
+523e2f48c Additional properties should be allowed in provider schema (#13440)
+429e54c19 Add support for no-menu plugin views (#11742)
+323084e97 Add timeout option to gcs hook methods. (#13156)
+1b96149f1 UI: Add queued_by_job_id & external_executor_id Columns to TI View (#13266)
+cb4755f8a Add airflow webserver URL into SLA miss email. (#13249)
+24aa3bf02 Add readonly REST API endpoints for users (#14735)
+7b83bf2c8 Add files to generate Airflow's Python SDK (#14739)
+e4bf8f349 Add dynamic fields to snowflake connection (#14724)
+0e134580d Add readonly REST API endpoint for roles and permissions (#14664)
+1e37a11e0 Add new datetime branch operator (#11964)
+20b72aea4 Adds new Airbyte provider (#14492)
+0ef084c3b Add plain format output to cli tables (#14546)
+1f5b764f6 Add CollectionInfo in all Collections that have total_entries (#14366)
+35c9a9029 Add Google leveldb hook and operator (#13109) (#14105)
+f25ec3368 Add CLI check for scheduler (#14519)
+11d03d2f6 Add Azure Data Factory hook (#11015)
+31acf95f5 Add plugins endpoint to the REST API (#14280)
+45e72ca83 Add Tableau provider separate from Salesforce Provider (#14030)
+dfaaf4913 Add description about ``secret_key`` when Webserver > 1 (#15546)
+dd7ff4621 Add worker_pod_pending_timeout support (#15263)
+99ec20802 Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
+a4c4e616e Add support for arbitrary json in conn uri format (#15100)
+925ef2818 Adds description field in variable (#12413) (#15194)
+19b74fd28 Add support for labelling DAG edges (#15142)
+566127308 Add PythonVirtualenvDecorator to Taskflow API (#14761)
+44a6648fd Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
+eae22cec9 Adds 'Trino' provider (with lower memory footprint for tests) (#15187)
+7cadb63d3 Import connections from a file (#15177)6706b67fe Add CUD REST API endpoints for Roles (#14840)
+9b76b94c9 A bunch of template_fields_renderers additions (#15130)
+a2d99293c Add REST API query sort and order to some endpoints (#14895)
+88a74444b add timezone context in new ui (#15096)
+9ca49b691 Add query mutations to new UI (#15068)
+2e3eb4209 Add different modes to sort dag files for parsing (#15046)
+d35bcae37 Add basic authentication to new UI (#14988)
+a2b285825 Adds initial router, routes, and placeholder views  (#14927)
+d77f79d13 Add exclusions for new node_modules directory (#14935)
+76105c12f Auto refresh on Tree View (#15474)
+def1e7c58 Execute ``on_failure_callback`` when SIGTERM is received (#15172)
+eedb63405 Styling of edge labels when task highlighting (#15298)
+1d635ef0a allow hiding of all edges when highlighting states (#15281)
+da897c926 Taskgroup decorator (#15034)
+3e9e954d9 Display explicit error in case UID has no actual username (#15212)
+398ac7bdf Make skip_exit_code configurable in BashOperator (#14963)
+4ad1accd3 Display alternative tooltip when a Task has yet to run (no TI) (#13162)
+bc5ced3e5 Task Instance model: allow pool names >50 chars (#15203)
+414bb20fa Serve logs with Scheduler when using Local or Sequential Executor (#15557)
+e150bbfe0 Clear tasks by task ids in REST API (#14500)
+af2d11e36 Restore base lineage backend (#14146)
+3a3813432 Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
+b5aac82e1 Allow celery workers without gossip or mingle modes (#13880)
+b4374d33b turn off autocomplete for connection forms (#15073)
+b8cf46a12 More proper default value for namespace in K8S cleanup-pods CLI (#15060)
+b1ce429fe UI basic api (#15015)
+645e77209 UI layout containers + navigation (#15007)
+35fbb7264 Speed up webserver start when there are many DAGs (#14993)
+85760cfcf Increase default `worker_refresh_interval` to `6000` seconds (#14970)
+cdfa4ee8b Speed up www and api_connexion tests (#14684)
+456a7ddfd Remember expanded task groups in localStorage (#14661)
+d2c2a2285 Webserver: Allow Filtering TaskInstances by queued_dttm (#14708)
+26c2f4d79 Only show User's local timezone if it's not UTC (#13904)
+7e1d28b38 Warns politely, do not force run a long operation (#13313)
+78aa921a7 Make the role assigned to anonymous users customizable (#14042)
+9c44f81eb Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
+9036ce20c Speed up clear_task_instances by doing a single sql delete for TaskReschedule (#14048)
+87645b331 Configurable API response (CORS) headers (#13620)
+914e9ce04 Retry critical methods in Scheduler loop in case of OperationalError (#14032)
+d524cec99 Implements generation of separate constraints for core and providers (#14227)
+82cb041a8 Attempts to stabilize and improve speed of static checks (#14332)
+213c22c32 Allow viewers to see all docs links (#14197)
+6dc633963 Update Tree View date ticks (#14141)
+31b691896 BashOperator to raise AirflowSkipException on exit code 127 (#13421)
+8723b1feb Improve the error when DAG does not exist when running dag pause command (#13900)
+3e2579509 BaseBranchOperator will push to xcom by default. (#13704) (#13763)
+f74da5025 Disables provider's manager warning for source-installed prod image. (#13729)
+c4112e2e9 Make the tooltip to Pause / Unpause a DAG clearer (#13642)
+87a7557f8 Display message and docs link when no plugins are loaded (#13599)
+5954ef5f4 Warn about precedence of env var when getting variables (#13501)
+52339a55c [AIRFLOW-7044] Host key can be specified via SSH connection extras. (#12944)
+3f52f1aca Pass SchedulerJob.subdir to Dagbag (#13291)
+
+Doc only changes
+""""""""""""""""
+
+00336ad82 Small changes on "DAGs and Tasks documentation" (#14853)
+faa4a5274 Add note on changes to configuration options (#15696)
+b7b17641d Add docs to the markdownlint and yamllint config files (#15682)
+cf583b929 Rename old "Experimental" API to deprecated in the docs. (#15653)
+e86f5ca8f Bugfix: Task docs are not shown in the Task Instance Detail View (#15191)
+53dafa593 Fix mistake and typos in doc/docstrings (#15180)
+610aea949 Fix documentation error in `git_sync_template.yaml` (#13197)
+1bec3b212 Fix doc link permission name (#14972)
+a152f8037 Fix link to Helm chart docs (#14652)
+ed872a64f Multiple minor doc fixes (#14917)
+6dc24c95e Fix grammar and remove duplicate words (#14647)
+9f37af25a Fix docstrings for Kubernetes code (#14605)
+35175c304 docs: Capitalise & minor fixes (#14283) (#14534)
+594069ee0 Bugfix: Don't try to create a duplicate Dag Run in Scheduler (#13920)
+0bbc2cb1e Fixed reading from zip package to default to text. (#13984)
+72983287a Fix structure and typo in Updating.md (#14005)
+910ba25d6 Fix spellings (#13867)
+8ac6deaa3 Fix PyPI spelling (#13864)
+891fb2d9f Fix typo in TaskGroup docstrings (#13475)
+f943c5a1c Fix the docs for Transfer Operators (#13641)
+006107f93 Fix grammar in API docs (#13444)
+d5cf993f8 Fix typo in Open API docs (#13374)
+b600dfd74 Fix doci string in API entry. (#13300)
+df143aee8 An initial rework of the "Concepts" docs (#15444)
+64b00896d Replace new url for Stable Airflow Docs (#15169)
+537969889 Improve docstrings for various modules (#15047)
+7c2ed5394 Docs: Clarify behavior of delete_worker_pods_on_failure (#14958)
+3eb67af7a Much easier to use and better documented Docker image (#14911)
+b151b5eea Add documentation on database connection URI (#14124)
+a18cbc4e9 Create a documentation package for Docker image (#14846)
+78cf414dc Add Helm Chart logo to docs index (#14762)
+e1ff59ea3 Create a new documentation package for Helm Chart (#14643)
+0ecebadb0 Add docs about supported logging levels (#14507)
+77f5629a8 Update docs about tableau and salesforce provider (#14495)
+e12181258 Replace deprecated doc links to the correct one (#14429)
+d2577e42a Refactor redundant doc url logic to use utility (#14080)
+65e49fc56 Add deprecated config options to docs (#13883)
+e51ac57e9 Update DAG Serialization docs (#13722)
+1ab19b40f Add Missing Email configs in Configuration doc (#13709)
+808092928 Improvements for database setup docs (#13696)
+355853888 Support tables in DAG docs (#13533)
+61b1ea368 Update outdated docs in scheduler_job.py (#13663)
+4a0362fac docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
+2491a9360 Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
+eaff29d34 Update docs link in REST API spec (#13107)
+81fed8072 Add documentation about webserver_config.py (#13155)
+3bfe0e02c Skip DAG perm sync during parsing if possible (#15464)
+c8f0abdc1 Add picture and examples for Edge Labels (#15310)
+d2964b053 Add example DAG & how-to guide for sqlite (#13196)
+181d8b66a Developers Quick Guide (#13417)
+ffb472cf9 Add quick start for Airflow on Docker (#13660)
+b4770725a Add links to new modules for deprecated modules (#15316)
+bcc8b5e4a Replace Graph View Screenshot to show Auto-refresh (#14571)
+714a07542 Add note in Updating.md about FAB datamodel change (#14478)
+34eb203c5 Correct XCOM pickle advisory in UPDATING.md (#13639)
+
+Misc/Internal
+"""""""""""""
+
+6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)

Review comment:
       ```suggestion
   657384615 Fix `logging.exception` redundancy (#14823)
   6690758c6 Bump stylelint to remove vulnerable sub-dependency (#15784)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)

Review comment:
       ```suggestion
   ```
   
   This is a change to a new feature before it was released, so it doesn't make sense to have both in the changelog

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+ca35bd7f7 By default PIP will install all packages in .local folder (#14125)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)

Review comment:
       ```suggestion
   6d3046431 Fix bug causing Kubernetes worker pods to not get deleted (#14942)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)

Review comment:
       ```suggestion
   053d90381 ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+ca35bd7f7 By default PIP will install all packages in .local folder (#14125)
+4d4aa9ec2 Use template strings for string concatenation in JS code in dags.html (#13957)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+
+Improvements
+""""""""""""
+
+feddc517d Add missing docstring params (#15741)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+ca35bd7f7 By default PIP will install all packages in .local folder (#14125)
+4d4aa9ec2 Use template strings for string concatenation in JS code in dags.html (#13957)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+
+Improvements
+""""""""""""
+
+feddc517d Add missing docstring params (#15741)
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+3614910b4 New UI: Add Timezone select (#15674)
+87e440ddd Create a DAG Calendar View (#15423)
+37681bca0 Auto-apply apply_default decorator (#15667)

Review comment:
       ```suggestion
   37681bca0 Auto-apply apply_default to subclasses of BaseOperator (#15667)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)

Review comment:
       ```suggestion
   8f21fb1bf Fix loosing duration < 1 secs in tree (#13537)
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)

Review comment:
       ```suggestion
   ```

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+ca35bd7f7 By default PIP will install all packages in .local folder (#14125)
+4d4aa9ec2 Use template strings for string concatenation in JS code in dags.html (#13957)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+
+Improvements
+""""""""""""
+
+feddc517d Add missing docstring params (#15741)
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+3614910b4 New UI: Add Timezone select (#15674)
+87e440ddd Create a DAG Calendar View (#15423)
+37681bca0 Auto-apply apply_default decorator (#15667)
+db0e9425c Create cross-DAG dependencies view (#13199)
+9dad095f7 Add rest API to query for providers (#13394)
+b8c0fde38 Add extra links for google dataproc (#10343)

Review comment:
       ```suggestion
   ```
   
   Is provider only change (or will be, once I remove the "errant" constant that got added in this PR. - #15824) 

##########
File path: CHANGELOG.txt
##########
@@ -1,3 +1,514 @@
+Airflow 2.1.0, 2021-05-11
+-------------------------
+
+Bug Fixes
+"""""""""
+
+1543bb73c Fixed type annotations in DAG decorator (#15778)
+817b59923 Fix on_failure_callback when task receive SIGKILL (#15537)
+a0eb747b8 Fix dags table overflow (#15660)
+a4211e276 Fix changing the parent dag state on subdag clear (#15562)
+862443f6d Fix invalid value error caused by long k8s pod name (#13299)
+cc70227d9 Fix reading from zip package to default to text (#13962)
+495181b4f Update ``airflow_local_settings.py`` to fix an error message (#13927)
+53e828387 Fix dag run type enum query for mysqldb driver (#13278)
+0d1c39ad2 Fix db shell for sqlite (#13907)
+f72be51ae Fix to ensure 100vh min plays nicely w/ Linux+Chrome (#13857)
+b9eb51a0f Fix race condition when using Dynamic DAGs (#13893)
+477a22256 Fix wrong parameter for drawDagStatsForDag() in dags.html (#13884)
+dfbccd3b1 Fix TaskNotFound in log endpoint (#13872)
+b4c8a0406 Fix SQL syntax to check duplicate connections (#13783)
+1ec63123c Fix backfill crash on task retry or reschedule (#13712)
+8a4bd3c73 Fix webserver exiting when gunicorn master crashes (#13518)
+f1d4f54b3 Fix race conditions in task callback invocations (#10917)
+c128aa744 BugFix: Dag-level Callback Requests were not run (#13651)
+dc80fa4cb Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
+475f1ab26 Fix invalid continue_token for cleanup list pods (#13563)
+b007fc33d Fixes problems with extras for custom connection types (#13640)
+4f740db57 Minor grammar fix in OpenAPI YAML (#13586)
+1b94346fb Bugfix: Sync Access Control defined in DAGs when running sync-perm (#13377)
+295d66f91 Fix Grammar in PIP warning (#13380)
+484f95f55 Fix QueuedLocalWorker crashing with EOFError (#13215)
+4aba9c5a8 Fix brokend master (#13201)
+6cf76d7ac Fix typo in pip upgrade command :( (#13148)
+de277c69e Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
+7f45e62fd Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
+0924ce491 Fix typo in ``NotPreviouslySkippedDep`` (#13933)
+fdb83c743 Bugfix: Allow getting details of a DAG with null start_date (REST API) (#13959)
+c2266aac4 Fix typo in CLI error (#13913)
+c90485c5a Fix link to Apache Airflow docs in webserver (#13250)
+9c296c939 Fix parallelism after KubeExecutor pod adoption (#15555)
+11face620 Fix kube client on mac with keepalive enabled (#15551)
+e4deb0faf Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
+657384615 Fix `logging.exception` redundancy (#14823)
+344e8296d Fix Task Adoption in ``KubernetesExecutor`` (#14795)
+d3cc67aa7 Fix timeout when using XCom with KubernetesPodOperator (#15388)
+fdea62267 Fix deprecated provider aliases (#15465)
+42f6b67b8 Fix docstring of SqlSensor (#15466)
+21c8f153c Fixed default XCom deserialization. (#14827)
+1e425fe64 Fix used_group_ids in partial_subset (#13700) (#15308)
+1e66ce8c5 Further fix trimmed `pod_id` for `KubernetesPodOperator` (#15445)
+130f9e32f Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
+d7c27b850 Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
+d1150403a Bugfix: ``TypeError`` when Serializing & sorting iterables (#15395)
+d944f5a59 Fix DAG last run link (#15327)
+aaa3bf6b4 Fix url generation for TriggerDagRunOperatorLink (#14990)
+c594d9cfb BugFix: CLI 'kubernetes cleanup-pods' should only clean up Airflow-created Pods (#15204)
+97b7780df Fix missing on_load trigger for folder-based plugins (#15208)
+18e2c1de7 Fixed #14270: Add error message in OOM situations (#15207)
+4ee442970 Fix celery executor bug trying to call len on map (#14883)
+5606137ba Bugfix: Fix overriding `pod_template_file` in KubernetesExecutor (#15197)
+7b577c35e Bugfix: resources in `executor_config` breaks Graph View in UI (#15199)
+486b76438 Fix password masking in CLI action_logging (#15143)
+b7cd2df05 Fix bug in airflow.stats timing that broke dogstatsd mode (#15132)
+390015d19 fix broken link in experimental API deprecation headers (#13547)
+6b9b0675c Assign TS type to fix linting (#15090)
+794922649 Fix typo in task_runner for ``AirflowConfigException`` (#15067)
+b5e7ada34 Fix support for long dag_id and task_id in KubernetesExecutor (#14703)
+0e8698d3e Fix error when running tasks with Sentry integration enabled. (#13929)
+b24a1babd [AIRFLOW-6076] fix dag.cli() KeyError (#13647)
+052163516 Fix running child tasks in a subdag after clearing a successful subdag (#14776)
+1cd62b9c7 Fix `sync-perm` to work correctly when update_fab_perms = False (#14847)
+a639dd364 Fix KubernetesExecutor issue with deleted pending pods (#14810)
+7fff3b122 Fixes limits on Arrow for plexus test (#14781)
+741867959 BugFix: Fix taskInstance API call fails if a task is removed from running DAG (#14381)
+09327ba6b Fix bug allowing task instances to survive when dagrun_timeout is exceeded (#14321)
+511f04265 Fix health spelled incorrectly (#14407)
+3f7ebfdfe fix ui bugs in tree view (#14566)
+4424d10f0 Bugfix: Fix wrong output of tags and owners in dag detail API endpoint (#14490)
+0a969db2b Bugfix: Plugins endpoint was unauthenticated (#14570)
+630aeff72 Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
+22e3a4cc0 BugFix: fix DAG doc display (especially for TaskFlow DAGs) (#14564)
+45a0ac2e0 BugFix: TypeError in monitor_pod (#14513)
+0aa597e2f Fix statsd metrics not sending when using daemon mode (#14454)
+59c459fa2 BugFix: Serialize max_retry_delay as a timedelta (#14436)
+fe0ee585d Fix comparison dagTZ with localTZ (#14204)
+8f21fb1bf fix lossing duration < 1 secs in tree (#13537)
+3a046faae Remove testfixtures module that is only used once (#14318)
+21f297425 Fix crash when user clicks on  "Task Instance Details" caused by start_date being None (#14416)
+258ec5d95 Fix logging error with task error when JSON logging is enabled (#14456)
+6c6b77a87 Fix permission error on non-POSIX filesystem (#13121)
+8c5e61823 Fix spelling (#14472)
+a48bedf26 Fix spelling in "ignorable" (#14348)
+79ffe03a6 Fix spelling (#14343)
+7d82a046b Fix get_context_data doctest import (#14288)
+e3bcaa3ba Correct typo in GCSObjectsWtihPrefixExistenceSensor  (#14179)
+fc67521f3 Fix order of failed deps (#14036)
+eb78a8b86 Bugfix: Scheduler fails if task is removed at runtime (#14057)
+604a37eee Fix broken SLA Mechanism (#14056)
+b59e416f6 Fix critical CeleryKubernetesExecutor bug (#13247)
+629abfdba Bugfix: Fix permissions to triggering only specific DAGs  (#13922)
+833e33832 Fix four bugs in StackdriverTaskHandler (#13784)
+38f085396 Fix static check on Master (#13721)
+4be27af04 Fix the behavior for deactivate the authentication option and documenting the process to do it (#13191)
+053d90381 `func.sum` may returns `Decimal`  that break rest APIs (#15585)
+f878ec6c5 Persist tags params in pagination (#15411)
+d89bcad26 API: Raise `AlreadyExists` exception when the execution_date is same (#15174)
+116a8a0c6 Remove duplicate call to sync_metadata inside DagFileProcessorManager (#15121)
+b0e68ebcb Avoid scheduler/parser manager deadlock by using non-blocking IO (#15112)
+41930fdeb extra docker-py update to resolve docker op issues (#15731)
+35b5a3831 Don't add User role perms to custom roles. (#13856)
+756031608 Import Connection lazily in hooks to avoid cycles (#15361)
+16902d043 Ensure executors end method is called (#14085)
+7087541a5 Remove user_id from API schema (#15117)
+ca4c4f3d3 Re-introduce dagrun.schedule_delay metric (#15105)
+375d26d88 Pass queue to BaseExecutor.execute_async like in airflow 1.10 (#14861)
+78d9feb5f Removes references to directory that no longer exists (#15083)
+57388ef65 Prevent clickable bad links on disabled pagination (#15074)
+def961512 Scheduler: Remove TIs from starved pools from the critical path. (#14476)
+6d3046431 Compare string values, not if strings are the same object (#14942)
+5d96eb0e0 Acquire lock on db for the time of migration (#10151)
+a85d84020 Make pytest collection warnings errors (#14832)
+303c89fea Return output of last task from task_group wrapper. (#15779)
+2b5d4e3ff Unable to trigger backfill or manual jobs with Kubernetes executor. (#14160)
+33910d6c6 Default to Celery Task model when backend model does not exist (#14612)
+2c9c55781 Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
+dd78ad06e Remove redundant word (#13466)
+3909232fa Remove permissions to read Configurations for User and Viewer roles (#14067)
+41bf97469 Skip SLA check only if SLA is None (#14064)
+32f59534c Stop creating duplicate Dag File Processors (#13662)
+7f8be97da Dispose connections when running tasks with os.fork & CeleryExecutor (#13265)
+0fdc03b76 Make v1/config endpoint respect webserver expose_config setting (#14020)
+6aafee428 Print right version in airflow info command (#14560)
+e0ee91e15 Scheduler should not fail when invalid executor_config is passed (#14323)
+2366f861e Added missing return parameter in read function of FileTaskHandler (#14001)
+703452930 Stop loading Extra Operator links in Scheduler (#13932)
+a1097f6f2 Make airflow info to work with pipes (#14528)
+c71f707d2 Make airflow dags show command display TaskGroup (#14269)
+e4b8ee63b Increase the default ``min_file_process_interval`` to decrease CPU Usage (#13664)
+4b67b0b94 Remove inapplicable arg 'output' for CLI pools import/export (#13071)
+997a00971 Gracefully handle missing start_date and end_date for DagRun (#14452)
+f763b7c3a Make TaskInstance.pool_slots not nullable with a default of 1 (#14406)
+ca35bd7f7 By default PIP will install all packages in .local folder (#14125)
+4d4aa9ec2 Use template strings for string concatenation in JS code in dags.html (#13957)
+8958d125c Only compare updated time when Serialized DAG exists (#13899)
+8ecdef3e5 Audit Log records View should not contain link if dag_id is None (#13619)
+98bbe5aec Rework client-side script for connection form. (#14052)
+b4885b258 Only allow passing JSON Serializable conf to TriggerDagRunOperator (#13964)
+70ce0d814 Don't add Website.can_read access to default roles. (#13923)
+31d31adb5 Setting `max_tis_per_query` to 0 now correctly removes the limit (#13512)
+52a5ecf45 Stop Log Spamming when `[core] lazy_load_plugins` is False (#13578)
+93e4787b7 Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
+18df31d5d skip entrypoint load if provider has already been loaded from local source (#13245)
+d752d92a4 Flower should be enabled for CeleryKubernetesExecutor (#13248)
+640985865 specify constraint key type & drop auto fkey referred to users tables (#13239)
+ef8f414c2 Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
+
+Improvements
+""""""""""""
+
+feddc517d Add missing docstring params (#15741)
+231d104e3 Enforce READ COMMITTED isolation when using mysql (#15714)
+3614910b4 New UI: Add Timezone select (#15674)

Review comment:
       ```suggestion
   ```
   
   New (react) UI isn't "shipped" yet, so shouldn't include anything about it in the changelog




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org