AI and dataData platforms

dbt drops v1.3 to v1.7 from its platform on January 31, 2027: get pinned jobs onto a release track before they're deleted

Teams still pinned to dbt v1.3 to v1.7 on the dbt platform lose those jobs on January 31, 2027, and often the environments too. We walk through finding them, choosing a v1 release track or v2, and fixing what breaks on the way.

Cohash Data & Analytics Practice October 2026 13 min read 9 chapters 3-question check
part 9 of 10 · Platform releases, explained from scratch
v1.11 supportends Legacyremoved v1.12 supportends v2.0 supportends Oct 2026 Sep 2027

the ideaPinned v1.3 to v1.7 environments go on January 31. Release tracks keep moving.

after reading, you can
  • Find the jobs still running v1.3 to v1.7. Check the environment and any override on the job itself
  • Pick v2 Stable or a v1 release track for each project. Your adapter usually decides which one you can use
  • Spot the deprecations and behaviour changes that break old projects before production moves

On January 31, 2027, dbt Labs removes dbt v1.3 through v1.7 from the dbt platform. Any environment or job still pinned to one of those versions gets cleaned up once they're retired, and for most legacy environments that means deletion. Find your pinned environments this week and move them to a release track, ideally v2 Stable, before the holidays eat December. dbt says your code and history stay accessible while you migrate, but it also warns that projects not moved by then lose access. Don't wait to find out which applies to you.

in plain wordsPlanning: act before January 31

dbt is retiring five old versions from its cloud service. Pinned projects have to move or their jobs go

dbt is the tool many data teams use to turn raw warehouse tables into the clean ones that feed dashboards and reports. A lot of teams run it on the dbt platform, the hosted service from dbt Labs, where each environment is set to a dbt version. Some teams picked v1.7 or older years ago and never changed it. Those versions stopped getting fixes long ago, and on January 31 dbt Labs takes them off the platform. If an environment is still on one, it's usually deleted along with its jobs, and the nightly runs behind your reports stop. The fix is a settings change plus whatever code clean-up the newer version asks for.

think of it like this

It's like a landlord retiring an old type of lock. Tenants who switch to the new lock keep their keys and their flat. Tenants who ignore the letters find the old lock removed and the door shut, even though their furniture is still inside.

who should care
  • Teams on the dbt platform (dbt Cloud)
  • Data leaders who own nightly reporting
  • Analytics engineers maintaining older projects
  • Platform teams managing dbt with Terraform
  • Finance teams whose reports depend on dbt jobs
chapter 01

Why it matters to you

Nothing breaks in your warehouse on February 1. The tables dbt already built are still there. What stops is the rebuild, so the numbers on the dashboards quietly freeze at the last good run, and the first person to notice is often someone in finance asking why yesterday's sales are missing.

Jan 31, 2027dbt v1.3 to v1.7 removed from the dbt platform
96 daysFrom October 27, 2026 to the removal date
5 versionsv1.3, v1.4, v1.5, v1.6 and v1.7, all past end of life already
12 monthsUnused for this long, dbt says delete the environment instead

These versions aren't patched anymore. v1.7 came out in November 2023, and dbt supports a minor version for one year, so every one of them has gone without bug fixes or security patches for a while. The deadline turns an old risk into a hard date with a real consequence: if nobody acts, jobs disappear.

what changesMoving a v1.7 environment is a settings change plus clean-up. Skip it and the jobs goThe settings change takes minutes. The time goes on the deprecation warnings it uncovers.
  1. 01 Today: pinned, unpatched

    The environment still runs on v1.7. It hasn't had a dbt fix since its one-year window closed.

  2. 02 You pick a release track

    Switch the environment to v2 Stable, or v1 Latest if v2 isn't ready for you. Code and history stay put while you migrate.

  3. 03 Warnings show up

    The newer engine flags old syntax: tests: blocks, custom keys, -m in job commands. dbt-autofix clears many of them.

  4. 04 Jobs run on a supported version

    Once dev and test pass, move production and clear any job pinned to a legacy version.

  5. 05 After January 31: clean-up

    Anything still on v1.3 to v1.7 is removed. Legacy environments lose their jobs, or get deleted outright.

