All Versions
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 <>_. 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: .. _#28: .. _#40: .. _#41: .. _#42: .. _#43: .. _#45: .. _#46: .. _#49:

  • v3.1.0 Changes

    What's New ^

    • ๐Ÿ‘Œ Supports CPython 2.4-2.7, IronPython, and Jython

    • 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

      • now takes several --ssl-xxx switches (see --help for more info)
    • ๐Ÿ›  Fixes typos, running pylint, etc.

    .. _#3: .. _#4: .. _#7: .. _#13: .. _#15: .. _#16: .. _#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/
      • was renamed
      • They scripts now install to your python scripts directory (no longer part of the package), e.g. C:\python27\Scripts
    • 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 <>_ ; remove svn; auto-generate 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.write) to prevent stdio-level buffering that messed up select

    • ๐ŸŒฒ open logfile for writing (was opened for reading)

    • โฑ type of timeout is now int (was str)

    • ๐Ÿ‘ utils/ 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

    • ๐Ÿ’… 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

    • now also creates egg files

    • Slightly improved servers/

    • ๐Ÿ›  Fixes to utis/

      • 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/ - a utility to manage verifier databases (used by tlslite)

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