Version 1.3.1 ============= - Datastore Query Cursors http://code.google.com/appengine/docs/java/datastore/queriesandindexes.html#Query_Cursors - Transactional Tasks - Support for Custom Admin Console pages - Java Precompilation is now on by default Developers can opt-out of precompilation by setting the flag in appengine-web.xml: false - New built-in support for unit testing (see appengine-testing.jar) http://code.google.com/appengine/docs/java/tools/localunittesting.html http://code.google.com/p/googleappengine/issues/detail?id=326 - net.sf.jsr107 package included as an alternative to the low-level Memcache API - javax.annotation.Resource/Resources added to the package whitelist - New "month" and "synchronized" syntax for Cron configuration http://code.google.com/appengine/docs/java/config/cron.html - URLFetch supports asynchronous requests http://code.google.com/p/googleappengine/issues/detail?id=1899 - appcfg.sh uses HTTPS for application deployment - appcfg.sh adds request_logs --append - Changes to the order queries without a specified sort order are returned Only queries that use IN will see different results. - Added support for multiple != filters on the same property - Improved support for keys-only queries when using IN and != filters - Support for ETags, If-matches, If-not-matches HTTP Headers, as well as 304 status codes now available on static files (not yet available on the dev_appserver or Blobstore blobs) http://code.google.com/p/googleappengine/issues/detail?id=575 - Fixed issue where the maximum transform count was enforced for composite operations http://code.google.com/p/googleappengine/issues/detail?id=1656 - Fixed issue with whitespace on the end of strings in web.xml http://code.google.com/p/googleappengine/issues/detail?id=2242 - Fixed web.xml entries for 404 error codes http://code.google.com/p/googleappengine/issues/detail?id=1477 - Added validation prevent welcome-files with absolute paths http://code.google.com/p/googleappengine/issues/detail?id=1249 - Fixed issue where cancelling a deployment in progress could unintentionally corrupt the SDK http://code.google.com/p/googleappengine/issues/detail?id=2255 - Fixed issue with QuotaService.getCpuTimeInMegaCycles() returning 0 http://code.google.com/p/googleappengine/issues/detail?id=2639 - Fixed issue where JSP exceptions will be incorrectly cast causing a ClassCastException http://code.google.com/p/googleappengine/issues/detail?id=1438 Version 1.3.0 ============= - Support for the new Blobstore API - New com.google.appengine.runtime.{version,environment} system properties (and a SystemProperty accessor class) - New sample applications for GWT 2.0 - Optimizations for many reflection operations Version 1.2.8 ============= - Support for JAXB. JAXB is included in JDK 1.6 (and App Engine's production servers). If you're using JDK 1.5 with your local dev_appserver, you will need to include the JAXB libraries with your application to use it. http://code.google.com/p/googleappengine/issues/detail?id=1267 - New support for application pre-compilation to reduce the length of loading requests. To enable pre-compilation on your application, add this flag to your appengine-web.xml: true If you have trouble deploying your application, you should remove this flag or set it to false. - Added Quota API (com.google.appengine.api.quota) to match Python API. - Low-level Memcache API now supports batchIncrement(). - HTTPResponse object now has getFinalUrl() method for 302 redirects. - http://code.google.com/p/googleappengine/issues/detail?id=1464 - Java Dev Appserver now automatically executes tasks. If you prefer the old behavior where tasks do not automatically execute you can use the following flag when starting the server: -Dtask_queue.disable_auto_task_execution - Additional file extensions permitted when sending mail. - http://code.google.com/p/googleappengine/issues/detail?id=494 - Fixed issue with Java mail handler not processing multipart messages correctly. - Fixed agent code included in appengine-local-runtime.jar results in RuntimeException. - http://code.google.com/p/googleappengine/issues/detail?id=2280 - Fixed issue with sort orders defined on properties that allow multiple values. - http://code.google.com/p/googleappengine/issues/detail?id=2349 - Fixed problem with dropped query strings after requiring log-in. - http://code.google.com/p/googleappengine/issues/detail?id=2225 - Removed limitation preventing multiple parameters with the same name. - http://code.google.com/p/googleappengine/issues/detail?id=2090 - Fixed issue with local datastore incorrectly sorting results of ancestor queries. - http://code.google.com/p/googleappengine/issues/detail?id=2177 - New Index building status page in the Admin Console - Task Queue now supports purging queues, and deleting tasks and queues via the Admin Console. - http://code.google.com/p/googleappengine/issues/detail?id=2159 - http://code.google.com/p/googleappengine/issues/detail?id=1740 - Over Quota HTTP status code changed from 403 to 503, other to 500. - http://code.google.com/p/googleappengine/issues/detail?id=961 - Task Queue now considers all HTTP 2xx status codes to represent success. For past release notes, visit: http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes