Tuesday, April 24, 2012

App Engine 1.6.5 Released

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!

Datastore

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.transactional decorator now supports concurrent transactions. We’ve also expanded the options available for the db.run_in_transtion_options() function.

Images API

  • The Images API can now access image objects stored in Google Cloud Storage.

  • The URLs generated by get_serving_url()/getServingUrl() that make use of our high-speed image serving infrastructure can now be generated to serve over HTTPS.

Task Queue

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.

Request Headers

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.

Java

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.







No comments:

Post a Comment