----------------
This is the first version that is actually being used in a real project,
using the CacheBackend. This has lead to various bug fixes and improvements.
* denormalize_sync management command to sync collections
* Added an AggregateCollection that invalidates on changes to any root object
or its related data. This is useful for indexes, statistics and menu
navigation data.
* Django 1.5 support. Django 1.4 is still supported.
* Added DelaySyncContextMiddleware.
* Allow fetching documents by collection name
* Use 'id' instead of '_id' in documents. '_id' is now only used in the
MongoDB backend. This way the generated documents are closer to the data
in the Django ORM, and Django templates can access this id.
* FeinCMS Collection: Renamed _class and _app_label to content_class and
content_app_label, and _cached_url to cached_url. Django templates do
not allow access to keys starting with an underscore.
* Added an optional short locmem cache layer to the CacheBackend, using
get_doc_cached. This prevents memcached roundtrips and deserializations.
* Resolved an issue where DelaySyncContextMiddleware would not have an active
context in process_response. This occurred when a view raised an exception.
* Models can now define a denormalize_transform_data() method to influence
how they are serialized. This is especially useful for FeinCMS ContentTypes.
* JSON serialization moved to utils.py.
* Various other bugfixes, documentation updates and improvements.