Apache Airflow 2.0.1stable Released Feb 08, 2021
Impact Score: 5/10

Apache Airflow: Airflow 2.0.1, 2021-02-08

Source available โ€” automated, not human-reviewed

Component: airflow ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Apache Airflow 2.0.1. Source highlight: Bugfix: Return XCom Value in the XCom Endpoint API (#13684)

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (6)

  • UI: Add ``queued_by_job_id`` & ``external_executor_id`` Columns to TI View (#13266)
  • Adds missing LDAP "extra" dependencies to ldap provider. (#13308)
  • Pin ``pyjwt`` and Add integration tests for Apache Pinot (#13195)
  • Add ``NotFound`` response for DELETE methods in OpenAPI YAML (#13550)
  • Add missing Dag Tag for Example DAGs (#13665)
  • Add ``python3-openid`` dependency (#13714)

โšก Performance & Enhancements (6)

  • 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)

๐Ÿ”ง Bug Fixes & Patches (6)

  • 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 during ``airflow 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)
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
## 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 during ``airflow 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`` to ``0`` 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 webserver ``expose_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 allow ``8.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`` is ``False`` (#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)