Releases: shizmob/pydle
Releases · shizmob/pydle
pydle v0.8.2 - "unsavoury unicorn"
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
- IRCv3 metadata support!
- IRCv3.2 capability update support!
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"
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)
andClient.kick(channel, target, reason=None)
to API. - Added client-side ping timeout.
- Added APIs for asynchronous operations such as
pydle.coroutine
,pydle.parallel
andpydle.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
andpydle.features.ircv3_2
. - Changed setting
Client.nickname
to change nickname toClient.set_nickname
API. - Changed
Client.mode(target, *modes)
toClient.set_mode(target, *modes)
. - Made
Client.users
andClient.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 topydle-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"
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
andpydle.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
andpydle.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"
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