New in version 0.9.1
February 11th, 2014
- put test/ directory at the top level
- using “coverage” tool instead of custom script
- using coveralls.io and travis-ci for test coverage and continuous integration
- issue #56: added Circuit.close() and Stream.close() starting from aagbsn’s patch
- parsing issues with multi-line keyword discovered and resolved
- preserve router nicks from long-names if consensus lacks an entry (e.g. bridges)
- using Twine for releases
- Wheel release now also available
- issue #57: “python setup.py develop” now supported
- issue #59: if tor_launch() times out, Tor is properly killed (starting with pull-request from Ryman)
- experimental docker.io-based tests (for HS listening, and tor_launch() timeouts)
- issue #55: pubkey link on readthedocs
- issue #63
- clean up GeoIP handling, and support pygeoip both pre and post 0.3
- slightly improve unit-test coverage (now at 97%, 61 lines of 2031 missing)
- added a Walkthrough to the documentation
New in version 0.8.0 (May 13th, 2013)
- API change: ICircuitListener.circuit_failed, .circuit_closed and IStreamListener.stream_failed, .stream_closed, and .stream_detach all include any keywords in the notification method.
- Several cleanups + new example from lukaslueg (now pep8 clean!) launch_tor() can take a timeout (hellais); ipaddr is really optional now; TorState can create circuits without an explicit path; passwords use a password callback (possibly Deferred).
New in version 0.7 (November 22nd, 2012)
- The config object is now hooked up correctly after launch_tor().
- The data_dir provided to TCPHiddenServiceEndpoint is now handled properly.
- A .tac example was provided. TorConfig().hiddenservices.append(hs) now works properly with no attached protocol.
New in version 0.6 (October 13th, 2012)
- This version adds Debian packaging (mmaker), fully removes psutil, changes the API for launch_tor() to use TorConfig instead of args, makes TorConfig.save() work properly with no connected Tor, fixes incorrect handling of 650 immediately after connection, adds pep8 compliance, uses assertEqual in tests, makes messages with embedded keywords work properly, fixes a bug with setup.py and pip, consolidates requirements (from aagbsn), increases test coverage, adds various minor fixes, and uses https URIs for ReadTheDocs.