NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #5356 most downloaded on PyPI
Google App Engine services SDK for Python 3
Last release 1 months ago
12 Aug 2026
Release timing varies
gaps range from 8 days to 11 months
Some releases are documented
notes for 14 of 24 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
32 releases · first in 2021
One column per quarter.
This release introduces native Google Cloud Tasks backend support and Transactional Task execution for App Engine Standard Push Queues in the Python S
This release introduces native Google Cloud Tasks backend support and Transactional Task execution for App Engine Standard Push Queues in the Python SDK (google.appengine.api.taskqueue), enabled via the APPENGINE_USE_CLOUDTASK_PUSH_QUEUE=true environment variable.
Applications using standard taskqueue APIs can now route push traffic through Cloud Tasks (using google-cloud-tasks / GAPIC tasks_v2beta3) without modifying application code.
Cloud Tasks Push Queue Routing:
Queue.add(), Queue.add_async(), Task.add(), and Task.add_async() to Google Cloud Tasks when APPENGINE_USE_CLOUDTASK_PUSH_QUEUE=true.create_task) and bulk task creation (batch_create_tasks).delete_tasks(), purge(), and fetch_statistics().Transactional Tasks Support (Transactional Outbox Pattern):
_AE_PendingCloudTask).ndb.get_context().call_on_commit(...) for immediate post-commit task dispatch._on_commit_callbacks to TransactionalConnection in datastore_rpc to trigger post-commit dispatch upon transaction commit.Background Sweeper Middleware:
CloudTaskSweepMiddleware to intercept cron requests on /_ah/cloudtask/sweep to ensure at-least-once delivery for pending transactional tasks.Task Parameter & Retry Mapping:
countdown and eta to UTC schedule_time timestamps.TaskRetryOptions (retry limits, backoff intervals, max doublings) to Cloud Tasks retry configs.Error Translation:
NOT_FOUND, ALREADY_EXISTS, INVALID_ARGUMENT) into native taskqueue exceptions (UnknownQueueError, TaskAlreadyExistsError, InvalidTaskError).Pull Queue Backward Compatibility:
To use Cloud Tasks as the backend for TaskQueue Push Queues, add the following environment variable to your app.yaml:
env_variables:
APPENGINE_USE_CLOUDTASK_PUSH_QUEUE: 'true'
This release introduces support for a modernized, open-source Image Processing service (Pillow) running on Google Cloud Run as a drop-in replacement f
This release introduces support for a modernized, open-source Image Processing service (Pillow) running on Google Cloud Run as a drop-in replacement for the legacy App Engine Images bundled service.
SDK changes are backward compatible by default. Upgrading the SDK without setting the environment variable will retain standard legacy behavior.
Calls to get_serving_url() after enabling this feature will throw a RuntimeException. Users must transition to serving directly from Cloud Storage (GCS) or Cloud CDN.
To use the custom Cloud Run service as the backend for image processing, add the following environment variables to your app.yaml:
env_variables:
APPENGINE_USE_CUSTOM_IMAGES_GRPC_SERVICE: 'true'
APPENGINE_IMAGES_SERVICE_ENDPOINT: '<your-service-name.region.run.app>'
For more details, please refer to : Official Migration Guide
Changelog
Release version v3.0.0b1 : Provides fixes to Images gRPC support
Release version v3.0.0b1 : Provides fixes to Images gRPC support
fix(deps): add missing rsa dependency to setup.py by @abhishekr700 in https://github.com/GoogleCloudPlatform/appengine-python-standard/pull/147
Full Changelog: https://github.com/GoogleCloudPlatform/appengine-python-standard/compare/v2.0.0...v3.0.0b0
Release version 2.0.1: Sync with internal baseline to fix RuntimeError during request handling WSGI initialization on multithreaded (gthread) environm
Release version 2.0.1: Sync with internal baseline to fix RuntimeError during request handling WSGI initialization on multithreaded (gthread) environments.
This major release introduces a significant enhancement to the App Engine Mail API, enabling SMTP fallback support alongside the existing App Engine M
This major release introduces a significant enhancement to the App Engine Mail API, enabling SMTP fallback support alongside the existing App Engine Mail service.
APPENGINE_USE_SMTP_MAIL_SERVICE: Set to 'true' to enable SMTP usage.APPENGINE_SMTP_HOST: The hostname of the SMTP server (Required).APPENGINE_SMTP_PORT: The port of the SMTP server (Default: 587).APPENGINE_SMTP_USER: Username for SMTP authentication.APPENGINE_SMTP_PASSWORD: Password for SMTP authentication.APPENGINE_SMTP_USE_TLS: Enable/disable TLS (Default: true).APPENGINE_ADMIN_EMAIL_RECIPIENTS allows specifying a list of comma-separated email addresses to receive admin notifications when using the SMTP service.setup.py version to 2.0.0.Full Changelog: https://github.com/GoogleCloudPlatform/appengine-python-standard/compare/v1.2.0-beta...v2.0.0
This release adds Admin API implementation to modules API. All the modules APIs have an admin API implementation where instead of making a call to app
This release adds Admin API implementation to modules API. All the modules APIs have an admin API implementation where instead of making a call to appserver, direct call is made to admin API. The appserver implementation still exists and customers can toggle the usage between the two implementations by setting an environment variable in their applications app.yaml. To opt in for the admin API implementation, customers can add the following to their application's app.yaml :
env_variables:
APPENGINE_MODULES_USE_ADMIN_API: "true"
Key Features:
This release introduces a major feature to the App Engine Mail API: the ability to send emails via an external SMTP service. This provides a more flex
This release introduces a major feature to the App Engine Mail API: the ability to send emails via an external SMTP service. This provides a more flexible and robust way to send emails from your App Engine application.
Mail API: SMTP Support
Key Features:
Nothing published for this version
This version introduces a new environment variable (POOL_SIZE_URLLIB3) which can be used the configure the urllib3 connection pool size. The value of
This version introduces a new environment variable (POOL_SIZE_URLLIB3) which can be used the configure the urllib3 connection pool size. The value of this variable can be set in the range [10,100]. this value defaults to 10 in any other case. To use this feature, version number in requirements.txt should be such that v1.1.9 or above is picked up. (valid examples: appengine-python-standard>=1.0 or appengine-python-standard==1.1.9)
Example app.yaml file:
runtime: python39
app_engine_apis: true
env_variables:
POOL_SIZE_URLLIB3: 50
This version introduces a new environment variable which can be used the configure the urllib3 connection pool size.
This version introduces a new environment variable which can be used the configure the urllib3 connection pool size.
Nothing published for this version
This version includes an update to the NDB package - the msgprop module was added to provide back-compatibility with App Engine first generation.
This version includes an update to the NDB package - the msgprop module was added to provide back-compatibility with App Engine first generation.
Additionally, an internal package was added to support this module - google.appengine._internal.protorpc.
Update the Memcache SDK with 'peek' methods to fetch item timestamps.
Update the Memcache SDK with 'peek' methods to fetch item timestamps.
Limiting use of deprecated package - imp for python3.x
Limiting use of deprecated package - imp for python3.x
Update the Search SDK to enable listing indexes in all namespaces.
Update the Search SDK to enable listing indexes in all namespaces.
Add ndb support for compatible py27/py3 memcache entity caching.
Add ndb support for compatible py27/py3 memcache entity caching.
Update README to include google.appengine.api.search.
Update README to include google.appengine.api.search.
Add Search API to the GAE bundled services.
Allow UTF-8 surrogate characters when decoding (and encoding) TEXT properties in db and ndb.
Allow UTF-8 surrogate characters when decoding (and encoding) TEXT properties in db and ndb.
Nothing published for this version
This release includes a fix to make the Deferred API work with devappserver and be compatible with Python2.
This release includes a fix to make the Deferred API work with devappserver and be compatible with Python2.
Nothing published for this version
Nothing published for this version
Add Blobstore handlers and update Mail API to add Gen 1 mail handler functionality.
Add Blobstore handlers and update Mail API to add Gen 1 mail handler functionality.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →