<?xml version="1.0" encoding="UTF-8"?>
<!-- AUTOGENERATED FILE. DO NOT EDIT. -->
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>tag:google.com,2016:gaeflex-py-release-notes</id>
  <title>App Engine flexible environment Python - Release notes</title>
  <link rel="self" href="https://docs.cloud.google.com/feeds/gaeflex-py-release-notes.xml"/>
  <author>
    <name>Google Cloud Platform</name>
  </author>
  <updated>2025-12-19T00:00:00-08:00</updated>

  <entry>
    <title>December 19, 2025</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#December_19_2025</id>
    <updated>2025-12-19T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#December_19_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Support for <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime">Python 3.14 runtime</a> is in <a href="https://cloud.google.com/products/#product-launch-stages">General Availability</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>November 12, 2025</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#November_12_2025</id>
    <updated>2025-11-12T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#November_12_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Support for <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime">Python 3.14 runtime</a> is in <a href="https://cloud.google.com/products/#product-launch-stages">Preview</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>October 20, 2025</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#October_20_2025</id>
    <updated>2025-10-20T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#October_20_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://docs.cloud.google.com/appengine/docs/flexible/secure-minimum-tls">Support for TLS version 1.2 and later</a>,
along with a corresponding secure set of cipher suites, is in General
Availability (GA).</p>
]]>
    </content>
  </entry>

  <entry>
    <title>August 07, 2025</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#August_07_2025</id>
    <updated>2025-08-07T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#August_07_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>To increase security, starting in March 2025, support for Transport Layer Security (TLS) version 1.1 and earlier is deprecated. <a href="https://docs.cloud.google.com/appengine/docs/flexible/secure-minimum-tls">Update your application settings</a> in the App Engine flexible environment to use TLS version 1.2 and later, along with a corresponding secure set of cipher suites (Preview).</p>
]]>
    </content>
  </entry>

  <entry>
    <title>May 05, 2025</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#May_05_2025</id>
    <updated>2025-05-05T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#May_05_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Support for <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime">Python 3.13 runtime</a> is in <a href="https://cloud.google.com/products/#product-launch-stages">General availability (GA)</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>April 21, 2025</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#April_21_2025</id>
    <updated>2025-04-21T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#April_21_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime">Python 3.13</a> is now available <a href="https://cloud.google.com/products/#product-launch-stages">in Preview</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 18, 2025</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#March_18_2025</id>
    <updated>2025-03-18T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#March_18_2025"/>
    <content type="html"><![CDATA[<h3>Announcement</h3>
<p>Container Registry is now <a href="https://docs.cloud.google.com/artifact-registry/docs/transition/prepare-gcr-shutdown">shut down</a>. We recommend that you use <a href="https://docs.cloud.google.com/artifact-registry/docs/overview">Artifact Registry</a> for storing and managing container images. By default, new deployments created after March 5, 2025, use Artifact Registry instead of Container Registry for storing application build images. For more information, see <a href="https://docs.cloud.google.com/appengine/migration-center/migrate-to-artifact-registry">Migrate App Engine container images to Artifact Registry</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>July 30, 2024</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#July_30_2024</id>
    <updated>2024-07-30T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#July_30_2024"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>In the App Engine page in the Google Cloud console, you can now filter your existing App Engine versions by <a href="https://docs.cloud.google.com/appengine/docs/flexible/lifecycle/runtime-lifecycle">runtime lifecycle stages</a>. After you apply this filter, the console displays a warning icon for App Engine versions that are approaching end of support, have reached end of support, are deprecated, and are decomissioned.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>July 12, 2024</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#July_12_2024</id>
    <updated>2024-07-12T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#July_12_2024"/>
    <content type="html"><![CDATA[<h3>Announcement</h3>
<p>Deployments for new projects might be impacted from the following changes to org
policies:</p>
<ul>
<li>Starting in May 2024, Google Cloud enforces <a href="//resource-manager/docs/secure-by-default-organizations">secure-by-default organization policies</a> for all organization resources. This policy
prevents App Engine from granting the <code>Editor</code> role to the App Engine default
services accounts by default.</li>
<li>Starting in June 2024, Cloud Build has changed the default behavior for how Cloud Build uses service accounts in new projects. This change is detailed in <a href="https://docs.cloud.google.com/build/docs/cloud-build-service-account-updates">Cloud Build Service Account Change</a>.  As a result of this change, new projects deploying versions for the first time may be using the default App Engine service account with <a href="https://docs.cloud.google.com/resource-manager/docs/organization-policy/restricting-service-accounts#disable_service_account_default_grants%22">insufficient permissions</a> for deploying versions. </li>
</ul>
<p>If you are impacted by this change, you can do the following:</p>
<ul>
<li>Review the Cloud Build guidance on changes to the default service account and <a href="https://docs.cloud.google.com/build/docs/cloud-build-service-account-updates#what_do_you_need_to_do">opt out of these changes</a>.</li>
<li>Grant the <a href="https://docs.cloud.google.com/appengine/docs/flexible/roles">Editor</a> role to the App Engine default service account.</li>
</ul>
]]>
    </content>
  </entry>

  <entry>
    <title>July 10, 2024</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#July_10_2024</id>
    <updated>2024-07-10T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#July_10_2024"/>
    <content type="html"><![CDATA[<h3>Announcement</h3>
<p>Python version 3.7 and earlier have reached <a href="https://docs.cloud.google.com/appengine/docs/flexible/lifecycle/runtime-lifecycle#end_of_support">end of support</a>. You cannot re-deploy versions that use runtimes <a href="https://docs.cloud.google.com/appengine/docs/flexible/lifecycle/support-schedule#python">after their end of support date</a>. We recommend that you upgrade your app to use the <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime#newversions">latest version of Python</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>December 21, 2023</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#December_21_2023</id>
    <updated>2023-12-21T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#December_21_2023"/>
    <content type="html"><![CDATA[<h3>Change</h3>
<p>A warning message now appears before you publish a container image to a public repository.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>November 06, 2023</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#November_06_2023</id>
    <updated>2023-11-06T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#November_06_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime">Python 3.12</a> is now <a href="https://cloud.google.com/products/#product-launch-stages">generally available</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>October 16, 2023</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#October_16_2023</id>
    <updated>2023-10-16T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#October_16_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime">Python 3.12</a> is now available <a href="https://cloud.google.com/products/#product-launch-stages">in preview</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>August 07, 2023</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#August_07_2023</id>
    <updated>2023-08-07T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#August_07_2023"/>
    <content type="html"><![CDATA[<h3>Change</h3>
<p>Accessing a service that's prohibited by the <b>Internal</b> or <b>Internal and Cloud Load Balancing</b> <a href="https://docs.cloud.google.com/appengine/docs/flexible/ingress-settings">ingress setting</a> now results in a <code>404</code> rather than <code>403</code> error code.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 24, 2023</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#March_24_2023</id>
    <updated>2023-03-24T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#March_24_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now use <code>ssh</code> to log in to App Engine flexible environment instances that use only <a href="https://docs.cloud.google.com/appengine/docs/flexible/disable-external-ip">internal IP addresses</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 15, 2023</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#March_15_2023</id>
    <updated>2023-03-15T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#March_15_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime">Python 3.8, 3.9, 3.10, and 3.11</a> are now <a href="https://cloud.google.com/products/#product-launch-stages">generally available</a>. These versions require you to specify an operating system version in your app.yaml. <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime#interpreter">Learn more</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>February 21, 2023</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#February_21_2023</id>
    <updated>2023-02-21T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#February_21_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>The <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime">Python runtime versions 3.8, 3.9, 3.10, and 3.11</a> are now available in <a href="https://cloud.google.com/products/#product-launch-stages">preview</a> and are built on modern and secure operating systems (Ubuntu 18 and 22). These new runtime versions use Google Cloud's <a href="https://docs.cloud.google.com/docs/buildpacks/overview">buildpacks</a> and require updates to your app.yaml. <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/runtime#interpreter">Learn more</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>December 13, 2022</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#December_13_2022</id>
    <updated>2022-12-13T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#December_13_2022"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now use any configured <a href="https://docs.cloud.google.com/iam/docs/service-accounts">service account</a> in your Cloud project as the <a href="https://docs.cloud.google.com/appengine/docs/flexible/configure-service-accounts">app-level default service account</a>, while creating and updating your App Engine applications.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>November 09, 2022</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#November_09_2022</id>
    <updated>2022-11-09T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#November_09_2022"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>The option to set <a href="https://cloud.google.com/appengine/docs/flexible/troubleshooter/connectivity-questions#virtual_machines_with_only_internal_ip_addresses_require">IP mode to <code>internal</code></a> for App Engine flexible environment instances is now generally available.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>May 23, 2022</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#May_23_2022</id>
    <updated>2022-05-23T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#May_23_2022"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now disable external ephemeral IP addresses for App Engine Flex services. Read our documentation to <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/disable-external-ip">learn how</a>. This feature is at the <a href="https://cloud.google.com/products/#product-launch-stages">Preview</a> launch stage.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>May 18, 2022</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#May_18_2022</id>
    <updated>2022-05-18T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#May_18_2022"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Specifying a <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/user-managed-service-accounts">user-managed service account</a> for each App Engine version during deployment is now  <a href="https://cloud.google.com/products/#general-availability">generally available</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>July 19, 2021</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#July_19_2021</id>
    <updated>2021-07-19T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#July_19_2021"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Specifying a <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/user-managed-service-accounts">user-managed service account</a> 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.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>June 30, 2021</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#June_30_2021</id>
    <updated>2021-06-30T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#June_30_2021"/>
    <content type="html"><![CDATA[<h3>Change</h3>
<p>Requests from internal services to the App Engine flexible environment no longer originate from <code>10.0.0.1</code>. The IP ranges are as follows:</p>
<ul>
<li>Cron requests from newly created or updated App Engine Cron jobs sent to the App Engine flexible environment now come from <code>0.1.0.2</code>. For Cron jobs created with older gcloud versions (earlier than 326.0.0), Cron requests will come from <code>0.1.0.1</code>. Previously, these requests only came from both <code>0.1.0.1</code> and <code>10.0.0.1</code>.</li>
<li>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 <code>0.1.0.2</code>.  Previously, these requests came from both <code>0.1.0.2</code> and <code>10.0.0.1</code>.</li>
<li>For URL Fetch, requests sent to the App Engine flexible environment now only come from <code>0.1.0.40</code>. Previously, these requests came from both <code>0.1.0.40</code> and <code>10.0.0.1</code>.</li>
</ul>
<p>For more information, see <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/understanding-firewalls">Understanding the App Engine firewall</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>June 14, 2021</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#June_14_2021</id>
    <updated>2021-06-14T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#June_14_2021"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>App Engine is now available in the <code>us-west1</code> (Oregon), <code>asia-southeast1</code> (Singapore), and <code>asia-east1</code> (Taiwan) regions.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>April 13, 2021</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#April_13_2021</id>
    <updated>2021-04-13T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#April_13_2021"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>App Engine is now available in the <code>europe-central2</code> region (Warsaw).</p>
]]>
    </content>
  </entry>

  <entry>
    <title>November 12, 2020</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#November_12_2020</id>
    <updated>2020-11-12T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#November_12_2020"/>
    <content type="html"><![CDATA[<h3>Change</h3>
<p>You can use <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/application-security#ingress_controls">network ingress controls</a> 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.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>September 25, 2020</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#September_25_2020</id>
    <updated>2020-09-25T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#September_25_2020"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can use <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/application-security#ingress_controls">network ingress controls</a> 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.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>July 08, 2020</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#July_08_2020</id>
    <updated>2020-07-08T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#July_08_2020"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>External HTTP(S) Load Balancing is now supported for App Engine via <a href="//load-balancing/docs/negs/setting-up-serverless-negs">Serverless network endpoint groups</a>. Notably, this feature allows you to use <a href="https://docs.cloud.google.com/cdn">Cloud CDN</a> with App Engine.<br/>
This feature is available in Beta.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>June 08, 2020</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#June_08_2020</id>
    <updated>2020-06-08T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#June_08_2020"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>App Engine is now available in the <code>asia-southeast2</code> region (Jakarta).</p>
]]>
    </content>
  </entry>

  <entry>
    <title>May 14, 2020</title>
    <id>tag:google.com,2016:gaeflex-py-release-notes#May_14_2020</id>
    <updated>2020-05-14T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/python/release-notes#May_14_2020"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>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 <a href="https://docs.cloud.google.com/appengine/docs/flexible/python/labeling-resources">Labeling App Engine resources</a>.</p>
]]>
    </content>
  </entry>

</feed>
