All Versions
28
Latest Version
Avg Release Cycle
100 days
Latest Release
-

Changelog History
Page 3

  • 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 to LF (#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 over rsync, which made my life hard.
      • New docs are part of the git repository. Updating the site is as easy as make upload
    • 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 connection

    • Fixes 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 support

      • rpyc_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 renamed scripts/
      • classic_server.py was renamed rpyc_classic.py
      • They scripts now install to your python scripts directory (no longer part of the package), e.g. C:\python27\Scripts
    • 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 renamed tlslite_connect, to distinguish it from the new ssl_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-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 Unixes

    • 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

  • v3.0.6 Changes

    • ๐Ÿ– 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

  • v3.0.5 Changes

    • 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 handle SIGCHLD instead of using double-fork.
  • v3.0.4 Changes

    • ๐Ÿ›  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 inspects the object's type instead, following the MRO by itself, to avoid possible side effects.
  • 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 by tlslite)

    • โž• Added the --vdb switch to classic_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