Changelog History
Page 3
-
v3.2.1 Changes
โ Adding missing import (
#52
_)๐ Fixing site documentation issue (
#54
_)Fixing Python 3 incompatibilities (
#58
,#59
,#60
,#61
,#66
_)๐ Fixing
slice
issue (#62
_)โ Added the
endpoints
parameter to the config dict of connection (only on the server side)
.. _#52: https://github.com/tomerfiliba/rpyc/issues/52 .. _#54: https://github.com/tomerfiliba/rpyc/issues/54 .. _#58: https://github.com/tomerfiliba/rpyc/issues/58 .. _#59: https://github.com/tomerfiliba/rpyc/issues/59 .. _#60: https://github.com/tomerfiliba/rpyc/issues/60 .. _#61: https://github.com/tomerfiliba/rpyc/issues/61 .. _#62: https://github.com/tomerfiliba/rpyc/issues/62 .. _#66: https://github.com/tomerfiliba/rpyc/issues/66
-
v3.2.0 Changes
โ Added support for IPv6 (
#28
_)โ Added SSH tunneling support (
ssh_connect
)โ Added
restricted
object wrapping๐ Several fixes to
AsyncResult
and weak referencesโ Added the
ThreadPoolServer
๐ Fixed some minor (harmless) races that caused tracebacks occasionally when server-threads terminated
Fixes issues
#8
,#41
,#42
,#43
,#46
, and#49
.Converted all
CRLF
toLF
(#40
_)โฌ๏ธ Dropped TLSlite integration (
#45
_). We've been dragging this corpse for too long.๐ New documentation (both the website and docstrings) written in Sphinx
- The site has moved to
sourceforge <http://rpyc.sourceforge.net>
_. Wikidot had served us well over the past three years, but they began displaying way too many ads and didn't support uploading files overrsync
, which made my life hard. - New docs are part of the git repository. Updating the site is as easy as
make upload
- The site has moved to
Python 3.0-3.2 support
.. _#8: https://github.com/tomerfiliba/rpyc/issues/8 .. _#28: https://github.com/tomerfiliba/rpyc/issues/28 .. _#40: https://github.com/tomerfiliba/rpyc/issues/40 .. _#41: https://github.com/tomerfiliba/rpyc/issues/41 .. _#42: https://github.com/tomerfiliba/rpyc/issues/42 .. _#43: https://github.com/tomerfiliba/rpyc/issues/43 .. _#45: https://github.com/tomerfiliba/rpyc/issues/45 .. _#46: https://github.com/tomerfiliba/rpyc/issues/46 .. _#49: https://github.com/tomerfiliba/rpyc/issues/49
-
v3.1.0 Changes
What's New ^
๐ Supports CPython 2.4-2.7, IronPython, and Jython
tlslite <http://sourceforge.net/projects/rpyc/files/tlslite>
_ has been ported to python 2.5-2.7 (the original library targeted 2.3 and 2.4)๐ Initial python 3 support -- not finished!
๐ Moves to a more conventional directory structure
๐ Moves to more standard facilities (
logging
,nosetests
)๐ Solves a major performance issue with the
BgServingThread
(#32
_), by removing the contention between the two threads that share the connectionFixes lots of issues concerning the ForkingServer (
#3
,#7
, and#15
_)Many small bug fixes (
#16
,#13
,#4
_, etc.)โ Integrates with the built-in
ssl
module for SSL supportrpyc_classic.py
now takes several--ssl-xxx
switches (see--help
for more info)
๐ Fixes typos, running pylint, etc.
.. _#3: https://github.com/tomerfiliba/rpyc/issues/3 .. _#4: https://github.com/tomerfiliba/rpyc/issues/4 .. _#7: https://github.com/tomerfiliba/rpyc/issues/7 .. _#13: https://github.com/tomerfiliba/rpyc/issues/13 .. _#15: https://github.com/tomerfiliba/rpyc/issues/15 .. _#16: https://github.com/tomerfiliba/rpyc/issues/16 .. _#32: https://github.com/tomerfiliba/rpyc/issues/32
Breakage from 3.0.7
๐ Removing egg builds (we're pure python, and eggs just messed up the build)
๐ฆ Package layout changed drastically, and some files were renamed
- The
servers/
directory was renamedscripts/
classic_server.py
was renamedrpyc_classic.py
- They scripts now install to your python scripts directory (no longer part
of the package), e.g.
C:\python27\Scripts
- The
rpyc_classic.py
now takes--register
in order to register, instead of--dont-register
, which was a silly choice.classic.tls_connect
,factory.tls_connect
were renamedtlslite_connect
, to distinguish it from the newssl_connect
.
-
v3.0.7 Changes
Moving to git as source control
๐ Build script: more egg formats; register in
pypi <http://pypi.python.org/pypi/RPyC/>
_ ; remove svn; auto-generatelicense.py
as well๐ Cosmetic touches to
Connection
: separateserve
into_recv
anddispatch
Shutdown socket before closing (
SHUT_RDWR
) to preventTIME_WAIT
and other problems with various UnixesPipeStream
: use low-level file APIs (os.read
,os.write
) to prevent stdio-level buffering that messed upselect
๐ฒ
classic_server.py
: open logfile for writing (was opened for reading)โฑ
registry_server.py
: type oftimeout
is nowint
(wasstr
)๐
utils/server.py
: better handling of sockets; fix python 2.4 syntax issue๐ฆ
ForkingServer
: re-registerSIGCHLD
handler after handling that signal, to support non-BSD-compliant platforms where after the invocation of the signal handler, the handler is reset
-
v3.0.6 Changes
๐ Handle metaclasses better in
inspect_methods
๐
vinegar.py
: handle old-style-class exceptions better; python 2.4 issuesVdbAuthenticator
: when loading files, open for read only; API changes (from_dict
instead offrom_users
),from_file
accepts open-mode๐
ForkingServer
: better handling of SIGCHLD
-
v3.0.5 Changes
setup.py
now also creates egg filesSlightly 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 handle
SIGCHLD
instead of using double-fork.
- The authenticator is now invoked by
-
v3.0.4 Changes
- ๐ Fix:
inspect_methods
useddir
andgetattr
to inspect the given object; this caused a problem with premature activation of properties (as they are activated bygetattr
). Now it inspects the object's type instead, following the MRO by itself, to avoid possible side effects.
- ๐ Fix:
-
v3.0.3 Changes
๐ 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 bytlslite
)โ Added the
--vdb
switch toclassic_server.py
, which invokes a secure server (TLS) with the given VDB file.
-
v3.00 Changes
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 super-fast 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".
๐ Windows - pipes supported, but Win32 pipes work like shit