beaker / CHANGELOG

Beaker Changelog
================

0.9.1 (**tip**)
* Fixed bug in middleware using module that wasn't imported.

0.9 (12/17/07)
* Fixed bug in memcached replace to actually replace spaces properly.
* Fixed md5 cookie signature to use SHA-1 when available.
* Updated cookie-based session storage to use 256-bit AES-CTR mode with a
  SHA-1 HMAC signature. Now requires PyCrypto to use for AES scheme.
* WARNING: Moved session and cache middleware to middleware, as per the old
  deprecation warnings had said was going to happen for 0.8.
* Added cookie-only session storage with RC4 ciphered encryption, requires 
  Python 2.4.
* Add the ability to specify the cookie's domain for sessions.

0.8.1 (11/15/07)
* Fixed bug in database.py not properly handling missing sqlalchemy library.

0.8 (10/17/07)
* Fixed bug in prior db update causing session to occasionally not be written
  back to the db.
* Fixed memcached key error with keys containing spaces. Thanks Jim Musil.
* WARNING: Major change to ext:database to use a single row per namespace.
  Additionally, there's an accessed and created column present to support 
  easier deletion of old cache/session data. You *will* need to drop any
  existing tables being used by the ext:database backend.
* Streamline ext:database backend to avoid unnecessary database selects for
  repeat data.
* Added SQLAlchemy 0.4 support to ext:database backend.

0.7.5 (08/18/07)
* Fixed data_dir parsing for session string coercions, no longer picks up None
  as a data_dir.
* Fixed session.get_by_id to lookup recently saved sessions properly, also
  updates session with creation/access time upon save.
* Add unit tests for get_by_id function. Updated get_by_id to not result in
  additional session files.
* Added session.get_by_id function to retrieve a session of the given id.

0.7.4 (07/09/07)
* Fixed issue with Beaker not properly handling arguments as Pylons may pass
  them in.
* Fixed unit test to catch file removal exception.
* Fixed another bug in synchronization, this one involving reentrant
  conditions with file synchronization
* If a file open fails due to pickling errors, locks just opened
  are released unconditionally

0.7.3 (06/08/07)
* Beaker was not properly parsing input options to session middleware. Thanks
  to Yannick Gingras and Timothy S for spotting the issue.
* Changed session to only send the cookie header if its a new session and
  save() was called. Also only creates the session file under these 
  conditions.

0.7.2 (05/19/07)
* Added deprecation warning for middleware move, relocated middleware to cache
  and session modules for backwards compatibility.

0.7.1 05/18/07)
* adjusted synchronization logic to account for Mako/new Cache object's 
  multithreaded usage of Container.

0.7 (05/18/07)
* WARNING: Cleaned up Cache object based on Mako cache object, this changes
  the call interface slightly for creating a Cache object directly. The
  middleware cache object is unaffected from an end-user view. This change
  also avoids duplicate creations of Cache objects.
* Adding database backend and unit tests.
* Added memcached test, fixed memcached namespace arg passing.
* Fixed session and cache tests, still failing syncdict test. Added doctests
  for Cache and Session middleware.
* Cleanup of container/cache/container_test
* Namespaces no longer require a context, removed NamespaceContext?
* Logging in container.py uses logging module
* Cleanup of argument passing, use name **kwargs instead of **params for 
  generic kwargs
* Container classes contain a static create_namespace() method, namespaces are 
  accessed from the ContainerContext? via string name + container class alone
* Implemented (but not yet tested) clear() method on Cache, locates all 
  Namespaces used thus far and clears each one based on its keys() collection
* Fixed Cache.clear() method to actually clear the Cache namespace.
* Updated memcached backend to split servers on ';' for multiple memcached
  backends.
* Merging MyghtyUtils code into Beaker.

0.6.3 (03/18/2007)
* Added api with customized Session that doesn't require a Myghty request 
  object, just a dict. Updated session to use the new version.
* Removing unicode keys as some dbm backends can't handle unicode keys.
* Adding core files that should've been here.
* More stringent checking for existence of a session.
* Avoid recreating the session object when it's empty.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.