------------
* Experimental Python 3 Support for all of the Xml-related (non-Html)
components.
* Add support for altering output protocol by setting ``ctx.out_protocol``.
* Add returning ctx.out_string support to null server (The ``ostr`` argument).
* Add support for XmlData modifier. It lets mapping the data in the xml body
to an object field via xsd:simpleContent.
* Remove deprecated ``JsonObject`` identifier. Just do a gentle
``s/JsonObject/JsonDocument/g`` if you're still using it.
* SQLAlchemy: Implement storing arrays of simple types in a table.
* SQLAlchemy: Make it work with multiple foreign keys from one table to
another.
* SQLAlchemy: Implement a hybrid file container that puts file metadata in a
json column in database and and file data in file system. Fully supported by
all protocols as a binary File.Value instance.
* Implement an Xml Schema parser.
* Import all model markers as well as the ``rpc``\, ``srpc``\, ``mrpc``,
``ServiceBase`` and ``Application`` to the root ``spyne`` package.
* Implement JsonP protocol.
* Implement SpyneJsonRpc 1.0 protocol -- it supports request headers.
Sample request: ``{"ver":1, "body": {"div": [4,2]}, "head": {"id": 1234}}``
Sample response: ``{"ver":1, "body": 2}``
Sample request: ``{"ver":1, "body": {"div": {"dividend":4,"divisor":0]}}``
Sample response: ``{"ver":1, "fault": {"faultcode": "Server", "faultstring": "Internal Error"}}}``
* Steal and integrate the experimental WebSocket tranport from Twisted.
* Support Django natively using `spyne.server.django.DjangoView` and
`spyne.server.django.DjangoServer`.
* It's now possible to override the ``JsonEncoder`` class ``JsonDocument`` uses.
* Remove hard-coded utf-8 defaults from almost everywhere.
* Remove hard-coded pytz.utc defaults from everywhere. Use spyne.LOCAL_TZ to
configure the default time zone.
* As a result of the above change, ``datetime`` objects deserialized by Spyne
are forced to the above time zone during soft validation (nothing should have
changed from the user code perspective).
* Add ``default_factory`` to ModelBase customizer. It's a callable that produces
default values on demand. Suitable to be used with e.g. lambdas that return
mutable defaults.
* New ``spyne.util.AttrDict`` can be used for passing various dynamic
configuration data.
* ``child_attrs`` can now be passed to the ComplexModelBase customizer in order
to make object-specific in-place customizations to child types.
* Add mapper between Django models and `spyne.util.django.DjangoComplexModel`
types.
* Spyne now tracks subclasses and adds them to the interface if they are in the
same namespace as their parent.
* Simple dictionary protocol's ``hier_delim`` default value is now '.'
* Fixes support for XmlAttributes with max_occurs>1 referencing the same
'attribute_of' element in a ComplexModel subclass.
* Renders ``spyne.model.File`` as ``twisted.web.static.File`` when using HttpRpc
over ``TwistedWebResource``. This lets twisted handle Http 1.1-specific
functionality like range requests.
* Many, many, many bugs fixed.
Check the documentation at http://spyne.io/docs for changelogs of the older
versions