I just wanted to let everyone know that prerelease SDK 1.4.0 is out! Get it from the Google Code project:
We're still working on the docs and will have them ready for the final release, so if there are any questions about how to use the new features, feel free to ask on this thread and I'll do my best to clarify them. The release notes are below. This is an EXCITING release:
- The Always On feature allows applications to pay and keep 3 instances of their
application always running, which can significantly reduce application
latency.
- Developers can now enable Warmup Requests. By specifying a handler in an
app's app.yaml, App Engine will attempt to to send a Warmup Request to
initialize new instances before a user interacts with it. This can reduce the
latency an end-user sees for initializing your application.
- The Channel API is now available for all users.
- Task Queue has been officially released, and is no longer an experimental
feature. The API import paths that use 'labs' have been deprecated. Task queue
storage will count towards an application's overall storage quota, and will
thus be charged for.
- The deadline for Task Queue and Cron requests has been raised to 10 minutes.
Datastore and API deadlines within those requests remain unchanged.
- For the Task Queue, developers can specify task retry_parameters in their
queue.yaml.
- Metadata Queries on the datastore for datastore kinds, namespaces, and entity
properties are available.
- URLFetch allowed response size has been increased, up to 32 MB. Request size
is still limited to 1 MB.
- The Admin Console Blacklist page lists the top blacklist rejected visitors.
- The automatic image thumbnailing service supports arbitrary crop sizes up to
1600px.
- Overall average instance latency in the Admin Console is now a weighted
average over QPS per instance.
- The developer who uploaded an app version can download that version's code
using the appcfg.py download_app command. This feature can be disabled on
a per application basis in the admin console, under the 'Permissions' tab.
Once disabled, code download for the application CANNOT be re-enabled.
- Fixed an issue where custom Admin Console pages did not work for Google
Apps for your Domain users.
- Allow Django initialization to be moved to appengine_config.py to avoid
Django version conflicts when mixing webapp.template with pure Django.
- Fixed an issue in the dev_appserver where get_serving_url did not work
for transparent, cropped PNGs:
- Fixed an issue with the DatastoreFileStub.
Java
---------
- The Always On feature allows applications to pay and keep 3 instances of their
application always running, which can significantly reduce application
latency.
- Developers can now enable Warmup Requests. By specifying a handler in an
app's appengine-web.xml, App Engine will attempt to to send a Warmup Request
to initialize new instances before a user interacts with it. This can reduce
the latency an end-user sees for initializing your application.
- The Channel API is now available for all users.
- Task Queue has been officially released, and is no longer an experimental
feature. The API import paths that use 'labs' have been deprecated. Task queue
storage will count towards an application's overall storage quota, and will
thus be charged for.
- The deadline for Task Queue and Cron requests has been raised to 10 minutes.
Datastore and API deadlines within those requests remain unchanged.
- For the Task Queue, developers can specify task retry-parameters in their
queue.xml.
- Metadata Queries on the datastore for datastore kinds, namespaces, and entity
properties are available.
- URL Fetch allowed response size has been increased, up to 32 MB. Request size
is still limited to 1 MB.
- The Admin Console Blacklist page lists the top blacklist rejected visitors.
- The automatic image thumbnailing service supports arbitrary crop sizes up to
1600px.
- Overall average instance latency in the Admin Console is now a weighted
average over QPS per instance.
- Added a low-level AysncDatastoreService for making calls to the datastore
asynchronously.
- Added a getBodyAsBytes() method to QueueStateInfo.TaskStateInfo, this returns
the body of the task state as a pure byte-string.
- The whitelist has been updated to include all classes from javax.xml.soap.
- Fixed an issue sending email to multiple recipients.
As usual, we value your feedback, so don't hesitate to evaluate these SDKs and let us know. Be mindful that the server-side components have not been deployed yet, so uploaded code shouldn't work.
Happy coding!
--
Ikai Lan
Developer Programs Engineer, Google App Engine