For engineers: dbt decides what to migrate by each job's effective versiondefinitionThe dbt version a job actually runs: its own override if one is set, otherwise the version of the environment it belongs to.. That's the version pinned on the job if it has an override, and the environment's version if it doesn't. So a supported environment can still hold one forgotten job with a v1.6 override, and that job is the one that vanishes.

chapter 02

What dbt Labs is changing, and where you can go

The platform is moving everyone onto release tracks. A release trackdefinitionA dbt platform setting that keeps an environment on a supported dbt version automatically, on a chosen cadence, instead of a pinned version number. is a setting that keeps you on a supported dbt automatically, on a cadence you choose. You stop pinning old version numbers. dbt Labs' own guide calls v2 the recommended target and a v1 release track the minimum to keep jobs running.

What changes on the dbt platform

removeddbt v1.3 to v1.7 on the platform

Once January 31 passes you can't pick these versions for an environment or a job. Anything still set to one is cleaned up once they're retired.

removedLegacy environments nobody migrated

A legacy environment and its jobs are deleted. If one of its jobs already runs a supported version, the environment stays and only the legacy jobs go.

removedLegacy job overrides

In a supported environment, any job pinned to v1.3 to v1.7 is removed. The environment itself is untouched.

changedRelease tracks become the default path

Developer and Starter plans already had to use them. Enterprise accounts that pinned old versions now move too.

newv2 Stable as the recommended target

dbt v2 is the Rust rebuild people knew as Fusion. On the platform it's generally available for Snowflake, BigQuery, Redshift and Databricks, so teams on those warehouses can aim straight for it.

Your choice of target matters more than the switch itself. On v1 Latest you get every change continuously. v1 Compatible follows the open-source v1 releases once a month, and v1 Extended runs a month behind that. Enterprise+ adds a Fallback track one month further back, for emergencies. The v2 tracks follow the same pattern with Nightly, Stable, Extended and Fallback.

tableWhere a legacy environment can go. Check your plan first, since most of the slower tracks need Enterprise
TrackCadencePlansAPI or Terraform value
v2 Stable (recommended)WeeklyAll plansfusion-stable
v2 ExtendedMonthly, one month behind StableEnterprise, Enterprise+fusion-extended
v1 LatestContinuousAll planslatest
v1 CompatibleMonthly, aligned with open-source v1Starter, Enterprise, Enterprise+compatible
v1 ExtendedPrevious month's CompatibleEnterprise, Enterprise+extended
v1 FallbackPrevious month's ExtendedEnterprise+fallback

The dbt dates that matter for this move

  1. Nov 2, 2023
    dbt v1.7 released

    It's the youngest of the five, and even it lost support in 2024. If you're on any of them, you've been unpatched for a while.

  2. Sep 14, 2026
    dbt v2.0 released

    It's the version dbt Labs wants you on, with fixes for a year. On a release track you move past it automatically, so that end date rarely bites.

  3. Dec 18, 2026
    dbt v1.11 critical support ends

    Anyone running v1.11 on their own servers loses security fixes here. Put that move on the same plan, to 1.12 or v2.

  4. Jan 31, 2027
    v1.3 to v1.7 removed from the platform

    Anything you haven't moved by then gets cleaned up. Legacy environments go, and so do jobs still pinned to old versions.

  5. Jul 15, 2027
    dbt v1.12 active support ends

    v1.12 is the current v1 minor. v1.13 is in beta and is meant to be the last 1.x minor.

chapter 03

v1 Latest or straight to v2?

If you're touching every environment anyway, dbt Labs says go straight to v2. There's a catch, though. The v2 upgrade assistant only works once a project is already on the v1 Latest track, and v2 won't accept any deprecated code at all. In practice the path for an old project usually runs through v1 Latest first, even when v2 is the goal.

side by sideStopping at a v1 release track against going on to v2 Stable before the deadline
Stop at a v1 release track
  • Smallest change before January 31
  • Most deprecation warnings stay warnings, so jobs keep running
  • Compatible and Extended move once a month, so production gets time to test
  • New features arrive in v2 first, so you'll do this again
  • Doesn't depend on v2 adapter support
