Skip to content

Releases: dapphp/TorUtils

Release v1.15.3

14 Nov 06:19
Compare
Choose a tag to compare

This fixes 2 minor issues introduced in the v1.15.1 and v1.15.2 releases.

Release v1.15.1

14 Nov 05:58
Compare
Choose a tag to compare

This is a bugfix & maintenance release.

CHANGELOG

  • Various PHP 8 compatibility fixes
  • Handle keyword overload-general in router/directory status
  • Remove dirauth Faravahar
  • Relays no longer advertise DirPort; switch to using only directory authorities in DirectoryClient
  • Add DirectoryClient methods for getting status vote documents from authorities
  • Parser fixes for reading router status and ADDRMAP replies fix for parsing delimited data

2.0.0alpha1

27 Dec 20:53
Compare
Choose a tag to compare
2.0.0alpha1 Pre-release
Pre-release

This release is an alpha release for version 2.0 of TorUtils.

The library now expects to be managed by Composer and no longer requires various files and expects them to be autoloaded. If you are including this library directly without a PSR-4 autoloader, you will need to require any files you expect to use.

Another big change in 2.0 is how asynchronous controller events are handled by the ControlClient. If you were not using ControlClient::setEvents() to receive asynchronous controller events with ControlClient then this change doesn't effect you. Individual controller events are now subclassed from Event\AsyncEvent and are passed to the async callback function. Events that your application doesn't report it is aware of are returned as ProtocolReply objects to maintain forward compatibility with new events introduced in later version.

There have been fixes to how ProtocolReply responses are handled which may break some code that would reference property names in reply objects like $reply[0]['PropertyName']. It no longer attempts to parse key=value lines automatically for every reply. If you use ProtocolReply directly and were making use of any key names, you will now need to use Parser::parseDelimitedData() on reply lines that you explicitly expect key=value data to be returned in.

Additional changes in this release:

  • The minimum PHP version required is PHP 7.2 (1.1 required PHP 5.5) (7726b08)
  • Remove require statements in favor of Composer's autoloader (e478723)
  • Upgrade to phpunit 8.5 (b9056f5)
  • Bugfix: ControlClient incorrectly handled some data replies that started with 25x (a662cdf)
  • Removed deprecated function TorDNSEL::IpPort(). Use TorDNSEL::isTor() instead. (85eafc1)
  • Bugfix: Problems reading router status and ADDRMAP replies in ControlClient (85eafc1)
  • New interface for handling asynchronous controller events in ControlClient (30bde62)
  • ControlClient examples no longer specify default password "password" (521a59c)
  • Update some older code to be more compliant with PSR-12 (0bc28e2)
  • Minor TorCurlWrapper enhancements and PSR-12 compliance (956013e)

Release 1.15.0

04 Dec 07:07
Compare
Choose a tag to compare

This is a bugfix & maintenance release. An issue causing an exception for some macOS clients when parsing authentication replies has been fixed. The TorDNSEL client works with Tor's new DNSEL service (May 2020). The next release includes significant refactoring and is to be released as version 2.0. It contains enhancements to the ControlClient and improved async event handling for processing controller events.

CHANGELOG

  • Fixes #5 - Updates to TorDNSEL; add TorDNSEL::isTor(); add TorDNSEL::getFingerprints(); IPv6 readiness for when the Tor DNSEL service supports IPv6 (29d5d49)
  • Update directory fallbacks in DirectoryClient (4d3efa9)
  • Fix bug with parsing quoted keyword=value data; fixes issue where authentication would throw an exception on some macOS clients (fca3344)
  • Add method to TorCurlWrapper to get the complete HTTP status line from last response (7c59ee3)
  • Note that the correct minimum PHP version is now 5.5 (7aa4fc6)

1.1.13

26 May 23:03
Compare
Choose a tag to compare

This is a maintenance release which adds support for some new Tor controller options added in recent Tor releases. It also updates the directory fallback lists in DirectoryClient with the most recent list from Tor's configuration, with non-working relays removed.

CHANGELOG

  • Update directory fallback list in DirectoryClient (57216de)
  • Add support for "md/all" in ControlClient::getInfoMicroDescriptor() (aab8755)
  • Add method ControlClient::getInfoUptime() to get the uptime of Tor daemon (303ff1b)
  • Add support in ControlClient::getListeners() for ExtORPort and HTTPTunnelPort (90aadf1)
  • Add ControlClient::SIGNAL_ACTIVE and SIGNAL_DORMANT constants for use with ControlClient::signal() (4ffdb49)
  • Add getDirectoryAuthorities() and getDirectoryFallbacks() methods to DirectoryClient (d3151f3)