dbt-core v2.0.3 was published on September 16, 2026. The notes date the cut to September 15, 2026. The single listed change is a PyPI description banner on the dbt-oss package: the install note already shown for dbt-core, without the sentence that says the dbt-core namespace will be deprecated.
The full release notes and downloads are on the GitHub release page. GitHub does not mark this tag as a prerelease. The entry sits under “Under the Hood” and credits @tauhidanjum. There is no features section and no fixes section.
The banner dbt-oss gained ¶
dbt-oss 2.0.2 published a project description with no install note at the top. The 2.0.3 description prepends one. In substance it says that v2 of the engine ships as two distributions. pip install dbt is labeled the recommended install and is described as the default distribution with the full feature set. pip install dbt-oss is described as the subset distribution, limited to Apache 2 open source code. A following sentence says v2 no longer needs a separate adapter install, so a command of the form pip install dbt-<adapter> can come out of install scripts.
That text is package description copy. PyPI renders it above the rest of the project page. It is not a new CLI flag, not a profiles.yml key, and not a change to parse, compile, or run. The notes do not list a model change, a test change, or an artifact change for this tag.
The root README.md at tag v2.0.3 still opens on the logo and the warning that v1 development lives on the 1.latest branch. The banner is a PyPI description prefix. Reading the file on the tag is not the same as reading the package page for dbt-oss 2.0.3.
The sentence left on the dbt-core page ¶
The dbt-core description carries the same distribution lines, then one more sentence. That sentence is the namespace deprecation notice this tag withholds from dbt-oss:
Long term, the `dbt-core` PyPI namespace will be deprecated, so please update your install scripts to the appropriate v2 distribution moving forward.
v2.0.3 mirrors the distribution lines and the adapter install line, and it omits that namespace sentence. A reader who opens only the dbt-oss page learns the two v2 names. That reader also sees the claim that adapter packages are no longer a separate install. That reader does not learn, from this banner, that the dbt-core name itself is on a deprecation path. A reader who opens the dbt-core page does.
The split is the whole changelog line. It is also the operational trap. A large share of warehouse images, requirements.txt files, and lock files still pin dbt-core. The warning attached to that name stays on that page. The dbt-oss page is where a team that already moved to the Apache 2 distribution will look. That page does not repeat the warning.
If an install review quotes “the PyPI banner,” name the package page. The two pages match until the last sentence, and they disagree on that sentence on purpose. Quoting one as if it were the other produces two different runbooks.
There is a second mismatch inside the copied note. The banner calls dbt recommended and calls dbt-oss the subset. That ranking is prose on the page. pip still installs the name you pin. Nothing in v2.0.3 rewrites a resolver, a constraints file, or a default extra so that a bare dbt-oss pin becomes a dbt pin.
What a pin bump actually moves ¶
The notes list no breaking change and no migration step. Moving a pin from dbt-oss 2.0.2 to dbt-oss 2.0.3 is, on the evidence of this release, a description change. Scheduler jobs, CI images, and local virtualenvs that already selected a distribution keep that selection. No flag appears. No config key is renamed. No adapter version bound is called out.
File the tag as packaging metadata. A failure in parse, in dbt docs generate, or in an adapter sits outside what these notes claim to fix. Neighboring tags carried other work. This tag does not repeat it.
The same limit applies in the other direction. v2.0.3 does not delete the dbt-core distribution, yank it, or rewrite its metadata. The deprecation sentence remains a statement on the dbt-core page. Choosing dbt, dbt-oss, or a continued dbt-core pin is still a license decision and a feature set decision. This tag only changes what the dbt-oss page says while that decision sits in review.
The description text still carries the older warning that v2.0 is in beta and that behavior, APIs, and on disk formats may change before a stable release. v2.0.3 neither adds nor removes that warning. Treat it as copy that was already present, not as a new stability call. The banner also says nothing about hub packages in packages.yml.
Where to get it ¶
- Release notes and downloads: GitHub release page
- Project repository: dbt core on GitHub
- Tag:
v2.0.3
The release page lives on the dbt GitHub repository. The repository link above is the dbt-core tree. Use the release page for the v2.0.3 notes. Use the repository link for the source those notes belong to.