Go on to v2 Stable
  • One move instead of two
  • Every deprecation must be fixed before you switch
  • Strict parsing turns misspelled configs into errors
  • Faster parsing and SQL checks before anything hits the warehouse
  • GA only on Snowflake, BigQuery, Redshift and Databricks today

Pick by adapter and by deadline. A Snowflake or Databricks project with current packages and few warnings is a good candidate to go straight to v2. A project on an adapter that's still in preview for v2, or one with years of old syntax and abandoned packages, should land on v1 Latest first and plan v2 for the spring. Both options meet the deadline.

Running both engines side by side is less risky than it sounds. dbt v2 writes a v12 manifest that v1 can read, so state:modified, --defer and cross-environment docs keep working when dev is on v2 and production is still on v1. You can move one environment at a time.

before

Before: a project with pinned legacy versions

Dev and production were set to v1.7 years ago. One job in the supported staging environment still carries a v1.6 override, and Terraform keeps writing the pinned version back on every apply.

Before: a project with pinned legacy versions Dev and production were set to v1.7 years ago. One job in the supported staging environment still carries a v1.6 override, and Terraform keeps writing the pinned version back on every apply. 01 · ENVIRONMENTS 02 · JOBS 03 · CONFIG runs runs re-pins re-pins Development pinned to v1.7 Production pinned to v1.7 Staging on a release track Nightly build inherits v1.7 Finance refresh override: v1.6 Terraform dbt_version = 1.7 © Cohash · cohash.com
01 · ENVIRONMENTS02 · JOBS03 · CONFIG Development: pinned to v1.7 Development pinned to v1.7 Production: pinned to v1.7 Production pinned to v1.7 Staging: on a release track Staging on a releasetrack Nightly build: inherits v1.7 Nightly build inherits v1.7 Finance refresh: override: v1.6 Finance refresh override: v1.6 Terraform: dbt_version = 1.7 Terraform dbt_version = 1.7 runs runs re-pins re-pins © Cohash · cohash.com
after

After: every environment on a release track

Dev moves first and clears its warnings. Production follows on a monthly track, the stray override is cleared, and Terraform sets the release track name so the next apply doesn't undo the work.

After: every environment on a release track Dev moves first and clears its warnings. Production follows on a monthly track, the stray override is cleared, and Terraform sets the release track name so the next apply doesn't undo the work. 01 · ENVIRONMENTS 02 · JOBS 03 · CONFIG runs runs sets track pins packages Development v2 Stable Production v1 Compatible or v2 Staging release track Nightly build inherits the track Finance refresh override cleared Terraform dbt_version = track name package-lock.yml checked in © Cohash · cohash.com
01 · ENVIRONMENTS02 · JOBS03 · CONFIG Development: v2 Stable Development v2 Stable Production: v1 Compatible or v2 Production v1 Compatibleor v2 Staging: release track Staging release track Nightly build: inherits the track Nightly build inherits the track Finance refresh: override cleared Finance refresh override cleared Terraform: dbt_version = track name Terraform dbt_version =track name package-lock.yml: checked in package-lock.yml checked in runs runs sets track pins packages © Cohash · cohash.com
chapter 04

What usually breaks when an old project moves

dbt promises that minor versions don't break documented behaviour, but four years of minors add up. dbt's upgrade pages list the edge cases that bite projects coming from v1.3 to v1.6, and the community forum fills in the rest.

Where old projects usually trip, from dbt's docs and its forum

changedStray .py files in models/

Since v1.3 dbt treats every .py file under models/ as a Python model. Helper scripts kept there fail to parse. Move them or list them in .dbtignore.

removed--m in job commands

Old jobs sometimes use --m. That only ever worked by accident and stopped at v1.5. dbt-autofix jobs rewrites -m and --model to -s, but its docs don't mention --m, so fix that one by hand.

changedEmpty tests: blocks

From v1.5 an empty tests config raises a validation error. Replace it with tests: [] or delete it.

