Release Notes
Table of Contents
3.0.7
- Moving to git as source control
- Build script: more egg formats; register in pypi; remove svn; auto-generate license.py as well
- Cosmetic touches to Connection: separate serve into _recv and dispatch
- Shutdown socket before closing (SHUT_RDWR) to prevent TIME_WAIT and other problems with various *nixes
- PipeStream: use low-level file APIs (os.read, os.write) to prevent stdio-level buffering that messed up select
- classic_server.py: open logfile for writing (was opened for reading)
- registry_server.py: type of timeout is now int (was str)
- utils/server.py: better handling of sockets; fix python 2.4 syntax issue
- ForkingServer: re-register SIGCHLD handler after handling that signal, to support non-BSD-compliant platforms where after the invocation of the signal handler, the handler is reset
3.0.6
- Handle metaclasses better in inspect_methods
- vinegar.py: handle old-style-class exceptions better; python 2.4 issues
- VdbAuthenticator: when loading files, open for read only; API changes (from_dict instead of from_users), from_file accepts open-mode
- ForkingServer: better handling of SIGCHLD
3.0.5
- setup.py now also creates egg files
- Slightly improved servers/vdbconf.py
- Fixes to utis/server.py:
- The authenticator is now invoked by _accept_client, which means it is invoked on the client's context (thread or child process). This solves a problem with the forking server having a TLS authenticator.
- Changed the forking server to catch SIGCHLD instead of using double-fork.
3.0.4
- Fix: inspect_methods used dir and getattr to inspect the given object; this caused a problem with premature activation of properties (as they are activated by getattr). Now it inspect the object's type instead, following the MRO by itself, to avoid possible side effects.
3.0.3
- Changed versioning scheme: now 3.0.3 instead of 3.03, and the version tuple is (3, 0, 3)
- Added servers/vdbconf.py - a utility to manage verifier databases (used by tlslite)
- Added the --vdb switch to classic_server.py, which invokes a secure server (TLS) with the given VDB file.
3.02
- Authenticators: authenticated servers now store the credentials of the connection in conn._config.credentials
- Registry: added UDP and TCP registry servers and clients (from rpyc.utils.registry import …)
- Minor bug fixes
- More tests
- The test-suite now runs under python2.4 too
3.01
- Fixes some minor issues/bugs
- The registry server can now be instantiated (no longer a singleton) and customized, and RPyC server can be customized to use the different registry.
3.00
Known Issues
- comparison - comparing remote and local objects will usually not work, but there's nothing to do about it.
- 64bit platforms: since channels use 32bit length field, you can't pass data/strings over 4gb. this is not a real limitation (unless you have a superfast local network and tons of RAM), but as 64bit python becomes the defacto standard, i will upgrade channels to 64bit length field.
- threads - in face of no better solution, and after consulting many people, i resorted to setting a timeout on the underlying recv(). this is not an elegant way, but all other solution required rewriting all sorts of threading primitives and were not necessarily deadlock/race-free. as the zen says, "practicality beats purity".
- win32 - pipes supported, but pipes on windows work like shit
3.00 RC2
Known Issues
- comparison - comparing remote and local objects will usually not work, but there's nothing to do about it.
- 64bit platforms: since channels use 32bit length field, you can't pass data/strings over 4gb. this is not a real limitation (unless you have a superfast local network and tons of RAM), but as 64bit python becomes the defacto standard, i will upgrade channels to 64bit length field.
- threads - in face of no better solution, and after consulting many people, i resorted to setting a timeout on the underlying recv(). this is not an elegant way, but all other solution required rewriting all sorts of threading primitives and were not necessarily deadlock/race-free. as the zen says, "practicality beats purity".
- win32 - pipe server doesn't work
page_revision: 12, last_edited: 1254268081|%e %b %Y, %H:%M %Z (%O ago)







