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 https://github.com/dbt-labs/dbt-core/issues/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.
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.