changedload_result called twice

Since v1.6 you can read a query result once. Macros that call load_result on the same result twice need to save it to a variable.

deprecatedtests: renamed to data_tests:

v1.8 renamed the key when unit tests arrived. On the dbt forum, one team renamed tests across 2,000 YAML files and still saw the warning. A reply pointed to an outdated dbt_utils or a stale target folder as the likely causes.

changedAdapter macro overrides

Custom overrides of adapter macros can break when the adapter changes. One forum thread shows a spark__location_clause override failing after dbt-databricks 1.8.3 changed that macro's name and signature.

changedPackages overriding built-in materializations

Since v1.8 a package that overrides a built-in materialization raises a deprecation warning, and the new behaviour is on by default. Opt in from the root project with a wrapping materialization.

changedBehaviour flags now on by default

On v1 Latest, most of the behaviour flags added in v1.9 switched on by default in September 2026. One of them, skip_nodes_if_on_run_start_fails, means a failed on-run-start hook now skips the selected models. A job that used to carry on past a broken hook stops instead.

The flags are the quiet one. A project jumping from v1.7 to v1 Latest skips the releases where those flags were optional, so it lands with most of the new behaviour already switched on. Read the behaviour-change table and set any flag you need to keep in the flags block of dbt_project.yml. v2 removes several of them for good, so keeping an old behaviour only works on v1.

If you also run dbt Core on laptops or CI runners, check the network. One team on the dbt forum reported dbt deps failing with handshake errors after moving from 1.7 to 1.8, until hub.getdbt.com was allowed through the firewall.

find-the-blockers (example commands; run them on a branch, never main)example output
# List every deprecation, not just the first of each kind
$ dbt parse --no-partial-parse --show-all-deprecations
# Let dbt-autofix fix what it can. It edits files, so stay on a branch
$ uvx dbt-autofix deprecations
$ uvx dbt-autofix jobs
# Prove the build works without reading real data
$ dbt build --empty
# Then open a run's System Logs: the first line, 'Running with dbt=', shows the version it used
chapter 05

What to do now

What to do before January 31, by who you are

Data leader or business ownerthis week
  • Ask for one list: every dbt environment and job, its effective version, its owner and its target track.
  • Agree a freeze date in mid-January for production moves, so nothing is still in flight on the 31st.
  • Name who gets called if the nightly build fails after the switch, and tell finance and other report owners when it's happening.
dbt platform adminthis week
  • Go to Orchestration, then Environments, and note every environment on v1.3 to v1.7.
  • Open the jobs in supported environments and look for version overrides pinned to a legacy version.
  • Delete legacy environments unused for 12 months or more. Move any jobs you still want first, because deleting an environment deletes its jobs.
  • If you manage dbt with Terraform or the Admin API, change dbt_version to a track name such as fusion-stable or latest.
Analytics engineersthis month
  • Set the Override dbt version on your own account to the target track and build the project in a branch.
  • Run dbt-autofix, then dbt parse with --show-all-deprecations, until the list is empty.
  • Rerun one real production job from the branch in a test environment before touching production.
  • Check package-lock.yml into git so package installs don't drift during the move.
Data consumersafter each move
  • Check the reports you rely on the morning after production moves, and say so quickly if numbers look off.
  • Tell the data team which reports must not be stale, so those jobs get checked first.

Moving one project off a legacy version, in order

  1. 01
    Find the effective version of every job

    Write down the environment version and any job override. The job override wins, so a supported environment can still hide a legacy job.

  2. 02
    Delete what's dead

    Legacy environments nobody has used in a year go first. Move any job you still need into another environment before you delete.

  3. 03
    Move development first

    Set the dev environment to v2 Stable, or v1 Latest if v2 doesn't support your adapter yet. Everyone has to restart the IDE after a dev move to v2.

  4. 04
    Clear the warnings

    Run Check & fix deprecations in Studio, or dbt-autofix from the command line. Fix what's left by hand from dbt's deprecations reference.

  5. 05
    Rehearse a production job

    Create a test deployment environment on your branch, set it to the target track and run a copy of a job the business depends on. Compare row counts and test results with production.

  6. 06
    Move production and clear overrides

    Switch production, clear legacy job overrides so jobs inherit the track, and watch the first few scheduled runs.

  7. 07
    Lock it in

    Update Terraform or API scripts to the track name so nobody re-pins an old version on the next apply.

