NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
IRC (Internet Relay Chat) protocol library for Python
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 5 weeks to 1.3 years
Nearly every release is documented
notes for 54 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
127 releases · first in 2012
Refactored commands processing so now every command has a numeric and a name. Programs reliant on numeric values not yet defined can do so without bre
Refactored commands processing so now every command has a numeric and a name. Programs reliant on numeric values not yet defined can do so without breaking once they are defined. (#214)
Unconditionally close the socket, even if shutdown fails.
Unconditionally close the socket, even if shutdown fails. (#224)
12 Jul 2024
Unconditionally close the socket, even if shutdown fails. ( #224 )
One column per quarter.
Stop excluding scripts. Prevents docs and scripts from being installed.
Stop excluding scripts. Prevents docs and scripts from being installed. (#231)
12 Jul 2024
Stop excluding scripts. Prevents docs and scripts from being installed. ( #231 )
Fix SSL wrapper usage example in Factory docstring.
Fix SSL wrapper usage example in Factory docstring. (#228)
08 Jun 2024
Fix SSL wrapper usage example in Factory docstring. ( #228 )
Replace deprecated ssl.wrap_socket with SSLContext.wrap_socket and update examples in connection.py docs.
Replace deprecated ssl.wrap_socket with SSLContext.wrap_socket and update examples in connection.py docs. (#216)
28 Mar 2024
Replace deprecated ssl.wrap_socket with SSLContext.wrap_socket and update examples in connection.py docs. ( #216 )
No significant changes.
No significant changes.
Better handling of escape sequences in message tags.
Added support for SASL login. (#195)
Better handling of escape sequences in message tags. (#205)
12 Aug 2023
Added support for SASL login. ( #195 )
Better handling of escape sequences in message tags. ( #205 )
Features -------- - Require Python 3.8 or later.
Require Python 3.8 or later.
* #213: Pinned against jaraco.text 3.10 due to change in interface.
#213: Pinned against jaraco.text 3.10 due to change in interface.
12 Aug 2023
#213 : Pinned against jaraco.text 3.10 due to change in interface.
* #196: In irc.bot, avoid hanging idle when the first connection attempt fails.
#196: In irc.bot, avoid hanging idle when the first connection attempt fails.
15 Jul 2022
#196 : In irc.bot, avoid hanging idle when the first connection attempt fails.
SingleServerIRCBot no longer accepts reconnection_interval as a parameter.
SingleServerIRCBot no longer accepts reconnection_interval as a parameter.
Added server support for NOTICE commands.
Require Python 3.7 or later.
01 Jan 2022
SingleServerIRCBot no longer accepts reconnection_interval as a parameter.
Added server support for NOTICE commands.
Require Python 3.7 or later.
* #176: Fix issues with version number reporting. Restored version version number reporting in bot and client.
#176: Fix issues with version number reporting. Restored version version number reporting in bot and client.
08 Sep 2020
#176 : Fix issues with version number reporting. Restored version version number reporting in bot and client.
irc.client no longer exposes a VERSION or VERSION_STRING. To get the version, call importlib.metadata.version('irc') directly.
irc.client no longer exposes a VERSION or VERSION_STRING. To get the version, call importlib.metadata.version('irc') directly.
17 Jul 2020
irc.client no longer exposes a VERSION or VERSION_STRING . To get the version, call importlib.metadata.version('irc') directly.
* Require Python 3.6 or later.
Require Python 3.6 or later.
Rely on importlib_metadata _ for loading version from metadata. Removes implicit dependency on setuptools and pkg_resources.
Rely on importlib_metadata for loading version from metadata. Removes implicit dependency on setuptools and pkg_resources.
#158: The AsyncIO server now accepts a connection factory to enable features like SSL and IPv6 support.
#155: SimpleIRCClient now has a dcc method for initiating and associating a DCCConnection object with the client. DCCConnection.listen now accepts a address parameter. Deprecated SimpleIRCClient.dcc_listen and SimpleIRCClient.dcc_connect in favor of the better separation of concerns. Clients should replace:
client.dcc_connect(addr, port, type) client.dcc_listen(type)
with:
client.dcc(type).connect(addr, port) client.dcc(type).listen()
Removed irc.buffer module, deprecated in 14.2.
Removed irc.buffer module, deprecated in 14.2.
#153: Drop support for Python 3.3 and 2.7.
21 Oct 2018
Removed irc.buffer module, deprecated in 14.2.
#153 : Drop support for Python 3.3 and 2.7.
Long Term Service release for Python 2.7.
Long Term Service release for Python 2.7.
#149: AioConnection.connect moved to coroutine, added disconnect handling for AsyncIO.
01 Aug 2018
Long Term Service release for Python 2.7.
#149 : AioConnection.connect moved to coroutine, added disconnect handling for AsyncIO.
* #140: Methods now use 'connection' and 'event' for parameter names. * #135 via #144: Added AsyncIO implementation.
#140: Methods now use 'connection' and 'event' for parameter names.
#135 via #144: Added AsyncIO implementation.
20 May 2018
#140 : Methods now use ‘connection’ and ‘event’ for parameter names.
#135 via #144 : Added AsyncIO implementation.
* Package refresh and cleanup.
Package refresh and cleanup.
* #133: In irc.server, add support for ISON.
#133: In irc.server, add support for ISON.
* #131: Add Connection.encode and Connection.transmit_encoding to enable encodings other than UTF-8 to be used when transmitting text.
#131: Add Connection.encode and Connection.transmit_encoding to enable encodings other than UTF-8 to be used when transmitting text.
29 Oct 2017
#131 : Add Connection.encode and Connection.transmit_encoding to enable encodings other than UTF-8 to be used when transmitting text.
Removed deprecated execute_* methods on Connection and Reactor as introduced in 15.0.
Removed deprecated execute_* methods on Connection and Reactor as introduced in 15.0.
Fixed link in README.
23 Jun 2017
Removed deprecated execute_* methods on Connection and Reactor as introduced in 15.0.
Fixed link in README.
New send_items method takes star args for simplicity in the syntax and usage.
New send_items method takes star args for simplicity in the syntax and usage.
19 Apr 2017
New send_items method takes star args for simplicity in the syntax and usage.
Introduce ServerConnection.send_items, consolidating common behavior across many methods previously calling send_raw.
Introduce ServerConnection.send_items, consolidating common behavior across many methods previously calling send_raw.
19 Apr 2017
Introduce ServerConnection.send_items , consolidating common behavior across many methods previously calling send_raw .
Now publish documentation _ to Read The Docs.
Now publish documentation to Read The Docs.
* #119: Handle broken pipe exception in IRCClient _send() (server.py).
#119: Handle broken pipe exception in IRCClient _send() (server.py).
15 Nov 2016
#119 : Handle broken pipe exception in IRCClient _send() (server.py).
* #116: Correct invocation of execute_every.
#116: Correct invocation of execute_every.
* #115: Fix AttributeError in execute_at in scheduling support.
#115: Fix AttributeError in execute_at in scheduling support.
07 Oct 2016
#115 : Fix AttributeError in execute_at in scheduling support.
* #113: Use preferred scheduler in the bot implementation.
#113: Use preferred scheduler in the bot implementation.
Deprecated calls to Connection.execute_* and Reactor.execute_*. Instead, call the equivalently-named methods on the reactor's scheduler.
Deprecated calls to Connection.execute_* and Reactor.execute_*. Instead, call the equivalently-named methods on the reactor's scheduler.
12 Sep 2016
Deprecated calls to Connection.execute_* and Reactor.execute_*. Instead, call the equivalently-named methods on the reactor’s scheduler.
The event scheduling functionality has been decoupled from the client.Reactor object. Now the reactor will construct a Scheduler from the scheduler_cl
The event scheduling functionality has been decoupled from the client.Reactor object. Now the reactor will construct a Scheduler from the scheduler_class property, which must be an instance of irc.schedule.IScheduler.
The _on_schedule parameter is no longer accepted to the Reactor class. Implementations requiring a signal during scheduling should hook into the add method of the relevant scheduler class.
Moved the underlying scheduler implementation to tempora, allowing it to be re-used for other purposes.
Issue #98: Add an ugly hack to force build_sphinx command to have the requisite libraries to build module documentation.
Issue #98: Add an ugly hack to force build_sphinx command to have the requisite libraries to build module documentation.
11 Jun 2016
Issue #98 : Add an ugly hack to force build_sphinx command to have the requisite libraries to build module documentation.
Issue #95: Update docs to remove missing or deprecated modules.
Issue #97: Restore irc.buffer module for compatibility.
Issue #95: Update docs to remove missing or deprecated modules.
Issue #96: Declare Gitter support as a badge in the docs.
11 Jun 2016
Issue #97 : Restore irc.buffer module for compatibility.
Issue #95 : Update docs to remove missing or deprecated modules.
Issue #96 : Declare Gitter support as a badge in the docs.
Moved buffer module to jaraco.stream _ for use in other packages.
Moved buffer module to jaraco.stream for use in other packages.
16 Apr 2016
Moved buffer module to jaraco.stream for use in other packages.
The reconnection_interval parameter is now deprecated but retained for compatibility. To customize the minimum time before reconnect, create a custom…
SingleServerIRCBot now accepts a recon parameter implementing a ReconnectStrategy. The new default strategy is ExponentialBackoff, implementing an exponential backoff with jitter. The reconnection_interval parameter is now deprecated but retained for compatibility. To customize the minimum time before reconnect, create a custom ExponentialBackoff instance or create another ReconnectStrategy object and pass that as the recon parameter. The reconnection_interval parameter will be removed in future versions.
Issue #82: The ExponentialBackoff implementation now protects from multiple scheduled reconnects, avoiding the issue where reconnect attempts accumulate exponentially when the bot is immediately disconnected by the server.
Dropped deprecated constructor connection.Factory.from_legacy_params. Use the natural constructor instead.
Dropped deprecated constructor connection.Factory.from_legacy_params. Use the natural constructor instead.
Issue #83: connection.Factory no longer attempts to bind before connect unless a bind address is specified.
Now remove mode for owners, halfops, and admins when the user is removed from a channel.
Now remove mode for owners, halfops, and admins when the user is removed from a channel.
Refactored the Channel class implementation for cleaner, less repetitive code.
Expanded tests coverage for Channel class.
Removed deprecated irc.logging module.
Issue #75: In irc.bot, add support for tracking admin status (mode 'a') in channels. Use channel.is_admin or channel.admins to identify admin users for a channel.
Removed deprecated irc.logging module.
* Moved hosting to github.
Moved hosting to github.
Issue #67: Fix infinite recursion for irc.strings.IRCFoldedCase and irc.strings.lower.
Issue #67: Fix infinite recursion for irc.strings.IRCFoldedCase and irc.strings.lower.
04 Oct 2015
Issue #67 : Fix infinite recursion for irc.strings.IRCFoldedCase and irc.strings.lower .
Issue #64: ISUPPORT PREFIX now retains the order of permissions for each prefix.
Issue #64: ISUPPORT PREFIX now retains the order of permissions for each prefix.
23 Aug 2015
Issue #64 : ISUPPORT PREFIX now retains the order of permissions for each prefix.
Updated schedule module to properly support timezone aware times and use them by default. Clients that rely on the timezone naïve datetimes may restor
Updated schedule module to properly support timezone aware times and use them by default. Clients that rely on the timezone naïve datetimes may restore the old behavior by overriding the schedule.now and schedule.from_timestamp functions like so:
schedule.from_timestamp = datetime.datetime.fromtimestamp schedule.now = datetime.datetime.now
Clients that were previously patching schedule.DelayedCommand.now will need to instead patch the aforementioned module-global methods. The classmethod technique was a poor interface for effectively controlling timezone awareness, so was likely unused. Please file a ticket with the project for support with your client as needed.
Nothing published for this version
Bump to jaraco.functools 1.5 to throttler failures in Python 2.
Bump to jaraco.functools 1.5 to throttler failures in Python 2.
01 Jul 2015
Bump to jaraco.functools 1.5 to throttler failures in Python 2.
Nothing published for this version
Moved Throttler class to jaraco.functools _ 1.4.
Moved Throttler class to jaraco.functools 1.4.
Pull Request #33: Fix apparent escaping issue with IRCv3 tags.
Pull Request #33: Fix apparent escaping issue with IRCv3 tags.
25 Jun 2015
Pull Request #33 : Fix apparent escaping issue with IRCv3 tags.
Pull Request #32: Add numeric for WHOX reply.
Pull Request #32: Add numeric for WHOX reply.
Issue #62 and Pull Request #34: Add support for tags in message processing and Event class.
25 May 2015
Pull Request #32 : Add numeric for WHOX reply.
Issue #62 and Pull Request #34 : Add support for tags in message processing and Event class.
Nothing published for this version
Nothing published for this version
Issue #59: Fixed broken references to irc.client members.
Issue #59: Fixed broken references to irc.client members.
Issue #60: Fix broken initialization of irc.server.IRCClient on Python 2.
25 Apr 2015
Issue #59 : Fixed broken references to irc.client members.
Issue #60 : Fix broken initialization of irc.server.IRCClient on Python 2.
Issue #57: Better handling of Python 3 in testbot.py script.
Issue #57: Better handling of Python 3 in testbot.py script.
10 Mar 2015
Issue #57 : Better handling of Python 3 in testbot.py script.
Remove changelog from package metadata.
Remove changelog from package metadata.
Deprecated irc.logging in favor of jaraco.logging.
Remove dependency on jaraco.util. Instead depend on surgical packages.
Deprecated irc.logging in favor of jaraco.logging.
Dropped support for Python 3.2.
25 Feb 2015
Remove dependency on jaraco.util. Instead depend on surgical packages.
Deprecated irc.logging in favor of jaraco.logging .
Dropped support for Python 3.2.
Issue #55: Correct import error on Python 2.7.
Issue #55: Correct import error on Python 2.7.
Decoding errors now log a warning giving a reference to the Decoding Input section of the readme.
Decoding errors now log a warning giving a reference to the Decoding Input section of the readme.
18 Feb 2015
Decoding errors now log a warning giving a reference to the Decoding Input section of the readme.
Nothing published for this version
Removed deprecated manifold and irclibobj properties from Connection. Use reactor instead.
Renamed irc.client.Manifold to irc.client.Reactor. Reactor better reflects the implementation as a reactor pattern <. This name makes it's function much more clear and inline with standard terminology.
Removed deprecated manifold and irclibobj properties from Connection. Use reactor instead.
Removed deprecated ircobj from SimpleIRCClient. Use reactor instead.
Added ServerConnection.as_nick, a context manager to set a nick for the duration of the context.
Added ServerConnection.as_nick, a context manager to set a nick for the duration of the context.
13 Nov 2014
Added ServerConnection.as_nick , a context manager to set a nick for the duration of the context.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →