This release adds 1 notable feature for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryfan_out_joins now respects model‑level uniqueness guarantees from dbt_utils tests, reducing false positives.
Full changelog
fan_out_joins no longer flags a join whose key set is already covered by a model-level uniqueness guarantee.
Before this release the check only recognized a column-level unique test, so a model that declares uniqueness on a column tuple through dbt_utils.unique_combination_of_columns was still flagged, even when downstream models joined it on the whole tuple. Tuples attached through a YAML anchor alias were missed for the same reason: model-level tests were never read.
What changed:
- Model-level
data_tests/testsare now parsed.dbt_utils.unique_combination_of_columns(and the olderunique_combination) tuples are read from both the classiccombination_of_columns:form and the newerarguments: combination_of_columns:form. YAML anchors and aliases are expanded by the loader, so an anchored test is read the same as an inline one. - A join key is suppressed only when every join clause that uses it covers a uniqueness guarantee on the joined model: a column-level
uniquetest or the tested PK among the clause keys, or a unique-combination tuple that is a subset of the clause keys. A join on the whole tuple or a superset cannot fan out and is not flagged. A join on a strict subset of the tuple still can, so it stays flagged.
Verified on three public projects: Cal-ITP fan_out_joins 6 to 2, with Mattermost (6) and GitLab (26) unchanged, so no real fan-out is suppressed. New regression fixture test-fixtures/fan-out-joins/ and scripts/tests/test_fan_out_joins.py.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Dbt Agent Readiness
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]