chapter 06

Make the next forced upgrade smaller

This deadline is painful because the projects sat still for years. The fixes that keep it from happening again are mostly about cadence and visibility.

Habits that keep a dbt project upgradeable

  1. 01
    Stay on a release track

    Pick the cadence you can live with, such as v1 Compatible or v2 Extended for production. A monthly step is far smaller than a four-year jump.

  2. 02
    Treat deprecation warnings as bugs

    Fail CI on new deprecations, or at least report them. v2 won't accept any, so every warning you leave becomes a blocker later.

  3. 03
    Pin packages and review upgrades

    Keep package-lock.yml in git and upgrade packages on purpose, in a branch, with a build run before merge.

  4. 04
    Keep a test environment that mirrors production

    Use it to rehearse version moves with a real job. When dbt changes behaviour, you see it there first.

  5. 05
    Watch for stale data

    Use source freshness and alerts on job failures, so a stopped job pages someone the same morning instead of a week later.

chapter 07

If the move goes wrong

If a job fails or numbers change after the switch

Most failures after a version move are parse errors or a behaviour change in one macro. Work through it in order, and keep the old setting written down until the new one has run clean for a week.

  1. 01Stop the spreadfirst hour
    • Pause further environment moves until you know the cause.
    • Tell the people who own the affected reports that the data may be stale. Give them a time for the next update, and keep to it.
  2. 02Find the causefirst hours
    • Read the failed run's logs and the first line of output to confirm which dbt version ran.
    • Check for deprecation errors, behaviour flags that flipped and packages that changed during the move.
  3. 03Roll back if you cansame day
    • Before January 31, set the environment back to v1.7 while you fix the code. dbt suggests exactly this.
    • On Enterprise+ v2, account admins can switch to the Fallback track. Return to Extended or Stable once the issue is fixed.
  4. 04Fix forwardfirst days
    • Fix the code in a branch, rerun the job in the test environment and compare results before moving production again.
    • If a behaviour you depend on changed, set its flag in dbt_project.yml for now. Then plan the real fix, because v2 drops several of those flags.
  5. 05Get helpif you're blocked
    • Send dbt Support the project ID, environment ID, failing run IDs and logs, the version you were on and the track you moved to. That's the list they ask for.
    • If the fix can't land before the deadline, ask dbt Support about an extension, which its docs mention for some edge cases.
chapter 08

What it looks like in real projects

Some dbt setups you might recognise. Here's what we'd do in each

01 Pinned v1.7 02 Autofix indev 03 Prod on v2Stable 04 Dashboardsrefresh
scenario 01High risk
A small team whose one project sat on v1.7
the setup
A retailer's two-person data team runs one dbt platform project on Snowflake. Dev and production were pinned to v1.7 when they set it up, and it has run untouched since.
what happens
On January 31 both environments are legacy, so both are deleted with their jobs. The morning sales dashboard stops refreshing and nobody knows why.
what to do
Move dev to v2 Stable, run Check & fix deprecations, rehearse the nightly job, then move production. Snowflake is GA on v2, so one move covers it.
01 Staging on v1Latest 02 Job overridev1.6 03 Overridecleared 04 Job kept
scenario 02Medium risk
A supported environment with one forgotten job
the setup
A healthcare analytics team moved its environments to v1 Latest last year. A finance refresh job in staging still carries a v1.6 override that someone set during an incident.
what happens
The environment survives the clean-up, but that one job is removed. Month-end finance numbers stop updating.
what to do
Search every job in supported environments for overrides. Clear this one so it inherits the track, then run it once in test and compare totals.
01 UI change 02 Terraformapply 03 Module usestrack 04 Staysmigrated
scenario 03High risk
An enterprise with dozens of projects in Terraform
the setup
A manufacturer runs about 40 dbt projects. Environments are created by Terraform, and the module sets dbt_version to 1.7 by default.
what happens
Admins move environments in the UI, and the next Terraform apply puts them back on v1.7. Some are still legacy on January 31.
what to do
Change the module default to a track name, such as compatible for production and fusion-stable for dev. Apply it project by project, smallest and newest first, as dbt recommends.
01 Legacy v1.5 02 v1 Compatible 03 Package check 04 v2 when ready
scenario 04Medium risk
A project on an adapter still in v2 preview
the setup
An insurer's dbt project runs on a warehouse whose adapter is still in preview for v2 on the platform, and it uses a few packages from outside dbt Labs.
what happens
v2 isn't a safe production target yet, and some packages may not parse on it. Waiting for v2 risks missing the deadline.
what to do
Move to v1 Compatible or v1 Extended now to meet the date. Ask package maintainers about v2 support, run dbt-autofix's package check and plan v2 separately.

