<?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-java-release-notes</id>
  <title>App Engine flexible environment Java - Release notes</title>
  <link rel="self" href="https://docs.cloud.google.com/feeds/gaeflex-java-release-notes.xml"/>
  <author>
    <name>Google Cloud Platform</name>
  </author>
  <updated>2025-12-22T00:00:00-08:00</updated>

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

  <entry>
    <title>October 31, 2025</title>
    <id>tag:google.com,2016:gaeflex-java-release-notes#October_31_2025</id>
    <updated>2025-10-31T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/java/release-notes#October_31_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Support for <a href="https://docs.cloud.google.com/appengine/docs/flexible/java/runtime">Java 25 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-java-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/java/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-java-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/java/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>March 18, 2025</title>
    <id>tag:google.com,2016:gaeflex-java-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/java/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>October 31, 2024</title>
    <id>tag:google.com,2016:gaeflex-java-release-notes#October_31_2024</id>
    <updated>2024-10-31T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/java/release-notes#October_31_2024"/>
    <content type="html"><![CDATA[<h3>Announcement</h3>
<p>Java 11 has 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#java">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/java/runtime#newversions">latest version of Java</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>July 30, 2024</title>
    <id>tag:google.com,2016:gaeflex-java-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/java/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-java-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/java/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>February 26, 2024</title>
    <id>tag:google.com,2016:gaeflex-java-release-notes#February_26_2024</id>
    <updated>2024-02-26T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/java/release-notes#February_26_2024"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://docs.cloud.google.com/appengine/docs/flexible/java/runtime">Java 21</a> is now <a href="https://cloud.google.com/products/#product-launch-stages">generally available</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>December 21, 2023</title>
    <id>tag:google.com,2016:gaeflex-java-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/java/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>December 06, 2023</title>
    <id>tag:google.com,2016:gaeflex-java-release-notes#December_06_2023</id>
    <updated>2023-12-06T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/java/release-notes#December_06_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://docs.cloud.google.com/appengine/docs/flexible/java/runtime">Java 21</a> is now available in <a href="https://cloud.google.com/products/#product-launch-stages">preview</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>August 07, 2023</title>
    <id>tag:google.com,2016:gaeflex-java-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/java/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>June 22, 2023</title>
    <id>tag:google.com,2016:gaeflex-java-release-notes#June_22_2023</id>
    <updated>2023-06-22T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/java/release-notes#June_22_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>The Java runtime now supports using <a href="https://docs.cloud.google.com/appengine/docs/flexible/java/specifying-dependencies#declaring_and_managing_dependencies">Maven wrappers</a> for managing your project's dependency on Maven.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>April 18, 2023</title>
    <id>tag:google.com,2016:gaeflex-java-release-notes#April_18_2023</id>
    <updated>2023-04-18T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/java/release-notes#April_18_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://docs.cloud.google.com/appengine/docs/flexible/java/runtime">Java 11 and 17</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/java/runtime#newversions">Learn more</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 24, 2023</title>
    <id>tag:google.com,2016:gaeflex-java-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/java/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 02, 2023</title>
    <id>tag:google.com,2016:gaeflex-java-release-notes#March_02_2023</id>
    <updated>2023-03-02T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/java/release-notes#March_02_2023"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>The <a href="https://docs.cloud.google.com/appengine/docs/flexible/java/runtime">Java runtime versions 11 and 17</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/java/runtime#newversions">Learn more</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>December 13, 2022</title>
    <id>tag:google.com,2016:gaeflex-java-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/java/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-java-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/java/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-java-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/java/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/java/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-java-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/java/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/java/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-java-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/java/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/java/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-java-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/java/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/java/understanding-firewalls">Understanding the App Engine firewall</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>June 14, 2021</title>
    <id>tag:google.com,2016:gaeflex-java-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/java/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-java-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/java/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-java-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/java/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/java/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-java-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/java/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/java/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-java-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/java/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-java-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/java/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-java-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/java/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/java/labeling-resources">Labeling App Engine resources</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>April 20, 2020</title>
    <id>tag:google.com,2016:gaeflex-java-release-notes#April_20_2020</id>
    <updated>2020-04-20T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/appengine/docs/flexible/java/release-notes#April_20_2020"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>App Engine is now available in the <code>us-west4</code> region (Las Vegas, NV).</p>
]]>
    </content>
  </entry>

</feed>
