Bug Fixes
- Bugfix: Return XCom Value in the XCom Endpoint API (#13684)
- Bugfix: Import error when using custom backend and
sql_alchemy_conn_secret
(#13260) - Allow PID file path to be relative when daemonize a process (scheduler, kerberos, etc) (#13232)
- Bugfix: no generic
DROP CONSTRAINT
in MySQL duringairflow db upgrade
(#13239) - Bugfix: Sync Access Control defined in DAGs when running
sync-perm
(#13377) - Stop sending Callback Requests if no callbacks are defined on DAG (#13163)
- BugFix: Dag-level Callback Requests were not run (#13651)
- Stop creating duplicate Dag File Processors (#13662)
- Filter DagRuns with Task Instances in removed State while Scheduling (#13165)
- Bump
datatables.net
from 1.10.21 to 1.10.22 in /airflow/www (#13143) - Bump
datatables.net
JS to 1.10.23 (#13253) - Bump
dompurify
from 2.0.12 to 2.2.6 in /airflow/www (#13164) - Update minimum
cattrs
version (#13223) - Remove inapplicable arg 'output' for CLI pools import/export (#13071)
- Webserver: Fix the behavior to deactivate the authentication option and add docs (#13191)
- Fix: add support for no-menu plugin views (#11742)
- Add
python-daemon
limit for python 3.8+ to fix daemon crash (#13540) - Change the default celery
worker_concurrency
to 16 (#13612) - Audit Log records View should not contain link if
dag_id
is None (#13619) - Fix invalid
continue_token
for cleanup list pods (#13563) - Switches to latest version of snowflake connector (#13654)
- Fix backfill crash on task retry or reschedule (#13712)
- Setting
max_tis_per_query
to0
now correctly removes the limit (#13512) - Fix race conditions in task callback invocations (#10917)
- Fix webserver exiting when gunicorn master crashes (#13518)(#13780)
- Fix SQL syntax to check duplicate connections (#13783)
BaseBranchOperator
will push to xcom by default (#13704) (#13763)- Fix Deprecation for
configuration.getsection
(#13804) - Fix TaskNotFound in log endpoint (#13872)
- Fix race condition when using Dynamic DAGs (#13893)
- Fix: Linux/Chrome window bouncing in Webserver
- Fix db shell for sqlite (#13907)
- Only compare updated time when Serialized DAG exists (#13899)
- Fix dag run type enum query for mysqldb driver (#13278)
- Add authentication to lineage endpoint for experimental API (#13870)
- Do not add User role perms to custom roles. (#13856)
- Do not add
Website.can_read
access to default roles. (#13923) - Fix invalid value error caused by long Kubernetes pod name (#13299)
- Fix DB Migration for SQLite to upgrade to 2.0 (#13921)
- Bugfix: Manual DagRun trigger should not skip scheduled runs (#13963)
- Stop loading Extra Operator links in Scheduler (#13932)
- Added missing return parameter in read function of
FileTaskHandler
(#14001) - Bugfix: Do not try to create a duplicate Dag Run in Scheduler (#13920)
- Make
v1/config
endpoint respect webserverexpose_config
setting (#14020) - Disable row level locking for Mariadb and MySQL <8 (#14031)
- Bugfix: Fix permissions to triggering only specific DAGs (#13922)
- Fix broken SLA Mechanism (#14056)
- Bugfix: Scheduler fails if task is removed at runtime (#14057)
- Remove permissions to read Configurations for User and Viewer roles (#14067)
- Fix DB Migration from 2.0.1rc1
Improvements
- Increase the default
min_file_process_interval
to decrease CPU Usage (#13664) - Dispose connections when running tasks with
os.fork
&CeleryExecutor
(#13265) - Make function purpose clearer in
example_kubernetes_executor
example dag (#13216) - Remove unused libraries -
flask-swagger
,funcsigs
(#13178) - Display alternative tooltip when a Task has yet to run (no TI) (#13162)
- User werkzeug's own type conversion for request args (#13184)
- UI: Add
queued_by_job_id
&external_executor_id
Columns to TI View (#13266) - Make
json-merge-patch
an optional library and unpin it (#13175) - Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
- Refactor
setup.py
to better reflect changes in providers (#13314) - Pin
pyjwt
and Add integration tests for Apache Pinot (#13195) - Removes provider-imposed requirements from
setup.cfg
(#13409) - Replace deprecated decorator (#13443)
- Streamline & simplify
__eq__
methods in models Dag and BaseOperator (#13449) - Additional properties should be allowed in provider schema (#13440)
- Remove unused dependency -
contextdecorator
(#13455) - Remove 'typing' dependency (#13472)
- Log migrations info in consistent way (#13458)
- Unpin
mysql-connector-python
to allow8.0.22
(#13370) - Remove thrift as a core dependency (#13471)
- Add
NotFound
response for DELETE methods in OpenAPI YAML (#13550) - Stop Log Spamming when
[core] lazy_load_plugins
isFalse
(#13578) - Display message and docs link when no plugins are loaded (#13599)
- Unpin restriction for
colorlog
dependency (#13176) - Add missing Dag Tag for Example DAGs (#13665)
- Support tables in DAG docs (#13533)
- Add
python3-openid
dependency (#13714) - Add
__repr__
for Executors (#13753) - Add description to hint if
conn_type
is missing (#13778) - Upgrade azure blob to v12 (#12188)
- Add extra field to
get_connnection
REST endpoint (#13885) - Make Smart Sensors DB Migration idempotent (#13892)
- Improve the error when DAG does not exist when running dag pause command (#13900)
- Update
airflow_local_settings.py
to fix an error message (#13927) - Only allow passing JSON Serializable conf to
TriggerDagRunOperator
(#13964) - Bugfix: Allow getting details of a DAG with null
start_date
(REST API) (#13959) - Add params to the DAG details endpoint (#13790)
- Make the role assigned to anonymous users customizable (#14042)
- Retry critical methods in Scheduler loop in case of
OperationalError
(#14032)
Doc only changes
- Add Missing Statsd Metrics in Docs (#13708)
- Add Missing Email configs in Configuration doc (#13709)
- Add quick start for Airflow on Docker (#13660)
- Describe which Python versions are supported (#13259)
- Add note block to 2.x migration docs (#13094)
- Add documentation about webserver_config.py (#13155)
- Add missing version information to recently added configs (#13161)
- API: Use generic information in UpdateMask component (#13146)
- Add Airflow 2.0.0 to requirements table (#13140)
- Avoid confusion in doc for CeleryKubernetesExecutor (#13116)
- Update docs link in REST API spec (#13107)
- Add link to PyPI Repository to provider docs (#13064)
- Fix link to Airflow master branch documentation (#13179)
- Minor enhancements to Sensors docs (#13381)
- Use 2.0.0 in Airflow docs & Breeze (#13379)
- Improves documentation regarding providers and custom connections (#13375)(#13410)
- Fix malformed table in production-deployment.rst (#13395)
- Update celery.rst to fix broken links (#13400)
- Remove reference to scheduler run_duration param in docs (#13346)
- Set minimum SQLite version supported (#13412)
- Fix installation doc (#13462)
- Add docs about mocking variables and connections (#13502)
- Add docs about Flask CLI (#13500)
- Fix Upgrading to 2 guide to use
rbac
UI (#13569) - Make docs clear that Auth can not be disabled for Stable API (#13568)
- Remove archived links from docs & add link for AIPs (#13580)
- Minor fixes in upgrading-to-2.rst (#13583)
- Fix Link in Upgrading to 2.0 guide (#13584)
- Fix heading for Mocking section in best-practices.rst (#13658)
- Add docs on how to use custom operators within plugins folder (#13186)
- Update docs to register Operator Extra Links (#13683)
- Improvements for database setup docs (#13696)
- Replace module path to Class with just Class Name (#13719)
- Update DAG Serialization docs (#13722)
- Fix link to Apache Airflow docs in webserver (#13250)
- Clarifies differences between extras and provider packages (#13810)
- Add information about all access methods to the environment (#13940)
- Docs: Fix FAQ on scheduler latency (#13969)
- Updated taskflow api doc to show dependency with sensor (#13968)
- Add deprecated config options to docs (#13883)
- Added a FAQ section to the Upgrading to 2 doc (#13979)