A first release candidate for dbt-core v1.0.0. Includes everything in b1
+ b2
, plus:
Breaking changes
- Replace
greedy
flag/property for test selection withindirect_selection: eager/cautious
flag/property. Set toeager
by default. Note: This reverts test selection to its pre-v0.20 behavior by default.dbt test -s my_model
will select multi-parent tests, such asrelationships
, that depend on unselected resources. To achieve the behavior change in v0.20 + v0.21, set--indirect-selection=cautious
on the CLI orindirect_selection: cautious
in yaml selectors. (#4082, #4104) - In v1.0.0,
pip install dbt
will raise an explicit error. Instead, please usepip install dbt-<adapter>
(to use dbt with that database adapter), orpip install dbt-core
(for core functionality). For parity with the previous behavior ofpip install dbt
, you can use:pip install dbt-core dbt-postgres dbt-redshift dbt-snowflake dbt-bigquery
(#4100, #4133) - Reorganize the
global_project
(macros) into smaller files with clearer names. Remove unused global macros:column_list
,column_list_for_create_table
,incremental_upsert
(#4154) - Introduce structured event interface, and begin conversion of all legacy logging (#3359, #4055)
- This is a breaking change for adapter plugins, requiring a very simple migration. See
events
module README for details. - If you maintain another kind of dbt-core plugin that makes heavy use of legacy logging, and you need time to cut over to the new event interface, you can re-enable the legacy logger via an environment variable shim,
DBT_ENABLE_LEGACY_LOGGER=True
. Be advised that we will remove this capability in a future version of dbt-core.
- This is a breaking change for adapter plugins, requiring a very simple migration. See
Features
- Allow nullable
error_after
in source freshness (#3874, #3955) - Add
metrics
nodes (#4071, #4235) - Add support for
dbt init <project_name>
, and support forskip_profile_setup
argument (dbt init -s
) (#4156, #4249)
Fixes
- Changes unit tests using
assertRaisesRegexp
toassertRaisesRegex
(#4136, #4136) - Allow retries when the answer from a
dbt deps
isNone
(#4178, #4225)
Docs
- Fix non-alphabetical sort of Source Tables in source overview page (docs#81, docs#218)
- Add title tag to node elements in tree (docs#202, docs#203)
- Account for test rename:
schema
→generic
,data
→singular
. Usetest_metadata
instead ofschema
/data
tags to differentiate (docs#216, docs#222) - Add
metrics
(core#216, docs#223)
Under the hood
- Bump artifact schema versions for 1.0.0: manifest v4, run results v4, sources v3. Notable changes: added
metrics
nodes; schema test + data test nodes are renamed to generic test + singular test nodes; freshness threshold default values (#4191) - Speed up node selection by skipping
incorporate_indirect_nodes
if not needed (#4213, #4214) - When
on_schema_change
is set, pass common columns asdest_columns
in incremental merge macros (#4144, #4170) - Clear adapters before registering in
lib
module config generation (#4218) - Remove official support for python 3.6, which is reaching end of life on December 23, 2021 (#4134, #4223)