Skip to content

Releases: astronomer/dag-factory

v1.0.1

25 Sep 09:55

Choose a tag to compare

Fixed

Docs

  • docs: remove trailing slash from AIRFLOW_HOME example by @jx2lee in #582

Other Changes

Full Changelog: v1.0.0...v1.0.1

v1.0.0

03 Sep 09:53
0e34e4c

Choose a tag to compare

Breaking Changes

  • Airflow providers are now optional dependencies by @pankajastro in #486
    • Previously, dag-factory enforced the installation of apache-airflow-providers-http and apache-airflow-providers-cncf-kubernetes. These Airflow providers dependencies are now optional. If your DAGs depend on these providers, you must install them manually. Alternatively, you can install dag-factory with extras like dag-factory[all], dag-factory[kubernetes], etc.
  • Removed clean_dags function by @pankajastro in #498
    • You no longer need to call example_dag_factory.clean_dags(globals()) in your DAG files. DAG cleanup is now controlled via the Airflow config setting AIRFLOW__DAG_PROCESSOR__REFRESH_INTERVAL.
  • Remove schedule_interval parameter from DAG configuration YAML by @viiccwen in #503
    • Use schedule parameter instead of schedule_interval.
  • Change DagFactory class access to private by @pankajastro in #509
    • The import path from dagfactory import DagFactory has been removed.
    • The class DagFactory has been renamed to _DagFactory.
    • The generate_dags method of DagFactory has been renamed to _generate_dags.
  • Remove Inconsistent Parameters for Airflow Consistent by @pankajastro in #512
    • Removed dagrun_timeout_sec from dag param.
    • Removed retry_delay_sec, sla_secs from default_args.
    • Removed accepting execution_timeout as integer.
    • Removed execution_timeout_secs, sla_secs and execution_delta_secs from task param.
  • Remove custom parsing for Kubernetes object and refactor KPO to use __type__ syntax by @pankajastro in #523
    • The custom parsing for Kubernetes objects has been removed. You can no longer pass a custom YAML dictionary to DAG-Factory configuration unless accepted by the KubernetesPodOperator. We suggest you to use __type__ syntax to supply Kubernetes object in your YAML DAG. For an example KPO configuration, visit: KubernetesPodOperator Documentation.
  • Consolidate !and, !or, !join, and and or key in YAML DAG configuration by @pankajastro in #525
    • Use __and__, __or__ and join__ instead
  • Remove custom parsing for DAG parameter timetable by @pankajastro in #533
    • Use the __type__ annotation for the timetable parameter.
  • Rename parameter of load_yaml_dags and _DagFactory to reflect behaviour by @pankajastro in #546
    • Rename config to config_dict
    • Rename default_args_config_path to defaults_config_path
    • Rename default_args_config_dict to defaults_config_dict

Added

Fixed

  • Fix the Airflow version condition check to parse inlets/outlets syntax according to the dataset by @pankajastro in #485
  • Ensure dag_params contain schedule before operating on it by @pankajkoti in #488
  • Fix start_date, end_date at the DAG level by @pankajastro in #495
  • Allow execution_timeout in default_args by @pankajastro in #501
  • Capture Telemetry DNS gaierror and handle it gracefully by @tatiana in #544
  • Fix require response_check param in http sensor by @pankajastro in #576
  • Add none check before evaluating lambda func in HttpSensor @pankajastro in #577

Docs

Other Changes

v1.0.0a4

02 Sep 15:19

Choose a tag to compare

v1.0.0a4 Pre-release
Pre-release

What's Changed

Full Changelog: v1.0.0a3...v1.0.0a4

v1.0.0a3

25 Aug 13:37

Choose a tag to compare

v1.0.0a3 Pre-release
Pre-release

CI: Only build docs on PR push event and deploy for merge and release PR: #568

Full Changelog: v1.0.0a2...v1.0.0a3

v1.0.0a2

11 Aug 14:33

Choose a tag to compare

v1.0.0a2 Pre-release
Pre-release

[1.0.0a2] - 2025-08-11

Breaking Changes

  • Airflow providers are now optional dependencies by @pankajastro in #486
    • Previously, dag-factory enforced the installation of apache-airflow-providers-http and apache-airflow-providers-cncf-kubernetes. These Airflow providers dependencies are now optional. If your DAGs depend on these providers, you must install them manually. Alternatively, you can install dag-factory with extras like dag-factory[all], dag-factory[kubernetes], etc.
  • Removed clean_dags function by @pankajastro in #498
    • You no longer need to call example_dag_factory.clean_dags(globals()) in your DAG files. DAG cleanup is now controlled via the Airflow config setting AIRFLOW__DAG_PROCESSOR__REFRESH_INTERVAL.
  • Remove schedule_interval parameter from DAG configuration YAML by @viiccwen in #503
    • Use schedule parameter instead of schedule_interval.
  • Change DagFactory class access to private by @pankajastro in #509
    • The import path from dagfactory import DagFactory has been removed.
    • The class DagFactory has been renamed to _DagFactory.
    • The generate_dags method of DagFactory has been renamed to _generate_dags.
  • Remove Inconsistent Parameters for Airflow Consistent by @pankajastro in #512
    • Removed dagrun_timeout_sec from dag param.
    • Removed retry_delay_sec, sla_secs from default_args.
    • Removed accepting execution_timeout as integer.
    • Removed execution_timeout_secs, sla_secs and execution_delta_secs from task param.
  • Remove custom parsing for Kubernetes object and refactor KPO to use __type__ syntax by @pankajastro in #523
    • The custom parsing for Kubernetes objects has been removed. You can no longer pass a custom YAML dictionary to DAG-Factory configuration unless accepted by the KubernetesPodOperator. We suggest you to use __type__ syntax to supply Kubernetes object in your YAML DAG. For an example KPO configuration, visit: KubernetesPodOperator Documentation.
  • Consolidate !and, !or, !join, and and or key in YAML DAG configuration by @pankajastro in #525
    • Use __and__, __or__ and join__ instead
  • Remove custom parsing for DAG parameter timetable by @pankajastro in #533
    • Use the __type__ annotation for the timetable parameter.
  • Rename parameter of load_yaml_dags and _DagFactory to reflect behaviour by @pankajastro in #546
    • Rename config to config_dict
    • Rename default_args_config_path to defaults_config_path
    • Rename default_args_config_dict to defaults_config_dict

