# dbt Core v0.21.0 — Release & Upgrade Intelligence
- **Product:** dbt Core (https://www.getdbt.com)
- **Version:** v0.21.0
- **Released:** Oct 04, 2021
- **Impact Score:** 7/10
- **Breaking Changes:** Source flagged
- **Canonical Analysis:** https://changelogs.us/dbt-core/updates/v0.21.0/

## Executive Summary (TL;DR)
dbt Core v0.21.0. Source highlight: dbt Core 0.21.0 - Louis Kahn (October 4, 2021)

## Breaking Changes & Deprecations
- Breaking changes - Rename source freshness command, add full node selection, and align selection syntax with other tasks ([#2987](https://github.com/dbt-labs/dbt/issues/2987), [#3554](https://github.com/dbt-labs/dbt/pull/3554))
- - **Breaking:** Turn off transactions and turn on `autocommit` by default. Within dbt materializations, wrap DML statements in explicit `begin` and `commit`. Note that it is not recommended to run DML statements outside of dbt materialization logic. If you do this, despite our recommendation, you will need to wrap those statements in explicit `begin` and `commit`. Note also that this may affect user-space code that depends on transactions, such as pre-hooks and post-hooks that specify `transaction: true` or `transaction: false`. We recommend removing those references to transactions. ([#2748](

## New Features
- Rename source freshness command, add full node selection, and align selection syntax with other tasks (#2987, #3554)
- Add `dbt build` command to run models, tests, seeds, and snapshots in DAG order. (#2743, #3490, #3608)
- Skip downstream nodes during the `build` task when a test fails. (#3597, #3792)
- Update cli and rpc flags for the `build` task to align with other commands (`--resource-type`, `--store-failures`) (#3596, #3884)
- Introduce `on_schema_change` config to detect and handle schema changes on incremental models (#1132, #3387)
- Capture changes to macros in `state:modified`. Introduce new `state:` sub-selectors: `modified.body`, `modified.configs`, `modified.persisted_descriptions`, `modified.relation`, `modified.macros` (#2704, #3278, #3559)

## Improvements
- Improve default view and table materialization performance by checking relational cache before attempting to drop temp relations (#3112, #3468)
- Experimental parser now detects macro overrides of ref, source, and config builtins. (#3581, #3582)
- Don't reload and validate schema files if they haven't changed (#3563, #3888)
- Enhance BigQuery copy materialization (#3570, #3606):

## Bug Fixes
- Fix type coercion issues when fetching query result sets (#2984, #3499)
- Handle whitespace after a plus sign on the project config (#3526)
- Fix table and view materialization issue when switching from one to the other (#2161), #3547)
- Avoid caching schemas for tests when `store_failures` is not enabled (#3715, #3716)
- `dbt debug` shows a summary of whether all checks passed or not (#3831, #3832)
- Fix bug with initializing a dataclass that inherits from `typing.Protocol`, specifically for `dbt.config.profile.Profile` (#3843, #3855)
