Skip to content
Gosai Digital
  • Services
  • Use Cases
  • Case Studies
  • Process
  • Resources
  • About
Book a call
←Back to resources
Resource guideAppliedArchitecture & Data
By Gosai Digital·February 2026·6 min read

Heroku-20 Stack Reached End of Life: What It Means and Your Options

The Heroku-20 stack reached end of life on April 30, 2025. Here's what this means for your applications, how to upgrade to newer stacks, and when to consider switching platforms entirely.

On April 30, 2025, Heroku's Heroku-20 stack officially reached end of life. Starting May 1, 2025, you can no longer deploy code changes to apps still running on Heroku-20. While your existing apps will continue to run, you're now locked out of pushing updates, bug fixes, or new features until you migrate to a newer stack.

This isn't just a technical footnote—it's a forcing function. If your app is on Heroku-20, you need to make a decision now: upgrade to Heroku-22 or Heroku-24, or use this moment to reconsider whether Heroku is still the right platform for your needs.

This article walks through what happened, who's affected, and the two paths forward: upgrading within Heroku or migrating to a modern alternative.

What Happened

Heroku stacks are the underlying operating system images that run your applications. Heroku-20 was based on Ubuntu 20.04 LTS and was deprecated in November 2023, giving developers 18 months to migrate before the April 30, 2025 end-of-life date.

As of May 1, 2025, builds are no longer allowed for Heroku-20 apps. This means you cannot push code changes, update dependencies, or deploy fixes. All other functionality continues to work—your apps will keep running, environment variables still work, and logs are still available. But the moment you need to deploy a change, you're blocked.

This follows a pattern: Heroku-18 reached EOL in 2023, and Heroku-22 (based on Ubuntu 22.04) is scheduled for end of life in April 2027. The current recommended target is Heroku-24, which is based on Ubuntu 24.04.

Who's Affected

If you created your Heroku app before April 2022 and haven't explicitly upgraded your stack, you're likely on Heroku-20. You can check by running heroku stack in your app directory or viewing the stack in your app settings on the Heroku dashboard.

The impact is immediate for teams that rely on continuous deployment. A security patch, a dependency update, or a customer-requested feature—all blocked until you migrate. For low-maintenance apps that rarely change, you have breathing room. But the clock is ticking regardless.

Beyond Heroku-20, this is a broader inflection point. Heroku announced in early 2026 that it's transitioning to a 'sustaining engineering model' and no longer offering new Enterprise contracts. For teams evaluating long-term platform strategy, this EOL deadline is a natural moment to reassess.

Option 1: Upgrade to Heroku-22 or Heroku-24

If Heroku still meets your needs, upgrading your stack is the most straightforward path. Here's what you need to know.

Heroku-22

Based on Ubuntu 22.04. Supported through April 2027. A stable, well-tested option if you need more time before the next migration cycle.

Migration Process

Upgrading your stack requires a rebuild. The process is similar to a standard deploy: update your stack setting, test locally if possible, then push your changes. Heroku's official documentation recommends always moving to the latest available stack and reviewing breaking changes between your current and target versions.

For Ruby apps, you may need to upgrade your Ruby version before migrating. Heroku-24 has specific quirks: Git is only available at build time, not runtime, and the older Chrome buildpack is incompatible—you'll need to switch to the Chrome for Testing buildpack if you rely on headless browser automation.

The upgrade process itself is low-risk for most apps, but you'll want to test in a staging environment before touching production. Most compatibility issues surface during the build phase, not at runtime.

Option 2: Migrate to a Modern Alternative

If you're questioning Heroku's long-term viability or pricing, this EOL deadline is a natural moment to switch. Here are the most credible alternatives.

When to Stay vs When to Switch

Upgrade to Heroku-22 or Heroku-24 if your app is stable, you're happy with Heroku's pricing, and the migration cost is low. If you're already paying for Heroku and the platform works for you, there's no reason to introduce risk by switching.

Consider migrating to an alternative if you're questioning Heroku's pricing (especially post-free-tier), concerned about the long-term roadmap given the shift to sustaining engineering, or if you're already evaluating platforms for new projects. The migration cost is real—DNS changes, environment variable migration, testing—but if you're already skeptical of Heroku, this EOL deadline is your forcing function.

The wrong move is inaction. Staying on Heroku-20 past May 1 means you can't deploy. Set a deadline, test your migration path (upgrade or switch), and execute before the next emergency fix is needed.

Key Migration Timelines

Important dates for Heroku stack migrations

Apr 30

Heroku-20 EOL Date

Sep 30

Legacy Router EOL

Apr 2027

Heroku-22 EOL Date

Sources

  • Heroku-20 End-of-Life FAQ
  • Upgrading to the Latest Stack | Heroku Dev Center
  • Migrating Your Ruby Apps to the Latest Stack
  • Deciding Between Heroku Alternatives
  • Top Five Heroku Alternatives | Railway

Need Help Migrating?

Whether you're upgrading stacks or switching platforms entirely, we can help you plan and execute a zero-downtime migration. Book a call to discuss your options.

Continue reading

Related resources

Keep moving through the same operating model with a few nearby articles from the same topic cluster.

Architecture & Data9 min read

Salesforce Reporting for Staffing Firms: Pipeline, Margin, and Recruiter Productivity

Salesforce reports in staffing firms are often wrong because the source objects, field conventions, and report types were built for a generic sales org. Here's how to fix the three layers that determine whether your numbers are trustworthy.

Applied

March 1, 2026

Read article
Architecture & Data6 min read

Staffing CRM Data Quality and Technical Debt: A Practical Playbook

Bad staffing CRM data is rarely just a cleanup problem. This guide covers duplicates, recruiter adoption friction, ghost data, brittle automations, and the remediation sequence that turns a messy staffing Salesforce org into something operators can trust again.

Advanced

March 1, 2026

Read article
Architecture & Data10 min read

Scaling Salesforce for High-Volume Staffing and MSP Operations

When staffing volume grows, Salesforce stalls in predictable ways: automation fires synchronously on bulk imports, recruiter pages wait for backend processing, and governor limits surface mid-transaction. Here is how to architect around it.

Advanced

March 1, 2026

Read article

Resource updates

Get notified when new guides go live.

Practical notes on Salesforce, staffing workflows, and operational cleanup. No newsletter bloat.

Gosai Digital

Senior Salesforce architecture, admin, and development on a fractional retainer.

Services

  • Services
  • Use Cases
  • Case Studies
  • Process

Company

  • About
  • Contact
  • Resources

More

  • FAQ
  • Pricing

© 2026 Gosai Digital. All rights reserved.

PrivacyTerms
Share:
Developer reviewing code deployment and infrastructure migration options on multiple screens

Heroku-24

Based on Ubuntu 24.04. The current recommended stack. Longer support window, but requires more careful dependency checks, especially for Ruby apps.

Render

The most Heroku-like experience. Git-push workflow, managed TLS, built-in CDN, and Cloudflare protection by default. Free tier for static sites, paid plans from $19/month.

Best for: Teams wanting a drop-in Heroku replacement

Railway

The smoothest migration path with per-unit pricing (pay for exact GB of RAM and vCPU cores). Free tier available, paid from $5/month. Maximum flexibility without tier lock-in.

Best for: Cost-conscious teams needing granular compute control

Fly.io

Global edge deployment with VM-level control. Up to 3 shared-CPU VMs free, usage-based pricing from ~$2/month per VM. WireGuard networking, place apps close to users worldwide.

Best for: Apps needing global reach or low-latency performance

Book a Call