1.7.0 Prerelease Now Available

861 views
Skip to first unread message

Marzia Niccolai

unread,
Jun 18, 2012, 8:00:23 PM6/18/12
to Google App Engine
Hi,

The 1.7.0 prerelease SDKs are now available to download for Python and Java here: http://code.google.com/p/googleappengine/downloads/list

Please see release notes below.

-Marzia

Python Version 1.7.0
===============================
- The Search API now contains support for storing and searching on GeoPoints.
- The total size of all application versions is now limited to 1 GB. In the
  future, you'll be able to purchase additional storage for your application
  code.
- Logs API calls are now $.12/gigabyte for all data read from the Logs API over
  the first 100MB.
- You can now specify a time frame of up to 1 year for the retention of your
  application logs. All storage above 1 GB is billed based on the prices for
  logs storage.
- You can now specify HTTP headers on static content for your application.
- The HRD Blob Migration tool is now generally available.
- After using the datastore backup utility, you can now restore that backup
  to a new app id.
- It will not be possible to create new authorizations for M/S applications to
  access Cloud SQL instances.
- You can now delete a Google Cloud Storage object using blobstore.delete().
- You can now fetch a Google Cloud Storage object using blobstore.fetch().
- You can now store keys for a Google Cloud Storage object in the datastore.
- The create_upload_url call now works for Google Cloud Storage objects.
- You can now use get_serving_url() and delete_serving_url() for Google
  Cloud Storage buckets.
- Projection queries are now supported in NDB.
- In NDB, app and namespace are now keyword arguments to get_by_id().
- Context().call_on_commit() added to NDB for adding a callback to be executed
  upon successful commit of a transaction.
- NDB Context.memcache_* ops now accept unicode.
- NDB has added support for storing protorpc.Message objects.
- Improved error messaging for multiple repeated=True levels with
  StructuredProperty in NDB.
- PyAMF is now generally available.
- Fixed an issue in Full-text search panel where the Admin Console throws an
  error displaying non- ascii characters.
- Fixed an issue in SDK admin viewer where a TemplateDoesNotExist error was
  thrown when clicking on any Full-Text Search index.
- Fixed an issue where lxml did not support unicode parsing.
- Fixed a javascript syntax error in the Admin Console.

Java Version 1.7.0
=============
- The Search API now contains support for storing and searching on GeoPoints.
- The total size of all application versions is now limited to 1 GB. In the
  future, you'll be able to purchase additional storage for your application
  code.
- Logs API calls are now $.12/gigabyte for all data read from the Logs API over
  the first 100MB.
- You can now specify a time frame of up to 1 year for the retention of your
  application logs. All storage above 1 GB is billed based on the prices for
  logs storage.
- You can now specify HTTP headers on static content for your application.
- The HRD Blob Migration tool is now generally available.
- After using the datastore backup utility, you can now restore that backup
  to a new app id.
- It will not be possible to create new authorizations for M/S applications to
  access Cloud SQL instances.
- You can now delete a Google Cloud Storage object using delete() in the
  Blobstore Service API.
- You can now fetch a Google Cloud Storage object using fetch() in the
  Blobstore Service API.
- You can now store keys for a Google Cloud Storage object in the datastore.
- The BlobstoreService.createUploadUrl() call now works for Google Cloud Storage
  buckets.
- You can now use ImageService.getServingUrl() and
  ImageService.deleteServingUrl() for Google Cloud Storage objects.
- You can now specify your own Security Provider in Java.
- The Java Datastore API now supports Or queries.
- Fixed an issue in Full-text search panel where the Admin Console throws an
  error displaying non- ascii characters.
- Fixed a javascript syntax error in the Admin Console.

Per

unread,
Jun 18, 2012, 8:21:11 PM6/18/12
to google-a...@googlegroups.com

Hi Marzia,
 
- The Java Datastore API now supports Or queries.


This sounds interesting. Do you have some preliminary documentation for this feature?

Kind regards,
Per

Thomas Schranz

unread,
Jun 19, 2012, 8:24:03 AM6/19/12
to google-a...@googlegroups.com
do I understand correctly that this means that blobstore and google cloud storage will be the same thing going forward?
sounds great :)

aswath satrasala

unread,
Jun 19, 2012, 8:34:33 AM6/19/12
to google-a...@googlegroups.com
On Tue, Jun 19, 2012 at 5:30 AM, Marzia Niccolai <marce+a...@google.com> wrote:
Hi,

The 1.7.0 prerelease SDKs are now available to download for Python and Java here: http://code.google.com/p/googleappengine/downloads/list

Please see release notes below.

-Marzia

