December 5, 2017

Python runtime notes

Updated Python SDK to version 1.9.64.

For all incoming HTTP requests, dev_appserver.py now requires that all HTTP
requests must have an HTTP Host header and its value is either localhost,
an IPv4 or IPv6 loopback address, or if specified, the value passed in via
--host. For HTTP/1.0 only, requests with no Host header are still allowed.
To disable host checking, set the --enable_host_checking flag to
false. However, it is strongly recommended to leave host checking enabled,
as it guards against DNS rebinding attacks.

October 25, 2017

October 11, 2017

September 21, 2017

Python runtime notes

Updated Python SDK to version 1.9.61

Updated pytz to 2017.2

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 5, 2017

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

Python runtime notes

Updated Python SDK to version 1.9.60

Release includes minor bug fixes.

August 30, 2017

Updated Python SDK to version 1.9.59

August 28, 2017

Updated Python SDK to version 1.9.58

This release adds client support for gRPC so that you can connect to gRPC
servers from your App Engine application. For more information on how to
request and install the grpcio library, see
Using third-party libraries.

May 22, 2017

Updated Python SDK to version 1.9.54.

Updated the Python SDK to be based on Python 2.7.12.

May 15, 2017

Updated the Python runtime to Python 2.7.12.

Modified the SSL certificate validation behavior in the SSL module versioned
as 2.7.11 to not validate certificates. This behavior can be controlled by
an environment variablePYTHONHTTPSVERIFY, which can be set to 1 to
require certificate validation.

Oct 27, 2016

Aug 1, 2016

Aug 1, 2016 - Version 1.9.42

Python runtime notes

This release does not include a new Python SDK. Python
users should continue to use the 1.9.40 SDK.

July 26, 2016

Python runtime notes

SSL 2.7.11 is now available by default to all apps. If version: 2.7 or
version: latest is specified for the ssl library in the app.yaml
configuration file, apps will get the 2.7 version.
More information about using built-in libraries.

July 1, 2016

May 25, 2016 - Version 1.9.38

The error returned by URL Fetch for a request to a port outside of the
permitted ranges (80-90, 440-450, 1024-65535) will now always return
INVALID_URL as documented.

Cloud Datastore

When committing a cross-group transaction, version numbers returned for new
or updated entities are all the same. With the previous behavior, entities
within the same group committed as part of a cross-group transaction, had the
same version number, but entities in different groups might have had different
version numbers. This change ensures all new and updated entities have an
identical version number, regardless of their entity group, when committed as
part of a cross-group transaction. As before, entities that are not updated
will not have a new version number.

May 4, 2016 - Version 1.9.37

Includes general bug fixes and improvements.

Python runtime notes

Includes a new version of the third_party library "ssl" based on
Python 2.7.11. The library can be selected with version: "2.7.11" in the
libraries section
of the app.yaml file.

May 2, 2016

App Engine flexible environment

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

April 18, 2016 - Version 1.9.36

In response to your requests, the App Engine Users API joins the rest of App Engine in supporting IAM roles and group expansion. This means that any user who is a project Owner, Editor or Viewer or an App Engine Admin is considered an "admin" by the Users API, regardless of whether the user was granted the role directly or by membership in a group.
* This release populates error details, when available, in error messages associated with the "OverQuota" exception type.

Python runtime notes

Google no longer accepts quota increase requests for the mail service. Customers should use Sendgrid instead.

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 Container
Builder service, which is in Beta.
To use the Container Builder service, follow these steps:

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.

January 14, 2016 - Version 1.9.31

App Engine now supports Google Groups: Adding a Google Group as a member of a project grants the members of the group access to App Engine. For example, if a Google Group is an Editor on a project, all members of the group now have Editor access to the App Engine application.

November 30, 2015 - Version 1.9.30

Headers for push queue requests made for Task Queue tasks with no payload will now contain a Content-Length entry set to '0'. Previously headers for such requests contained no Content-Length entry.

November 30, 2015 - Version 1.9.29

Stop calculating and storing queue depth for non-existent queues, queues marked for deletion, and in the case of queue table outages.

For developers using the endpoints API, added a discoverable boolean parameter to the @Api annotation to allow users to disable API discovery. Using this feature will prevent some client libraries (e.g. JavaScript) and the API Explorer from working, as they depend on discovery.

October 29, 2015 - Version 1.9.28

The Prospective Search API, which was deprecated on July 14, 2015, is now
restricted to existing users. It will fully shutdown on
December 1, 2015.
* Improved accuracy of Geo filtering in Search queries.

September 25, 2015 - Version 1.9.27

Applications that are newly enabled for billing now default to an unlimited daily budget, and no longer default to a maximum daily budget of $0. This prevents unwanted outages due to running out of budget. To set a ceiling on your application's daily cost, after you enable billing, set a budget in the app engine settings. For more information, see Setting a daily budget.