Skip to page content Skip to main navigation
English | Site Directory

e.g. "templates" or "datastore"

# Revision History

The documentation for Google App Engine available on this website is revised regularly. This page describes notable changes made to the documentation.

For information about changes to the App Engine API, the runtime environment, or the SDK, see the release notes.

2009-01-15

- SDK version 1.1.8 now available.
- New feature: `PolyModel` and polymorphic queries.
- New feature: `UserProperty` now supports `auto_current_user` and `auto_current_user_add` attributes.
- New feature: New `ByteString` datastore value type, a short indexed unencoded (non-text) string of bytes. Also, a new `ByteStringProperty` class for modeling byte string values.
- New feature: Images API now exposes the current width and height of an image.
- Major re-organization of the docs, primarily to move Python-specific material to its own section in preparation for upcoming support for a second language. External links to old pages on code.google.com will resolve using redirects. (Our apologies to anyone with links to individual pages of the docs hosted elsewhere.) Please file an issue if you find any unresolved broken links or broken pages in the documentation.

2008-11-24

- New article: How Index Building Works
- New FAQ: "Why were my indexes marked as Error?"
- New FAQ: "Why do my indexes stay Building or Deleting for long periods of time?"

2008-11-20

- SDK version 1.1.6 now available.
- New feature: You can now perform queries, including filters and sort orders, on datastore entity keys, using the special property name `__key__`. See the documentation.

2008-10-28

- `Model` class constructor now accepts a `Key` instance for the `parent` argument.
- Added Windows appcfg.py proxy instructions.
- Documented `google.appengine.runtime.DeadlineExceededError`.
- Documented the fact that entities with a property of a common name but with values of mixed types are sorted by types first, then by values as per type. In particular, all integers < all floats.
- Added whole-file example to top of datastore page of the Getting Started Guide.
- Added a note about requiring a space between the name and operator in Query.filter().
- Updated string prefix search tip to use `u'\ufffd'`.
- Documented GQL value literal syntax for dates, keys, users, and GeoPt values.
- Added db.Timeout to list of datastore API exceptions.
- Added note to "Configure an App" about how using HTTPS with the versioned testing URL, such as `https://1.latest.app-id.appspot.com/`, causes browsers to warn about certificates. This is harmless, and users will not see the warning.
- In the article "Using Django 1.0 on App Engine with Zipimport," improved wording about updating existing Django helper projects.
- In the article "Extending Model Properties," fixed several errors in the code samples.
- Mentioned the specific version of Python that App Engine uses: Python 2.5.2.

2008-10-23

- Added the App Engine Product Roadmap.
- Added documentation for the update_indexes command with appcfg.py.

2008-10-22

- Updated the "Retrieving Authenticated Google Data Feeds with Google App Engine" article to use gdata-python-client version 1.2.2 and higher. Token storage code has been greatly simplified.

2008-10-16

- Support for handling secure HTTPS connections for `*.appspot.com` domains, with a new handler configuration option.

2008-10-14

- Removed a note from the What Can Be Done In a Transaction section of the Transactions page about a bug that prevented creating both a new root entity and descendants of the entity in a single transaction. That bug was fixed in 1.0.2.

2008-09-30

- SDK version 1.1.5 now available.
- Doc updates for releases 1.1.3 through 1.1.5:
  - URL Fetch can be instructed not to follow redirects, using a new parameter.
  - URL Fetch is now restricted from fetching the request's own URL, to help prevent infinite loops.
  - New Memcache methods: `add_multi()` and `replace_multi()`.
  - `ListProperty(str)` gets special treatment as `ListProperty(basestring)` because the datastore stores `str` values as ASCII-encoded Unicode, and returns such values as `unicode`. Previously, this would break `ListProperty(str)` models, now they succeed.
  - `StringListProperty` is now a proper class, with additional support for Django forms.
- New article: Using Django 1.0 with App Engine and zipimport
- New version of downloadable docs now available. Includes a fix for an issue with the index.html file and Internet Explorer.

2008-09-26

- SDK version 1.1.4 now available.

2008-08-23

- Added a Sort Orders and List Properties section to Queries and Indexes with details on how list properties and sort orders interact.

2008-08-22

- SDK version 1.1.2 now available.
- Documentation for new features in SDK version 1.1.2:
  - `db.put()` and `db.delete()` are no longer limited to a single entity group per call.

2008-08-13

- Added section about using GData services in App Engine application.

2008-08-12

- All Google App Engine documentation is now released under a Creative Commons license. Example code in the documentation is released under an Apache license.
- Links outside of the documentation now go directly to the destination, instead of through Google's URL redirect mechanism.
- Anchors in content now use element IDs instead of anchor tags.

2008-07-25

- Documentation for new features in SDK version 1.1.1:
  - You can now query and download log data using appcfg.py: appcfg.py request_logs
  - The mail service can now use the current user's email address in the "From" field (the sender) of an email message.
  - New environment variable: CURRENT_VERSION_ID
  - The URL fetch service can now customize the Date HTTP header (was previously disallowed).
  - The URL fetch service now uses a default Content-Type header of x-www-form-urlencoded for POST requests (which can be overridden).
