Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku Architecture
    • Dynos (app containers)
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Command Line
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery
    • Continuous Integration
  • Language Support
    • Node.js
    • Ruby
      • Rails Support
      • Working with Bundler
    • Python
      • Background Jobs in Python
      • Working with Django
    • Java
      • Working with Maven
      • Java Database Operations
      • Java Advanced Topics
      • Working with Spring Boot
    • PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • Other Data Stores
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
    • Compliance
  • Heroku Enterprise
    • Private Spaces
      • Infrastructure Networking
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
    • Single Sign-on (SSO)
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Heroku Architecture
  • Platform Policies
  • Language Support Policy

Language Support Policy

English — 日本語に切り替える

Last updated March 09, 2022

Table of Contents

  • Buildpacks and support
  • Deprecation
  • Examples
  • Docker
  • Further reading

This article describes the support policy for the supported set of language buildpacks provided by Heroku and third-party buildpacks.

Buildpacks and support

Most apps deployed to Heroku are built using a generic buildpack mechanism. This generic scheme allows Heroku users to deploy in dozens of languages.

Your app is entitled to different support levels depending on whether you use a supported Heroku buildpack, or a third-party buildpack.

Supported buildpacks

Heroku maintains a set of supported buildpacks.

Heroku is committed to providing you with a modern, secure development and runtime environment for your apps. This is provided through the supported buildpacks. In particular:

  • We will endeavor to make the most relevant generally available versions of an officially-supported language available in a timely fashion.
  • We will publish platform changes for each of Heroku’s officially supported languages in the changelog.
  • We will ensure that all critical security patches to supported language runtimes are made available in a timely manner.

If an app is using a supported buildpack and language runtime, then the developer of the app is eligible for support as defined by the Heroku Support Policy.

The versions of the runtimes that are officially supported by a buildpack are noted in their reference documentation.

Unsupported buildpacks

Heroku cannot make guarantees about applications built using third-party or deprecated buildpacks. We call these buildpacks, unsupported buildpacks.

Support does not extend to apps that use unsupported buildpacks.

However, we will nevertheless try our best to help you with peripheral issues that you may have outside of the app you deployed, such as the Heroku API, the Heroku platform, domains, add-ons, and the buildpack mechanism itself.

Deprecation

Heroku aims to provide a secure environment for applications. We care about your apps, as well as their development and execution environment. However, the forces of technology evolution will mean that some of your runtimes will eventually become outdated. For example a governing body of a language may decide to no longer provide security patches to a version of a language, or critical bugs may be discovered that influence the safety or integrity of your app.

Version deprecation

We will notify our customers when governing bodies of a language deprecate significant versions of a language in our supported buildpacks.

Deprecating a supported language

We will provide at least one year’s notice to you before we end support of a language. During that period we will continue to ensure an appropriate language version is made available and security patches are applied.

Deprecation and availability

We cannot guarantee the availability of deprecated language runtimes for new application deploys. Supported runtimes are described in their respective Language Support documents.

Examples

As an example, consider the Ruby language. Ruby is a supported language at Heroku. If you create and deploy a Ruby app to Heroku using the Ruby buildpack, which uses a supported version of the Ruby MRI, then Heroku supports the app.

If you create and deploy a Ruby app using a third-party Ruby buildpack, then you are no longer entitled to full support, but we’ll help you with any platform issues.

Similarly, if you create and deploy an Elixir app, we’ll still try and help you with any problems you’re having with the platform in general, but because Elixir isn’t a supported language, support will not be available for the app itself.

Docker

The Heroku Container Registry and Runtime feature allows you to deploy custom Docker images to Heroku.

Our team will provide full support for platform-related issues arising from Heroku API, domains, and add-ons. General debugging of application code or containers, rewriting code, and configuring or modifying third-party packages are not covered.

Third-party software (e.g., Jenkins), packaged as a Docker image, is not supported in any way.

Further reading

  • Heroku Support Policy
  • Default Heroku Buildpacks
  • API Compatibility & Support Policy

Keep reading

  • Platform Policies

Feedback

Log in to submit feedback.

Stack Update Policy Limits

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences