Support for Java 25 runtime is in General Availability.
]]>Support for Java 25 runtime is in Preview.
To improve email security and ensure reliable, high-volume email delivery, migrate from the legacy Mail API to an SMTP-based email service, such as SendGrid, Mailgun, or Mailjet (Preview).
]]>To increase security, starting in March 2025, support for Transport Layer Security (TLS) version 1.1 and earlier is deprecated. Update your application settings in the App Engine standard environment to use TLS version 1.2 and later, along with a corresponding secure set of cipher suites (Preview).
]]>For new deployments, the URL Fetch API validates the certificate of the host it contacts by default.
]]>Container Registry is now shut down. We recommend that you use Artifact Registry 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 Migrate App Engine container images to Artifact Registry.
]]>For new projects you create after March 2025, App Engine sets the automatic scaling maximum instances default for standard environment deployments to 20. This change doesn't impact existing apps. To override the default, specify a new max_instances value in your app.yaml file, and deploy a new version or redeploy over an existing version.
Custom organization policies for Serverless VPC Access connectors are now generally available, and can be applied to projects, folders, or organizations.
]]>Java 11 has reached end of support. Your existing Java 11 applications using will continue to run and receive traffic. However, App Engine might block re-deployments of applications that use runtimes after their end of support date. We recommend that you upgrade to the latest supported version of Java.
]]>In the App Engine page in the Google Cloud console, you can now filter your existing App Engine versions by runtime lifecycle stages. 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.
]]>You can now configure an HTTP connector to improve CPU and memory utilization for your App Engine apps. To configure an HTTP connector, include the appengine.use.httpconnector system property in your appengine-web.xml file. For more information, see Google App Engine Java new performant HTTP connector GitHub page.
Deployments for new projects might be impacted from the following changes to org policies:
Starting in May 2024, Google Cloud enforces secure-by-default organization policies for all organization resources. This policy
prevents App Engine from granting the Editor role to the App Engine default
services accounts by default.
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 Cloud Build Service Account Change. As a result of this change, new projects deploying versions for the first time may be using the default App Engine service account with insufficient permissions for deploying versions.
If you are impacted by this change you can do one of the following:
Grant the Editor role to the App Engine default service account.
Review the Cloud Build guidance on changes to the default service account and opt out of these changes.
Java 21 is now generally available.
]]>The option to update a Serverless VPC Access connector is now available at general availability (GA). This feature allows you to edit the machine (instance) type, as well as the minimum and maximum number of instances.
]]>A warning message now appears before you publish a container image to a public repository.
]]>Java 21 is now available in preview. Update your configuration files based on either of the following options, depending on what your app currently uses:
If you use legacy bundled services, you must upgrade your apps to run on either:
javax.servlet.* APIs and requires you to update your apps and third-party dependencies to use newer Java artifacts like the Jakarta namespace.javax.servlet.* APIs, but you must make minor configuration changes to your appengine-web.xml file.If you don't use legacy bundled services, update the version in your app.yaml file.
See Upgrade an existing application for all options.
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.
The Java runtime now supports using Maven wrappers for managing your project's dependency on Maven.
]]>Memory limits for second-generation runtimes have been increased to better support the growing memory utilization of many newer runtimes.
]]>The Search API is now available in the App Engine legacy bundled services for second-generation runtimes. Access this legacy bundled service through the App Engine API JAR.
]]>9.4.51.v20230217.The option to update a Serverless VPC Access connector is now available in preview. This feature allows you to edit the machine (instance) type, as well as the minimum and maximum number of instances.
]]>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.
]]>Build environment variables support is now generally available.
]]>jetty-9.4.46.v20220331.The Java 17 runtime for App Engine standard environment is now generally available.
]]>The Java 17 runtime (preview) now uses Ubuntu 22.
]]>appegine-jsr107cache.jar file.Specifying a user-managed service account for each App Engine version during deployment is now generally available.
]]>The App Engine legacy bundled services for Java 11/17 are now available at the General Availability release level. These APIs can be accessed through language-idiomatic libraries. Calls to these API are billed according to the standard rates.
]]>