Python Version 1.7.0
===============================
- The Search API now contains support for storing and searching on GeoPoints.
- The total size of all application versions is now limited to 1 GB. In the
  future, you'll be able to purchase additional storage for your application
  code.
- Logs API calls are now $.12/gigabyte for all data read from the Logs API over
  the first 100MB.
- You can now specify a time frame of up to 1 year for the retention of your
  application logs. All storage above 1 GB is billed based on the prices for
  logs storage.
- You can now specify HTTP headers on static content for your application.
- The HRD Blob Migration tool is now generally available.
- After using the datastore backup utility, you can now restore that backup
  to a new app id.
Great!  Can we specify the interested namespace during restore?   Is there a way to know the approx cost for the restore?

-Aswath

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.

Christopher Ramírez

unread,
Jun 19, 2012, 10:22:15 AM6/19/12
to google-a...@googlegroups.com
On Monday, June 18, 2012 6:00:23 PM UTC-6, Marce (Google) wrote:
- Projection queries are now supported in NDB.


I have problems with projection queries. If I use them with .order('-__key__').fetch(limit=20) records returned seems to be only the even or odd ones. I opened a new discussion in this group but it was never publicised.  

Barry Hunter

unread,
Jun 19, 2012, 10:26:40 AM6/19/12
to google-a...@googlegroups.com
>
> I have problems with projection queries. If I use them with
> .order('-__key__').fetch(limit=20) records returned seems to be only the
> even or odd ones. I opened a new discussion in this group but it was never
> publicised.

Umm, this one:
https://groups.google.com/group/google-appengine/browse_thread/thread/40bde29f7cad63c5/e99aff23fe301802?hl=en&lnk=gst&q=Projection+Queries+does+not+work+with+order()+and+Limit+parameter#e99aff23fe301802

You even have a reply from a Googler requesting more information.

>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/hnghHKdho3IJ.

Christopher Ramírez

unread,
Jun 19, 2012, 10:39:53 AM6/19/12
to google-a...@googlegroups.com
Thanks barry for pointing me that.

It's a recent answare. I opened the thread last week.

Also, I'm new to google groups and I dont't understand its GUI and exploring methods quite well.


On Tuesday, June 19, 2012 8:26:40 AM UTC-6, barryhunter wrote:
>
> I have problems with projection queries. If I use them with
> .order('-__key__').fetch(limit=20) records returned seems to be only the
> even or odd ones. I opened a new discussion in this group but it was never
> publicised.

Umm, this one:
https://groups.google.com/group/google-appengine/browse_thread/thread/40bde29f7cad63c5/e99aff23fe301802?hl=en&lnk=gst&q=Projection+Queries+does+not+work+with+order()+and+Limit+parameter#e99aff23fe301802

You even have a reply from a Googler requesting more information.

>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/hnghHKdho3IJ.
>
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to

Darien Caldwell

unread,
Jun 19, 2012, 1:42:30 PM6/19/12
to google-a...@googlegroups.com

On Monday, June 18, 2012 5:00:23 PM UTC-7, Marce (Google) wrote:
 
- The total size of all application versions is now limited to 1 GB. In the
  future, you'll be able to purchase additional storage for your application
  code.
 
I assume this means a visible quota will be added; right now I have no earthly idea how much room my applications use.
Also does this count the compiled *.pyc files in addition to the application files uploaded? 

Guido van Rossum