- Added section about the new limit on index entries, and how to avoid it; big entities, exploding indexes, and the "Error" index state.
- Documented webapp.util.run_wsgi_app() (previously undocumented), a better way to run WSGI applications in App Engine. Code samples have been updated to recommend run_wsgi_app() over wsgiref as a best practice.
- Revised code samples to instantiate webapp.WSGIApplication outside of the main() routine, a best practice for performance.
- Documented the webapp.util.login_required annotation for webapp get() handler methods (previously undocumented).
- Added documentation for environment variables.
- Added a new section on reserved URLs. In particular, note that `/form` is a reserved URL.
- Added descriptions of how entities without a property are never results for queries the filter or order by that property. Also added a description of how Text and Blob values are never indexed, and so behave like unset properties in queries.
- Added mentions of how str values are stored and returned by the datastore as unicode values, and how this causes ListProperty(str) to not work (because the model tries to validate the value returned by the datastore as a str). (Use ListProperty(basestring) or StringListProperty() instead.)
- Added a description of how two ReferenceProperty model properties to the same kind must have unique collection_name values set to avoid the default collection_names from colliding.
- Added a mention of the Google App Engine Launcher for Mac OS X in the Getting Started Guide.
- Added a description of how responses are compressed automatically (using gzip) if the request headers indicate that the client can accept compressed responses.

2008-07-24

- SDK version 1.1.1 now available.

2008-06-27

- Corrected the Model.get_by_id reference to include method arguments in the method signature. (The arguments were listed correctly in the method description.)

2008-06-24

- Added more complete documentation for the webapp.Request and webapp.Response classes.
- Added documentation of disallowed HTTP headers for URL Fetch and for responses in general.
- Fixed doc revision history to reflect correct release date for Images and Memcache APIs, and GQL operators.

2008-06-23

- Corrected the Model constructor reference to say that `parent` must be a `Model`, not a `Key`.
- Mentioned that List properties are order-preserving.

2008-05-30

- Corrected the Quotas article to say that the 1000 static file limit only applies to files, not datastore Blobs.

2008-05-28

- Added Image API and Memcache API documentation.
- Updated "Whats is App Engine" document to include Images and Memcache services.
- Added != and IN operators to GQL Documentation.

2008-05-22

- Added a note to the appcfg.py documentation about using the tool behind an HTTP proxy.
- Added clarification of restrictions on datastore entity key names.
- Added clarification of how the 1000-result query limit affects both fetch() and count().
- Added a note about how Python `int` values stored in the datastore are stored and returned as Python `long` values.
- Updated the Getting Started example to pass a sequence of up to 10 query results to the template, instead of passing the query object directly. Passing the query object to the template works just fine, but how this works isn't clear from the example. This also more sensibly limits the results to 10, which is what a real app would do anyway.
- Added a note that the application root directory is in the module include path.
- Added an example to the URL Fetch overview illustrating how to submit encoded form data with an HTTP POST action, including correct headers.
- Corrected a statement in the URL Fetch overview: URL fetching does follow HTTP redirects, up to 5 times.
- Corrected a statement about webapp.Response: This class does not inherit from WebOb's Response class, as webapp.Request does. (This may be fixed in a future version.)
- "Groups" in the navigation bar now goes directly to the Google App Engine discussion group. The original "Discussion Groups" page is still available from the sidebar, with a link to the downtime announcement list.
- This documentation revision history page is now available.

2008-05-19

- Google App Engine Launcher for Mac OS X version 1.0.2 now available.
- Article "Running Django on Google App Engine" updated.
- Article on quotas now includes file count and file size limits.

2008-05-15

- Google App Engine Launcher for Mac OS X version 1.0.1 now available.
- Article "Running Django on Google App Engine" updated, including a mention of how to perform App Engine deployment actions from Django's manage.py script.

2008-05-14

- Added note that the server enforces a maximum file size of 1,045,576 bytes.

2008-05-13

- New article: "Transaction Isolation in App Engine"

2008-05-09

- SDK version 1.0.2 now available.

2008-05-07

- New article: "Using the Google App Engine Helper for Django"

2008-05-06

- New article: "An Open Source App: Rietveld Code Review Tool"

2008-05-01

- Program policies updated to clarify policy on complying with terms of service policies of other Google services, e.g. framing the Google Accounts sign-in screen.

2008-04-30

- "Powered by Google App Engine" buttons now available.

2008-04-24

- New article: "Retrieving Authenticated Google Data Feeds with Google App Engine"
- New FAQ: "Should I use the SDK for serving external requests?"

2008-04-14

- SDK version 1.0.1 now available.
- Many minor additions and clarifications to the documentation:
  - added more information about list property values
  - added mention of how model instance attributes that begin with an underscore are not saved with the entity
  - added mention that entity key names cannot begin with a number
  - added mention that ReferenceProperty back-references lowercase the model name in the default attribute name
  - added mention of how to terminate dev_appserver in Windows (Ctrl-Break)
  - improved the `tzinfo` example
  - mentioned lack of streaming ability in the CGI web server
- `/appengine/docs/python/runtime.html#App_Caching` moved to `/appengine/docs/python/runtime.html#App_Caching`.

2008-04-10

- Program policies updated to clarify a note about putting the Admin Console in a frame.

2008-04-07

- Google App Engine launches. The initial draft of the documentation describes App Engine, the services, the configuration files, the tools, and the Python runtime environment and APIs. The documentation also includes a Getting Started tutorial, a FAQ and a set of articles.
- Google App Engine Campfire One videos added after the Campfire completed.