* When decorating a function with cache_region decorator the function generated to update the cached value will be named like the decorated function. So that during debugging it's easy to know which function is involved. * Removed usage of ``async`` as a variable in code, this fixes a compatibility problem with Python 3.7 where it's a keyword. * Fixed a race condition in ``FileNamespaceManager``. * ``ext.database`` backend will now properly close connections. * Do not leave bhind corrupted files if ``FileNamespaceManager`` is interrupted while writing a new file. Replacing content of a file or writing a new one is now always an atomic operation. * ``DBMNamespaceManager`` and ``FileSynchronizer`` will now deal with directories disappearing while they try to write to them. * The Redis and MongoDB backends are not exposed in documentation.
1.9.0
Not secure
==========================
* Beaker now provides builtin ``ext:mongodb`` and ``ext:redis`` namespace managers. Both come with a Synchronizer implemented on the storage backend instead of relying on file one. * Fixed an issue where cookie options like ``Secure``, ``Domain`` and so on where lost. * Improved support for cache entries expiration. NamespaceManagers that support it will expire their key automatically. * Pycryptodome can be used instead of pycrypto. * An issue with ``Cookie`` module import on case insensitive file systems should have been resolved. * Cryptography module is now as a crypto function provider instead of pycrypto
1.8.1
Not secure
==========================
* Sessions have a new option save_accessed_time which defaults to true for backwards compatibility. Set to false to tell beaker not to update _accessed_time if the session hasn't been changed, for non-cookie sessions stores. This lets you avoid needless datastore writes. _accessed_time will always be updated when the session is intentionally saved. * data_serializer parameter in Session accepts a custom object with `dumps` and `loads` methods. * Fixed a TypeError in exception reporting when failing to load a NamespaceManager * Allow to change Cookie Expiration from a value back to None, previously it had no effect. * Allow SessionMiddleware to setup a custom Session class through the `session_class` argument. * Added `invalidate_corrupt` option to CookieSessions too for valid cookies containing invalid data.
1.8.0
Not secure
==========================
* Encrypted sessions can now specify nonce length for salt generation through ``encrypt_nonce_bits`` parameter. set it to ``48`` for backward compatibility with sessions generated before 1.8.0 * kwargs support in cache_region decorator * annotations support in cache_region decorator * data_serializer parameter in Session can now specify ``json`` to avoid pickle security issues * Invalid cookies are now skipped in cookie based sessions * Memcached based on PyLibMC now share same connection pool for same url
1.7.0
Not secure
==========================
* Beaker no longer supports python 2.4 and 2.5 * Beaker now supports Python 2.6, 2.7, 3.2, 3.3, 3.4 without 2to3 usage * Fixed Encrypted Cookie Session on Python3 57 * New pbkdf2 mobule working on Python3 21 * Fixed Test suite on Python 3.3 53, 51
1.6.5
Not secure
==========================
* cached decorator now keeps docstring of decorated method. * Fix crash when Session ``accessed_time`` is not available, this happened when session ``encrypt_key`` was changed. * Fix cache regions not providing a default key length even though this was required and examples in the doc didn't provide it. * Fix crash when cache expire wasn't an int, this happened when caching options were loaded from a config file.