unread,
Jun 19, 2012, 4:03:23 PM6/19/12
to google-a...@googlegroups.com
To be clear, is this with NDB or with db? (I'm guessing db, since NDB doesn't support the syntax .order('-__key__') -- you'd have to use .order(-MyClass._key).

Either way, can you please submit this to stackoverflow, with more details about what your code looks like and so on, so someone can help you?

--Guido van Rossum 

Marzia Niccolai

unread,
Jun 20, 2012, 2:15:13 PM6/20/12
to google-a...@googlegroups.com
The visible quota will be added, and We don't include autogenerated *.pyc files or other precompiled files from any of the runtimes.

-Marzia

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/3HTIKAKhaukJ.

To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.

Marzia Niccolai

unread,
Jun 20, 2012, 2:15:39 PM6/20/12
to google-a...@googlegroups.com
Documentation for new features is updated when the final release happens.

-Marzia

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/9nLLBK6wqpQJ.

Christopher Ramírez

unread,
Jun 20, 2012, 3:00:51 PM6/20/12
to google-a...@googlegroups.com
Thanks Guido!

I addressed the issue thank to Alfred Fuller and Timh.  https://groups.google.com/forum/?hl=en&fromgroups#!topic/google-appengine/QL3in3ytY8U 

The origin of the problem seems to be that some properties included in the proyection were not indexed. And yes, you are right, I'm using db.

Carlos Aguilar Moreno

unread,
Jun 21, 2012, 3:30:13 AM6/21/12
to Google App Engine
I'm a bit dissapointed. Why next version isn't 1.6.7? What's the big
improve?

On Jun 20, 9:00 pm, Christopher Ramírez <blindedbythed...@gmail.com>
wrote:
> Thanks Guido!
>
> I addressed the issue thank to Alfred Fuller and Timh.  https://groups.google.com/forum/?hl=en&fromgroups#!topic/google-appen...

theillustratedlife

unread,
Jun 21, 2012, 11:17:07 AM6/21/12
to google-a...@googlegroups.com
This is unfortunate:


class HttpHeadersDict(validation.ValidatedDict):
  """A dict that limits keys and values what http_headers allows.

  http_headers is an static handler key i.e. it applies to handlers with
  static_dir or static_files keys. An example of how http_headers is used is

  handlers:
  - url: /static
    static_dir: static
    http_headers:
      X-Foo-Header: foo value
      X-Bar-Header: bar value
  """

  DISALLOWED_HEADERS = frozenset([
      'content-encoding',
      'content-length',
      'date',
      'server'
  ])


Looks like I'm explicitly disallowed from setting content-encoding, which means I can't serve gzipped assets from a static directory.  (Really, I don't understand why Google's CDN doesn't gzip them by default.)

I've got some giant JSON files (14MB) to serve for a project I'm currently working on.  I've tried putting them in my CherryPy app and letting it handle the gzipping and caching, but then I get out-of-memory errors within a few requests.

I like App Engine.  I'd rather not be pushed to Heroku or to S3, but not supporting gzip is just silly.  According to the FAQ, gzipped content should be served to whoever requests it (https://developers.google.com/appengine/docs/python/runtime#Responses), but that's clearly not happening for static assets:

Request Method:GET
Status Code:200 OK

Request Headers:
    Accept:*/*
    Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8
    Cache-Control:max-age=0
    Connection:keep-alive
    User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5

Response Headers:
    Cache-Control:public, max-age=600
    Content-Length:14494473
    Content-Type:application/javascript
    Date:Thu, 21 Jun 2012 15:11:05 GMT
    ETag:"TQGJPQ"
    Expires:Thu, 21 Jun 2012 15:21:05 GMT
    Server:Google Frontend


Of course, if anyone has any advice on making gzip work, I'd be happy to hear it.  =)

Thanks!

Emanuele Ziglioli

unread,
Jun 21, 2012, 5:12:12 PM6/21/12
to google-a...@googlegroups.com

Of course, if anyone has any advice on making gzip work, I'd be happy to hear it.  =)


Hi!

I use 256MB instances in Java so haven't run into out of heap errors yet while serving entities (I think they're around 10MB max at this stage).
So far I've been storing them using gz and had to decompress them in memory before the google frontend servers could serve them gzipped.
Now I've switched to the blobstore in order to avoid that but I've discovered that gzip doesnt work, probably just above 1MB.
So I'm back to having to load the blob in memory (that should work...) but it costs in terms of CPU time, memory requirements, delays...

Emanuele

Jeff Schnitzer

unread,
Jun 21, 2012, 5:32:27 PM6/21/12
to google-a...@googlegroups.com
I hate to sound like the cloudflare shill, but why not use them as a
frontend cache? One of their touted features is aggressive gzipping
of content.

Jeff
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/tMjK8vq42w8J.

Cezary Wagner

unread,
Jun 21, 2012, 7:47:17 PM6/21/12
to Google App Engine
Number not matter - matter features.

Better is stable application than fireworks :)

On Jun 21, 9:30 am, Carlos Aguilar Moreno <c.aguim...@gmail.com>
wrote:

Didin Jamaludin

unread,
Jun 22, 2012, 6:54:20 AM6/22/12
to google-a...@googlegroups.com
How about send main with html image problem? when it fix?

2012/6/22 Cezary Wagner <cezary...@gmail.com>
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.

alex

unread,
Jun 23, 2012, 2:07:10 PM6/23/12
to google-a...@googlegroups.com
Why not try Page Speed service instead?
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to

Felippe Bueno

unread,
Jun 27, 2012, 8:26:42 AM6/27/12
to google-a...@googlegroups.com
"Logs API calls are now $.12/gigabyte for all data read from the Logs API over the first 100MB."

Is it included my calls to logservice.fetch ?



--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.



--
Sent from my chair

Rick Mangi

unread,
Jun 27, 2012, 11:03:01 AM6/27/12
to google-a...@googlegroups.com
And they finally fixed the issue we were having with random 500 errors on PUTs. So +1 on using cloudflare. 
Reply all
Reply to author
Forward
0 new messages