App Engine flexible environment for Python release notes

You can see the latest product updates for all of Google Cloud on the Google Cloud page, browse and filter all release notes in the Google Cloud console, or programmatically access release notes in BigQuery.

To get the latest product updates delivered to you, add the URL of this page to your feed reader, or add the feed URL directly: https://cloud.google.com/feeds/gaeflex-py-release-notes.xml

December 21, 2023

A warning message now appears before you publish a container image to a public repository.

November 06, 2023

October 16, 2023

Python 3.12 is now available in preview.

August 07, 2023

Accessing a service that's prohibited by the Internal or Internal and Cloud Load Balancing ingress setting now results in a 404 rather than 403 error code.

March 24, 2023

You can now use ssh to log in to App Engine flexible environment instances that use only internal IP addresses.

March 15, 2023

Python 3.8, 3.9, 3.10, and 3.11 are now generally available. These versions require you to specify an operating system version in your app.yaml. Learn more.

February 21, 2023

The Python runtime versions 3.8, 3.9, 3.10, and 3.11 are now available in preview and are built on modern and secure operating systems (Ubuntu 18 and 22). These new runtime versions use Google Cloud's buildpacks and require updates to your app.yaml. Learn more.

December 13, 2022

You can now use any configured service account in your Cloud project as the app-level default service account, while creating and updating your App Engine applications.

November 09, 2022

The option to set IP mode to internal for App Engine flexible environment instances is now generally available.

May 23, 2022

You can now disable external ephemeral IP addresses for App Engine Flex services. Read our documentation to learn how. This feature is at the Preview launch stage.

May 18, 2022

Specifying a user-managed service account for each App Engine version during deployment is now generally available.

July 19, 2021

Specifying a user-managed service account for each App Engine version during deployment is now available in preview. This feature lets you grant different privileges to each version, based on the specific tasks it performs, and avoid granting more privileges than necessary.

June 30, 2021

Requests from internal services to the App Engine flexible environment no longer originate from 10.0.0.1. The IP ranges are as follows:

  • Cron requests from newly created or updated App Engine Cron jobs sent to the App Engine flexible environment now come from 0.1.0.2. For Cron jobs created with older gcloud versions (earlier than 326.0.0), Cron requests will come from 0.1.0.1. Previously, these requests only came from both 0.1.0.1 and 10.0.0.1.
  • For other Cloud Scheduler jobs and Cloud Tasks queues (including App Engine Task Queues), requests sent to the App Engine flexible environment now only come from 0.1.0.2. Previously, these requests came from both 0.1.0.2 and 10.0.0.1.
  • For URL Fetch, requests sent to the App Engine flexible environment now only come from 0.1.0.40. Previously, these requests came from both 0.1.0.40 and 10.0.0.1.

For more information, see Understanding the App Engine firewall.

June 14, 2021

App Engine is now available in the us-west1 (Oregon), asia-southeast1 (Singapore), and asia-east1 (Taiwan) regions.

April 13, 2021

App Engine is now available in the europe-central2 region (Warsaw).

November 12, 2020

You can use network ingress controls so your app only receives requests that are sent from your project's VPC or that are routed through the Cloud Load Balancing load balancer. This feature is now generally available.

September 25, 2020

You can use network ingress controls so your app only receives requests that are sent from your project's VPC or that are routed through the Cloud Load Balancing load balancer.

July 08, 2020

External HTTP(S) Load Balancing is now supported for App Engine via Serverless network endpoint groups. Notably, this feature allows you to use Cloud CDN with App Engine.
This feature is available in Beta.

June 08, 2020

App Engine is now available in the asia-southeast2 region (Jakarta).

May 14, 2020

To get a fine-grained view of billing data for each resource used by your App Engine services, you can apply labels to the services, export your billing data to BigQuery, and run queries. For more information, see Labeling App Engine resources.

April 20, 2020

App Engine is now available in the us-west4 region (Las Vegas, NV).

April 13, 2020

Quotas for sockets have been removed. There is no longer a limit on the number of socket connections or the amount of data you can send and receive through a socket.

March 13, 2020

App Engine is now available in the asia-northeast3 region (Seoul).

March 06, 2020

App Engine is now available in the us-west3 region (Salt Lake City, Utah).

February 11, 2020

App Engine is changing the URLs that you use to send requests to your apps. URLs now include a region ID to help Google route your requests more efficiently and reliably. For example, an app can receive requests at https://PROJECT_ID.REGION_ID.r.appspot.com. This new URL is optional for existing apps and is provided for all new apps.

To ensure a smooth transition, we are slowly updating App Engine to use region IDs. If we haven't updated your Google Cloud project yet, you won't see a region ID for your app. Since the ID is optional for existing apps, you don't need to update URLs or make other changes once the region ID is available for your existing apps.

April 18, 2019

  • App Engine is now available in the asia-northeast2 region (Osaka, Japan).

April 15, 2019

  • App Engine is now available in the europe-west6 region (Zürich, Switzerland).

April 09, 2019

Cloud Tasks is now GA and can be used to set up tasks to be performed asychronously, outside of user requests.

March 04, 2019

Cloud Scheduler is now GA and can be used to set up scheduled units of work (cron jobs).

January 07, 2019

October 22, 2018

  • App Engine is now available in the asia-east2 region (Hong Kong).

July 10, 2018

  • App Engine is now available in the us-west2 region (Los Angeles).

May 04, 2018

  • Applications in the App Engine flexible environment currently use a Debian 8 "Jessie" operating system. The Debian 8 "Jessie" OS will lose full support from the Debian maintainers in June 2018. In advance of this change, Google will migrate customers to an Ubuntu-based OS starting on May 30, 2018. To update your application to the Ubuntu 16.04 OS, re-deploy your application after May 30, 2018.

    If for some reason you need to opt-out of this automatic upgrade, you can pin your application to the old Debian 8 "Jessie" OS.

