github dbt-labs/dbt v0.9.0
dbt 0.9.0

dbt 0.9.0

This release focuses on improvements to macros, materializations, and package management. Check out the blog post to learn more about what's possible in this new version of dbt.


Full installation instructions for macOS, Windows, and Linux can be found here. If you use Windows or Linux, installation works the same as with previous versions of dbt. If you use macOS and Homebrew to install dbt, note that installation instructions have changed:

macOS Installation Instructions

brew update
brew tap fishtown-analytics/dbt
brew install dbt


  • More powerful macros and materializations
  • Custom model schemas
  • BigQuery improvements
  • Bugfixes
  • Documentation (0.9.0 docs can be found here)

Breaking Changes

  • adapter functions must be namespaced to the adapter context variable. To fix this error, use adapter.already_exists instead of just already_exists, or similar for other adapter functions.


  • Handle lingering __dbt_tmp relations (#511)
  • Run tests defined in an ephemeral directory (#509)


  • use adapter, ref, and var inside of macros (#466)
  • Build custom tests and materializations in dbt packages (#466)
  • Support pre- and post- hooks that run outside of a transaction (#510)
  • Support table materializations for BigQuery (#507)
  • Support querying external data sources in BigQuery (#507)
  • Override which schema models are materialized in (#522) (docs)
  • Make {{ ref(...) }} return the same type of object as {{ this }}(#530)
  • Replace schema test CTEs with subqueries to speed them up for Postgres (#536) (@ronnyli)
    • Bump Snowflake dependency, remove pyasn1 (#570)


New Contributors

And one more thing

Questions? Comments? Suggestions? We want to hear them! If you haven't already, join our vibrant and bustling slack team 📈

latest releases: v0.21.0b1, v0.20.1rc1, v0.20.0...
3 years ago