April showers — and
a bit more than showers — have kept us happily inside working away on our fourth release of this year (we are really looking forward to those flowers). Today’s release includes some updates to the Datastore and the runtimes, new features for the Images API, and more!
We’ve introduced an experimental type of query,
projection queries, in the Datastore. For the SQL fans amongst us, this is similar to queries of the form:
SELECT Property1, Property2 FROM MyEntity ORDER BY Property3
Projection queries have the same cost and performance characteristics as keys-only queries but return entity objects populated only with the requested properties.
We are also adding several other Datastore features in this release:
- Each entity group now has a numeric version property that strictly increases on every entity group change. You can use this counter, for example, to easily and consistently cache the results of an ancestor query, such as the count of all entities in an entity group (Java®, Python examples).
- The Datastore Admin now allows you to restore individual Kinds from an existing backup, abort in-progress backups, and view more detailed backup and restore information.
- For Python users, the
@db.transactionaldecorator now supports concurrent transactions. We’ve also expanded the options available for the
- The Images API can now access image objects stored in Google Cloud Storage.
- The URLs generated by
getServingUrl()that make use of our high-speed image serving infrastructure can now be generated to serve over HTTPS.
We are looking for Trusted Testers for Task Queue Statistics. Task Queue Statistics allows you to fetch statistics and information about your task queue from within your application.
Apply now to be a Trusted Tester.
In this release, we are including additional
request headers to provide more detailed information about the origin of a request. We’ve added
Region, City and LatLng headers to each request where this information can be inferred from the IP address.
Finally, an important piece of news for our Java developers: the
<threadsafe> element is now required in
appengine-web.xml file; omitting it will cause an error in the dev appserver.
As always, send us feedback in our Google Group, send us technical questions on Stack Overflow, and read the complete release notes for all the new features and fixes in this release for Java, Python, and Go.
Posted by the App Engine Team
Java is a registered trademark of Oracle and/or its affiliates.