Skip to content
This repository has been archived by the owner on Mar 12, 2020. It is now read-only.

1.1.0

Compare
Choose a tag to compare
@elazar elazar released this 04 Apr 15:14
· 74 commits to master since this release
  • Issues with iteration of the event queue causing it to be emptied and use of multiple connections causing incorrect routing of events were fixed; see upgrade notes below for more details (@Renegade334, @PSchwisow, @elazar, h/t @weierophinney)
  • The Composer configuration now allows for the latest available version of Monolog between 1.6 and 2.0 to be used (@hason)
  • The Travis CI configuraton now include PHP 7 nightly builds (@PSchwisow)
  • The default plugin processors for Bot now include ClientInjector, which injects the ClientInterface instance used by the bot into any plugins implementing ClientAwareInterface to support things like re-connecting when a connection is terminated (@hashworks)
  • AbstractPlugin now has an escapeParam() method for handling newline and null bytes that may be contained in values intended to be used as IRC command parameters (@sitedyno)
  • Legacy @license docblock tags inconsistent with the actual license were updated (@Renegade334)
  • The non-standard PROTOCTL command, which is supported by several major servers, is now supported (@Renegade334)

Upgrade Notes

This release introduces a few minor BC breaks that may affect a small number of users.

If you are using a custom EventQueueInterface implementation:

  • EventQueueInterface now implements \IteratorAggregate instead of \Iterator
  • Note that your implementation can no longer be directly injected into Bot using configuration. Instead, you must create an implementation of EventQueueFactoryInterface that returns instances of your EventQueueInterface implementation and inject the former using the new 'eventQueueFactory' configuration setting. This change was made to facilitate use of a separate event queue per connection in order to correctly route outgoing events when multiple connections are in use.

Also, note that the default EventQueueInterface implementation, EventQueue, no longer extends \SplPriorityQueue directly. This change was made to fix an issue with iteration of the event queue causing it to be emptied.