Change Log¶
Pyro 5.15
- removed Python 3.7 from the support list (it is EOL). Now supported on Python 3.8 or newer.
- fixed cgi.parse deprecation problem in http gateway
- some small tweaks to setup, tests, examples, and docs.
Pyro 5.14
- http gateway now also has OPTION call with CORS
- fixed deprecation warning about setting threads in daemon mode
- fixed more threading module deprecation warnings
- proxy now correctly exposes remote __len__, __iter__ and __getitem__ etc
- improved type hint for expose()
- added Proxy._pyroLocalSocket property that is the local socket address used in the proxy.
- serve() no longer defaults host parameter to empty string, but None. To be more similar to what a creation of Daemon() normally does.
- fixed a Python 3.11 serialization issue
Pyro 5.13.1
- fixed @expose issue on static method/classmethod due to API change in Python 3.10
Pyro 5.13
- removed Python 3.6 from the support list (it is EOL). Now supported on Python 3.7 or newer
- corrected documentation about autoproxy: this feature is not configurable, it is always active.
- introduced SERPENT_BYTES_REPR config item (and updated serpent library version requirement for this)
- flush nameserver output to console before entering request loop
- added optional boolean “weak” parameter to Daemon.register(), to register a weak reference to the server object that will be unregistered automatically when the server object gets deleted.
- switched from travis to using github actions for CI builds and tests
Pyro 5.12
- fixed error when import Pyro5.server (workaround was to import Pyro5.core before it)
- documented SSL_CACERTS config item
- removed Python 3.5 from the support list (it is EOL). Now requires Python 3.6 or newer
Pyro 5.11
- reworked the timezones example. (it didn’t work as intended)
- httpgateway message data bytearray type fix
- fixed ipv6 error in filetransfer example
- added methodcall_error_handler in documentation
Pyro 5.10
- finally ported over the unit test suite from Pyro4
- finally updated the documentation from Pyro4 to Pyro5 (there’s likely still some errors or omissions though)
- fixed regex lookup index error in nameserver
- the 4 custom class (un)register methods on the SerializerBase class are now also directly available in the api module
Pyro 5.9.2
- fixed a silent error in the server when doing error handling (avoid calling getpeername() which may fail) this issue could cause a method call to not being executed in a certain specific scenario. (oneway call on MacOS when using unix domain sockets). Still, it’s probably wise to upgrade as this was a regression since version 5.8.
Pyro 5.9.1
- fixed some circular import conflicts
- fixed empty nameserver host lookup issue
Pyro 5.9
- added privilege-separation example
- added methodcall_error_handler to Daemon that allows you to provide a custom error handler, which is called when an exception occurs in the method call’s user code
- introduced
api.serve
/server.serve
as a replacement for the static class methodDaemon.serveSimple
- fix possible race condition when creating instances with instancemode “single”
- introduced some more type hintings
Pyro 5.8
- cython compatibility fix
- removed explicit version checks of dependencies such as serpent. This fixes crash error when dealing with prerelease versions that didn’t match the pattern.
Pyro 5.7
- fixed possible attribute error in proxy del method at interpreter shutdown
- gave the serialization example a clearer name ‘custom-serialization’
- added NS_LOOKUP_DELAY config item and parameter to resolve() to have an optional wait delay until a name becomes available in the nameserver
- added lookup() and yplookup() utility functions that implement this retry mechanism
Pyro 5.6
- improved and cleaned up exception handling throughout the code base
- URIs now accept spaces in the location part. This is useful for unix domain sockets.
Pyro 5.5
- made msgpack serializer optional
- Anaconda ‘pyro5’ package created
Pyro 5.4
- made the decision that Pyro5 will require Python 3.5 or newer, and won’t support Python 2.7 (which will be EOL in january 2020)
- begun making Pyro5 specific documentation instead of referring to Pyro4
- tox tests now include Python 3.8 as well (because 3.8 beta was released recently)
- dropped support for Python 3.4 (which has reached end-of-life status). Supported Python versions are now 2.7, and 3.5 or newer. (the life cycle status of the Python versions can be seen here https://devguide.python.org/#status-of-python-branches)
- code cleanups, removing some old compatibility stuff etc.
Pyro 5.3
various things ported over from recent Pyro4 changes:
- added a few more methods to the ‘private’ list
- fix thread server worker thread name
- on windows, the threaded server can now also be stopped with ctrl-c (sigint)
- NATPORT behavior fix when 0
- source dist archive is more complete now
- small fix for cython
Pyro 5.2
- travis CI python3.7 improvements
- serialization improvements/fixes
- reintroduced config object to make a possibility for a non-static (non-global) pyro configuration
Pyro 5.1
- python 3.5 or newer is now required
- socketutil module tweaks and cleanups
- added a bunch of tests, taken from pyro4 mostly, for the socketutil module
- moved to declarative setup.cfg rather than in setup.py
- made sure the license is included in the distribution
Pyro 5.0
- first public release