dbt-core 1.11.0 - December 19, 2025
Features
- Add file_format to catalog integration config (#11695)
- 11561 (#deprecate, #--models,--model,, #and, #-m, #flags)
- Update jsonschemas with builtin data test properties and exposure configs in dbt_project.yml for more accurate deprecations (#11335)
- Support loaded_at_query and loaded_at_field on source and table configs (#11659)
- Begin validating configs from model sql files (#11727)
- Deprecate
overridesproperty for sources (#11566) - Create constrained namespace for dbt engine env vars (#11340)
- Gate jsonschema validations by adapter (#11680)
- Deprecate top-level argument properties in generic tests (#11847)
- Deprecate {{ modules.itertools }} usage (#11725)
- Default require_generic_test_arguments_property flag to True - The 'arguments' property will be parsed as keyword arguments to data tests, if provided (#11911)
- Support Nested Key Traversal in dbt ls json output (#11919)
- No-op when project-level
quoting.snowflake_ignore_caseis set. (#11882) - Support UDFs by allowing user definition of
functionnodes (#11923) - Support listing functions via
listcommand (#11967) - Support selecting funciton nodes via: name, file path, and resource type (#11962, #11958, #11961)
- Parse catalogs.yml during parse, seed, and test commands (#12002)
- Handle creation of function nodes during DAG execution (#11965)
- Support configuring model.config.freshness.build_after.updates_on without period or count (#12019)
- Add
functionmacro to jinja context (#11972) - Adding run_started_at to manifest.json metadata (#12047)
- Validate {{ config }} in SQL for models that don't statically parse (#12046)
- Add
typeproperty tofunctionnodes (#12042, #12037) - Support function nodes for unit tested models (#12024)
- Support partial parsing for function nodes (#12072)
- Allow for the specification of function volatility (#QMalcolm)
- Add python UDF parsing support (#12043)
- Allow for defining funciton arguments with default values (#12044)
- Raise jsonschema-based deprecation warnings by default (#12240)
- π β Disable unit tests whose model is disabled (#10540)
- Implement config.meta_get and config.meta_require (#12012)
Fixes
- Don't warn for metricflow_time_spine with non-day grain (#11690)
- Fix source freshness set via config to handle explicit nulls (#11685)
- Ensure build_after is present in model freshness in parsing, otherwise skip freshness definition (#11709)
- Ensure source node
.freshnessis equal to node's.config.freshness(#11717) - ignore invalid model freshness configs in inline model configs (#11728)
- Fix store_failures hierarachical config parsing (#10165)
- Remove model freshness property support in favor of config level support (#11713)
- Bump dbt-common to 1.25.0 to access WarnErrorOptionsV2 (#11755)
- ensure consistent casing in column names while processing user unit tests (#11770)
- Update jsonschema definitions with nested config defs, cloud info, and dropping source overrides (#N/A)
- Make
GenericJSONSchemaValidationDeprecationa "preview" deprecation (#11814) - Correct JSONSchema Semantic Layer node issues (#11818)
- Improve SL JSONSchema definitions (#N/A)
- raise MissingPlusPrefixDeprecation instead of GenericJSONSchemaValidationDeprecation when config missing plus prefix in dbt_project.yml (#11826)
- Propagate config.meta and config.tags to top-level on source nodes (#11839)
- Safe handling of malformed config.tags on sources/tables (#11855)
- Quoting the event_time field when the configuration says so (#11858)
- Raise PropertyMovedToConfigDeprecation instead of CustomTopLevelKeyDeprecation when additional attribute is a valid node config (#11879)
- Avoid redundant node patch removal during partial parsing (#11886)
- Comply with strict
strtype whenblock.contentsisNone(#11492) - Remove duplicative PropertyMovedToConfigDeprecation for source freshness (#11880)
- Add path to MissingArgumentsPropertyInGenericTestDeprecation message (#11940)
- Unhide sample mode CLI flag (#11959)
- Implement checked_agg_time_dimension_for_simple_metric to satisfy dbt-semantic-interfaces>0.9.0 (#11998)
- Propagate column meta/tags from config to tests (#11984)
- Skip initial render of loaded_at_query when specified as source or table config (#11973)
- Guarantee instantiation result and thread_exception prior to access to avoid thread hangs (#12013)
- Fixes a bug in the logic for legacy time spine deprecation warnings. (#11690)
- Fix errors in partial parsing when working with versioned models (#11869)
- Fix property names of function nodes (arguments.data_type, returns, returns.data_type) (#12064)
- Exclude
functionsfrom being filtered byemptyandevent_time(#12066) - Fix case of successful function status in logs (#12075)
- Fix
refsupport in function nodes (#12076) - Move function node
typeinto it's config (#12101) - Support setting function node configs from dbt_project.yml (#12096)
- Fix parse error when build_after.count set to 0 (#12136)
- Stop compiling python udfs like python models (#12153)
- For metric names, fix bug allowing hyphens (not allowed in metricflow already), make validation throw ValidationErrors (not ParsingErrors), and add tests. (#n/a)
- Allow dbt deps to run when vars lack defaults in dbt_project.yml (#8913)
- Include macros in unit test parsing (#10157)
- Restore DuplicateResourceNameError for intra-project node name duplication, behind behavior flag
require_unique_project_resource_names(#12152) - Allow the usage of
functionwith--exclude-resource-typeflag (#12143) - Fix bug where schemas of functions weren't guaranteed to exist (#12142)
- π β Correctly reference foreign key references when --defer and --state provided (#11885)
- Fix generation of deprecations summary (#12146)
- π β Add exception when using --state and referring to a removed test (#10630)
- π β Stop emitting
NoNodesForSelectionCriteriathree times duringbuildcommand (#11627) - π β Fix long Python stack traces appearing when package dependencies have incompatible version requirements (#12049)
- π β Fixed issue where changing data type size/precision/scale (e.g., varchar(3) to varchar(10)) incorrectly triggered a breaking change error fo (#11186)
- π β Support unit testing models that depend on sources with the same name (#11975, #10433)
- Fix bug in partial parsing when updating a model with a schema file that is referenced by a singular test (#12223)
- π β Avoid retrying successful run-operation commands (#11850)
- π β Fix
dbt deps --add-packagecrash when packages.yml containswarn-unpinned: false(#9104) - π β Improve
dbt deps --add-packageduplicate detection with better cross-source matching and word boundaries (#12239) - π β Fix false positive deprecation warning of pre/post-hook SQL configs (#12244)
- π β Fix ref resolution within package when duplicate nodes exist, behind require_ref_searches_node_package_before_root behavior change flag (#11351)
- Improve error message clarity when detecting nodes with space in name (#11835)
- π βPropagate exceptions for NodeFinished callbacks in dbtRunner (#11612)
- Adds omitted return statement to RuntimeConfigObject.meta_require method (#12288)
- Do not raise deprecation warning when encountering dataset or project configs for bigquery (#12285)
Under the Hood
- Prevent overcounting PropertyMovedToConfigDeprecation for source freshness (#11660)
- call adapter.add_catalog_integration during parse_manifest (#11889)
- Fix docker os dependency install issue (#11934)
- Ensure dbt-core modules aren't importing versioned artifact resources directly (#11951)
- Update jsonschemas used for schema-based deprecations (#11987)
- Introduce dbt_version-based manifest json upgrade framework to avoid state:modified false positives on minor evolutions (#12006)
- Reorganize jsonschemas directory structure (#12121)
- add dbt/jsonschemas to manifest.in (#12126)
- Move from setup.py to pyproject.toml (#5696)
- Fixes issue where config isn't propagated to metric from measure when set as create_metric:True (#None)
- Support DBT_ENGINE prefix for record-mode env vars (#12149)
- Update jsonschemas for schema.yml and dbt_project.yml deprecations (#12180)
- Replace setuptools and tox with hatch for build, test, and environment management. (#12151)
- Bump lower bound for dbt-common to 1.37.2 (#12284)
Dependencies
- Bump minimum jsonschema version to
4.19.1(#11740) - Allow for either pydantic v1 and v2 (#11634)
- Bump dbt-common minimum to 1.25.1 (#11789)
- Upgrade to dbt-semantic-interfaces==0.9.0 for more robust saved query support. (#11809)
- upgrade protobuf to 6.0 (#11916)
- Bump dbt-adapters minimum to 1.16.5 (#11932)
- Bump actions/setup-python from 5 to 6 (#11993)
- Loosen dbt-semantic-interfaces lower pin to >=0.9.0 (#12005)
- Drop support for python 3.9 (#12118)
Contributors
- @12030 (#QMalcolm)
- @3loka (#8913)
- @MichelleArk (#11818)
- @QMalcolm (#11727, #11340, #11680, #11923, #11967, #11962, #11958, #11961, #11965, #11972, #12042, #12037, #12024, #12072, #12043, #12044, #11685, #11709, #11717, #11713, #N/A, #11814, #N/A, #11959, #12064, #12066, #12075, #12076, #12101, #12096, #12153, #12143, #12142, #11627, #11934, #11951, #11740, #11634, #11789, #11932, #12118)
- @WilliamDee (#None)
- @aksestok (#11882)
- @aranke (#11660)
- @asiunov (#12146)
- @colin-rogers-dbt (#11695, #11728, #11770, #11889, #11916)
- @courtneyholcomb (#11690, #11690, #11809)
- @emmyoop (#10630, #12049, #11186, #9104, #12239, #5696, #12151)
- @gshank (#12012, #11869)
- @mattogburke (#12223)
- @michellark (#11885, #11987)
- @michelleark (#deprecate, #--models,--model,, #and, #-m, #flags, #11335, #11659, #11847, #11725, #11911, #12002, #12019, #12047, #12046, #12240, #10540, #10165, #11755, #11826, #11839, #11855, #11879, #11880, #11940, #11998, #11984, #11973, #12013, #12136, #10157, #12152, #11975, #10433, #11850, #12244, #11351, #11835, #11612, #12285, #12006, #12121, #12126, #12149, #12180, #12284, #12005)
- @mjsqu (#12288)
- @nathanskone (#10157)
- @pablomc87 (#11858)
- @peterallenwebb (#11566)
- @theyostalservice (#n/a)
- @trouze (#11919)
- @wircho (#11886, #11492)