
* API changes
  * SQLStore implementations no longer create or use a 'settings'
    table
  * SRegResponse.fromSuccessResponse returns None when no signed
    arguments were found
  * Added functions to generate request/response HTML forms with
    auto-submission javascript
      * Consumer (relying party) API: AuthRequest.htmlMarkup
      * Server API: server.OpenIDResponse.toHTML
  * PAPE (Provider Authentication Policy Extension) module
      * Updated extension for specification draft 2
      * Request.fromSuccessResponse returns None if PAPE response
        arguments were not signed

* New features
  * Demo server now supports OP-driven identifier selection
  * Demo consumer now has a "stateless" option
  * Fetchers now only read/request first megabyte of response

* Bug fixes
  * NOT NULL constraints were added to SQLStore tables where
    appropriate
  * message.fromPostArgs: use query.items() instead of iteritems(),
    fixes #161 (Affects Django users)
  * check_authentication requests: copy entire response, not just
    signed fields.  Fixes missing namespace in check_authentication
    requests
  * Consumer._verifyDiscoveryResults: fall back to OpenID 1.0 type if
    1.1 endpoint cannot be found; fixes discovery verification bug for
    certain OpenID 1 identifiers
  * SQLStore._execSQL: convert unicode arguments to str to avoid
    postgresql api bug with unicode objects (Thanks to Marek Kuziel.)
  * MySQLStore: Use ENGINE instead of TYPE when creating tables
  * server.OpenIDResponse.toFormMarkup: Use return_to from the
    request, not the response fields (Not all responses (i.e. cancel,
    setup_needed) include a return_to field.)
  * server.AssociationRequest.answer: include session_type in
    no-encryption assoc responses
  * OpenIDServiceEndpoint.getDisplayIdentifier: Don't include the
    fragment in display identifiers.
