Greetings wonderful world. January has been delightfully focused on a couple
substantial feature branches that are now merged!
--------------------------------------------------------------------------------
Descriptor Lazy Loading
--------------------------------------------------------------------------------
When reading descriptors without validation (which is now the default) Stem is
25-70% faster!
https://lists.torproject.org/pipermail/tor-dev/2015-January/008211.html
This is because we now parse descriptors fields on-demand. Just need a server
descriptor's exit policy? That's all we'll bother reading. This is why the
heavier the descriptor type the larger the benefit.
--------------------------------------------------------------------------------
Unified Python 2/3 Codebase
--------------------------------------------------------------------------------
Thanks to Foxboron Stem now has a unified python 2/3 codebase!
https://trac.torproject.org/projects/tor/ticket/14075
This means that Stem now runs directly with any version of python from 2.6 to
3.x. Prior to this Stem did a 2to3 export when you installed it to provide
cross-version compatibility.
For users, the benefit of Foxboron's overhaul is that python3 installation and
test runs are now much, much quicker.
--------------------------------------------------------------------------------
Beside these a few other noteworthy tasks were...
* Nick had a handful of suggestions for testing improvements, neatest of which
was to include the command to re-run just individual tests when we have a
failure. (#14113)
* Our port_usage() function always returned None. (#14046)
* Proc connection resolution could fail on busy systems. (#14048)
* Fixed how the 'strict' argument works with exit policies. (#14314)
Cheers! -Damian