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:.
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.
Artifacts:
manifest.json uses a v3 schema that includes additional node properties (no changes to existing properties)
run_results.json uses a v3 schema that has added skipped as a potential TestResult
sources.json has a new v2 schema that has added timing and thread details
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.
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
Resource configs and properties docs have been consolidated and reconciled. New config property that makes it possible to configure models, seeds, snapshots, and tests in all yaml files.
Test where config has been reimplemented as a macro (get_where_subquery) that you can optionally reimplement, too
dispatch now supports reimplementing global macros residing in the dbt macro namespace with versions from installed packages, by leveraging search_order in the dispatch project config