You can now restart App Platform apps without fetching the latest changes from your app’s repository. This feature is useful for restarting apps stuck in a connection loop or deadlock.
We have released a new Heroku-based Node.js buildpack for App Platform. It includes new features and security updates. All new Node.js apps now use this buildpack upon creation by default.
To migrate existing apps to use the new buildpack, see our guide.
App Platform’s new sample app deployment feature is now in General Availability. This allows you to quickly copy a sample app into a new repo on your GitHub account and then deploy it to App Platform.
You can now configure maintenance mode for apps on App Platform. This allows you to take your app offline for maintenance and serve a maintenance page to your users.
Forwarding logs from your App Platform app to your DigitalOcean Managed OpenSearch cluster is now in general availability.
App Platform now supports the HTTP/2 protocol. This allows you to use gRPC, multiplexing, and other HTTP/2 features.
App Platform now supports HTTP/3 at edge servers, allowing faster and more secure connections between your application and your users. You do not need to make any changes to your application to use HTTP/3.
App Platform now supports PostgreSQL 13 and 15 for dev databases.
We have also deprecated PostgreSQL 12 support for dev databases. We recommend upgrading your database to a newer version of PostgreSQL.
You can now deploy apps to App Platform using GitHub Actions.
We offer three different example workflows, but you can customize them to meet your needs:
main
branch.App Platform autoscaling is now available for all customers.
You can now add and manage internal ports for App Platform service components from the DigitalOcean Control Panel. You can add internal ports after app creation.
We have updated the following buildpacks for App Platform:
devDependencies
by default if NODE_ENV
is not set. If you don’t want devDependencies
installed, we recommend setting NODE_ENV
to production
.We have deprecated the App Platform List Tiers and Retrieve App Tiers endpoints. We will remove them from the API on 1 September 2024.
App Platform apps now support Git Large File Storage (LFS), a Git extension that lets you store large files in Git repositories, even if they are too large to store in a single Git commit.
You can add Git LFS to your app by adding the installation commands to your app’s run and build commands.
You can now use DigitalOcean Managed OpenSearch Databases with App Platform apps. OpenSearch databases provide a centralized location to manage and analyze logs forwarded from other resources.
We have deprecated the following buildpack versions for App Platform:
We have updated the default Hugo buildpack from v0.118.2 to v0.125.2. You can override the default version by setting a HUGO_VERSION
environment variable.
You can now forward logs from your App Platform app to your DigitalOcean Managed OpenSearch Cluster. This feature is in beta.
We have updated the following buildpacks:
App Platform now offers static ingress IP addresses for apps. You can create DNS records to using these addresses to route traffic directly to your app.
You can now add existing Kafka databases to App Platform apps. This feature is in beta.
OpenSearch log forwarding is now in public beta. This lets you forward runtime logs from your App Platform apps to an OpenSearch cluster, where you can analyze and query your app’s logs using OpenSearch’s APIs and dashboards.
We have deprecated the prefix
field used for defining allowed origins for CORS in the App Platform app spec. You can still use the exact
or regex
fields to define allowed origins.
We have released a new catalog of pricing plans for App Platform. The new plans offer lower pricing on instances with dedicated CPUs and better egress bandwidth allowance. All previous plans will eventually be deprecated. We strongly recommend you use the new plans when creating or upgrading apps.
We have added minimum and maximum values for the health check configuration parameters in App Platform. The new limits are:
initial_delay_seconds
: Minimum 0 seconds, maximum 3600 secondsperiod_seconds
: Minimum 1 second, maximum 300 secondstimeout_seconds
: Minimum 1 second, maximum 120 secondssuccess_threshold
: Minimum 1 successful check, maximum 50 successful checkfailure_threshold
: Minimum 1 failed check, maximum 50 failed checksApp Platform developer databases now default to use PostgreSQL 14 upon creation instead of PostgreSQL 12. You can create a database that uses PostgreSQL 16 by specifying the engine version in your app’s spec, like this:
databases:
- engine: PG
name: db-example
version: "16"
We have updated the Ruby buildpack. This adds a new version of Ruby, V2, and updates the default version for the buildpack. For more information and configuration options, see the buildpack’s documentation page. * Default Ruby version is now 3.1.4 * Add Ruby versions 3.2.2, 3.2.1, 3.2.0 * Add Ruby versions 2.7.8, 3.0.6, 3.1.4
You can now add dedicated egress IP addresses to your apps on App Platform. Dedicated egress IP addresses allow your app to connect to resources outside of DigitalOcean using a publicly available static IP address.
We have updated the NodeJS buildpack for App Platform. The buildpack now supports the PNPM package manager. For more information and configuration options, see the buildpack’s documentation page.
Autoscaling for App Platform is now in Early Availability. Autoscaling allows your app to automatically add or remove containers based on the workload across its containers.
You can now retrieve crash logs for apps in App Platform.
We have updated the following buildpacks:
HUGO_VERSION
 environment variable. For more information and configuration options, see the buildpack’s documentation page.You can now deploy apps to App Platform using public and private repositories on GitHub Container Registry. You can also now deploy images using private Docker Hub repositories.
