Stem

Latest version: v1.8.2

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

1.2

----------------------------

`Stem release 1.2 <https://blog.torproject.org/blog/stem-release-12>`_
added our `interactive Tor interpreter <tutorials/down_the_rabbit_hole.html>`_
among numerous other improvements and fixes.

* **Controller**

* New, better :func:`~stem.connection.connect` function that deprecates :func:`~stem.connection.connect_port` and :func:`~stem.connection.connect_socket_file`
* Added :func:`~stem.control.Controller.is_newnym_available` and :func:`~stem.control.Controller.get_newnym_wait` methods to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.get_ports` and :func:`~stem.control.Controller.get_listeners` methods to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.drop_guards` (:ticket:`archive-10032`, :spec:`7c6c7fc`)
* Added the id attribute to :class:`~stem.response.events.ORConnEvent` (:spec:`6f2919a`)
* Added `support for CONN_BW events <api/response.htmlstem.response.events.ConnectionBandwidthEvent>`_ (:spec:`6f2919a`)
* Added `support for CIRC_BW events <api/response.htmlstem.response.events.CircuitBandwidthEvent>`_ (:spec:`6f2919a`)
* Added `support for CELL_STATS events <api/response.htmlstem.response.events.CellStatsEvent>`_ (:spec:`6f2919a`)
* Added `support for TB_EMPTY events <api/response.htmlstem.response.events.TokenBucketEmptyEvent>`_ (:spec:`6f2919a`)
* Added `support for HS_DESC events <api/response.htmlstem.response.events.HSDescEvent>`_ (:ticket:`archive-10807`, :spec:`a67ac4d`)
* Changed :func:`~stem.control.Controller.get_network_status` and :func:`~stem.control.Controller.get_network_statuses` to provide :class:`~stem.descriptor.router_status_entry.RouterStatusEntryMicroV3` if Tor is using microdescriptors (:ticket:`archive-7646`)
* The :func:`~stem.connection.connect_port` and :func:`~stem.connection.connect_socket_file` didn't properly mark the Controller it returned as being authenticated, causing event listening among other things to fail
* The :func:`~stem.control.Controller.add_event_listener` method couldn't accept event types that Stem didn't already recognize
* The :class:`~stem.exit_policy.ExitPolicy` class couldn't be pickled
* Tor instances spawned with :func:`~stem.process.launch_tor` and :func:`~stem.process.launch_tor_with_config` could hang due to unread stdout content, we now close stdout and stderr once tor finishes bootstrapping (:ticket:`archive-9862`)

* **Descriptors**

* Added tarfile support to :func:`~stem.descriptor.__init__.parse_file` (:ticket:`archive-10977`)
* Added microdescriptor's new identifier and identifier_type attributes (:spec:`22cda72`)

* **Utilities**

* Added the `stem.util.test_tools <api/util/test_tools.html>`_ module
* Started vending the `stem.util.tor_tools <api/util/tor_tools.html>`_ module
* Added :func:`stem.util.connection.port_usage`
* Added :func:`stem.util.system.files_with_suffix`

* **Interpreter**

* Initial release of our `interactive Tor interpreter <tutorials/down_the_rabbit_hole.html>`_!

* **Website**

* Added a section with `example scripts <tutorials/double_double_toil_and_trouble.htmlscripts>`_.
* Made FAQ and other sections quite a bit more succinct.

* **Version 1.2.2** (June 7th, 2014) - fixed an issue where the stem.util.conf
module would fail under Python 2.6 with an AttributeError (:ticket:`archive-12223`)

* **Version 1.2.1** (June 3rd, 2014) - fixed an issue where descriptor
parsersing would fail under Python 3.x with a TypeError (:ticket:`archive-12185`)

.. _version_1.1:

1.1

--------------------------------

