This repository has been archived by the owner on Jun 4, 2023. It is now read-only.
Releases: irmen/Pyro4
Releases · irmen/Pyro4
release 4.26
- introduced PICKLE_PROTOCOL_VERSION config item
- fixed exception handling when dealing with different major Python versions. Using serpent or json now also properly translates exception objects even if the major Python version differ
- because of the new way Pyro deals with serialized exceptions, the wire protocol version was updated to 47. You'll have to update all Pyro4 libraries to 4.26
- name server prints a warning if a protocol error occurs (this helps to spot issues such as serializer protocol mismatches)
- more info in documentation about pickle and numpy
- improved documentation index
release 4.25
- now also puts package name in serpent serialization data for custom class instances (previously only the class name was used)
- requires serpent 1.5 or newer (because of the feature above)
- support for (Linux) abstract namespace AF_UNIX sockets (with a 0-byte at the start of the name)
- register_dict_to_class method added on SerializerBase, to be able to deserialize to particular user defined classes
- docs: mention that you may have to install serpent manually (most notably with alternative Python implementations)
- docs: mention the serialization hooks on SerializerBase
- added ser_custom example that shows how to use the serialization hooks
release 4.24
Pyro 4.24
- Python 3.4 compatibility added (fixed pickle/marshal issues)
- a backwards incompatible change has been implemented regarding the threadpool implementation and configuration, see next two items.
- threadpool is now again a fixed size determined by the new THREADPOOL_SIZE config item (defaults to 16)
- config items removed: THREADPOOL_MINTHREADS, THREADPOOL_MAXTHREADS, THREADPOOL_IDLETIMEOUT
- daemon no longer sends an exception response when a communication error occurred (such as a timeout). This fixes the MSG_PING/disconnect example on linux
- jython: multiplex server type now available (uses select based multiplexing). Be wary, this has not been tested much. When in doubt, use the thread server type.
- python wheel distribution format support added (universal, setup.cfg)
- merged name server initd script improvements that were made for the Debian package (easy enable/disable, use sh instead of bash, etc)
release 4.23
Pyro 4.23
- Pyro4.test.echoserver now correctly runs the NS’s broadcast server as well
- unix domain socket creation no longer fails when bind or connect address is unicode instead of str
- docs: added more info on dealing with new serialization configuration in existing code
- docs: improved name server documentation on registering objects
- docs: various small updates
release 4.22
Pyro 4.22
- support added in daemon to accept multiple serializers in incoming messages
- new config item added for that: SERIALIZERS_ACCEPTED (defaults to ‘safe’ serializers)
- wire protocol header changed. Not backwards compatible! New protocol version: 46.
- wire protocol: header now contains serializer used for the data payload
- wire protocol: header is extensible with optional ‘annotations’. One is used for the HMAC digest that used to be in all messages even when the hmac option wasn’t enabled.
- refactored core.MessageFactory: new submodule Pyro4.message. If you used MessageFactory in your own code you’ll need to refactor it to use the new Pyro4.message.Message API instead.
- disconnects example client code updated to reflect this API change
- you can now write the protocol in URIs in lowercase if you want (“pyro:...”) (will still be converted to uppercase)
- fixed poll server loop() not handling self.clients which caused crashes with a custom loopCondition
- fixed some unit test hang/timeout/crash issues
improved unit tests for jython, disabled ipv6 tests for jython because of too many issues.
improved unit tests for ironpython.
release 4.21
Pyro 4.21
- fixed denial of service vulnerabilities in socket servers
- MSG_PING message type added (internal server ping mechanism)
- disconnects example added that uses MSG_PING
- more exception types recognised in the serializers (such as GeneratorExit)
- fixed async regression when dealing with errors (properly serialize exceptionwrapper)
- fixed warehouse and stockmarket tutorials to work with new serializer logic
- fixed examples that didn't yet work with new serializer logic
- fixed unit tests to use unittest2 on Python 2.6
- no longer supports jython 2.5. You'll have to upgrade to jython 2.7.
- got rid of some byte/str handling cruft (because we no longer need to deal with jython 2.5)
- implemented autoproxy support for serpent and json serializers. It is not possible to do this for marshal.
- fixed serpent serialization problem with backslash escapes in unicode strings (requires serpent >= 1.3)