Prefect
  • Blog
  • Customers
Open source47.9k+Get a Demo
Sign In

Product

  • Prefect Cloud
  • Prefect Open Source
  • Prefect Cloud vs OSS
  • Pricing
  • Enterprise
  • How Prefect Works
  • Prefect vs Airflow
  • Prefect vs Dagster
  • FastMCP
  • Prefect Horizon
    NEW

Resources

  • Docs
  • Case Studies
  • Blog
  • Resources
  • Community
  • Learn
  • Support
  • Cloud Status

Company

  • About
  • Contact
  • Careers
  • Legal
  • Security
  • Brand Assets
  • Open Source Pledge

Social

  • Twitter
  • GitHub
  • LinkedIn
  • YouTube

© Copyright 2026 Prefect Technologies, Inc. All rights reserved.

Airflow 2 End of Life

Airflow 2 has reached end of life.

Airflow 2 has reached end of life. If you're still on Airflow 2, it's time to migrate. Choose the platform that moves you forward.

Airflow 2 has reached End of Life
Book a migration assessmentCompare Prefect vs Airflow

The deadline has passed

Airflow 2 is no longer supported. Migration is now critical.

Before Oct 2025

Full Support

This phase has ended

Oct 22, 2025

Limited Maintenance

This phase has passed

End of Life

No Longer Supported

Airflow 2 is no longer receiving any updates.

What actually breaks in Airflow 3

The most significant architectural changes since Airflow 2.0

No direct database access

All custom operators using metadata database directly must be completely refactored to use the new Task Execution API.

SubDAGs removed

SubDagOperator no longer exists. All SubDAGs must be converted to TaskGroups—requiring significant code rewrites.

Every import changes

Import paths overhauled from airflow.models to airflow.sdk. Every file touching Airflow needs updates.

New mandatory components

dag-processor and api-server are now required. Your deployment infrastructure needs restructuring.

Template variables removed

execution_date, prev_ds, next_ds, and other common templates are gone. DAGs using these will fail.

Cannot skip versions

Must upgrade through 2.7 → 2.10 → 3.0. No direct jumps allowed. Each step requires testing.

What developers are saying

Community sentiment from Hacker News and Reddit

Hacker News
31482217

Upgrades have been an absolute nightmare and so disruptive... We've since tried multiple times to upgrade past the 2.0 release and hit issues every time, so we are just done with it. We'll stay at 2.0 until we eventually move off airflow altogether.

emef
·View on HN →
r/dataengineering

If my company had neither Airflow nor Prefect in place already, I'd opt for Prefect. I believe it allows for much better modularization of code... You can achieve something similar with Airflow, but you really need to go out of your way to make something like that happen, whereas in Prefect it kind of naturally comes out.

u/alexisprince·View on Reddit →
Hacker News
32319838

I despise airflow and how cemented it is as data infrastructure... It's taken me 3 separate jobs over 7 years to realize that it's probably not our fault. Everyone seems to struggle with the same things: flaky scheduler that is slow to run tasks, confusing settings... It can't handle a large number of parallel tasks or frequent runs. It seems to have miserable scalability for the resources given.

Hippocrates
·View on HN →
Hacker News
43540455

My impression is that Airflow is a really dated choice for a greenfield project.

mushufasa
·View on HN →

What Airflow 3 upgrades look like in the wild

Real issues teams hit when migrating from Airflow 2 to Airflow 3.

Browse Airflow 3 upgrade issues
apache/airflow#48542

Upgrading from Airflow 2.10.5 to 3.0.0 failed due to database migration errors. The migration tried to drop an index that's still needed for a foreign key constraint, causing the entire upgrade process to fail.

View issue on GitHub →
apache/airflow#57234

After waiting for Airflow 3.1 to fix initial bugs, the upgrade from 2.11.0 to 3.1.0 still failed. The database migration couldn't convert the XCom table from bytea to jsonb because it contained invalid JSON data, blocking the entire upgrade.

View issue on GitHub →
apache/airflow#56306

After upgrading to Airflow 3, DAG import errors started occurring. The workaround requires manually updating dag_id parameters or deleting entries from serialized_dag and dag_code tables, which is a risky manual database operation.

View issue on GitHub →
apache/airflow#55766

After upgrading to Airflow 3.0.6, multiple executors stopped working correctly. Tasks assigned to KubernetesExecutor were being routed to CeleryExecutor instead, regardless of queue configuration, breaking our entire task execution strategy.

View issue on GitHub →
apache/airflow#56271

After upgrading from Airflow 3.0.3 to 3.1.0, KubernetesExecutor stopped working entirely. Tasks that specified KubernetesExecutor failed with errors saying the executor wasn't available, even though it was properly configured.

View issue on GitHub →
apache/airflow#58894

Upgrading from Airflow 2.11 to 3.1.3 on MySQL 8.0.35 failed because the migration used index creation syntax that MySQL doesn't support. The migration script assumed database features that don't exist in MySQL.

View issue on GitHub →

Teams that made the switch

Real migration stories with real results

Endpoint

73.78% cost reduction

Migrated 72 pipelines in 2.5 months with 2 engineers. Tripled production while dramatically reducing spend.

Read story →
Cash App

ML workflows migration

Moved from Airflow when it was no longer viable for ML. Gained security and ease of adoption.

Read story →
Rent The Runway

70% infrastructure savings

Gradual migration focused on critical flows first. Gained stability and significant cost reduction.

Read story →
Endpointcase-study

The Data Engineering and MLOps teams were impressed by the elimination of retrofitting requirements. Switching from Astronomer to Prefect resulted in a 73.78% reduction in invoice costs alone.

SP
Sunny Pachunuri
Data Engineering and Platform Manager
Cash Appcase-study

Airflow was no longer viable for ML workflows. We needed security and ease of adoption.

WT
Wendy Tang
Machine Learning Engineer

Teams using Prefect in production

Cash App
Endpoint
Washington Nationals
WHOOP
Cisco
1Password
Dutch
NASA
CoinList
Ashby
Square
Meta

Same effort. Different outcome.

Both paths require work. Choose the one that moves you forward.

Technical debt

Upgrade to Airflow 3

  • Step through 2.7 → 2.10 → 3.0 versions
  • Refactor all custom operators for new API
  • Update every import path in your codebase
  • Convert all SubDAGs to TaskGroups
  • Restructure deployment for new components
  • Still have static DAGs and centralized scheduler
Recommended

Migrate to Prefect

  • Remove Airflow boilerplate, keep your Python logic
  • Simple decorators instead of operator classes
  • Dynamic workflows that adapt to your data
  • 60-70% infrastructure cost savings
  • Your data stays in your infrastructure
  • Migration assistance from our team

We'll help you migrate

Our team has helped hundreds of organizations transition from Airflow to Prefect. We'll work with you to plan your migration and ensure a smooth transition.

  • Migration assessment and planning
  • Best practices for converting DAGs to flows
  • Dedicated support during transition
  • Transparent pricing without surprises
Book a migration assessmentCompare Prefect vs Airflow

Start your migration assessment

Talk to our team about your Airflow infrastructure, timeline, and migration strategy. Free consultation, no commitment.

Book a demoStart free