dbt Core 1.0.0rc1
Pre-release
Pre-release
A first release candidate for dbt-core v1.0.0. Includes everything in b1 + b2, plus:
Breaking changes
- Replace
greedyflag/property for test selection withindirect_selection: eager/cautiousflag/property. Set toeagerby default. Note: This reverts test selection to its pre-v0.20 behavior by default.dbt test -s my_modelwill select multi-parent tests, such asrelationships, that depend on unselected resources. To achieve the behavior change in v0.20 + v0.21, set--indirect-selection=cautiouson the CLI orindirect_selection: cautiousin yaml selectors. (#4082, #4104) - In v1.0.0,
pip install dbtwill 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
eventsmodule 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_afterin source freshness (#3874, #3955) - Add
metricsnodes (#4071, #4235) - Add support for
dbt init <project_name>, and support forskip_profile_setupargument (dbt init -s) (#4156, #4249)
Fixes
- Changes unit tests using
assertRaisesRegexptoassertRaisesRegex(#4136, #4136) - Allow retries when the answer from a
dbt depsisNone(#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_metadatainstead ofschema/datatags 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
metricsnodes; 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_nodesif not needed (#4213, #4214) - When
on_schema_changeis set, pass common columns asdest_columnsin incremental merge macros (#4144, #4170) - Clear adapters before registering in
libmodule config generation (#4218) - Remove official support for python 3.6, which is reaching end of life on December 23, 2021 (#4134, #4223)