http://gaeutilities.appspot.com/

Tonight version .7.1 was released. This should be a milestone release
for appengine-utilities, as I believe session and flash are both
complete. Now it's all about if any bugs exist. Improvements include
flash functionality broken out into it's own class, session token
regeneration, and a middleware class you can use to plug sessions
right into django when developing on appengine.

Over all, this release is not backwards compatible. The import
directory itself was renamed from utilties to appengine_utilities, and
there were model changes. If you were using .7 there is a new function
to delete all session data, which should be helpful for upgrade. Users
of older versions will have to delete their models by hand.

As always, this is not a final product, use at your own risk. Then
again, appengine isn't a final product either.

CHANGELOG for .7.1
Changelog

.7.1
 - sessions: cookie_name, clean_check_percent, integrate_flash added
    to __init__() as arguments.
 - sessions: Added SET_COOKIE_EXPIRES global. When set to true an
expiration
    field is added to the cookie to preserve sessions even after
    the browser is closed. Set to false, session cookies follow
    the default behaviour of the browser, which normally deletes
    the cookie when the browser is closed.
 - sessions: Added set_cookie_expires to __init__() as an argument.
 - sessions: CHECK_USER_AGENT and CHECK_IP added to explicitly
    call whether or not browser user agent and ip should be used to
    validate session cookies.
 - sessions: check_user_agent and check_ip added to __init__() as
    arguments.
 - sessions: _get_session() modified to remove the gql.count() call
for
    better performance. Also checks for IP as well as User Agent. Both
now
    only check if the appropriate check_ip or check_user_agent are
set.
 - sessions: session_expires argument renamed to session_expire_time
to be
    consistent with the SESSION_EXPIRE_TIME global
 - sessions: _validate_sid() removed. It's functionality has been
moved
    to _get_session()
 - sessions: _set_memcache() changed to always reset the memcache with
all
    information from datastore. Ability to add key => value pairs has
been
    removed.
 - sessions: get() and put() changed to _get() and _put() to make them
    private.
 - sessions: Checks against global variables replaced with the self
references
    to __init__() arguments in order to support them.
 - sessions: Replaced a lot of separate queries for Session and
SessionData with
    _get_session() and _get() in order to have duplicated code.
 - sessions: Demo upgraded to demonstrate iteration.
 - sessions: self.ds changed to self.session to be more explicit.
 - sessions: datastore interaction removed from self._new_sid() as it
really should just
    create a session token to be assigned to the model.
 - sessions: __setitem__() now updates internal cache and memcache
 - sessions: Models changed to use db.ReferencePropery() in the
SessionData model. All relevant
    methods updated.
 - sessions: Memcache updated to use the Session.key() for it's
identifier.
 - sessions: session token now changes every request in both the
browser and all server
    side instances in order to add security.
 - flash: Added an optional argument, cookie, to the initialization so
you can pass cookie references to it. This is useful in order to keep
cookie modifications consistent between writes.
 - sessions: _clean_old_sessions() modified to not use db.count(), and
also deleted memcache items now. All instances of db.count() removed
from sessions.
 - sessions: Many docstring updates.
 - sessions: Variable names throughout the class updated to be more
consistent.
 - sessions: added delete_all_sessions()
 - sessions: A couple changes in if statements to use is instead of ==
for more standardization
 - flash: Created a demo page for flash.
 - sessions: Added SESSION_TOKEN_TTL and a session_token_ttl argument
to set how long a session token should remain valid for The default is
10 seconds which appears to be long enough for me to spam the refresh
button several times even running the SDK on a slower pc.
 - sessions: Modified Session.sid to be a StringListProperty() that
keeps the current, plus 1 previous session token. This allowed me to
drop the TTL to 5 seconds and provide stability through frequent
refreshes.
 - demo: Various text and css updates to the demo application.
 - sessions: added django middleware, which includes adding testcookie
functions

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

Reply via email to