Skip to content

Releases: shizmob/pydle

pydle v0.8.2 - "unsavoury unicorn"

01 Mar 01:49
Compare
Choose a tag to compare
Pre-release

The bugfix release for v0.8.0. v0.8.1 has been skipped due clerical errors. Some build errors have been fixed, as well as unsensible behavior as a result of refactoring and before.

New features

Bugfixes

  • Clean up documentation building and make it work outside of Read The Docs.
  • Fix issue where setup.py would fail if you did not already have Tornado installed.
  • Fix exception handling issue in coroutines.
  • Fix failure to shut down event loop after disconnecting from server, leading to hangs.
  • Allow sending empty messages to a server, even ircd-hybrid derivatives.

pydle v0.8.0 - "tasteless tortoise"

30 Jul 22:38
Compare
Choose a tag to compare
Pre-release

pydle has undergone a lot of refactoring in this release. Around 90% of the code was rewritten, along with a whole slew of stability and protocol fixes, and a move from a polling system to a fully asynchronous event loop.

New features

  • Added support for WHOX.
  • Added support for IRCv3.2 message tagging
  • Added support for IRCv3.2 online status monitoring.
  • Added partial support for an IRC account system as used by a lot of IRC service systems. Currently restricted to low-level internals, user database, and WHOIS results.
  • Added WHOIS (Client.whois(nick)) and WHOWAS (Client.whowas(nick)) support.
  • Added Client.set_topic(channel, topic=None) and Client.kick(channel, target, reason=None) to API.
  • Added client-side ping timeout.
  • Added APIs for asynchronous operations such as pydle.coroutine, pydle.parallel and pydle.Future.
  • Added the ability to pass a PEM password for a TLS keyfile.
  • Added setting the source address to connect from.
  • Documentation! See http://pydle.readthedocs.org.

Changes

  • Moved to an asynchronous event loop system using Tornado as backend, refactored operations as a result of that.
  • Moved from homebrew log solution to Python's logging module.
  • Moved base RFC1459 IRC functionality to pydle.features.rfc1459.
  • Changed message system to add an IRC message class for extensibility and modifed raw callbacks to take them.
  • Grouped IRCv3.1 and IRCv3.2 features into pydle.features.ircv3_1 and pydle.features.ircv3_2.
  • Changed setting Client.nickname to change nickname to Client.set_nickname API.
  • Changed Client.mode(target, *modes) to Client.set_mode(target, *modes).
  • Made Client.users and Client.channels a normalizing dict, so that case does not mapper when looking up entries.
  • Made it always safe for features to call super().on_raw_<command>(message) in their command handlers.
  • Renamed the installed irccat utility to pydle-irccat to prevent name conflicts.
  • A whole slew of bugfixes and stability fixes!

Removals

  • Remove STARTTLS support for now due its lack of testing.

pydle v0.7.1 - "stinky salamander"

30 Jan 13:10
Compare
Choose a tag to compare
Pre-release

A small bugfix release, adding some additional protections and API sanity.

Features

  • Add IRC message throttling to connection core, to prevent server-side kills due excess flooding.

Bugfixes

  • pydle.Client.message and pydle.Client.notice will now split up messages that are too long to send in one go and send them as seperate chunked messages.
  • pydle.Client.message and pydle.Client.notice will now properly take messages with newlines into account and split them up.
  • Fix crash in pydle.ConnectionPool when client unexpectedly disconnected from server.

pydle v0.7.0 - "reeky reptile"

30 Jan 03:02
Compare
Choose a tag to compare
Pre-release

The very first public pydle release!

Features

  • RFC1459-compliant base client
  • TLS support: pydle.features.tls
  • CTCP support: pydle.features.ctcp
  • ISUPPORT/PROTOCOL support: pydle.features.isupport
  • Capability negotiation support: pydle.features.cap
  • Basic SASL PLAIN authentication support (requires puresasl): pydle.features.sasl
  • IRCv3.1 support: pydle.features.ircv3_1
  • Partial IRCv3.2 support: pydle.features.ircv3_2
  • ClientPool to run multiple clients at once with proper scheduling