Skip to main content

Upgrading to v1.10

Resources

What to know before upgrading

dbt Labs is committed to providing backward compatibility for all versions 1.x. Any behavior changes will be accompanied by a behavior change flag to provide a migration window for existing projects. If you encounter an error upon upgrading, please let us know by opening an issue.

Starting in 2024, dbt Cloud provides the functionality from new versions of dbt Core via release tracks with automatic upgrades. If you have selected the "Latest" release track in dbt Cloud, you already have access to all the features, fixes, and other functionality that is included in dbt Core v1.10! If you have selected the "Compatible" release track, you will have access in the next monthly "Compatible" release after the dbt Core v1.10 final release.

For users of dbt Core, since v1.8, we recommend explicitly installing both dbt-core and dbt-<youradapter>. This may become required for a future version of dbt. For example:

python3 -m pip install <Constant name="core" /> <Constant name="dbt" />-snowflake

New and changed features and functionality

New features and functionality available in dbt Core v1.10

The --sample flag

Large data sets can slow down dbt build times, making it harder for developers to test new code efficiently. The --sample flag, available for the run and build commands, helps reduce build times and warehouse costs by running dbt in sample mode. It generates filtered refs and sources using time-based sampling, allowing developers to validate outputs without building entire models.

Integrating dbt Core artifacts with dbt Cloud projects

With hybrid projects, dbt Core users working in the command line interface (CLI) can execute runs that seamlessly upload artifacts into dbt Cloud. This enhances hybrid dbt Core/dbt Cloud deployments by:

  • Fostering collaboration between dbt Cloud + dbt Core users by enabling them to visualize and perform cross-project references to models defined in dbt Core projects. This feature unifies dbt Cloud + dbt Core workflows for a more connected dbt experience.
  • Giving dbt Cloud and dbt Core users insights into their models and assets in Explorer. To view Explorer, you must have have a developer or read-only license.
  • (Coming soon) Enabling users working in the Visual Editor to build off of models already created by a central data team in dbt Core rather than having to start from scratch.

Hybrid projects are available as a private beta to dbt Cloud Enterprise accounts. Contact your account representative to register your interest in the beta.

Managing changes to legacy behaviors

dbt Core v1.10 introduces new flags for managing changes to legacy behaviors. You may opt into recently introduced changes (disabled by default), or opt out of mature changes (enabled by default), by setting True / False values, respectively, for flags in dbt_project.yml.

You can read more about each of these behavior changes in the following links:

  • (Introduced, disabled by default) validate_macro_args. If the flag is set to True, dbt will raise a warning if the argument type names you've added in your macro YAMLs don't match the argument names in your macro or if the argument types aren't valid according to the supported types.

Quick hits

  • Provide the loaded_at_query property for source freshness to specify custom SQL to generate the maxLoadedAt time stamp on the source (versus the built-in query, which uses the loaded_at_field). You cannot define loaded_at_query if the loaded_at_field config is also provided.

  • Provide validation for macro arguments using the validate_macro_args flag, which is disabled by default. When enabled, this flag checks that documented macro argument names match those in the macro definition and validates their types against a supported format. Previously, dbt did not enforce standard argument types, treating the type field as documentation-only. If no arguments are documented, dbt infers them from the macro and includes them in the manifest.json file. Learn more about supported types.

0