Ruby versions 2.7.8 and 3.0.6 are removed from the heroku-22 stack

Change effective on 28 April 2023

The following Ruby versions have been removed from the heroku-22 stack:

  • Ruby 2.7.8
  • Ruby 3.0.6

This action was taken because these compiled binaries cannot use OpenSSL on this stack and would fail to boot.

The heroku-22 stack is based on Ubuntu 22.04, which contains openssl version 3. Ruby versions before 3.1 cannot compile against OpenSSL version 3. Ruby versions 2.7.8 and 3.0.6 were able to build on the heroku-22 stack, but customers cannot use OpenSSL bindings at runtime. The existence of the binaries and the resulting error message was confusing. We removed these binaries to remove this confusion.

Anyone with a previously deployed app with Ruby 2.7.8 or 3.0.6 on heroku-22 will be unaffected, but future deploys will not work. Those applications must be upgraded to Ruby 3.1+ to stay on the heroku-22 stack.

It’s worth noting that Ruby 2.7 is already EOL, and Ruby 3.0 will be EOL this year. We recommend that customers run their applications on the latest stack (heroku-22) and the most recent Ruby version (Ruby 3.2.2) as of this writing.