Stem Docs

Change Log

Change Log

The following is a log of all user-facing changes to Stem, both released and unreleased. For a monthly report on work being done see my development log.

Versioning

Stem uses semantic versioning, which means that versions consist of three numbers (such as '1.2.4'). These are used to convey the kind of backward compatibility a release has...

  • The first value is the major version. This changes infrequently, and indicates that backward incompatible changes have been made (such as the removal of deprecated functions).
  • The second value is the minor version. This is the most common kind of release, and denotes that the improvements are backward compatible.
  • The third value is the patch version. When a Stem release has a major issue another release is made which fixes just that problem. These do not contain substantial improvements or new features. This value is sometimes left off to indicate all releases with a given major/minor version.

Unreleased

The following are only available within Stem's git repository.

  • Controller
  • Website

Version 1.4 (May 13th, 2015)

Stem's 1.4 release brings with it new hidden service capabilities. Most notably, ephemeral hidden services and the ability to read hidden service descriptors. This release also changes descriptor validation to now be opt-in rather than opt-out. When unvalidated content is lazy-loaded, greatly improving our performance.

And last, Stem also now runs directly under both python2 and python3 without a 2to3 conversion (ticket 14075)!

  • Controller
  • Descriptors
  • Lazy-loading descriptors, improving performance by 25-70% depending on what type it is (ticket 14011)
  • Added support for hidden service descriptors (ticket 15004)
  • When reading sanitised bridge descriptors (server or extrainfo), parse_file() treated the whole file as a single descriptor
  • The DirectoryAuthority 'fingerprint' attribute was actually its 'v3ident'
  • Added consensus' new package attribute (spec)
  • Added extra info' new hs_stats_end, hs_rend_cells, hs_rend_cells_attr, hs_dir_onions_seen, and hs_dir_onions_seen_attr attributes (spec)
  • Updating Faravahar's address (ticket 14487)
  • Utilities
  • Website
  • Version 1.4.1 (May 18th, 2015) - fixed issue where descriptors couldn't be unpickled (ticket 16054) and a parsing issue for router status entry bandwidth lines (ticket 16048)

Version 1.3 (December 22nd, 2014)

With Stem's 1.3 release it's now much easier to work with hidden services, 40% faster to read decriptors, and includes a myriad of other improvements. For a nice description of the changes this brings see Nathan Willis' LWN article.

  • Controller
  • Descriptors
  • Utilities
  • Interpreter
  • The /info command errored for relays without contact information
  • Website

Version 1.2 (June 1st, 2014)

Stem release 1.2 added our interactive Tor interpreter among numerous other improvements and fixes.

  • Controller
  • Descriptors
  • Utilities
  • Interpreter
  • Website
  • Added a section with example scripts.
  • 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 12223)
  • Version 1.2.1 (June 3rd, 2014) - fixed an issue where descriptor parsersing would fail under Python 3.x with a TypeError (ticket 12185)

Version 1.1 (October 14th, 2013)

Stem release 1.1 introduced remote descriptor fetching, connection resolution and a myriad of smaller improvements and fixes.

  • Controller
  • Descriptors
  • Utilities
  • Website
  • Overhaul of Stem's download page. 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.
  • Settled on a logo for Stem.
  • Expanded the client usage tutorial to cover SocksiPy and include an example for polling Twitter.
  • Subtler buttons for the frontpage (before and after).
  • 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 10072)

Version 1.0 (March 26th, 2013)

This was the initial release of Stem.

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