These are illustrations of common setups, not Cohash client stories. Your own project will mix them.

chapter 09

How Cohash helps

We take inventory of dbt platform accounts, find the effective version of every job, and move projects onto release tracks with your team. We clear deprecations, rehearse production jobs and compare results before cutover, and plan the v2 move where it makes sense. See our dbt practice, hire dbt engineers, or start with a readiness assessment.

key takeaways

What to take from this

  1. 01

    On January 31, 2027, v1.3 to v1.7 leave the dbt platform. Whatever's still pinned to them gets cleaned up, so check now.

  2. 02

    Check each job's effective version. A job override beats the environment setting, so a supported environment can still hold a legacy job.

  3. 03

    A v1 release track is the minimum. v2 Stable is the recommended target if your adapter is GA on v2.

  4. 04

    Expect deprecation warnings when you move. dbt-autofix clears many of them, and v2 won't run until all are fixed.

  5. 05

    Change Terraform and API scripts to track names, or the next apply puts the old version back.

  6. 06

    Move while you can still drop back to v1.7. After January 31 that safety net is gone.

platforms in this notedbt →
fact-checked October 2026 against vendor and official documentation · where to go next
  1. How Cohash delivers dbt: scope, roles and architecture
  2. Hire vetted dbt engineers
  3. Data engineering
  4. Book a 30-minute working session with a senior engineer
01Does this affect my dbt project?

Only if it runs on the dbt platform and an environment or a job is set to v1.3, v1.4, v1.5, v1.6 or v1.7. Check each environment's dbt version and each job's version override. If everything is on a release track already, you have nothing to do.

02What happens if we do nothing?

Your nightly jobs stop. A legacy environment gets deleted with its jobs, unless one of its jobs already runs a supported version, in which case only the legacy jobs go. dbt also warns that projects not moved by January 31 lose access, so don't count on getting at the code afterwards.

03Does this affect dbt Core installed on our own servers?

The removal is about the dbt platform. A local dbt Core 1.7 install keeps running, but it hasn't had fixes since its support window ended, so plan to move it to 1.12 or v2 as well.

04Should we move to v1 Latest or straight to v2?

dbt Labs recommends v2 if you're upgrading anyway. Go to v2 Stable if your adapter is GA there (Snowflake, BigQuery, Redshift or Databricks) and your packages work on it. Otherwise move to a v1 release track first and plan v2 separately.

05How long does the move take?

The settings change itself is quick. The time goes into deprecation warnings and testing, and that depends on the project. A small, tidy project moves fast. A large one with old packages and custom macros needs clean-up and a rehearsal first, so start with dev now.

06Can we get more time after January 31?

dbt's docs say to contact support and ask for an extension if you hit one of the known edge cases while upgrading. Don't plan on one. Move dev now so you find those problems early.

07Which release track should production use?

dbt's own cautious layout puts development and test on v1 Compatible and production on v1 Extended. On v2 the same idea is Stable for development and Extended for production. You need an Enterprise or Enterprise+ plan for the Extended tracks.

keep reading

More field notes

Other notes from the same practices, newest first.

next step

Tell us what you're running. We'll tell you what we'd do first.

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it