Spyne

Latest version: v2.14.0

Safety actively analyzes 629855 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 4

2.12.7

------------
* Not beta anymore. Woo!
* Made ServiceBase subclasses reusable
* Implemented class customization via ``__getitem__``\.
* Fixed an ``ImportError`` running Python 3.4 under Pydev using PyCharm.
(Eclipse still has issues, see
`issue 432 <https://github.com/arskom/spyne/issues/432>`_. Any help would be
much appreciated)
* Fixed DateTime corner case with μs values between 999995 and 999999.
* Help misguided user code that returns an int for a string type by implicitly
yet not-so-silently converting the ``int``/``long`` to ``str``\.
* Fixed \*Cloth sometimes getting stuck ``repr()``\'ing passed instance.
* Fixed ``SimpleDictDocument`` confusing a missing value and an empty value for
array types. When the client wants to denote an empty array, it should pass
``array_field=empty``\. Normally it passes something along the lines of:
``array_field[0]=Something&array_field[1]=SomethingElse``\.
* Split ``MessagePackServerBase`` to ``MessagePackTransportBase`` and
``MessagePackServerBase``\. No API was harmed during this change.
* Implement optional idle timeout for ``MessagePackTransportBase``\.
* Add support for PGObjectJson, PGObjectXml and PGFileJson to sql table
reflection.
* ``log_repr`` now consults ``NATIVE_MAP`` as a last resort before freaking out.
* Removed some dead code.

2.12.6beta

-----------------
* Thanks to `issue 446 <https://github.com/arskom/spyne/issues/446>`_
we noticed that in some cases, SOAP messages inside HTTP requests got
processed even when the request method != 'POST'. This got resolved, but you
should check whether this is the case in your setup and take the necessary
precautions before deploying Spyne.

2.12.0beta

-----------------
* XmlObject: Support for ``attribute_of`` is removed.
* NullServer now supports async.
* XmlCloth was rewritten while less sleep-deprived.
* ProtocolBase now also implements serializing primitives to unicode.
* Add initial support for input polymorphism to XmlDocument (parsing xsi:type).
It's an experimental feature.
* Add output polymorphism for all protocols. It's off-by-default for XmlDocument
and friends, on-by-default for others.
* Add stub implementation for SOAP 1.2
* Add initial implementation for SOAP 1.2 Faults.
* Remove the deprecated ``interface`` argument to ``Application``\.
* HierDictDocument's broken wrapped dict support was fixed. Even though this is
supposed to break compatibility with 2.11, virtually no one seems to use this
feature. Only now it's mature enough to be set on stone. Let us know!
* We now validate kwargs passed to ``rpc``\. Be sure to test your daemons
before deploying for production, because if you got leftovers, the server will
refuse to boot!
* It's now forbidden (by assert) to inherit from a customized class.
* It's also forbidden (by convention) to instantiate a customized class. Don't
do it! The warning will be converted to an assert in the future.

2.11.0

Not secure
------------
* 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

Page 4 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.