Skip to content

dbt-core v1.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 02 Nov 16:03
2401600

dbt-core 1.7.0 - Questlove (November 02, 2023)

Breaking Changes

  • Removed the FirstRunResultError and AfterFirstRunResultError event types, using the existing RunResultError in their place. (#7963)

Features

  • add log file of installed packages via dbt deps (#6643)
  • Enable re-population of metadata vars post-environment change during programmatic invocation (#8010)
  • Added support to configure a delimiter for a seed file, defaults to comma (#3990)
  • Allow specification of create_metric: true on measures (#8125)
  • Add node attributes related to compilation to run_results.json (#7519)
  • Add --no-inject-ephemeral-ctes flag for compile command, for usage by linting. (#8480)
  • Support configuration of semantic models with the addition of enable/disable and group enablement. (#7968)
  • Accept a dbt-cloud config in dbt_project.yml (#8438)
  • Support atomic replace in the global replace macro (#8539)
  • Use translate_type on data_type in model.columns in templates by default, remove no op TYPE_LABELS (#8007)
  • Add an option to generate static documentation (#8614)
  • Allow setting "access" as a config in addition to as a property (#8383)
  • Loosen typing requirement on renameable/replaceable relations to Iterable to allow adapters more flexibility in registering relation types, include docstrings as suggestions (#8647)
  • Add support for optional label in semantic_models, measures, dimensions and entities. (#8595, #8755)
  • Allow adapters to include package logs in dbt standard logging (#7859)
  • Support storing test failures as views (#6914)
  • resolve packages with same git repo and unique subdirectory (#5374)
  • Add new ResourceReport event to record memory/cpu/io metrics (#8342)
  • Adding date_spine macro (and supporting macros) from dbt-utils to dbt-core (#8172)
  • Support fill_nulls_with and join_to_timespine for metric nodes (#8593, #8755)
  • Raise a warning when a contracted model has a numeric field without scale defined (#8183)
  • Added support for retrieving partial catalog information from a schema (#8521)
  • Add meta attribute to SemanticModels config (#8511)
  • Selectors with docs generate limits catalog generation (#6014)
  • Allow freshness to be determined via DBMS metadata for supported adapters (#8704)
  • Add support semantic layer SavedQuery node type (#8594)
  • Add exports to SavedQuery spec (#8892)

Fixes

  • Copy dir during dbt deps if symlink fails (#7428, #8223)
  • If --profile specified with dbt-init, create the project with the specified profile (#6154)
  • Fixed double-underline (#5301)
  • Copy target_schema from config into snapshot node (#6745)
  • Enable converting deprecation warnings to errors (#8130)
  • Add status to Parse Inline Error (#8173)
  • Ensure warn_error_options get serialized in invocation_args_dict (#7694)
  • Stop detecting materialization macros based on macro name (#6231)
  • Update dbt deps download retry logic to handle EOFError exceptions (#6653)
  • Improve handling of CTE injection with ephemeral models (#8213)
  • Fix unbound local variable error in checked_agg_time_dimension_for_measure (#8230)
  • Ensure runtime errors are raised for graph runnable tasks (compile, show, run, etc) (#8166)
  • Fix retry not working with log-file-max-bytes (#8297)
  • Add explicit support for integers for the show command (#8153)
  • Detect changes to model access, version, or latest_version in state:modified (#8189)
  • Add connection status into list of statuses for dbt debug (#8350)
  • fix fqn-selection for external versioned models (#8374)
  • Fix: DbtInternalError after model that previously ref'd external model is deleted (#8375)
  • Fix using list command with path selector and project-dir (#8385)
  • Remedy performance regression by only writing run_results.json once. (#8360)
  • Add support for swapping materialized views with tables/views and vice versa (#8449)
  • Turn breaking changes to contracted models into warnings for unversioned models (#8384, #8282)
  • Ensure parsing does not break when window_groupings is not specified for non_additive_dimension (#8453)
  • fix ambiguous reference error for tests and versions when model name is duplicated across packages (#8327, #8493)
  • Fix "Internal Error: Expected node not found in manifest" when depends_on set on ModelNodeArgs (#8506)
  • Fix snapshot success message (#7583)
  • Parse the correct schema version from manifest (#8544)
  • make version comparison insensitive to order (#8571)
  • Update metric helper functions to work with new semantic layer metrics (#8134)
  • Disallow cleaning paths outside current working directory (#8318)
  • Warn when --state == --target (#8160)
  • update dbt show to include limit in DWH query (#8496,, #8417)
  • Support quoted parameter list for MultiOption CLI options. (#8598)
  • Support global flags passed in after subcommands (#6497)
  • Lower bound of 8.0.2 for click (#8683)
  • Fixes test type edges filter (#8692)
  • semantic models in graph selection (#8589)
  • Support doc blocks in nested semantic model YAML (#8509)
  • avoid double-rendering sql_header in dbt show (#8739)
  • Fix tag selection for projects with semantic models (#8749)
  • Foreign key constraint on incremental model results in Database Error (#8022)
  • Support docs blocks on versioned model column descriptions (#8540)
  • Enable seeds to be handled from stored manifest data (#6875)
  • Override path-like args in dbt retry (#8682)
  • Group updates on unmodified nodes are handled gracefully for state:modified (#8371)
  • Partial parsing fix for adding groups and updating models at the same time (#8697)
  • Fix partial parsing not working for semantic model change (#8859)
  • Rework get_catalog implementation to retain previous adapter interface semantics (#8846)
  • Add back contract enforcement for temporary tables on postgres (#8857)
  • Add version to fqn when version==0 (#8836)
  • Fix cased comparison in catalog-retrieval function. (#8939)
  • Catalog queries now assign the correct type to materialized views (#8864)
  • Make relation filtering None-tolerant for maximal flexibility across adapters. (#8974)

Docs

Under the Hood

  • Switch from hologram to mashumaro jsonschema (#8426)
  • Refactor flaky test pp_versioned_models (#7781)
  • format exception from dbtPlugin.initialize (#8152)
  • A way to control maxBytes for a single dbt.log file (#8199)
  • Ref expressions with version can now be processed by the latest version of the high-performance dbt-extractor library. (#7688)
  • Bump manifest schema version to v11, freeze manifest v10 (#8333)
  • add tracking for plugin.get_nodes calls (#8344)
  • add internal flag: --no-partial-parse-file-diff to inform whether to compute a file diff during partial parsing (#8363)
  • Add return values to a number of functions for mypy (#8389)
  • Fix mypy warnings for ManifestLoader.load() (#8401)
  • Use python version 3.10.7 in Docker image. (#8444)
  • Re-organize jinja macros: relation-specific in /macros/adapters/relations/, relation agnostic in /macros/relations (#8449)
  • Update typing to meet mypy standards (#8396)
  • Mypy errors - adapters/factory.py (#8387)
  • Added more type annotations. (#8537)
  • Audit potential circular dependencies (#8349)
  • Add functional test for advanced ref override (#8566)
  • Add typing to init in base.py (#8398)
  • Fix untyped functions in task/runnable.py (mypy warning) (#8402)
  • add a test for ephemeral cte injection (#8225)
  • Fix test_numeric_values to look for more specific strings (#8470)
  • Pin types-requests<2.31.0 in dev-requirements.txt (#8789)
  • Add warning_tag to UnversionedBreakingChange (#8827)
  • Update v10 manifest schema to match 1.6 for testing schema compatibility (#8835)
  • Add a no-op runner for Saved Qeury (#8893)

Dependencies

  • Bump mypy from 1.3.0 to 1.4.0 (#7912)
  • Bump mypy from 1.4.0 to 1.4.1 (#8219)
  • Update pin for click<9 (#8232)
  • Add upper bound to sqlparse pin of <0.5 (#8236)
  • Support dbt-semantic-interfaces 0.2.0 (#8250)
  • Bump docker/build-push-action from 4 to 5 (#8783)
  • Upgrade dbt-semantic-interfaces dep to 0.3.0 (#8819)
  • Begin using DSI 0.4.x (#8892)

Contributors


Questlove (b. 1971)

Thanks to @dave-connors-3 for writing this biography of Questlove—a famous Philadelphian, and the namesake of this dbt Core release.

To refer to Questlove (sometimes styled as ?uestlove, born Ahmir K Thompson) as "the drummer from the Tonight Show" would be to overlook a remarkable and influential career as a drummer, DJ, hip hop artist, director, and music historian.

Questlove was born to a musical family in Philadelphia, the son of doo-wop artist Lee Andrews, and was raised on a steady diet of record crate digging and Soul Train, which he maintains plays on a continuous loop in his home at all times. His appetite and aptitude for music led him to attend the Philadelphia High School for Creative and Performing Arts, where he started making music with Tariq Trotter (Black Thought). Their group went on to become known as The Roots, whose 1999 album Things Fall Apart remains an essential work for hip hop fans and scholars alike.

In addition to a long career making, producing, and mixing, Questlove has become an important figure in the curation and preservation of music history. He has written three books, and most recently directed Academy Award Winning documentary Summer of Soul, featuring archival footage of a long forgotten music festival in Harlem, complete with performances by Mavis Staples, Stevie Wonder, Nina Simone, among many others.