All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support Task Flow and enhance dynamic task mapping by @tatiana in #314
- Render YML DAG config as DAG Docs by @pankajastro #305
- Support building DAGs from topologically unsorted YAML files by @tatiana in #307
- Add support for nested task groups by @glazunov996 and @pankajastro in #292
- Add support for templating
on_failure_callback
by @jroach-astronomer #252
- Fix compatibility with apache-airflow-providers-cncf-kubernetes>=10.0.0 by @tatiana in #311
- Refactor telemetry to collect events during DAG run and not during DAG parsing by @pankajastro #300
- Fix reference for HttpSensor in README.md by @pankajastro in #277
- Add example DAG for task group by @pankajastro in #293
- Add CODEOWNERS by @pankajkoti in #270
- Update CODEOWNERS to track all files by @pankajkoti in #276
- Modified Status badge in README by @jaejun #298
- Add GitHub issue template for bug reports and feature requests by @pankajkoti in #269
- Refactor dynamic task mapping implementation by @tatiana in #313
- Remove pytest durations from tests by @tatiana in #309
- Remove DAG retries check since many DAGs have different retry values by @tatiana in #310
- Lint fixes after running
pre-commit run --all-files
by @tatiana in #312 - Remove redundant exception code by @pankajastro #294
-
Support using envvar in config YAML by @tatiana in #236
-
Callback improvements
- Support installed code via python callable string by @john-drews in #221
- Add
callback_file
&callback_name
todefault_args
DAG level by @subbota19 in #218 - Cast callbacks to functions when set with
default_args
on TaskGroups by @Baraldo and @pankajastro in #235
-
Telemetry
- For more information, please, read the Privacy Notice.
- Add scarf to readme for website analytics by @cmarteepants in #219
- Support telemetry during DAG parsing emitting data to Scarf by @tatiana in #250.
- Build DAGs when there is an invalid YAML in the DAGs folder by @quydx and @tatiana in #184
- Development tools
- Fix make docker-run by @pankajkoti in #249
- Add vim dot files to .gitignore by @tatiana in #228
- Add local airflow setup files to .gitignore by @pankajkoti in #246
- Use Hatchling to modern package building by @kaxil in #208
- Cleanup dependabot, MANIFEST.in and Makefile by @pankajastro in #268
- Add Astro CLI project to validate DAG Factory by @pankajastro in #267
- Fix Makefile to run make docker-run by @tatiana in #271
- CI
- Fix static check failures in PR #218 by @pankajkoti in #251
- Fix pre-commit checks by @tatiana in #247
- Remove tox and corresponding build jobs in CI by @pankajkoti in #248
- Install Airflow with different versions in the CI by @pankajkoti in #237
- Run pre-commit hooks on all existing files by @pankajkoti in #245
- Add Python 3.11 and 3.12 to CI test pipeline by @pankajkoti in #229
- Fix release action and overall CI jobs dependencies by @tatiana in #261
- Packaging & Release
- Configure GitHub to automate publishing DAG Factory in PyPI by @tatiana in #255
- Update pyproject classifiers for Python 3.11 and 3.12 by @pankajastro in #262
- Update http sensor example to Airflow 2.0 by @pankajastro in #265
- Tests
- Fix duplicate test name by @pankajastro in #234
- Add static check by @pankajastro in #231
- Fix running tests locally (outside the CI) by @tatiana in #227
- Add the task_2 back to dataset example by @cmarteepants in #204
- Remove unnecessary config line by @jlaneve in #202
- Fix Pytest fixture that changed DAG YAML file by @tatiana in #256
- Run integration tests in CI by @pankajkoti in #266
- Improve test coverage by @pankajastro in #258
- Refactor
- Refactor poor exception handling by @tatiana in #259
- Remove off looking start-date value in example_dag yaml config by @pankajkoti in #273
- Documentation
- Update the license from MIT to Apache 2.0 by @pankajastro in #191
- Add registration icon and links to Airflow references by @cmarteepants in #190
- Update quickstart and add feature examples by @cmarteepants #189
- Fix
README.md
badges by @tatiana in #260 - Remove duplicated operator in
README.md
by @brair in #263
- Removed support for Python 3.7
- The license was changed from MIT to Apache 2.0
0.19.0 - 2023-07-19
- Support for Airflow Datasets (data-aware scheduling)
- Support for inherited Operators
0.18.1 - 2023-04-28
- Set default value for
render_template_as_native_obj
to False
0.18.0 - 2023-04-11
- Support for dynamic task mapping
- Support for
render_template_as_native_obj
- Support for
template_searchpath
0.17.3 - 2023-03-27
- dag-factory specific
Exceptions
with more meaningful names
- Reverts allowing inheritance of
KubernetesPodOperator
- Now passing CI for lint check
0.17.2 - 2023-03-26
- Allow inheritance of
KubernetesPodOperator
0.17.1 - 2023-01-21
- Changed imports to support Kubernetes Provider > 5.0.0
0.17.0 - 2022-12-06
- Adds
sla_secs
indefault_args
to convert seconds totimedelta
obj
- Changed deprecated imports to support Airflow 2.5
- Removed support for Python 3.6
0.16.0 - 2022-11-13
- Function to scan recursively for YAML DAGs
- Changed deprecated imports to support Airflow 2.4+
0.15.0 - 2022-09-09
- Support for string concatenation of variables in YAML
0.14.0 - 2022-08-22
- Cast
on_retry_callback
fromdefault_args
toCallable
0.13.0 - 2022-05-27
- Add support for custom
timetable
- Add support for
python_callable_file
forPythonSensor
0.12.0 - 2022-02-07
- Allow
params
to be specified in YAML - Add environment variables support for
python_callable_file
- Adds support for
is_paused_upon_creation
flag - Allow
python_callable
to be specified in YAML
0.11.1 - 2021-12-07
- Add support for
access_control
in DAG params
- Fixed tests for Airflow 1.10 by pinning
wtforms
0.11.0 - 2021-10-16
- Add support success/failure callables in
SqlSensor
- Add
sla_secs
option in task param to convert seconds to timedelta object
- Support Airflow 2.2
0.10.1 - 2021-08-24
- Add support for
response_check_lambda
option inHttpSensor
0.10.0 - 2021-08-20
- Add support for
HttpSensor
0.9.1 - 2021-07-27
- Add support for
python_callable_file
forBranchPythonOperator
- Only try to use
import_string
for callbacks if they are strings
0.9.0 - 2021-07-25
- Allow callbacks from Python modules
0.8.0 - 2021-06-09
- Support for
TaskGroups
if using Airflow 2.0 - Separate DAG building and registering logic
0.7.2 - 2021-01-21
- Correctly set
dag.description
depending on Airflow version
0.7.1 - 2020-12-19
- Examples for using Custom Operator
- Handle
"None"
asschedule_interval
0.7.0 - 2020-12-19
- Support Airflow 2.0!
0.6.0 - 2020-11-16
catchup
added to DAG parameters- Support for
ExternalTaskSensor
- Run test suite against Python 3.8
0.5.0 - 2020-08-20
- Support for
KubernetesPodOperator
doc_md
parameter at DAG level- Import
doc_md
from a file or python callable
get_datetime
no longer removes time component
0.4.5 - 2020-06-17
- Do not include DAG
tags
parameter in Airflow versions that do not support it.
0.4.4 - 2020-06-12
- Use correct default for
tags
parameter
0.4.3 - 2020-05-24
execution_timeout
parse at task leveltags
parameter at DAG level
0.4.2 - 2020-03-28
- Method
clean_dags
to clean old dags that might not exist anymore
airflow
version
0.4.1 - 2020-02-18
- Default
default_view
parameter to value fromairflow.cfg
0.4.0 - 2020-02-12
- Support for additional DAG parameters
- Define Loader when loading YAML file
0.3.0 - 2019-10-11
- Support for PythonOperator tasks
- Cleaned up testing suite and added pylint to builds
0.2.2 - 2019-09-08
airflow
version
piplock
andpipfile
files
0.2.1 - 2019-02-26
- Python 3+ type-annotations
0.2.0 - 2018-11-28
- Added badges to README
- Support for timezone aware DAGs
- This CHANGELOG!
0.1.1 - 2018-11-20
- Removed
logme
dependency
0.1.0 - 2018-11-20
- Initial release