Prerequisites
- An Admin role in Paradime, needed to change the workspace dbt™ version.
- Your project on dbt™ 1.9, upgraded via the 1.9 guide.
What can break
Upgrading itself is backward compatible: the new deprecation warnings are warnings, not errors, and fixing them is not a prerequisite for using 1.10. Two setups need attention:What’s new in dbt™ 1.10
The --sample flag
The --sample flag, available on dbt run and dbt build, runs dbt™ in sample mode: refs and sources are filtered with time-based sampling so you can validate model outputs without building entire models. This cuts development build times and warehouse cost on large datasets.
The anchors: key for standalone YAML anchors
dbt™ 1.10 warns on unexpected top-level keys in properties YAML files. The common legitimate case is standalone YAML anchor definitions; move those under the new top-level anchors: key:
Parsing catalogs.yml
dbt™ can now parse a catalogs.yml file, the first step toward external catalog support for Iceberg tables with write integrations. You define a catalog with write_integrations (external volume, table format, catalog type) and point producer models at it with catalog_name in the model config. See external catalog support.
New behavior flags
Both introduced in 1.10 and disabled by default; opt in underflags: in dbt_project.yml:
Deprecation warnings
Starting in 1.10, dbt™ warns about code that will become invalid in future versions. Fixing these is not required to use 1.10, but it is required before moving to v2. Many are auto-fixable with thedbt-autofix tool, or with the DinoAI upgrade agent.
Custom properties and configs must move under meta. dbt™ previously ignored unrecognized properties (including misspellings like desciption:) silently. Going forward, meta is the only place for custom user-defined attributes; everything else becomes strongly typed and strictly validated:
{% endmacro %} with no matching {% macro %} were silently ignored; delete them.
Properties moving entirely to configs. freshness, meta, tags, docs, group, and access move under config:. For example, source freshness:
--models / --model / -m flag. Renamed to --select / -s back in dbt™ 0.21; it now raises a warning in 1.10 and errors in the v2 engine. Update Bolt schedule commands and scripts that still use it.
Custom output path for source freshness. Overriding the sources.json path with --output / -o on dbt source freshness is deprecated; use --target-path to set the artifact path for the whole step.
warn_error_options renames. include and exclude are deprecated in favor of error and warn:
Adapter-specific changes
- Snowflake: the
platform_detection_timeout_secondsprofile parameter controls how long the connector waits when detecting the cloud platform. - BigQuery: jobs that exceed their configured timeout receive a cancellation request; if the request fails, the BigQuery job may keep running in the background until you cancel it manually.
Quick hits
- The
--use-fast-test-edgesflag ondbt buildreduces the number of test edges in the execution graph, which can significantly cut run times and memory usage in large projects. - The
loaded_at_querysource property specifies custom SQL for the source freshness timestamp, as an alternative toloaded_at_field(you cannot set both). config.meta_get()andconfig.meta_require()access custom configurations stored undermeta.
Upgrade steps
1
Switch a test environment to 1.10
Pin a Bolt environment to dbt™ 1.10 in Settings > Environments, or switch the version in a staging workspace, and run
dbt parse in the Code IDE terminal to surface the new deprecation warnings.2
Clean up deprecation warnings
Work through the warnings: move custom properties under
config.meta, move freshness, meta, tags, docs, group, and access under config:, relocate standalone anchors, remove duplicate keys and orphaned Jinja blocks, and replace -m with -s in Bolt commands. The dbt-autofix tool or the DinoAI upgrade agent automates most of this.3
Guard your warn-error configuration
If any schedule runs with
--warn-error or --warn-error-options, decide whether deprecations should fail it. Set "warn": ["Deprecations"] to keep them as warnings while you migrate.4
Switch the workspace version
In Settings > Workspace > General, select Change version, choose 1.10, and save. See Upgrade dbt Core™ version.
dbt --version reports 1.10.x, Bolt schedules run green, and dbt parse output shows no deprecation warnings you haven’t consciously deferred. The most likely failure is a --warn-error schedule newly failing on deprecation warnings; fix the code or add "warn": ["Deprecations"] to warn_error_options.Next steps
Upgrade to dbt™ 1.11
UDFs, and deprecation warnings switched on by default.
Upgrade with the DinoAI agent
Automate the deprecation cleanup with an agent-driven PR.
Manage dbt™ version
The workspace setting and per-environment overrides.
Official v1.10 upgrade guide
The upstream dbt™ documentation this guide is based on.