March 29, 2018

  • The Python 3.4 runtime is deprecated and will be shut down on March 29, 2019. Update to a more recent Python version as soon as possible.

March 21, 2018

  • The Python 3.4 runtime is updated to version 3.4.8. This includes some security and bug fixes.

February 14, 2018

  • The Python 3.6 runtime is now updated to version 3.6.4. This includes some security and bug fixes.
  • The Python 3.5 runtime is now updated to version 3.5.5. This includes some security and bug fixes.

January 10, 2018

  • App Engine is now available in the northamerica-northeast1 region (Montréal, Canada).

December 14, 2017

October 31, 2017

  • App Engine is now available in the asia-south1 region (Mumbai, India).

October 11, 2017

October 04, 2017

  • The App Engine flexible environment now defaults to Python 3.6 when Python 3 is requested. Update your Cloud SDK to version 174.0.0 or later to use this new default. To revert to Python 3.5, specify python_version: 3.5 in the runtime_config element of your app.yaml configuration file

October 02, 2017

  • For the App Engine flexible environment, all responses are now compressed with gzip by default once you redeploy your app. No changes need to be made to your app.yaml file.

September 26, 2017

  • For the App Engine flexible environment, billing increments for instances are reduced from per-minute increments to per-second increments. Additionally, the minimum usage cost for instance resources is reduced from 10 minutes to 1 minute.

September 18, 2017

  • Updated health checks are now the default for new projects. To upgrade a project from legacy health checks, run the command gcloud app update --split-health-checks.

Legacy health checks will no longer be available after September 30th, 2018.

September 13, 2017

  • You can now use managed certificates to add SSL to your custom domain. Once you map your custom domain to your application, App Engine provisions an SSL certificate automatically and handles renewing the certificate before it expires and revoking it if you remove the custom domain. Managed certificates are in beta. For more information, see Securing Custom Domains with SSL.

September 05, 2017

  • App Engine is now available in the southamerica-east1 region (São Paulo, Brazil).

August 25, 2017

  • The Python 3.5 runtime is now updated to version 3.5.4. This includes some security and bug fixes.

August 23, 2017

August 01, 2017

  • App Engine is now available in the europe-west3 region (Frankfurt, Germany).

July 25, 2017

  • The Python 3.6 runtime is now updated to version 3.6.2. This includes some security and bug fixes.

July 18, 2017

  • App Engine is now available in the australia-southeast1 region (Sydney, Australia).

July 12, 2017

  • You can now use updated health checks, which allow you to use separate checks to confirm that your instance is running and ready to serve content. You must enable updated health checks, which are currently in Beta. For more information, see Health checks.
  • If you use updated health checks, deployments will fail if your application does not reach a ready state.

June 06, 2017

  • App Engine is now available in the europe-west2 region (London).

May 24, 2017

  • The flexible environment now includes Python 3.6 support (Beta). To use the Python 3.6 runtime, specify python_version: 3.6 in the runtime_config element of your app.yaml configuration file.

May 09, 2017

  • App Engine is now available in the us-east4 region (North Virginia).

April 11, 2017

  • Added information about upgrading from the App Engine Task Queue API in the compat runtimes to using Cloud Tasks in the flexible environment and added information for how to verify requests from the Task Queue API.

March 28, 2017

March 09, 2017

  • The App Engine flexible environment is now generally available (GA). You can run Node.js, Ruby, Python, Java, and Go applications with a 99.95% SLA.
  • The PHP 7 runtime for the App Engine flexible environment is now in Beta.

December 06, 2016

  • New applications that have not been deployed in the flexible environment must specify env: true in the app.yaml file instead of vm:true. Applications that were previously deployed can continue to use vm:true but will need to switch to env:true in the future. For more details, see upgrade guide.

December 05, 2016

  • Python support updated from version 3.4 to version 3.5 for flexible environment apps that specify using the latest version of the Python runtime (python_version: 3). Apps can specifically target this version by specifying python_version: 3.5 in their [app.yaml configuration file (/appengine/docs/flexible/python/configuring-your-app-with-app-yaml).

November 15, 2016

There is a new release of the App Engine flexible environment. To choose this environment, use env:flex instead of vm:true in your app.yaml configuration file. You can learn more about the details of this release by visiting the upgrade guide.

This release includes a few key new features:

  • Multi-zonal deployment support.
  • A modern networking stack with increased throughput.
  • Custom machine types.
  • Asia-Northeast1 region availability.

This release also marks the deprecation of a few features:

There are also a few breaking changes:

  • HTTP headers have been changed.
  • Environment variables have been changed.
  • There are multiple changes to the app.yaml schema.

For details and a full list of changes, visit the upgrade guide.

May 02, 2016

  • The Ruby runtime is now available for the App Engine flexible environment.

March 24, 2016

February 03, 2016

  • Container construction choices for Managed VMs

    The gcloud preview app deploy (and mvn gcloud:deploy) commands upload your artifacts to our servers and build a container to deploy your app to the Managed VM environment.

    There are two mechanisms for building the container image remotely. The default behavior is to build the container on a transient Compute Engine Virtual Machine which has Docker installed. Alternatively, you can use the Cloud Build service, which is in Beta. To use the Cloud Build service, follow these steps:

    1. Activate the Cloud Build API for your project.
    2. Use the command gcloud config set app/use_cloud_build True. This will cause all invocations of gcloud preview app deploy to use the service. To return to the default behavior, use the command gcloud config set app/use_cloud_build False.