v1.0.0
v1.0.0 of airflow-dbt-python is finally here 🎉
I feel very confident in the API we have established, and even if there is still work to do, I want to start building on this API instead of dealing with old inconsistencies.
Due to the size of this release, I encourage folks who haven't had a chance to test the pre-release versions available for at least 3 weeks, to do so now before upgrading. As always, we thank any bug reports which can be opened as a GitHub issue.
Changes
- airflow-dbt-python operators no longer handle temporary directories.
- airflow-dbt-python operators should be about defining what to execute, not how.
- airflow-dbt-python hooks are the ones that should worry about setting up directories.
- This significantly reduces the complexity in operators.
- Refactored the dbt remote interface (previously dbt backends).
- The interface has been simplified to two methods: upload and download.
- Now utilizes a more specific URL class for all URL-like arguments.
- All dbt remotes are now hooks too, which means they can use Airflow Connections.
- Implemented a new DbtRemoteGitHook to utilize git repositories as remotes.
- tar file is a new supported archive format for dbt projects.
- Moved dbt configurations to the utilities module.
- dbt configurations are a wrapper to dbt. They exist purely because dbt doesn't have a formalized API outside the CLI.
- Once dbt as a library moves along (see dbt-core as a library dbt-labs/dbt-core#6356), we may drop all of these configurations.
- Much better understanding of how dbt logs things (as in, we now don't log things multiple times).
- Support for Python 3.11.
- Updated documentation.
- Update CI versions.
- Clear up test state to allow tests to be run more than once.
Breaking changes
- Dropped support for Airflow major version 1.
- It required too much work to maintain, and AWS MWAA has offered Airflow >= 2.x for a while now.
- New hook and operator interfaces are incompatible with <=1.0.0 versions.
- Developers extending airflow-dbt-python should be aware of these changes and review the documentation.