Added

  • Support dag-level arguments in global defaults by @gyli in #480
  • Support *args in custom Python object by @pankajastro in #484
  • Support tasks and task_groups as lists by @pankajkoti in #487
  • Support overriding defaults.yml based on the directory hierarchy by @tatiana in #500
  • Introduced DAG Factory CLI by @tatiana in #510
  • Added lint command to CLI by @tatiana in #513
  • Add convert CLI command to migrate from af2 to af3 by @tatiana in 539

Fixed

  • Fix the Airflow version condition check to parse inlets/outlets syntax according to the dataset by @pankajastro in #485
  • Ensure dag_params contain schedule before operating on it by @pankajkoti in #488
  • Fix start_date, end_date at the DAG level by @pankajastro in #495
  • Allow execution_timeout in default_args by @pankajastro in #501
  • Capture Telemetry DNS gaierror and handle it gracefully by @tatiana in #544

Docs

Other Changes

v1.0.0a1

01 Aug 15:58

Choose a tag to compare

v1.0.0a1 Pre-release
Pre-release

[1.0.0a1] - 2025-08-01

Breaking Changes

  • Airflow providers are now optional dependencies by @pankajastro in #486
    • Previously, dag-factory enforced the installation of apache-airflow-providers-http and apache-airflow-providers-cncf-kubernetes. These Airflow providers dependencies are now optional. If your DAGs depend on these providers, you must install them manually. Alternatively, you can install dag-factory with extras like dag-factory[all], dag-factory[kubernetes], etc.
  • Removed clean_dags function by @pankajastro in #498
    • You no longer need to call example_dag_factory.clean_dags(globals()) in your DAG files. DAG cleanup is now controlled via the Airflow config setting AIRFLOW__DAG_PROCESSOR__REFRESH_INTERVAL.
  • Remove Inconsistent Parameters for Airflow Consistent by @pankajastro in #512
    • Removed dagrun_timeout_sec from dag param.
    • Removed retry_delay_sec, sla_secs from default_args.
    • Removed accepting execution_timeout as integer.
    • Removed execution_timeout_secs, sla_secs and execution_delta_secs from task param.
  • Remove custom parsing for Kubernetes object and refactor KPO to use __type__ syntax by @pankajastro in #523
    • The custom parsing for Kubernetes objects has been removed. You can no longer pass a custom YAML dictionary to DAG-Factory configuration unless accepted by the KubernetesPodOperator. We suggest you to use __type__ syntax to supply Kubernetes object in your YAML DAG. For an example KPO configuration, visit: KubernetesPodOperator Documentation.

Added

Fixed

  • Fix the Airflow version condition check to parse inlets/outlets syntax according to the dataset by @pankajastro in #485
  • Ensure dag_params contain schedule before operating on it by @pankajkoti in #488
  • Fix start_date, end_date at the DAG level by @pankajastro in #495
  • Allow execution_timeout in default_args by @pankajastro in #501

Docs

  • Restore basic DAG example by @pankajastro in #483
  • Replace the usages in example dags, tests and docs for tasks and taskgroups to be list by @pankajkoti in #492
  • Update default documentation based on #500 by @tatiana in #504
  • Add more examples for Custom Python object by @pankajastro in #506
  • Add documentation for DAG Factory CLI by @tatiana in #511
  • Add documentation and example YAMLs for task and task_group configuration formats by @pankajkoti in #530

Other Changes

v0.23.0

14 Jul 11:17

Choose a tag to compare

[0.23.0] - 2025-07-14

Breaking Change

Airflow 3 Support

Added

Fixed

Docs

Others

v0.23.0a9

11 Jul 15:18

Choose a tag to compare

v0.23.0a9 Pre-release
Pre-release

Test: Add environment for pypi publish job : #478

v0.23.0a10

11 Jul 15:34

Choose a tag to compare

v0.23.0a10 Pre-release
Pre-release

[0.23.0a10] - 2025-07-11

Breaking Change

Airflow 3 Support

Added

Fixed

Docs

Others

v0.23.0a8

01 Jul 13:19

Choose a tag to compare

v0.23.0a8 Pre-release
Pre-release

[0.23.0a8] - 2025-01-07

Add support for custom Python object by @pankajastro in #444