Ubuntu-18 will be deprecated for App Platform apps in 2024. We recommended that all apps upgrade to Ubuntu-22 as soon as possible.
We have updated the following buildpacks:
Ubuntu-18 has been deprecated for App Platform apps. We recommended that all apps upgrade to Ubuntu-22 as soon as possible.
We have updated the following buildpacks:
HUGO_VERSION
 environment variable. For more information and configuration options, see the buildpack’s documentation page.The cors
and routes
fields under the services
array in the App Platform app spec have been deprecated. The cors
field now resides in the rules
array of the ingress
section of the spec. The routes
field has been replaced by the match
field in the rules
array of the ingress
section of the spec.
The following truncated example spec demonstrates the format for each updated field:
ingress:
rules:
- component:
name: api
match:
path:
prefix: /api
- component:
name: website
cors:
allow_origins:
- prefix: https://internal.example-app.com
match:
path:
prefix: /
You can now deploy container images to App Platform using digests. Digests are immutable references to container images. Unlike tags, digests permanently refer to a specific iteration of an image.
You can only deploy an image using a digest by updating your app’s spec at this time.
App Platform now supports the Aptfile buildpack. The Aptfile buildpack lets you install system-level Ubuntu packages during your app’s build process.
Ubuntu 22 is now the default stack for all App Platform apps. This upgrade provides security updates, newer versions of buildpacks, and new features, such as upgrading to newer Node.js versions.
You can downgrade your app’s stack back to Ubuntu 18 if your app experiences compatibility issues.
App Platform now supports Google Trust as a Certificate Authority.
When configuring a domain in App Platform, if the domain has a CAA record, you must specify both Google Trust and Let’s Encrypt in the CAA record for App Platform to issue certificates.
You can now upgrade your app stacks to Ubuntu 22 on App Platform. This upgrade provides security updates, newer versions of buildpacks, and new features, such as upgrading to newer Node.js versions.
We have updated the following buildpacks:
HUGO_VERSION
 environment variable. For more information and configuration options, see the buildpack’s documentation page.You can now remap and redirect URL paths in your apps on App Platform. For example, if you have the existing path /your-app/api/functions/js/post
