-------
April 20, 2017
* `txtorcon-0.19.0.tar.gz <http://fjblvrw2jrxnhtg67qpbzi45r7ofojaoo3orzykesly2j3c2m3htapid.onion/txtorcon-0.19.0.tar.gz>`_ (`PyPI <https://pypi.python.org/pypi/txtorcon/0.19.0>`_ (:download:`local-sig </../signatues/txtorcon-0.19.0.tar.gz.asc>` or `github-sig <https://github.com/meejah/txtorcon/blob/main/signatues/txtorcon-0.19.0.tar.gz.asc?raw=true>`_) (`source <https://github.com/meejah/txtorcon/archive/v0.19.0.tar.gz>`_)
* Full Python3 support
* Drop `txsocksx` and use a custom implementation (this also
implements the custom Tor SOCKS5 methods RESOLVE and RESOLVE_PTR
* Drop support for older Twisted releases (12, 13 and 14 are no
longer supported).
* Add a top-level API object, :class:`txtorcon.Tor` that abstracts a
running Tor. Instances of this class are created with
:meth:`txtorcon.connect` or :meth:`txtorcon.launch`. These
instances are intended to be "the" high-level API and most users
shouldn't need anything else.
* Integrated support for `twisted.web.client.Agent`, baked into
:class:`txtorcon.Tor`. This allows simple, straightforward use of
treq_ or "raw" `twisted.web.client` for making client-type Web
requests via Tor. Automatically handles configuration of SOCKS
ports. See :meth:`txtorcon.Tor.web_agent`
* new high-level API for putting streams on specific Circuits. This
adds :meth:`txtorcon.Circuit.stream_via` and
:meth:`txtorcon.Circuit.web_agent` methods that work the same as
the "Tor" equivalent methods except they use a specific
circuit. This makes :meth:`txtorcon.TorState.set_attacher` the
"low-level" / "expert" interface. Most users should only need the
new API.
* big revamp / re-write of the documentation, including the new
`Programming Guide
<https://txtorcon.readthedocs.io/en/latest/guide.html>`_
* `Issue 203 <https://github.com/meejah/txtorcon/issues/203>`_
* new helper: :meth:`txtorcon.Router.get_onionoo_details`_
* new helper: :func:`txtorcon.util.create_tbb_web_headers`_
* `Issue 72 <https://github.com/meejah/txtorcon/issues/72>`_
* `Felipe Dau <https://github.com/felipedau>`_ added specific
`SocksError` subclasses for all the available SOCKS5 errors.
* (more) Python3 fixes from `rodrigc <https://github.com/rodrigc>`_
.. _Automat: https://github.com/glyph/automat
.. _treq: https://pypi.python.org/pypi/treq