Dependencies:
* This release requires Django 1.4 or later and is tested with Django 1.5.
* This release requires Python 2.6 or newer.
* Python 3.2 or newer is supported by our codebase, but some dependencies
(mimeparse, south) do not yet work with Python 3.
Backends:
* RestAuth now features a pluggable backend system to store its data.
Different backends can be used to store user data, properties and groups.
RestAuth comes with a backends using the Django ORM, providing the
previous functionality and a Redis plugin to store property data. Please
see:
https://server.restauth.net/developer/backends.html
for more information.
Password hashing
* RestAuth now uses the password hashing API provided by Django 1.4 or
later. Consequently, the HASH_ALGORITHM and HASH_FUNCTIONS settings have
been deprecated by the standard Django PASSWORD_HASHERS setting.
* Existing validators need to be rewritten. Please see the current document
https://server.restauth.net/config/custom-hashes.html
for more information.
* Because of the above changes, hashing is now provided by public functions
that can be used in custom backends as well (see documentation).
* The SERVICE_PASSWORD_HASHER setting overrides the default password hasher
for services. Using md5 gives a significant speed improvement, but has some
security implications (see documentation).
* RestAuth now supports hashes as generated by Phpass (WordPress, phpBB3)
and the enhanced phpass-like sha512 hashes found in Drupal7.
General improvements:
* Most received data is now validated using assertions. This makes verifying
the input data format both faster and more exact.
* Content handlers are now configured with the CONTENT_HANDLERS setting. The
handlers are now used as global classes and are never reloaded.
Caching:
* The CACHES setting is no longer overriden by settings, enabling Djangos
in-memory caching mechanisms by default.
* The cache middlewares are no longer automatically added, as they
introduce unreliable behaviour in some situations.
* The new SECURE_CACHE setting tells RestAuth if the cache can be considered
a secure data storage (default: False). If True, Django will cache service
information within the cache, significantly speeding up RestAuth.
Command-line scripts:
* Move all scripts to RestAuth/bin/ to be more virtualenv friendly.
* Command-line scripts also use the new backend system, so changing backends
directly affects their output.
* restauth-service: Display services in alphabetical order.
* restauht-service: Verify set/added hosts to be valid IPv4/IPv6 addresses.
Testing:
* Update testerver fixture to include example.{com,net,org} services.
* Most tests (except those testing individual hashers) now use a faster MD5
hasher. This speeds up tests significantly.
* Tests also use the new backend system, so they can be used to test
different backends as well.
Bugfixes:
* Fix a broken Foreign Key constraint that broke adding IP-Adresses to
services.
* When calling group members, users were returned multiple times under
certain conditions.
* Fix migrations on a bare SQLite3 database
Other assorted changes and improvements:
* The Exception- and Request middlewares have been merged for a minor speed
improvement.
* Killed the last traces of epydoc documentation.
* python setup.py build no longer builds documentation.