Posted by Michael
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 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.
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.
Here’s how to create a new app running on
$ heroku create --stack cedar-14 ...
Pushing and deploying to
cedar-14 apps works exactly the same as deploying apps on the classic Cedar stack.
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
$ 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 email@example.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 firstname.lastname@example.org 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 email@example.com if you encounter problems or have suggestions.