For startups, agencies and indie developers with apps still on the Heroku-22 stack

Get every app off Heroku-22 before builds stop on 1 May 2027

Heroku-22 is deprecated and reaches end-of-life on 30 April 2027, when Ubuntu 22.04 standard support ends. From 1 May 2027 Heroku no longer allows builds for Heroku-22 apps, so the next deploy or hotfix fails. Heroku-22 Exit upgrades each app to Heroku-24 or Heroku-26 on a test app first and hands you the fixes as a pull request, or, if you would rather leave Heroku, writes the move plan.

Updated

  • A stack check from one command's output, at the start of every plan: which apps are on Heroku-22, which buildpacks and runtimes they use, and what is likely to break.
  • The upgrade is tested on a review or staging app, never on production first, with the known Heroku-24 changes handled: build-only Git and Python, fewer locales, no US/* time zones, removed buildpacks.
  • Or a written exit plan to Render, Railway, Fly.io or your own server, with each dyno, add-on and config var mapped, for teams that read Heroku's sustaining engineering move as a signal.
Every plan starts with a stack checkTested on a copy, not production$149 per app, paid once
Promote and confirmYou promote or deploy to production with the rollback…
30 Apr 2027

Heroku-22 reaches end-of-life; existing apps keep running but the stack no longer receives security updates.

Source: devcenter.heroku.com
1 May 2027

Heroku will no longer allow builds for Heroku-22 apps; other non-build functionality keeps working.

Source: devcenter.heroku.com
1 Nov 2026

The first build of each Heroku-22 app in every 30-day period now fails with a deprecation error and must be retriggered; the window shrinks to 7 days in February 2027 and 24 hours in April 2027.

Source: help.heroku.com
Why now

Heroku-22 runs until it needs a build

Heroku deprecated the Heroku-22 stack on 20 May 2026. On 30 April 2027 it reaches end-of-life: apps keep running, but the stack gets no more security updates, and Heroku says staying on it is at your own risk. Starting 1 May 2027, builds are no longer allowed for Heroku-22 apps, so a dependency bump or an urgent fix cannot be deployed until the app moves stacks. The warnings have already started: since 1 November 2026, the first build of each Heroku-22 app in any 30-day period fails on purpose with a deprecation error and has to be retriggered, and Heroku's FAQ says this tightens to every 7 days from 1 February 2027 and every 24 hours from 1 April 2027.

The upgrade is one command, heroku stack:set, followed by a new build. What breaks is the detail: on Heroku-24, Git and system Python exist only at build time, only a few locales are included, US/* time zone names are gone, OpenJDK no longer defaults to version 8, and the Google Chrome and Redis stunnel buildpacks are not supported. Pinned buildpack versions and end-of-life Ruby versions also need fixing on the way.

At the same time, Heroku said on 6 February 2026 that it is moving to a sustaining engineering model focused on stability, security, reliability and support, and no longer offers Enterprise contracts to new customers. Existing customers see no change in pricing or service. Some teams will simply upgrade the stack; others will use the deadline to plan a move. Either way, the decision is per app.

Without it

  • Doing it yourself: Free. Heroku documents the upgrade, the test-app and Review App routes, and the Heroku-24 upgrade notes. For a simple…
  • Staying on Heroku-22: The app keeps running after 30 April 2027, without stack security updates, and from 1 May 2027 you cannot build it.…
  • A full migration agency: Agencies quote full Heroku migrations; the lowest published price we found started at €1,990 for one app. Worth it for…

With Heroku-22 Exit

  • A stack check from one command's output, at the start of every plan: which apps are on Heroku-22, which buildpacks and runtimes they use, and what is likely to break.
  • The upgrade is tested on a review or staging app, never on production first, with the known Heroku-24 changes handled: build-only Git and Python, fewer locales, no US/* time zones, removed buildpacks.
  • Or a written exit plan to Render, Railway, Fly.io or your own server, with each dyno, add-on and config var mapped, for teams that read Heroku's sustaining engineering move as a signal.
  • All your Heroku-22 apps listed
  • Known breakages handled
How it works

How it works

  1. 1

    Stack check

    Run heroku apps:table --filter="STACK=heroku-22" and heroku buildpacks for each app, and send us the output with your runtime versions. We reply with what is likely to break, per app.

  2. 2

    Choose per app

    Upgrade to Heroku-24 or Heroku-26 and stay, or plan a move to Render, Railway, Fly.io or a server of your own. We give the reasons for each app.

  3. 3

    Upgrade on a copy

    With collaborator access to a staging or review app, we set the new stack, build, fix what fails and open a pull request with the changes and an updated app.json.

  4. 4

    Promote and confirm

    You promote or deploy to production with the rollback command ready. Or, for an exit, you get the written move plan with the cutover and rollback steps.

What it does

Features

All your Heroku-22 apps listed

Heroku's apps-table plugin lists the Heroku-22 apps your account can see, so forgotten workers and cron apps are not left behind.

Known breakages handled

Runtime Git and Python, missing locales, US/* time zones, OpenJDK defaults, APT source paths and removed buildpacks, checked against your app.

Buildpack clean-up

Pinned buildpack versions unpinned, third-party buildpacks checked, and the build cache purged where a stale cache is the cause.

Runtime versions

End-of-life Ruby, Python or Node versions moved to supported ones, with the change kept as small as the app allows.

Pipeline-safe rollout

Staging upgraded and verified first, then promoted, following Heroku's advice to upgrade staging and promote rather than set the stack on the production app in a pipeline.

Rollback ready

The release to roll back to and the exact command, written down before production is touched.

Exit plan option

For a move off Heroku: dynos, add-ons, config vars, Postgres and Redis mapped to the target platform, with the cutover order and DNS steps.

A look inside

A look inside

What you get: the working view and the delivery report.

Illustration of the layout, built from this page's own feature list. It shows no real results.

The working viewUpgrade to Heroku-24 or Heroku-26 and stay, or plan a move to Render, Railway, Fly.io or a server of your own. We give the reasons for…
Your delivery reportMost single-app upgrades are done within 3 business days of access to a staging app. Exit plans are delivered within 5 business days.
Built for

Who it's for

Startups with a few Heroku apps

An API, a worker and a scheduler set up years ago, deployed often, and nobody has looked at the stack since.

Agencies with client apps

Several client apps on Heroku-22 that need upgrading without pulling developers off paid work.

Solo developers and small SaaS

One app that pays the bills, where a failed build after 1 May 2027 means no way to ship a fix.

Works with

Plans

Pricing

One-time prices per app, paid once after we confirm the scope by email. Every plan starts with a stack check from your command output. Heroku, or any new platform, is billed to you directly at their prices. The cheapest published Heroku migration price we found on 3 November 2026 started at €1,990 for one app; our exit plan is a written plan, and carrying out a full migration is quoted separately. Founding customer pricing applies to early-access orders.

Orders are subject to the Heroku-22 Exit terms.

Recommended

Stack upgrade

$149 one-time

One app moved from Heroku-22 to Heroku-24 or Heroku-26

  • Upgrade tested on a staging or review app
  • Fixes delivered as a pull request
  • app.json stack updated
  • Rollback command written down
  • Email help for 14 days after promotion
Request service

Exit plan

$249 one-time

A written plan to move one app off Heroku

  • Target platform chosen with reasons
  • Dynos, add-ons and config vars mapped
  • Database and Redis move steps
  • Cutover, DNS and rollback order
  • 30-minute review call
Request service

Team pack

$590 one-time

Up to 5 apps, upgrade or exit plan for each

  • Up to 5 apps in any mix
  • Everything in Stack upgrade or Exit plan
  • Order of work across apps
  • Extra apps at $99 each
Request service

Compared with the alternatives

Doing it yourself
Free. Heroku documents the upgrade, the test-app and Review App routes, and the Heroku-24 upgrade notes. For a simple app it may be one command and a build; the time goes into the apps that fail.
Staying on Heroku-22
The app keeps running after 30 April 2027, without stack security updates, and from 1 May 2027 you cannot build it. Only reasonable for an app you never deploy again.
A full migration agency
Agencies quote full Heroku migrations; the lowest published price we found started at €1,990 for one app. Worth it for complex apps with many add-ons.
The target platform's own guides
Render and others publish guides for moving from Heroku. Useful once you have chosen; the exit plan helps you choose and maps your app to it.

What changed

  • Heroku-22 reaches end-of-life; existing apps keep running but the stack no longer receives security updates. Source: devcenter.heroku.com
  • Heroku will no longer allow builds for Heroku-22 apps; other non-build functionality keeps working. Source: devcenter.heroku.com
  • The first build of each Heroku-22 app in every 30-day period now fails with a deprecation error and must be retriggered; the window shrinks to 7 days in February 2027 and 24 hours in April 2027. Source: help.heroku.com
  • Heroku announced a sustaining engineering model and stopped offering Enterprise Account contracts to new customers; existing customers saw no change. Source: heroku.com
Getting started

From request to apps on a supported stack

Most single-app upgrades are done within 3 business days of access to a staging app. Exit plans are delivered within 5 business days.

  1. Day 1: You send the apps-table and buildpacks output; we reply with the per-app check.
  2. Day 2: You grant collaborator access to a staging or review app; we set the new stack and build.
  3. Day 3: Pull request with fixes; you promote to production with rollback ready.
  4. Within 14 days: Questions answered by email after promotion.

Security and data

  • The stack check uses command output you send; we need no access.
  • Upgrades run on a staging or review app with collaborator access you grant and revoke.
  • Changes come back as a pull request you review and merge.
  • We never ask for your Heroku account password or production config secrets in chat or email.
  • Notes about your apps are deleted 30 days after we finish, or earlier on request.

Questions

When does Heroku-22 reach end of life?

On 30 April 2027, when Ubuntu 22.04 standard support ends. Starting 1 May 2027, Heroku no longer allows builds for Heroku-22 apps.

Will my Heroku-22 app stop running on 1 May 2027?

No. Heroku says existing apps continue to run and non-build functionality keeps working. You just cannot build or deploy a new release on Heroku-22, and the stack gets no security updates. Heroku calls the build cut-off a hard deadline with no extensions.

Why did my Heroku-22 build fail with a deprecation error?

Since 1 November 2026, Heroku deliberately fails the first build of each Heroku-22 app in every 30-day period as a warning. Retrigger the build to deploy. The window shrinks to 7 days from 1 February 2027 and 24 hours from 1 April 2027.

Should I go to Heroku-24 or Heroku-26?

Heroku recommends the latest stack. Heroku-26 is supported through April 2031, and Heroku says there are no known breaking OS changes from Heroku-24 to Heroku-26, but you still need to handle the Heroku-22 to Heroku-24 changes.

Is Heroku shutting down?

No. Heroku announced a sustaining engineering model on 6 February 2026, focused on stability, security, reliability and support, and said there is no change for existing customers. It stopped offering Enterprise contracts to new customers.

Are Fir apps affected?

No. Heroku says Fir-generation apps use the cnb stack and set their base image in project.toml, so the Heroku-22 end-of-life applies to Cedar apps.

What access do you need?

For the stack check, only command output. For the upgrade, collaborator access to a staging or review app and read access to the repository. We do not need production credentials or your account password.

Is this a Heroku or Salesforce service?

No. Heroku-22 Exit is an independent service, not affiliated with, endorsed by or sponsored by Heroku or Salesforce. Heroku is a trademark of Salesforce, Inc. We follow Heroku's published stack and upgrade documentation, and your apps stay under your control.

Upgrade while a failed build is still a test, not an outage

A stack check first, then each app upgraded on a copy and handed back as a pull request. $149 per app, once.

Request service