Skip to main content

version

Model versions, dbt_project.yml versions, and .yml versions

Take note that model versions are different from dbt_project.yml versions and .yml property file versions.

Model versions is a feature that enables better governance and data model management by allowing you to track changes and updates to models over time. dbt_project.yml versions refer to the compatibility of the dbt project with a specific version of dbt. Version numbers within .yml property files inform how dbt parses those YAML files. The latter two are completely optional starting from dbt v1.5.

dbt projects have two distinct types of version tags. This field has a different meaning depending on its location.

dbt_project.yml versions

The version tag in a dbt_project file represents the version of your dbt project.

Starting in dbt version 1.5, version in the dbt_project.yml is an optional parameter. If used, the version must be in a semantic version format, such as 1.0.0. The default value is None if not specified. For users on dbt version 1.4 or lower, this tag is required, though it isn't currently used meaningfully by dbt.

For more on Core versions, see About dbt Core versions.

dbt_project.yml
version: version

.yml property file versions

A version tag in a .yml property file provides the control tag, which informs how dbt processes property files.

Starting from version 1.5, dbt will no longer require this configuration in your resource .yml files. If you want to know more about why this tag was previously required, you can refer to the FAQs. For users on dbt version 1.4 or lower, this tag is required,

For more on property files, see their general documentation on the same page.

<any valid filename>.yml
version: 2  # Only 2 is accepted by dbt versions up to 1.4.latest.

models:
...

FAQS

Why do model and source yml files always start with `version: 2`?
0