Skip to content

dbt-core v1.8.0b1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 28 Feb 23:38

dbt-core 1.8.0-b1 - February 28, 2024

Breaking Changes

  • Remove adapter.get_compiler interface (#9148)
  • Move AdapterLogger to adapters folder (#9151)
  • Rm --dry-run flag from 'dbt deps --add-package', in favor of just 'dbt deps --lock' (#9100)
  • move event manager setup back to core, remove ref to global EVENT_MANAGER and clean up event manager functions (#9150)
  • Remove dbt-tests-adapter and dbt-postgres packages from dbt-core (#9455)

Features

  • Initial implementation of unit testing (#8287)
  • Unit test manifest artifacts and selection (#8295)
  • Support config with tags & meta for unit tests (#8294)
  • Allow adapters to include package logs in dbt standard logging (#7859)
  • Enable inline csv fixtures in unit tests (#8626)
  • Add drop_schema_named macro (#8025)
  • migrate utils to common and adapters folders (#8924)
  • Move Agate helper client into common (#8926)
  • remove usage of dbt.config.PartialProject from dbt/adapters (#8928)
  • Add exports to SavedQuery spec (#8892)
  • Support unit testing incremental models (#8422)
  • Add support of csv file fixtures to unit testing (#8290)
  • Remove legacy logger (#8027)
  • Unit tests support --defer and state:modified (#8517)
  • Support setting export configs hierarchically via saved query and project configs (#8956)
  • Support source inputs in unit tests (#8507)
  • Use daff to render diff displayed in stdout when unit test fails (#8558)
  • Move unit testing to test command (#8979)
  • Support --empty flag for schema-only dry runs (#8971)
  • Support unit tests in non-root packages (#8285)
  • Convert the tests config to data_tests in both dbt_project.yml and schema files. in schema files. (#8699)
  • Make fixture files full-fledged parts of the manifest and enable partial parsing (#9067)
  • Adds support for parsing conversion metric related properties for the semantic layer. (#9203)
  • In build command run unit tests before models (#9128)
  • Move flags from UserConfig in profiles.yml to flags in dbt_project.yml (#9183)
  • Added hook support for dbt source freshness (#5609)
  • Align with order of unit test output when actual differs from expected (#9370)
  • Added support for external nodes in unit test nodes (#8944)
  • Enable unit testing versioned models (#9344)
  • Enable list command for unit tests (#8508)
  • Integration Test Optimizations (#9498)
  • Accelerate integration tests with caching. (#9498)
  • Cache environment variables (#9489)
  • Support meta at the config level for Metric nodes (#9441)
  • Add cache to SavedQuery config (#9540)

Fixes

  • For packages installed with tarball method, fetch metadata to resolve nested dependencies (#8621)
  • Fix partial parsing not working for semantic model change (#8859)
  • Handle unknown type_code for model contracts (#8877, #8353)
  • 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)
  • Fix compilation exception running empty seed file and support new Integer agate data_type (#8895)
  • Make relation filtering None-tolerant for maximal flexibility across adapters. (#8974)
  • Update run_results.json from previous versions of dbt to support deferral and rerun from failure (#9010)
  • Use MANIFEST.in to recursively include all jinja templates; fixes issue where some templates were not included in the distribution (#9016)
  • Fix git repository with subdirectory for Deps (#9000)
  • Use seed file from disk for unit testing if rows not specified in YAML config (#8652)
  • Fix formatting of tarball information in packages-lock.yml (#9062)
  • deps: Lock git packages to commit SHA during resolution (#9050)
  • deps: Use PackageRenderer to read package-lock.json (#9127)
  • Ensure we produce valid jsonschema schemas for manifest, catalog, run-results, and sources (#8991)
  • Get sources working again in dbt docs generate (#9119)
  • Fix parsing f-strings in python models (#6976)
  • Preserve the value of vars and the --full-refresh flags when using retry. (#9112)
  • Support reasonably long unit test names (#9015)
  • Fix back-compat parsing for model-level 'tests', source table-level 'tests', and 'tests' defined on model versions (#9411)
  • Fix retry command run from CLI (#9444)
  • Fix seed and source selection in dbt docs generate (#9161)
  • Add TestGenerateCatalogWithExternalNodes, include empty nodes in node selection during docs generate (#9456)
  • Fix node type plurals in FoundStats log message (#9464)
  • Run manifest upgrade preprocessing on any older manifest version, including v11 (#9487)
  • Update 'compiled_code' context member logic to route based on command ('clone' or not). Reimplement 'sql' context member as wrapper of 'compiled_code'. (#9502)
  • Fix bug where Semantic Layer filter strings are parsed into lists. (#9507)
  • Initialize invocation context before test fixtures are built. (##9489)
  • When patching versioned models, set constraints after config (#9364)
  • only include unmodified semantic mdodels in state:modified selection (#9548)
  • Set query headers when manifest is passed in to dbtRunner (#9546)
  • Store node_info in node associated logging events (#9557)
  • Fix Semantic Model Compare node relations (#9548)
  • Clearer no-op logging in stubbed SavedQueryRunner (#9533)
  • Fix node_info contextvar handling so incorrect node_info doesn't persist (#8866)
  • Add target-path to retry (#8948)

Docs

Under the Hood

  • Added more type annotations. (#8537)
  • Add unit testing functional tests (#8512)
  • Remove usage of dbt.include.global_project in dbt/adapters (#8925)
  • Add a no-op runner for Saved Qeury (#8893)
  • remove dbt.flags.MP_CONTEXT usage in dbt/adapters (#8967)
  • Remove usage of dbt.flags.LOG_CACHE_EVENTS in dbt/adapters (#8969)
  • Move CatalogRelationTypes test case to the shared test suite to be reused by adapter maintainers (#8952)
  • Treat SystemExit as an interrupt if raised during node execution. (#n/a)
  • Removing unused 'documentable' (#8871)
  • Remove use of dbt/core exceptions in dbt/adapter (#8920)
  • Cache dbt plugin modules to improve integration test performance (#9029)
  • Consolidate deferral methods & flags (#7965, #8715)
  • Fix test_current_timestamp_matches_utc test; allow for MacOS runner system clock variance (#9057)
  • Remove usage of dbt.deprecations in dbt/adapters, enable core & adapter-specific event types and protos (#8927, #8918)
  • Clean up unused adaptor folders (#9123)
  • Move column constraints into common/contracts, removing another dependency of adapters on core. (#9024)
  • Move dbt.semver to dbt.common.semver and update references. (#9039)
  • Move lowercase utils method to common (#9180)
  • Remove usages of dbt.clients.jinja in dbt/adapters (#9205)
  • Remove usage of dbt.contracts in dbt/adapters (#9208)
  • Remove usage of dbt.contracts.graph.nodes.ResultNode in dbt/adapters (#9214)
  • Introduce RelationConfig Protocol, consolidate Relation.create_from (#9215)
  • remove manifest from adapter.set_relations_cache signature (#9217)
  • remove manifest from adapter catalog method signatures (#9218)
  • Move BaseConfig, Metadata and various other contract classes from model_config to common/contracts/config (#8919)
  • Add MacroResolverProtocol, remove lazy loading of manifest in adapter.execute_macro (#9244)
  • pass query header context to MacroQueryStringSetter (#9249, #9250)
  • add macro_context_generator on adapter (#9247)
  • pass mp_context to adapter factory as argument instead of import (#9025)
  • have dbt-postgres use RelationConfig protocol for materialized views' (#9292)
  • move system.py to common as dbt-bigquery relies on it to call gcloud (#9293)
  • Reorganizing event definitions to define core events in dbt/events rather than dbt/common (#9152)
  • move exceptions used only in dbt/common to dbt/common/exceptions (#9332)
  • Remove usage of dbt.adapters.factory in dbt/common (#9334)
  • Accept valid_error_names in WarnErrorOptions constructor, remove global usage of event modules (#9337)
  • Move result objects to dbt.artifacts (#9193)
  • dbt Labs OSS standardization of docs and templates. (#9252)
  • Add dbt-common as a dependency and remove dbt/common (#9357)
  • move cache exceptions to dbt/adapters (#9362)
  • Clean up macro contexts. (#9422)
  • Add the @requires.manifest decorator to the retry command. (#9426)
  • Move WritableManifest + Documentation to dbt/artifacts (#9378, #9379)
  • Define Macro and Group resources in dbt/artifacts (#9381, #9382)
  • Move SavedQuery data definition to dbt/artifacts (#9386)
  • Migrate data parts of Metric node to dbt/artifacts (#9383)
  • Move data portion of SemanticModel to dbt/artifacts (#9387)
  • Move data parts of Exposure class to dbt/artifacts (#9380)
  • Start using Mergeable from dbt-common (#9505)
  • Move manifest nodes to artifacts (#9388)
  • Move data parts of SourceDefinition class to dbt/artifacts (#9384)
  • Remove uses of Replaceable class (#7802)
  • Make dbt-core compatible with Python 3.12 (#9007)
  • Restrict protobuf to major version 4. (#9566)
  • Remove references to dbt.tracking and dbt.flags from dbt/artifacts (#9390)
  • Implement primary key inference for model nodes (#9652)
  • Define UnitTestDefinition resource in dbt/artifacts/resources (#9667)
  • Use Manifest instead of WritableManifest in PreviousState and _get_deferred_manifest (#9567)

Dependencies

  • Bump actions/checkout from 3 to 4 (#8781)
  • Begin using DSI 0.4.x (#8892)
  • Update typing-extensions version to >=4.4 (#9012)
  • Bump ddtrace from 2.1.7 to 2.3.0 (#9132)
  • Bump freezegun from 0.3.12 to 1.3.0 (#9197)
  • Bump actions/setup-python from 4 to 5 (#9267)
  • Bump actions/download-artifact from 3 to 4 (#9374)
  • remove dbt/adapters and add dependency on dbt-adapters (#9430)
  • Bump actions/cache from 3 to 4 (#9471)
  • Bump peter-evans/create-pull-request from 5 to 6 (#9552)
  • Cap dbt-semantic-interfaces version range to <0.6 (#9671)
  • bump dbt-common to accept major version 1 (#9690)

Security

Contributors