in your app, you can create a rewrite that masks that path with the simpler path, /your-app/api/post
. Or you can redirect traffic from a specified path to a different URL on the internet.
Additionally, app routing information is now specified under the ingress
stanza of app specs.
We have updated the following buildpacks:
Hugo buildpack: The default version of Hugo has been updated from v0.101.0 to v0.104.3. You can override the default version by setting a HUGO_VERSION
environment variable. For more information and configuration options, see the buildpack’s documentation page.
Go buildpack: Additional Go versions have been added and default versions of Go have been updated. For more information and configuration options, see the buildpack’s documentation page.
Python buildpack: A new Python v1 buildpack has been released alongside the current v0 buildpack. Existing Python apps will remain on v0, while new apps will start using v1. If you have an existing Python app, see: How to Upgrade Buildpacks in App Platform.
PHP buildpack: A new PHP v1 buildpack has been released alongside the current v0 buildpack. Existing PHP apps will remain on v0, while new apps will start using v1. If you have an existing PHP app, see: How to Upgrade Buildpacks in App Platform.
Ruby buildpack: A new Ruby v1 buildpack has been released alongside the current v0 buildpack. Existing Ruby apps will remain on v0, while new apps will start using v1. If you have an existing Ruby app, see: How to Upgrade Buildpacks in App Platform.
The DigitalOcean API now accepts the YAML content-type
when submitting app specs for App Platform.
App Platform now supports automatically re-deploying apps when updated container images are pushed to DigitalOcean Container Registry. See How to Deploy from Container Images for more information.
In App Platform, you can now create bindable environment variables for your PostgreSQL database connection pools. For detailed instructions, see our reference page.
You can now upgrade your App Platform app’s and its components’ buildpacks to their latest version. For detailed steps, see our guide, How to Upgrade Buildpacks in App Platform.
We have updated the following buildpacks:
Hugo buildpack: The default version of Hugo has been updated from 0.99.1 to 0.101.0. You can override the default version by setting a HUGO_VERSION
environment variable. For more information and configuration options, see the buildpack’s documentation page.
Go buildpack: Additional Go versions have been added and default versions of Go have been updated. For more information and configuration options, see the buildpack’s documentation page.
To improve security, DigitalOcean no longer accepts TLS 1.0 and TLS 1.1 connections. This includes connections to www.digitalocean.com
, cloud.digitalocean.com
, and api.digitalocean.com
.
When creating an app, you can add the app to a project. If you do not specify a project, it gets assigned to the default project. You can also move an app between projects.
Starter tier apps now support rolling back to a previous deployment.
We have updated the following buildpacks:
Hugo buildpack: The default version of Hugo has been updated from 0.94.2 to 0.99.1. You can override the default version by setting a HUGO_VERSION
environment variable. For more information and configuration options, see the buildpack’s documentation page.
Python buildpack: We have updated the default versions of the following platform tooling:
pip
from 21.3.1 to 22.0.4 for Python 3.7+setuptools
from 57.5.0 to 59.6.0 for Python 3.6 and 60.10.0 for Python 3.7+wheel
from 0.37.0 to 0.37.1 for Python 2.7 and Python 3.5+Python 3.9.13 is now available. The default version remains set to 3.10.4. You can configure the Python version used at runtime by specifying a runtime.txt
file at the root of your source code. For more information and configuration options, see the Python Dev Guide.
A beta of build performance improvements has been added. This functionality leverages kata-containers technology for improved speed, efficiency, and compatibility.
DigitalOcean Functions and functions components in App Platform are now in general availability.
Functions are blocks of code that run on demand in response to requests. DigitalOcean Functions let developers execute their code on DigitalOcean without managing compute resources like Droplets or Kubernetes clusters.
We have updated the default version of Python in the Python buildpack has been updated from 3.9.9 to 3.10.4. You can configure the Python version used at runtime by specifying a runtime.txt
file at the root of your source code. For more information and configuration options, see the Python Dev Guide.
You can now add new resources and databases when you create a new App Platform app, instead of adding only to existing apps. The new app creation workflow can now detect multiple app resources.
We have updated the default version of Hugo in the Hugo buildpack has been updated from 0.82.0 to 0.94.2. You can override the default version by setting a HUGO_VERSION
environment variable. For more information and configuration options, see the buildpack’s documentation page.
We have updated the following buildpacks:
All DigitalOcean databases now support App Platform apps as trusted sources, including MongoDB.
App Platform now supports rolling back an app to a previous deployment for Basic and Professional tier apps.
App Platform now supports forwarding application runtime logs to Logtail.
App Platform now supports forwarding application runtime logs to external log management providers. Currently, we only support Papertrail and Datadog.
App Platform is now available in TOR1 and LON1.
The Go buildpack for App Platform received some updates:
We added support for GO v1.17.1 and v1.16.8
See our sample Go app for more information on how to implement Go applications on App Platform.
Released v1.64.0 of doctl, the official DigitalOcean CLI. This release includes support for managing App Platform alerts.
You can monitor and set up alerts for events for your app and its components using App Platform.
App Platform now supports apps as trusted sources for databases. We support PostgreSQL, MySQL, and Redis clusters.
Released v1.62.0 of doctl, the official DigitalOcean CLI. This release fixes a handful of bugs and introduces new flags on existing commands:
apps logs
command now supports tailing live logs with the --tail
flag. This lets application owners select the most recent logs from their applications--wait
flag was added to apps create
and apps update
to block these commands until an application is fully created or updatedApp Platform can now deploy apps from a monorepo.
A new Python + NodeJS group buildpack was added. Python apps can now use NodeJS to render assets during build or as a dependency at runtime.
The PHP buildpack received some updates:
composer.lock
file.For more information and configuration options, see the buildpack’s documentation page.
App Platform is now available in SGP1 and BLR1.
App Platform now supports launching components from public DockerHub image sources.
You can now do the following on App Platform:
Deploy apps from a registry that has been uploaded to a DigitalOcean Container Registry.
Deploy apps from source code contained in a GitLab repository.
Edit CORS policies for your app.
Improved build caching for all App Platform build environments. Dependencies and other data are now cached and reused between builds to improve performance. Dockerfile builds continue to make use of Docker layer caching.
The Hugo buildpack received some updates:
0.78.0
.We have released a “Deploy to DigitalOcean” button for App Platform. You can now embed a button into your GitHub repo or website that allows users to deploy your app directly to DigitalOcean.
We have also released a jobs feature for App Platform. The job feature allows you to run application code at a scheduled time.
Added support to App Platform for configuring internal service ports, as well as internal-only services that are not internet-accessible.
Added support to App Platform for configuring a catch-all document that can be used by static sites to rewrite all requests to pages that are not found, to the configured document. The catchall_document
field is similar to error_document
in that they both rewrite all requests to the specified document, and so they are mutually exclusive, only 1 can be set. Using catchall_document
will result in 200 HTTP response codes for the rewritten requests, while error_document
will result in 404 HTTP response codes.
Added support to App Platform services and static sites for configuring an ingress CORS policy.
Added support to App Platform for configuring custom wildcard domains.
Added an App Platform environment variable binding with the CA certificate for managed databases in the users account.
Added an App Platform the environment variable binding prefix _self
that can be used to reference the current component without directly referencing it by component name.
Launched the App Platform jobs component type, with support for running containerized operations before, after, and on failure of deploys.
App Platform, our new platform as a service (PaaS) offering, is now in General Availability. Hook a GitHub repo to DigitalOcean and let App Platform automatically build and deploy your commits live to the cloud. Read the quickstart or try it now.
Released v1.48.0 of doctl, the official DigitalOcean CLI. This release promotes doctl apps
commands with support for DigitalOcean App Platform to General Availability.
App Platform is now in beta.