NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #384 most downloaded on PyPI
With dbt, data analysts and engineers can build analytics the way engineers build applications.
Last release 3 days ago
18 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
8 years old
370 releases · first in 2019
Fix the semicolon semantics for indexes while respecting other bug fix
Raise deprecation warning if installed package overrides built-in materialization
Set with List to fix issue with index updates intermittently happening out of order (#72)One column per quarter.
Bump sqlparse to >=0.5.0, <0.6.0 to address GHSA-2m57-hf25-phgg
Fix assorted source freshness edgecases so check is run or actionable information is given
Tighten exception handling to avoid worker thread hangs.
Do not add duplicate input_measures
Update Jinja2 to >= 3.1.3 to address CVE-2024-22195 (#CVE-2024-22195)
When patching versioned models, set constraints after config
Fix seed and source selection in dbt docs generate
Handle unknown type_code for model contracts (#8877, #8353)
Preserve the value of vars and the --full-refresh flags when using retry.
Adds support for parsing conversion metric related properties for the semantic layer.
deps: Lock git packages to commit SHA during resolution
Support setting export configs hierarchically via saved query and project configs
Fix compilation exception running empty seed file and support new Integer agate data_type
Turn breaking changes to contracted models into warnings for unversioned models (#8384, #8282)
create_metric: true on measures (#8125)compile command, for usage by linting. (#8480)dbt-cloud config in dbt_project.yml (#8438)TYPE_LABELS (#8007)date_spine macro (and supporting macros) from dbt-utils to dbt-core (#8172)fill_nulls_with and join_to_timespine for metric nodes (#8593, #8755)dbt deps if symlink fails (#7428, #8223)warn_error_options get serialized in invocation_args_dict (#7694)dbt deps download retry logic to handle EOFError exceptions (#6653)checked_agg_time_dimension_for_measure (#8230)window_groupings is not specified for non_additive_dimension (#8453)8.0.2 for click (#8683)dev-requirements.txt (#8789)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.
add log file of installed packages via dbt deps
compile command, for usage by linting. (#8480)dbt-cloud config in dbt_project.yml (#8438)TYPE_LABELS (#8007)date_spine macro (and supporting macros) from dbt-utils to dbt-core (#8172)fill_nulls_with and join_to_timespine for metric nodes (#8593, #8755)8.0.2 for click (#8683)dev-requirements.txt (#8789)Turn breaking changes to contracted models into warnings for unversioned models (#8384, #8282)
window_groupings is not specified for non_additive_dimension (#8453)Enable converting deprecation warnings to errors
create_metric: true on measures (#8125)dbt deps if symlink fails (#7428, #8223)warn_error_options get serialized in invocation_args_dict (#7694)dbt deps download retry logic to handle EOFError exceptions (#6653)checked_agg_time_dimension_for_measure (#8230)Warn users if they are using a deprecated dbt version
respect --quiet and --warn-error-options for flag deprecations
Fix npm security vulnerabilities as of June 2024 (dbt-docs/#513)
Add --host flag to dbt docs serve, defaulting to '127.0.0.1'
Explicitly bind to localhost in docs serve
Raise deprecation warning if installed package overrides built-in materialization
Set with List to fix issue with index updates intermittently happening out of order (#72)Bump sqlparse to >=0.5.0, <0.6.0 to address GHSA-2m57-hf25-phgg
Exclude password-like fields for considering reparse
Restrict protobuf to 4.* versions
Update Jinja2 to >= 3.1.3 to address CVE-2024-22195 (#CVE-2024-22195)
Partial parsing fix for adding groups and updating models at the same time
Catalog queries now assign the correct type to materialized views
Add back contract enforcement for temporary tables on postgres
Support fill_nulls_with and join_to_timespine for metric nodes
fill_nulls_with and join_to_timespine for metric nodes (#8593)Fix tag selection for projects with semantic models
Add support for optional label in semantic_models, measures, dimensions and entities.
Add --no-inject-ephemeral-ctes flag for compile command, for usage by linting.
compile command, for usage by linting. (#8480)Removed the FirstRunResultError and AfterFirstRunResultError event types, using the existing RunResultError in their place.
dbt-cloud config in dbt_project.yml (#8438)dbt deps if symlink fails (#7428, #8223)Add status to Parse Inline Error
window_groupings is not specified for non_additive_dimension (#8453)Add status to Parse Inline Error
Detect breaking changes to enforced constraints
depends_on of metric nodes (#7854)--print/--no-print flag (#7517)profiles.yml for dbt deps and dbt init (#7511)run_results.json is now written after every node completes. (#7302)--skip-profile-setup parameter when inside an existing project (#7594)% to adapter suite test cases for persist_docs (#7698)equals (#7778)run-operation to not require the name of the package to run (#7753)use_discrete_percentile and use_approximate_percentile to be non optional and default to False (#7866)create_metric as a SemanticModel.Measure property because it currently doesn't do anything (#8064)VOLUME declaration within Dockerfile (#4784)NonAdditiveDimension implementation (#8088)warn_error_options get serialized in invocation_args_dict (#7694)checked_agg_time_dimension_for_measure (#8230)CONTRIBUTING.md. (dbt-docs/#8018)add_from_artifact to populate state_relation field of nodes (#7551)dbt-semantic-interfaces to ~=0.1.0rc1 (#8082)Thanks to @graciegoheen for writing this biography of Quiara Alegría Hudes—a famous Philadelphian, and the namesake of this dbt Core release.
Quiara Alegría Hudes is a Pulitzer Prize-winning playwright from West Philadelphia. Originally trained as a composter at Yale, her musical influences span two disparate spheres - the classical music education of an Ivy League university, and the Afro-Caribbean music that was a staple of her childhood home. Unable to reconcile the two in traditional composition, she turned to playwriting, a childhood hobby, earning her MFA in playwriting from Brown under the tutelage of Paula Vogel.
While at Brown, she began writing Elliot, a Soldier’s Fugue - the first part of her famous trilogy, containing Water by the Spoonful which won the Pulitzer Prize in 2012. After her initial success as a playwright, she collaborated with Lin-Manuel Miranda, writing the book for In the Heights which went on to win the Tony for Best Musical. She since made her debut in film as the screenwriter for the adaptation of In the Heights and the animated movie Vivo.
As a way to humanize and give visibility to incarcerated authors, Hudes and her cousin founded Emancipated Stories which helps inmates share one-page stories about their life to the rest of the world.
Enable converting deprecation warnings to errors
warn_error_options get serialized in invocation_args_dict (#7694)checked_agg_time_dimension_for_measure (#8230)Add validate_sql method to BaseAdapter with implementation for SQLAdapter
depends_on of metric nodes (#7854)create_metric as a SemanticModel.Measure property because it currently doesn't do anything (#8064)VOLUME declaration within Dockerfile (#4784)NonAdditiveDimension implementation (#8088)CONTRIBUTING.md. (dbt-docs/#8018)This change adds new selector methods to the state selector. Namely, state:unmodified and state:old.
Add merge as valid incremental strategy for postgres
Allow semantic model measure exprs to be defined with ints and bools in yaml
Enable setting packages in dependencies.yml (#7372, #7736)
run-operation to not require the name of the package to run (#7753)Respect column 'quote' config in model contracts
Fix warning messages for deprecated dbt_project.yml configs
% to adapter suite test cases for persist_docs (#7698)equals (#7778)add_from_artifact to populate state_relation field of nodes (#7551)Added warnings for model and ref deprecations
--skip-profile-setup parameter when inside an existing project (#7594)Detect breaking changes to enforced constraints
--print/--no-print flag (#7517)profiles.yml for dbt deps and dbt init (#7511)run_results.json is now written after every node completes. (#7302)Warn users if they are using a deprecated dbt version
Restrict protobuf to 4.* versions
Update Jinja2 to >= 3.1.3 to address CVE-2024-22195 (#CVE-2024-22195)
Add back contract enforcement for temporary tables on postgres
Support global flags passed in after subcommands
Accept a dbt-cloud config in dbt_project.yml
dbt-cloud config in dbt_project.yml (#8438)Use python version 3.10.7 in Docker image.
Copy target_schema from config into snapshot node
Ensure warn_error_options get serialized in invocation_args_dict
Ensure warn_error_options get serialized in invocation_args_dict
Your coding agent can read these notes before it upgrades. Set up the MCP server →