dbt-core v1.11.13 shipped on August 12, 2026 as a parse correctness patch on the 1.11 line. Unit tests against versioned models no longer fail with a missing model error when filesystem walk order is not stable, and leftover disabled test nodes no longer raise a false found two data_tests error on partial parse. The tag also warns when the running dbt is a deprecated version.
The full release notes and downloads are on the GitHub release page. The tag is a stable release, not a candidate or beta.
Versioned model unit tests and parse order ¶
Issue #11139 tracked an intermittent parse error when unit testing versioned models. The message was references a model that does not exist. The cause was filesystem parse order that was not deterministic. A unit test node could try to bind to its model before that model had been parsed into the graph.
The notes list two items for the same issue. The first is a narrow repair for versioned models so the missing model error stops flapping when file walk order changes. The second is the structural change. The parser no longer resolves a unit test’s tested model eagerly at parse time. Resolution waits for a single deterministic post-parse pass. After that pass, which model a unit test points at no longer depends on the order the filesystem walks the project.
Both parse fixes are listed under Fixes on the GitHub release page.
CI is the place this shows up. Two runners can parse the same project tree and get different node creation order. A unit test that targets a versioned model then fails on one runner and passes on the other, with no YAML change in between. Moving resolution out of the file walk removes that class of failure. If only the first item had landed, a different walk order bug could still appear outside versioned models. The second item removes the order dependency for unit test resolution as a whole.
There is no new CLI flag and no new project config key. The notes do not list a breaking graph schema change. If a warm partial parse cache still holds an old graph, a clean parse is the cheap confirmation. Jobs that do not run unit tests will not see this path. Jobs that unit test unversioned models were not the reported failure, but they pick up the same post-parse resolution.
Disabled test nodes left in the graph ¶
Partial parsing produced a false found two data_tests error. Disabled generic and singular test nodes stayed in the graph after they should have been dropped. A later schema reparse then registered a live node next to the leftover, and the checker reported two tests.
The fix cleans up those disabled generic and singular test nodes on schema reparse. The project YAML did not declare two tests. The graph still had a disabled leftover from the previous partial parse.
Cold CI that always starts from an empty parse cache will rarely hit this. Local parse and build loops that reuse a partial parse cache will. Warm CI caches that keep graph artifacts between jobs have the same exposure. A full clean parse hid the bug, which is why it looked intermittent even when walk order was stable.
The notes do not name a source file or a public issue URL for this item. The empty issue link in the GitHub text is a stub. Treat the change as graph hygiene, not a new test API.
Deprecated version warning ¶
The only feature in the tag is a warning when the running dbt is a deprecated version. Tracking is issue #15964. The warning is additive. It does not fail the run, does not change adapter contracts, and does not bump the minimum Python.
A 1.11 install that is current should stay quiet. A pin that has fallen behind the supported 1.11 patches will log. That is an operator signal, not a policy change. The same class of warning already exists on the 1.10 line. On 1.11 it is the same signal, not a new deprecation schedule.
If image tags or lock files still pin an older 1.11 patch, the warning is the prompt to move. Read adapter notes before you bump. This tag does not replace that check.
Docker image package versions on bullseye ¶
The Docker image rebuild was failing because three bullseye packages had been superseded: ca-certificates, libpq-dev, and openssh-client. The tag bumps those packages to the current bullseye versions so the image build can finish.
This is packaging, not a runtime feature. libpq-dev is the Postgres client compile path. ca-certificates is TLS trust. openssh-client covers git over SSH inside the image. Consumers of the published image pick up those versions. A private image built from a different base is unaffected.
The notes mark the tracking issue as NA. There is no public issue URL.
No breaking changes are listed. No config key is renamed. No migration step is required.
Where to get it ¶
- Release notes and downloads: GitHub release page
- Project repository: GitHub repository
- Tag:
v1.11.13