`Stem release 1.1 <https://blog.torproject.org/blog/stem-release-11>`_
introduced `remote descriptor fetching <api/descriptor/remote.html>`_,
`connection resolution <tutorials/east_of_the_sun.htmlconnection-resolution>`_
and a myriad of smaller improvements and fixes.

* **Controller**

* :func:`~stem.control.Controller.get_network_status` and :func:`~stem.control.Controller.get_network_statuses` now provide v3 rather than v2 directory information (:ticket:`archive-7953`, :spec:`d2b7ebb`)
* :class:`~stem.response.events.AddrMapEvent` support for the new CACHED argument (:ticket:`archive-8596`, :spec:`25b0d43`)
* :func:`~stem.control.Controller.attach_stream` could encounter an undocumented 555 response (:ticket:`archive-8701`, :spec:`7286576`)
* :class:`~stem.descriptor.server_descriptor.RelayDescriptor` digest validation was broken when dealing with non-unicode content with Python 3 (:ticket:`archive-8755`)
* The :class:`~stem.control.Controller` use of cached content wasn't thread safe (:ticket:`archive-8607`)
* Added :func:`~stem.control.Controller.get_user` method to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.get_pid` method to the :class:`~stem.control.Controller`
* :class:`~stem.response.events.StreamEvent` didn't recognize IPv6 addresses (:ticket:`archive-9181`)
* :func:`~stem.control.Controller.get_conf` mistakenly cached hidden service related options (:ticket:`archive-9792`)
* Added `support for TRANSPORT_LAUNCHED events <api/response.htmlstem.response.events.TransportLaunchedEvent>`_ (:spec:`48f6dd0`)

* **Descriptors**

* Added the `stem.descriptor.remote <api/descriptor/remote.html>`_ module.
* Added support for `TorDNSEL exit lists <api/descriptor/tordnsel.html>`_ (:ticket:`archive-8255`)
* The :class:`~stem.descriptor.reader.DescriptorReader` mishandled relative paths (:ticket:`archive-8815`)

* **Utilities**

* Connection resolution via the :func:`~stem.util.connection.get_connections` function (:ticket:`archive-7910`)
* :func:`~stem.util.system.set_process_name` inserted spaces between characters (:ticket:`archive-8631`)
* :func:`~stem.util.system.pid_by_name` can now pull for all processes with a given name
* :func:`~stem.util.system.call` ignored the subprocess' exit status
* Added :func:`stem.util.system.name_by_pid`
* Added :func:`stem.util.system.user`
* Added :func:`stem.util.system.start_time`
* Added :func:`stem.util.system.bsd_jail_path`
* Added :func:`stem.util.system.is_tarfile`
* Added :func:`stem.util.connection.is_private_address`

* **Website**

* Overhaul of Stem's `download page <download.html>`_. This included several
improvements, most notably the addition of PyPI, Ubuntu, Fedora, Slackware,
and FreeBSD.
* Replaced default sphinx header with a navbar menu.
* Added this change log.
* Added the `FAQ page <faq.html>`_.
* Settled on a `logo
<http://www.wpclipart.com/plants/assorted/P/plant_stem.png.html>`_ for
Stem.
* Expanded the `client usage tutorial <tutorials/to_russia_with_love.html>`_
to cover SocksiPy and include an example for polling Twitter.
* Subtler buttons for the frontpage (`before
<https://www.atagar.com/transfer/stem_frontpage/before.png>`_ and `after
<https://www.atagar.com/transfer/stem_frontpage/after.png>`_).

* **Version 1.1.1** (November 9th, 2013) - fixed an issue where imports of stem.util.system
would fail with an ImportError for pwd under Windows (:ticket:`archive-10072`)

.. _version_1.0:

1.0

------------------------------

This was the `initial release of Stem
<https://blog.torproject.org/blog/stem-release-10>`_.

* **Version 1.0.1** (March 27th, 2013) - fixed an issue where installing with
Python 3.x (python3 setup.py install) resulted in a stacktrace

Page 2 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.