β οΈ Breaking Change
Impact Score: 7/10
dbt Core: dbt 0.16.0
Source available β automated, not human-reviewed
Component: dbt-core Β· Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
Breaking changes - Agate type inference is no longer locale-specific. Only a small number of date/datetime formats are supported. If a seed has a specified column type, agate will not perform any type inference (it will instead be cast from a string). ([#999](https://github.com/fishtown-analytics/dbt/issues/999), [#1639](https://github.com/fishtown-analytics/dbt/issues/1639), [#1920](https://github.com/fishtown-analytics/dbt/pull/1920)) - BigQuery range bucket partitioning must now be configured with the dictionary-style partitioning syntax ([#2140](https://github.com/fishtown-analytics/dbt/pu
β‘ Executive Summary (TL;DR)
dbt Core v0.16.0. Source highlight: dbt 0.16.0 (March 23, 2020)
Who Does This Impact? (Role-Based Analysis)
π» Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
π Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
βοΈ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
β οΈ Breaking Changes & Deprecations (1)
- Breaking changes - Agate type inference is no longer locale-specific. Only a small number of date/datetime formats are supported. If a seed has a specified column type, agate will not perform any type inference (it will instead be cast from a string). ([#999](https://github.com/fishtown-analytics/dbt/issues/999), [#1639](https://github.com/fishtown-analytics/dbt/issues/1639), [#1920](https://github.com/fishtown-analytics/dbt/pull/1920)) - BigQuery range bucket partitioning must now be configured with the dictionary-style partitioning syntax ([#2140](https://github.com/fishtown-analytics/dbt/pu
β¨ New Features & Capabilities (6)
- Add support for `generate_database_name` macro (#1695, #2143) (docs)
- Add `meta`, `docs`, and `tags`, and column quoting options to `schema.yml` files (docs)
- Add a meta key to most schema.yml specifications (#1362, #2015)
- Add tags for sources (like model tags) and columns (tags apply to tests of that column) (#1906, #1586, #2039)
- Add column-level quoting control for tests (#2106, #2047)
- Add a "docs" field to models, with a "show" subfield (#1671, #2107)
β‘ Performance & Enhancements (3)
- Agate type inference is no longer locale-specific. Only a small number of date/datetime formats are supported. If a seed has a specified column type, agate will not perform any type inference (it will instead be cast from a string). (#999, #1639, #1920)
- Improve the speed of catalog generation by performing multiple smaller queries instead of one huge query (#2009, #2037)
- Improve the CI process for externally-contributed PRs (#2033, #2097)
π§ Bug Fixes & Patches (6)
- Update the debug log format (#2099)
- Fix the help output for `dbt docs` and `dbt source` to not include misleading flags (#2038, #2105)
- Allow `dbt debug` from subdirectories (#2086, #2094)
- Fix the `--no-compile` flag to `dbt docs generate` not crash dbt (#2090, #2093)
- Fix issue running `dbt debug` with an empty `dbt_project.yml` file (#2116, #2120)
- Ovewrwrite source config fields that should clobber, rather than deep merging them (#2049, #2062)
π View Raw Release Notes (Original Developer Log)
## dbt 0.16.0 (March 23, 2020)
This release contains many new features, bug fixes, and performance improvements.
**Links:**
π [Upgrading guide](https://docs.getdbt.com/docs/guides/migration-guide/upgrading-to-0-16-0)
π¬ [Discussion: v0.16.0 is released](https://discourse.getdbt.com/t/release-dbt-v0-16-0)
β© [Discussion: BigQuery incremental model updates](https://discourse.getdbt.com/t/bigquery-dbt-incremental-changes/982)
π [Discussion: Benchmarking BigQuery incremental strategies](https://discourse.getdbt.com/t/benchmarking-incremental-strategies-on-bigquery/981/2)
### Breaking changes
- Agate type inference is no longer locale-specific. Only a small number of date/datetime formats are supported. If a seed has a specified column type, agate will not perform any type inference (it will instead be cast from a string). ([#999](https://github.com/fishtown-analytics/dbt/issues/999), [#1639](https://github.com/fishtown-analytics/dbt/issues/1639), [#1920](https://github.com/fishtown-analytics/dbt/pull/1920))
- BigQuery range bucket partitioning must now be configured with the dictionary-style partitioning syntax ([#2140](https://github.com/fishtown-analytics/dbt/pull/2140)) ([docs](https://docs.getdbt.com/docs/building-a-dbt-project/building-models/bigquery-configs/#partition-clause))
- `generate_schema_name` macros that accept a single argument are no longer supported ([#2143](https://github.com/fishtown-analytics/dbt/pull/2143))
- Files with a `.yml` extension found in the `data/`, `macros/`, `analysis/`, `tests/`, and `snapshots/` directories will now be parsed as schema.yml specifications ([#2160](https://github.com/fishtown-analytics/dbt/pull/2160))
- The syntax of the `get_catalog` macro has changed ([#2037](https://github.com/fishtown-analytics/dbt/pull/2037))
- When overriding the snowflake__list_schemas macro, you must now run a result with a column named 'name' instead of the first column ([#2171](https://github.com/fishtown-analytics/dbt/pull/2171))
- dbt no longer supports building models in Snowflake databases with greater than 10,000 schemas ([#2171](https://github.com/fishtown-analytics/dbt/pull/2171))
- Arguments to source tests are not parsed in the config-rendering context, and are passed as their literal unparsed values to macros ([#2150](https://github.com/fishtown-analytics/dbt/pull/2150))
- Update the debug log format ([#2099](https://github.com/fishtown-analytics/dbt/pull/2099))
- Removed `docrefs` from output ([#2096](https://github.com/fishtown-analytics/dbt/pull/2096))
### Features
#### Core
- Compilation contexts have updated to be more consistent and well-defined ([#1053](https://github.com/fishtown-analytics/dbt/issues/1053), [#1981](https://github.com/fishtown-analytics/dbt/issues/1981), [#1255](https://github.com/fishtown-analytics/dbt/issues/1255), [#2085](https://github.com/fishtown-analytics/dbt/pull/2085)) ([docs](https://docs.getdbt.com/docs/writing-code-in-dbt/jinja-context/dbt-project-yml-context/))
- Add support for `generate_database_name` macro ([#1695](https://github.com/fishtown-analytics/dbt/issues/1695), [#2143](https://github.com/fishtown-analytics/dbt/pull/2143)) ([docs](https://docs.getdbt.com/docs/building-a-dbt-project/building-models/using-custom-database))
- Add `meta`, `docs`, and `tags`, and column quoting options to `schema.yml` files ([docs](https://docs.getdbt.com/docs/building-a-dbt-project/testing-and-documentation/schemayml-files))
- Add a meta key to most schema.yml specifications ([#1362](https://github.com/fishtown-analytics/dbt/issues/1362), [#2015](https://github.com/fishtown-analytics/dbt/pull/2015))
- Add tags for sources (like model tags) and columns (tags apply to tests of that column) ([#1906](https://github.com/fishtown-analytics/dbt/issues/1906), [#1586](https://github.com/fishtown-analytics/dbt/issues/1586), [#2039](https://github.com/fishtown-analytics/dbt/pull/2039))
- Add column-level quoting control for tests ([#2106](https://github.com/fishtown-analytics/dbt/issues/2106), [#2047](https://github.com/fishtown-analytics/dbt/pull/2047))
- Add a "docs" field to models, with a "show" subfield ([#1671](https://github.com/fishtown-analytics/dbt/pull/1671), [#2107](https://github.com/fishtown-analytics/dbt/pull/2107))
- Add support for documentation of macros, analyses, snapshots and seeds ([docs](https://docs.getdbt.com/docs/building-a-dbt-project/testing-and-documentation/schemayml-files))
- Add documentation for macros/analyses ([#1041](https://github.com/fishtown-analytics/dbt/issues/1041), [#2068](https://github.com/fishtown-analytics/dbt/pull/2068))
- Add `arguments` field to macro schema.yml specifications ([#2081](https://github.com/fishtown-analytics/dbt/issues/2081), [#2083](https://github.com/fishtown-analytics/dbt/issues/2083), [#2096](https://github.com/fishtown-analytics/dbt/pull/2096))
- Add documentation for snapshots and seeds ([#1974](https://github.com/fishtown-analytics/dbt/issues/1974), [#2051](https://github.com/fishtown-analytics/dbt/pull/2051))
- Improve the speed of catalog generation by performing multiple smaller queries instead of one huge query ([#2009](https://github.com/fishtown-analytics/dbt/issues/2009), [#2037](https://github.com/fishtown-analytics/dbt/pull/2037))
- Add batching to anonymous usage statistics requests to improve performance ([#2008](https://github.com/fishtown-analytics/dbt/issues/2008), [#2089](https://github.com/fishtown-analytics/dbt/pull/2089))
- Add search for docs to include 'data' and 'snapshots' folders, in addition to 'models' ([#1832](https://github.com/fishtown-analytics/dbt/issues/1832), [#2058](https://github.com/fishtown-analytics/dbt/pull/2058))
- Add search for docs to include macro-paths and analysis-paths (in addition to source-paths, data-paths, and snapshot-paths) ([#2155](https://github.com/fishtown-analytics/dbt/issues/2155), [#2160](https://github.com/fishtown-analytics/dbt/pull/2160))
- Add `Column.is_number`/`Column.is_float` methods ([#1969](https://github.com/fishtown-analytics/dbt/issues/1969), [#2046](https://github.com/fishtown-analytics/dbt/pull/2046))
- Add detection and error handling for duplicated macro names ([#1891](https://github.com/fishtown-analytics/dbt/issues/1891), [#2045](https://github.com/fishtown-analytics/dbt/pull/2045))
- Add support for `--select` on `dbt seed` ([#1711](https://github.com/fishtown-analytics/dbt/issues/1711), [#2042](https://github.com/fishtown-analytics/dbt/pull/2042)) ([docs](https://docs.getdbt.com/docs/running-a-dbt-project/command-line-interface/seed))
- Add`toyaml` and `fromyaml` methods to the base context ([#1911](https://github.com/fishtown-analytics/dbt/issues/1911), [#2036](https://github.com/fishtown-analytics/dbt/pull/2036)) ([docs](https://docs.getdbt.com/docs/writing-code-in-dbt/jinja-context/fromyaml))
- Add `database_schemas` to the on-run-end context ([#1924](https://github.com/fishtown-analytics/dbt/issues/1924), [#2031](https://github.com/fishtown-analytics/dbt/pull/2031)) ([docs](https://docs.getdbt.com/docs/writing-code-in-dbt/jinja-context/on-run-end-context))
- Add the concept of `builtins` to the dbt context, make it possible to override functions like `ref` ([#1603](https://github.com/fishtown-analytics/dbt/issues/1603), [#2028](https://github.com/fishtown-analytics/dbt/pull/2028)) ([docs](https://docs.getdbt.com/docs/writing-code-in-dbt/jinja-context/builtins))
- Add clickable docs URL link in CLI output ([#2027](https://github.com/fishtown-analytics/dbt/issues/2027), [#2131](https://github.com/fishtown-analytics/dbt/pull/2131))
- Add parsing model hooks and collect `ref` statements ([#1957](https://github.com/fishtown-analytics/dbt/issues/1957), [#2025](https://github.com/fishtown-analytics/dbt/pull/2025))
- Add the macros every node uses to its `depends_on.macros` list ([#2082](https://github.com/fishtown-analytics/dbt/issues/2082), [#2103](https://github.com/fishtown-analytics/dbt/pull/2103))
#### Docs website
- Add handling non-array `accepted_values` test arguments ([dbt-docs#70](https://github.com/fishtown-analytics/dbt-docs/pull/70))
- Add support for filtering by resource type ([dbt-docs#77](https://github.com/fishtown-analytics/dbt-docs/pull/77))
- Add analyses, macros, and custom data tests ([dbt-docs#72](https://github.com/fishtown-analytics/dbt-docs/pull/72), [dbt-docs#77](https://github.com/fishtown-analytics/dbt-docs/pull/77), [dbt-docs#69](https://github.com/fishtown-analytics/dbt-docs/pull/69))
- Add support for hiding models from the docs (these nodes still render in the DAG view as "hidden") ([dbt-docs#71](https://github.com/fishtown-analytics/dbt-docs/pull/71))
- Add `meta` fields as "details" in node views ([dbt-docs#73](https://github.com/fishtown-analytics/dbt-docs/pull/73))
- Add lower-casing for Snowflake columns specified in all-caps ([dbt-docs#74](https://github.com/fishtown-analytics/dbt-docs/pull/74))
- Upgrade site dependencies
#### Postgres/Redshift
- Add `role` parameter in Postgres target configuration ([#1955](https://github.com/fishtown-analytics/dbt/issues/1955), [#2137](https://github.com/fishtown-analytics/dbt/pull/2137)) ([docs](https://docs.getdbt.com/docs/supported-databases/profile-postgres/))
- Add `sslmode` parameter for Postgres target configuration ([#2152](https://github.com/fishtown-analytics/dbt/issues/2152), [#2154](https://github.com/fishtown-analytics/dbt/pull/2154)) ([docs](https://docs.getdbt.com/docs/supported-databases/profile-postgres/))
#### Snowflake
- Remove the requirement to have a passphrase when using Snowflake key pair authentication ([#1805](https://github.com/fishtown-analytics/dbt/issues/1805), [#2164](https://github.com/fishtown-analytics/dbt/pull/2164)) ([docs](https://docs.getdbt.com/docs/supported-databases/profile-snowflake/#key-pair-authentication))
#### BigQuery
- Support a cost-effective approach for incremental models on BigQuery using scripting ([#1034](https://github.com/fishtown-analytics/dbt/issues/1034), [#2140](https://github.com/fishtown-analytics/dbt/pull/2140)) ([docs](https://docs.getdbt.com/docs/building-a-dbt-project/building-models/bigquery-configs/#merge-behavior-incremental-models))
- Add `insert_overwrite` strategy for BigQuery incremental models ([#2153](https://github.com/fishtown-analytics/dbt/pull/2153)) ([docs](https://docs.getdbt.com/docs/building-a-dbt-project/building-models/bigquery-configs/#merge-behavior-incremental-models))
- Add a dbt-{dbt_version} user agent field to the bigquery connector ([#2121](https://github.com/fishtown-analytics/dbt/issues/2121), [#2146](https://github.com/fishtown-analytics/dbt/pull/2146))
### Fixes
- Fix the help output for `dbt docs` and `dbt source` to not include misleading flags ([#2038](https://github.com/fishtown-analytics/dbt/issues/2038), [#2105](https://github.com/fishtown-analytics/dbt/pull/2105))
- Allow `dbt debug` from subdirectories ([#2086](https://github.com/fishtown-analytics/dbt/issues/2086), [#2094](https://github.com/fishtown-analytics/dbt/pull/2094))
- Fix the `--no-compile` flag to `dbt docs generate` not crash dbt ([#2090](https://github.com/fishtown-analytics/dbt/issues/2090), [#2093](https://github.com/fishtown-analytics/dbt/pull/2093))
- Fix issue running `dbt debug` with an empty `dbt_project.yml` file ([#2116](https://github.com/fishtown-analytics/dbt/issues/2116), [#2120](https://github.com/fishtown-analytics/dbt/pull/2120))
- Ovewrwrite source config fields that should clobber, rather than deep merging them ([#2049](https://github.com/fishtown-analytics/dbt/issues/2049), [#2062](https://github.com/fishtown-analytics/dbt/pull/2062))
- Fix a bug in macro search where built-in macros could not be overridden for `dbt run-operation` ([#2032](https://github.com/fishtown-analytics/dbt/issues/2032), [#2035](https://github.com/fishtown-analytics/dbt/pull/2035))
- dbt now detects dependencies with the same name as the current project as an error instead of silently clobbering each other ([#2029](https://github.com/fishtown-analytics/dbt/issues/2029), [#2030](https://github.com/fishtown-analytics/dbt/pull/2030))
- Exclude tests of disabled models in compile statistics ([#1804](https://github.com/fishtown-analytics/dbt/issues/1804), [#2026](https://github.com/fishtown-analytics/dbt/pull/2026))
- Do not show ephemeral models as being cancelled during ctrl+c ([#1993](https://github.com/fishtown-analytics/dbt/issues/1993), [#2024](https://github.com/fishtown-analytics/dbt/pull/2024))
- Improve errors on plugin import failure ([#2006](https://github.com/fishtown-analytics/dbt/issues/2006), [#2022](https://github.com/fishtown-analytics/dbt/pull/2022))
- Fix the behavior of the `project-dir` argument when running `dbt debug` ([#1733](https://github.com/fishtown-analytics/dbt/issues/1733), [#1989](https://github.com/fishtown-analytics/dbt/pull/1989))
- When dbt encounters databases, schemas, or tables with names that look like numbers, treat them as strings ([#2206](https://github.com/fishtown-analytics/dbt/issues/2206), [#2208](https://github.com/fishtown-analytics/dbt/pull/2208))
- Fix issue where dbt did not give an error in the presence of duplicate doc names ([#2054](https://github.com/fishtown-analytics/dbt/issues/2054), [#2080](https://github.com/fishtown-analytics/dbt/pull/2080))
- Include vars provided to the cli method when running the actual method ([#2092](https://github.com/fishtown-analytics/dbt/issues/2092), [#2104](https://github.com/fishtown-analytics/dbt/pull/2104))
- Improved error messages with malformed packages.yml ([#2017](https://github.com/fishtown-analytics/dbt/issues/2017), [#2078](https://github.com/fishtown-analytics/dbt/pull/2078))
- Fix an issue where dbt rendered source test args, fix issue where dbt ran an extra compile pass over the wrapped SQL. ([#2114](https://github.com/fishtown-analytics/dbt/issues/2114), [#2150](https://github.com/fishtown-analytics/dbt/pull/2150))
- [Regression] If database quoting is enabled, do not attempt to create schemas that already exist ([#2186](https://github.com/fishtown-analytics/dbt/issues/2186), [#2187](https://github.com/fishtown-analytics/dbt/pull/2187))
### Under the hood
- Set more upper bounds for jinja2,requests, and idna dependencies, upgrade snowflake-connector-python ([#2147](https://github.com/fishtown-analytics/dbt/issues/2147), [#2151](https://github.com/fishtown-analytics/dbt/pull/2151))
- Pin cffi to <1.14 to avoid a version conflict with snowflake-connector-python ([#2180](https://github.com/fishtown-analytics/dbt/issues/2180), [#2181](https://github.com/fishtown-analytics/dbt/pull/2181))
- Use `show terse schemas in database` (chosen based on data collected by Michael Weinberg) instead of `select ... from information_schema.schemata` when collecting the list of schemas in a database ([#2166](https://github.com/fishtown-analytics/dbt/issues/2166), [#2171](https://github.com/fishtown-analytics/dbt/pull/2171))
- Parallelize filling the cache and listing schemas in each database during startup ([#2127](https://github.com/fishtown-analytics/dbt/issues/2127), [#2157](https://github.com/fishtown-analytics/dbt/pull/2157))
- Increased the lower bound for google-cloud-bigquery ([#2213](https://github.com/fishtown-analytics/dbt/issues/2213), [#2214](https://github.com/fishtown-analytics/dbt/pull/2214))
- Improve the CI process for externally-contributed PRs ([#2033](https://github.com/fishtown-analytics/dbt/issues/2033), [#2097](https://github.com/fishtown-analytics/dbt/pull/2097))
- Many mypy/typing fixes ([#2010](https://github.com/fishtown-analytics/dbt/pull/2010))
### Contributors:
- [@aaronsteers](https://github.com/aaronsteers) ([#2131](https://github.com/fishtown-analytics/dbt/pull/2131))
- [@alanmcruickshank](https://github.com/alanmcruickshank) ([#2028](https://github.com/fishtown-analytics/dbt/pull/2028))
- [@bubbomb](https://github.com/bubbomb) ([#2080](https://github.com/fishtown-analytics/dbt/pull/2080))
- [@dholleran-lendico](https://github.com/dholleran-lendico) ([#2154](https://github.com/fishtown-analytics/dbt/pull/2154))
- [@franloza](https://github.com/franloza) ([#1989](https://github.com/fishtown-analytics/dbt/pull/1989))
- [@heisencoder](https://github.com/heisencoder) ([#2099](https://github.com/fishtown-analytics/dbt/pull/2099))
- [@mhmcdonald](https://github.com/mhmcdonald) ([#2164](https://github.com/fishtown-analytics/dbt/pull/2164))
- [@nchammas](https://github.com/nchammas) ([#2120](https://github.com/fishtown-analytics/dbt/pull/2120))
- [@NiallRees](https://github.com/NiallRees) ([#2026](https://github.com/fishtown-analytics/dbt/pull/2026))
- [@shooka](https://github.com/shooka) ([#2137](https://github.com/fishtown-analytics/dbt/pull/2137))
- [@sonac](https://github.com/sonac) ([#2078](https://github.com/fishtown-analytics/dbt/pull/2078))
- [@tayloramurphy](https://github.com/tayloramurphy) ([#2015](https://github.com/fishtown-analytics/dbt/pull/2015))
# Barbara Gittings (1932-2007)
> Thanks to @amychen1776 for providing this biography of Barbara Gittings: a famous Philadelphian, and the namesake of this dbt release.
The gritty little city of Philadelphia has always played key roles in the rebellion for a better future, from being the birthplace of America all the way to the modern LGBT Movement. The basic freedom that queer Americans enjoy today can be directly linked to the fight that Barbara Gittings waged for us here in Philadelphia.
Working with Frank Kemeny, Gittings organized the historical Annual Reminders at Independence Hall and the Liberty Bell on the 4th of July. These pickets were designed to remind the general public that LGBT people did not have the same basic civil rights as their heterosexual counterparts. The bravery of these participants should not be taken lightly; homosexuality was illegal in most of the US. These events preceded the Stonewall Riots, acting as a key catalyst for the LGBT civil rights movement.
With Kemeny, one of Gittingsβ biggest battles was with the American Psychiatric Association. In 1973, they won, and homosexuality was removed from the Diagnostic and Statistical Manual (an authoritative guide to the diagnosis of mental disorders) as a mental disorder. The celebration? Gittings took photographs with her holding up the Philadelphia news headlines: βTwenty Million Homosexuals Gain Instant Cureβ.
In an interview, Barbara Gittings summed up her activism in a quote: βItβs hard work -- but itβs vital, and itβs gratifying and itβs often fun!β.