Cedar-14 Public Beta

At Heroku, we want to give our users access to the latest and greatest software stacks to base their apps on. That’s why we continuously update buildpacks to support new language and framework versions and let users experiment further using third-party buildpacks.

Sitting underneath slugs and buildpacks are stacks. Stacks are the operating system and system libraries required to make apps run. Today we’re releasing into public beta a new version of the Celedon Cedar stack: cedar-14.

cedar-14 is built on the latest LTS version of Ubuntu Linux and has recent versions of libraries and system dependencies that will receive maintenance and security updates for a long time to come.

Before making cedar-14 the default stack, Heroku is looking for feedback from our users. To help weed out bugs and problems, please try out the stack with existing apps and new source code.

Creating a cedar-14 app

Here’s how to create a new app running on cedar-14:

$ heroku create --stack cedar-14

Pushing and deploying to cedar-14 apps works exactly the same as deploying apps on the classic Cedar stack.

Updating an app to cedar-14

Before migrating an existing app to cedar-14, we recommend either first upgrading an existing staging app or testing your app source in a new cedar-14 staging app.

To migrate an existing app to cedar-14, use the stack command:

$ heroku stack:set cedar-14 -a example-app
$ git commit -m "update to cedar-14" --allow-empty
$ git push heroku master

Note that running stack:set only tells Heroku that you want the next push to be built and deployed on a different stack. You have to push and force a rebuild for the change to take effect. See the full Migrating to Cedar-14 Dev Center article for additional details.

If, despite of testing, your app doesn’t work correctly on cedar-14, you can always use rollback to revert the stack change:

$ heroku rollback

Note that this will cause the apps stack to be reset to cedar and you need to re-run stack:set cedar-14 to deploy to cedar-14.


Stack compatibility is important to us, but we are also trying to take advantage of this opportunity to remove some less-used parts of the current stack surface area. We have documented the differences between the classic Cedar stack and cedar-14 beta stack on Dev Center. In addition to missing packages, apps may also encounter incompatibilities simply because most libraries on cedar-14 have been updated to their most recent versions. Please get in touch on stack-feedback@heroku.com or open a support ticket if your app fails to build or run on cedar-14 for any reason.


We have updated all of the default buildpacks that we maintain to work with cedar-14 and are keen to get user feedback. We have also updated certain much used non-default buildpacks such as nginx-buildpack and buildpack-pgbouncer.

If you maintain a 3rd buildpack, please refer to the Buildpack API article for details on how to support multiple stacks. We want to help buildpack maintainers with this update process, so please don’t hesitate to reach out to stack-feedback@heroku.com with questions or concerns.

We’re looking forward to helping our users move to cedar-14, the latest and greatest Heroku stack. Apps running on cedar-14 will stay updated, fast and secure for a long time to come. Get in touch on stack-feedback@heroku.com if you encounter problems or have suggestions.

Browse the blog archives or subscribe to the full-text feed.

Visit the Engineering Blog