Upgrading to 0.21.0

Release candidate

dbt v0.21.0-rc1 is currently available as a release candidate. If you have questions or encounter bugs, please let us know in #dbt-prereleases or by opening an issue in GitHub.

Resources

Breaking changes

  • dbt source snapshot-freshness has been renamed to dbt source freshness. Its node selection logic is now consistent with other tasks. In order to check freshness for a specific source, you must prefix it with source:.
  • Two dbt JSON artifacts have a new schema: manifest.json (new default node properties) and sources.json (now includes timing information).
  • Snowflake: Turn off transactions and turn on autocommit by default. Explicitly specify begin and commit for DML statements in incremental and snapshot materializations. Note that this may affect user-space code that depends on transactions.

New and changed documentation

Tasks

Selection

  • Commands: source: Updated selection logic to match other tasks. When selecting a specific source to check freshness, you must prefix it with source:.
  • Node selection syntax, commands: Switch --models for --select across the board. (Commands which previously used the --models flag still support it for backwards compatibility.)
  • YAML selectors now support an optional default property. If set, dbt will use custom selection criteria for commands that do not specify their own selection/exclusion flags.
  • Selection methods and state comparison caveats: Add state:modified subselectors, and reflect that it now includes changes to upstream macros.
  • Test selection examples includes more discussion of indirect selection (a change in v0.20), and the optional "greedy" flag/property (new in v0.21), which you can optionally set to include tests that have a mix of selected + unselected parents

Elsewhere in Core

Plugins

  • Postgres profile property connect_timeout now configurable. Also applicable to child plugins (e.g. dbt-redshift)
  • Redshift: profile property ra3: true to support cross-database source definitions and read-only querying
  • BigQuery: profile property execution_project now configurable. Snapshots support target_project and target_dataset config aliases.