dbt-core v1.9.0b1
Pre-release
Pre-release
dbt-core 1.9.0-b1 - October 01, 2024
Breaking Changes
- Fix changing the current working directory when using dpt deps, clean and init. (#8997)
Features
- serialize inferred primary key (#9824)
- Add unit_test: selection method (#10053)
- Maximally parallelize dbt clone in clone command" (#7914)
- Add --host flag to dbt docs serve, defaulting to '127.0.0.1' (#10229)
- Update data_test to accept arbitrary config options (#10197)
- add pre_model and post_model hook calls to data and unit tests to be able to provide extra config options (#10198)
- add --empty value to jinja context as flags.EMPTY (#10317)
- Warning message for snapshot timestamp data types (#10234)
- Support cumulative_type_params & sub-daily granularities in semantic manifest. (#10360)
- Add time_granularity to metric spec. (#10376)
- Support standard schema/database fields for snapshots (#10301)
- Support ref and source in foreign key constraint expressions, bump dbt-common minimum to 1.6 (#8062)
- Support new semantic layer time spine configs to enable sub-daily granularity. (#10475)
- Include models that depend on changed vars in state:modified, add state:modified.vars selection method (#4304)
- Add support for behavior flags (#10618)
- Enable
--resource-type
and--exclude-resource-type
CLI flags and environment variables fordbt test
(#10656) - Allow configuring snapshot column names (#10185)
- Add custom_granularities to YAML spec for time spines. (#9265)
- Add basic functionality for creating microbatch incremental models (#9490, #10635, #10637, #10638, #10636, #10662, #10639)
- Execute microbatch models in batches (#10700)
- Create 'skip_nodes_if_on_run_start_fails' behavior change flag (#7387)
- Allow snapshots to be defined in YAML. (#10246)
- Write microbatch compiled/run targets to separate files, one per batch (#10714)
- Track incremental_strategy as part of model_run tracking event (#10761)
- Support required 'begin' config for microbatch models (#10701)
- Parse-time validation of microbatch configs: require event_time, batch_size, lookback and validate input event_time (#10709)
- Added the --inline-direct parameter to 'dbt show' (#10770)
- Enable
retry
support for microbatch models (#10715, #10729) - Use unrendered database and schema source properties during state:modified, behind state_modified_compare_more_unrendered_values behavoiur flag (#9573)
- Ensure microbatch models respect
full_refresh
model config (#10785) - Adds validations for custom_granularities to ensure unique naming. (#9265)
Fixes
- Remove unused check_new method (#7586)
- Test case for
merge_exclude_columns
(#8267) - Convert "Skipping model due to fail_fast" message to DEBUG level (#8774)
- Restore previous behavior for --favor-state: only favor defer_relation if not selected in current command" (#10107)
- Unit test fixture (csv) returns null for empty value (#9881)
- Fix json format log and --quiet for ls and jinja print by converting print call to fire events (#8756)
- Add resource type to saved_query (#10168)
- Fix: Order-insensitive unit test equality assertion for expected/actual with multiple nulls (#10167)
- Renaming or removing a contracted model should raise a BreakingChange warning/error (#10116)
- prefer disabled project nodes to external node (#10224)
- Fix issues with selectors and inline nodes (#8943, #9269)
- Fix snapshot config to work in yaml files (#4000)
- Improve handling of error when loading schema file list (#10284)
- Use model alias for the CTE identifier generated during ephemeral materialization (#5273)
- Implement state:modified for saved queries (#10294)
- Saved Query node fail during skip (#10029)
- DOn't warn on
unit_test
config paths that are properly used (#10311) - Fix setting
silence
ofwarn_error_options
viadbt_project.yaml
flags (#10160) - Attempt to provide test fixture tables with all values to set types correctly for comparisong with source tables (#10365)
- Limit data_tests deprecation to root_project (#9835)
- CLI flags should take precedence over env var flags (#10304)
- Fix typing for artifact schemas (#10442)
- Fix over deletion of generated_metrics in partial parsing (#10450)
- Fix error constructing warn_error_options (#10452)
- Do not update varchar column definitions if a contract exists (#10362)
- fix all_constraints access, disabled node parsing of non-uniquely named resources (#10509)
- respect --quiet and --warn-error-options for flag deprecations (#10105)
- Propagate measure label when using create_metrics (#10536)
- Fix state:modified check for exports (#10138)
- Filter out empty nodes after graph selection to support consistent selection of nodes that depend on upstream public models (#8987)
- Late render pre- and post-hooks configs in properties / schema YAML files (#10603)
- Allow the use of env_var function in certain macros in which it was previously unavailable. (#10609)
- Remove deprecation for tests: to data_tests: change (#10564)
- Fix
--resource-type test
fordbt list
anddbt build
(#10730) - Fix unit tests for incremental model with alias (#10754)
- Allow singular tests to be documented in properties.yml (#9005)
- Ignore --empty in unit test ref/source rendering (#10516)
- Ignore rendered jinja in configs for state:modified, behind state_modified_compare_more_unrendered_values behaviour flag (#9564)
- Improve performance of infer primary key (#10781)
- Attempt to skip saved query processing when no semantic manifest changes (#10563)
- Ensure dbt retry of microbatch models doesn't lose prior successful state (#10800)
Docs
- Enable display of unit tests (dbt-docs/#501)
- Unit tests not rendering (dbt-docs/#506)
- Add support for Saved Query node (dbt-docs/#486)
- Fix npm security vulnerabilities as of June 2024 (dbt-docs/#513)
Under the Hood
- Clear error message for Private package in dbt-core (#10083)
- Enable use of context in serialization (#10093)
- Make RSS high water mark measurement more accurate on Linux (#10177)
- Enable record filtering by type. (#10240)
- Remove IntermediateSnapshotNode (#10326)
- Additional logging for skipped ephemeral models (#10389)
- bump black to 24.3.0 (#10454)
- generate protos with protoc version 5.26.1 (#10457)
- Move from minimal-snowplow-tracker fork back to snowplow-tracker (#8409)
- Add group info to RunResultError, RunResultFailure, RunResultWarning log lines (#)
- Improve speed of tree traversal when finding children, increasing build speed for some selectors (#10434)
- Add test for sources tables with quotes (#10582)
- Additional type hints for
core/dbt/version.py
(#10612) - Fix typing issues in core/dbt/contracts/sql.py (#10614)
- Fix type errors in
dbt/core/task/clean.py
(#10616) - Add Snowplow tracking for behavior flag deprecations (#10552)
- Add test utility patch_microbatch_end_time for adapters testing (#10713)
- Replace
TestSelector
withResourceTypeSelector
(#10718) - Standardize returning
ResourceTypeSelector
instances indbt list
anddbt build
(#10739) - Add group metadata info to LogModelResult and LogTestResult (#10775)
Dependencies
- Remove logbook dependency (#8027)
- Increase supported version range for dbt-semantic-interfaces. Needed to support custom calendar features. (#9265)
Security
- Explicitly bind to localhost in docs serve (#10209)
Contributors
- @McKnight-42 (#10197, #10198)
- @TowardOliver (#10656)
- @aliceliu (#10536, #10138)
- @courtneyholcomb (#10360, #10376, #10475, #9265, #9265, #9265)
- @dave-connors-3 (#9824)
- @jeancochrane (#5273)
- @katsugeneration (#10754)
- @kevinneville (#7586)
- @nakamichiworks (#10442)
- @rariyama (#8997)
- @scottgigante,nevdelap (#8774)
- @ttusing (#10434)