PackageTrack

PyPI

irc

20.5.0jaraco/irc

IRC (Internet Relay Chat) protocol library for Python

Release timeline

127 releases since 2012
20122026

One column per quarter.

Releases

  1. 10.027 Oct 2014
    Release notes2 sources agree
    • Dropped support for Python 2.6.

    • Dropped irc.client.LineBuffer and irc.client.DecodingBuffer (available in irc.client.buffer).

    • Renamed irc.client.IRC to irc.client.Manifold to provide a clearer name for that object. Clients supporting 8.6 and later can use the Manifold name. Latest clients must use the Manifold name.

    • Renamed irc.client.Connection.irclibobj property to manifold. The property is still exposed as irclibobj for compatibility but will be removed in a future version.

    • Removed unused irc.client.mask_matches function.

    • Removed unused irc.client.nick_characters.

    • Added extra numerics for 'whoisaccount' and 'cannotknock'.

    Open source →
  2. 9.022 Oct 2014
    Release notes2 sources agree
    • Issue #46: The whois command now accepts a single string or iterable for the target.

    • NickMask now returns None when user, host, or userhost are not present. Previously, an IndexError was raised. See Pull Request #26 for details.

    Open source →
  3. 8.9.113 May 2014

    Nothing published for this version

  4. 8.927 Apr 2014
    Release notes

    Documentation is now published at https://pythonhosted.org/irc.

    Open source →
    Additional notes

    26 Apr 2014

    Documentation is now published at https://pythonhosted.org/irc .

    Open source →
  5. 8.827 Apr 2014
    Release notes
    • Issue #35: Removed the mutex during process_once.

    • Issue #37: Deprecated buffer.LineBuffer for Python 3.

    Open source →
    Additional notes

    25 Apr 2014

    Issue #35 : Removed the mutex during process_once.

    Issue #37 : Deprecated buffer.LineBuffer for Python 3.

    Open source →
  6. 8.725 Apr 2014
    Release notes2 sources agree
    • Issue #34: Introduced buffer.LenientDecodingLineBuffer for handling input in a more lenient way, preferring UTF-8 but falling back to latin-1 if the content cannot be decoded as UTF-8. To enable it by default for your application, set it as the default decoder:

      irc.client.ServerConnection.buffer_class = irc.buffer.LenientDecodingLineBuffer
    Open source →
  7. 8.621 Apr 2014
    Release notes2 sources agree
    • Introduced 'Manifold' as an alias for irc.client.IRC. This better name will replace the IRC name in a future version.

    • Introduced the 'manifold' property of SimpleIRCClient as an alias for ircobj.

    • Added 'manifold_class' property to the client.SimpleIRCClient to allow consumers to provide a customized Manifold.

    Open source →
  8. 8.5.417 Nov 2013
    Release notes
    • Issue #32: Add logging around large DCC messages to facilitate troubleshooting.

    • Issue #31: Fix error in connection wrapper for SSL example.

    Open source →
    Additional notes

    17 Nov 2013

    Issue #32 : Add logging around large DCC messages to facilitate troubleshooting.

    Issue #31 : Fix error in connection wrapper for SSL example.

    Open source →
  9. 8.5.322 Sept 2013
    Release notes
    • Issue #28: Fix TypeError in version calculation in irc.bot CTCP version.

    Open source →
    Additional notes

    22 Sep 2013

    Issue #28 : Fix TypeError in version calculation in irc.bot CTCP version.

    Open source →
  10. 8.5.222 Sept 2013
    Release notes
    • Updated DCC send and receive scripts (Issue #27).

    Open source →
    Additional notes

    22 Sep 2013

    Updated DCC send and receive scripts ( Issue #27 ).

    Open source →
  11. 8.5.116 Aug 2013
    Release notes
    • Fix timestamp support in schedule.DelayedCommand construction.

    Open source →
    Additional notes

    16 Aug 2013

    Fix timestamp support in schedule.DelayedCommand construction.

    Open source →
  12. 8.510 Aug 2013
    Release notes2 sources agree
    • irc.client.NickMask is now a Unicode object on Python 2. Fixes issue reported in pull request #19.

    • Issue #24: Added DCCConnection.send_bytes for transmitting binary data. privmsg remains to support transmitting text.

    Open source →
  13. 8.419 Jul 2013
    Release notes2 sources agree
    • Code base now runs natively on Python 2 and Python 3, but requires six to be installed.

    • Issue #25: Rate-limiting has been updated to be finer grained (preventing bursts exceeding the limit following idle periods).

    Open source →
  14. 8.3.217 Jul 2013
    Release notes
    • Issue #22: Catch error in bot.py on NAMREPLY when nick is not in any visible channel.

    Open source →
    Additional notes

    17 Jul 2013

    Issue #22 : Catch error in bot.py on NAMREPLY when nick is not in any visible channel.

    Open source →
  15. 8.3.14 Jul 2013
    Release notes
    • Fixed encoding errors in server on Python 3.

    Open source →
    Additional notes

    04 Jul 2013

    Fixed encoding errors in server on Python 3.

    Open source →
  16. 8.322 Apr 2013
    Release notes
    • Added a set_keepalive method to the ServerConnection. Sends a periodic PING message every indicated interval.

    Open source →
    Additional notes

    22 Apr 2013

    Added a set_keepalive method to the ServerConnection. Sends a periodic PING message every indicated interval.

    Open source →
  17. 8.215 Apr 2013
    Release notes2 sources agree
    • Added support for throttling send_raw messages via the ServerConnection object. For example, on any connection object:

      connection.set_rate_limit(30)

      That would set the rate limit to 30 Hz (30 per second). Thanks to Jason Kendall for the suggestion and bug fixes.

    Open source →
  18. 8.1.212 Apr 2013
    Release notes
    • Fix typo in client.NickMask.

    Open source →
    Additional notes

    12 Apr 2013

    Fix typo in client.NickMask .

    Open source →
  19. 8.1.14 Apr 2013
    Release notes
    • Fix typo in bot.py.

    Open source →
    Additional notes

    04 Apr 2013

    Fix typo in bot.py.

    Open source →
  20. 8.12 Apr 2013
    Release notes2 sources agree
    • Issue #15: Added client support for ISUPPORT directives on server connections. Now, each ServerConnection has a features attribute which reflects the features supported by the server. See the docs for irc.features for details about the implementation.

    Open source →
  21. 8.0.111 Feb 2013
    Release notes
    • Issue #14: Fix errors when handlers of the same priority are added under Python 3. This also fixes the unintended behavior of allowing handlers of the same priority to compare as unequal.

    Open source →
    Additional notes

    11 Feb 2013

    Issue #14 : Fix errors when handlers of the same priority are added under Python 3. This also fixes the unintended behavior of allowing handlers of the same priority to compare as unequal.

    Open source →
  22. 8.013 Jan 2013
    Release notes2 sources agree

    This release brings several backward-incompatible changes to the scheduled commands.

    • Refactored implementation of schedule classes. No longer do they override the datetime constructor, but now only provide suitable classmethods for construction in various forms.

    • Removed backward-compatible references from irc.client.

    • Remove 'arguments' parameter from scheduled commands.

    Clients that reference the schedule classes from irc.client or that construct them from the basic constructor will need to update to use the new class methods:

    - DelayedCommand -> DelayedCommand.after
    - PeriodicCommand -> PeriodicCommand.after

    Arguments may no longer be passed to the 'function' callback, but one is encouraged instead to use functools.partial to attach parameters to the callback. For example:

    DelayedCommand.after(3, func, ('a', 10))

    becomes:

    func = functools.partial(func, 'a', 10)
    DelayedCommand.after(3, func)

    This mode puts less constraints on the both the handler and the caller. For example, a caller can now pass keyword arguments instead:

    func = functools.partial(func, name='a', quantity=10)
    DelayedCommand.after(3, func)

    Readability, maintainability, and usability go up.

    Open source →
  23. 7.1.213 Jan 2013
    Release notes
    • Issue #13: TypeError on Python 3 when constructing PeriodicCommand (and thus execute_every).

    Open source →
    Additional notes

    12 Jan 2013

    Issue #13 : TypeError on Python 3 when constructing PeriodicCommand (and thus execute_every).

    Open source →
  24. 7.1.15 Jan 2013
    Release notes
    • Fixed regression created in 7.0 where PeriodicCommandFixedDelay would only cause the first command to be scheduled, but not subsequent ones.

    Open source →
    Additional notes

    05 Jan 2013

    Fixed regression created in 7.0 where PeriodicCommandFixedDelay would only cause the first command to be scheduled, but not subsequent ones.

    Open source →
  25. 7.14 Jan 2013
    Release notes
    • Moved scheduled command classes to irc.schedule module. Kept references for backwards-compatibility.

    Open source →
    Additional notes

    04 Jan 2013

    Moved scheduled command classes to irc.schedule module. Kept references for backwards-compatibility.

    Open source →
  26. 7.01 Jan 2013
    Release notes2 sources agree
    • PeriodicCommand now raises a ValueError if it's created with a negative or zero delay (meaning all subsequent commands are immediately due). This fixes #12.

    • Renamed the parameters to the IRC object. If you use a custom event loop and your code constructs the IRC object with keyword parameters, you will need to update your code to use the new names, so:

      IRC(fn_to_add_socket=adder, fn_to_remove_socket=remover, fn_to_add_timeout=timeout)

      becomes:

      IRC(on_connect=adder, on_disconnect=remover, on_schedule=timeout)

      If you don't use a custom event loop or you pass the parameters positionally, no change is necessary.

    Open source →
  27. 6.0.129 Dec 2012
    Release notes
    • Fixed some unhandled exceptions in server client connections when the client would disconnect in response to messages sent after select was called.

    Open source →
    Additional notes

    29 Dec 2012

    Fixed some unhandled exceptions in server client connections when the client would disconnect in response to messages sent after select was called.

    Open source →
  28. 6.029 Dec 2012
    Release notes2 sources agree
    • Moved LineBuffer and DecodingLineBuffer from client to buffer module. Backward-compatible references have been kept for now.

    • Removed daemon mode and log-to-file options for server.

    • Miscellaneous bugfixes in server.

    Open source →
  29. 5.1.127 Dec 2012
    Release notes
    • Fix error in 2to3 conversion on irc/server.py (issue #11).

    Open source →
    Additional notes

    27 Dec 2012

    Fix error in 2to3 conversion on irc/server.py (issue #11 ).

    Open source →
  30. 5.125 Dec 2012
    Release notes2 sources agree

    The IRC library is now licensed under the MIT license.

    • Added irc/server.py, based on hircd by Ferry Boender.

    • Added support for CAP command (pull request #10), thanks to Danneh Oaks.

    Open source →
  31. 5.0.116 Nov 2012

    Nothing published for this version

  32. 5.016 Nov 2012
    Release notes2 sources agree

    Another backward-incompatible change. In irc 5.0, many of the unnecessary getter functions have been removed and replaced with simple attributes. This change addresses issue #2. In particular:

    • Connection._get_socket() -> Connection.socket (including subclasses)

    • Event.eventtype() -> Event.type

    • Event.source() -> Event.source

    • Event.target() -> Event.target

    • Event.arguments() -> Event.arguments

    The nm_to_* functions were removed. Instead, use the NickMask class attributes.

    These deprecated function aliases were removed from irc.client:

    - parse_nick_modes -> modes.parse_nick_modes
    - parse_channel_modes -> modes.parse_channel_modes
    - generated_events -> events.generated
    - protocol_events -> events.protocol
    - numeric_events -> events.numeric
    - all_events -> events.all
    - irc_lower -> strings.lower

    Also, the parameter name when constructing an event was renamed from eventtype to simply type.

    Open source →
  33. 4.016 Nov 2012
    Release notes2 sources agree
    • Removed deprecated arguments to ServerConnection.connect. See notes on the 3.3 release on how to use the connect_factory parameter if your application requires ssl, ipv6, or other connection customization.

    Open source →
  34. 3.6.116 Nov 2012
    Release notes
    • Filter out disconnected sockets when processing input.

    Open source →
    Additional notes

    15 Nov 2012

    Filter out disconnected sockets when processing input.

    Open source →
  35. 3.68 Nov 2012
    Release notes
    • Created two new exceptions in irc.client: MessageTooLong and InvalidCharacters.

    • Use explicit exceptions instead of ValueError when sending data.

    Open source →
    Additional notes

    08 Nov 2012

    Created two new exceptions in irc.client : MessageTooLong and InvalidCharacters .

    Use explicit exceptions instead of ValueError when sending data.

    Open source →
  36. 3.57 Nov 2012
    Release notes2 sources agree
    • SingleServerIRCBot now accepts keyword arguments which are passed through to the ServerConnection.connect method. One can use this to use SSL for connections:

      factory = irc.connection.Factory(wrapper=ssl.wrap_socket)
      bot = irc.bot.SingleServerIRCBot(..., connect_factory = factory)
    Open source →
  37. 3.4.225 Oct 2012
    Release notes
    • Issue #6: Fix AttributeError when legacy parameters are passed to ServerConnection.connect.

    • Issue #7: Fix TypeError on iter(LineBuffer).

    Open source →
    Additional notes

    25 Oct 2012

    Issue #6 : Fix AttributeError when legacy parameters are passed to ServerConnection.connect .

    Issue #7 : Fix TypeError on iter(LineBuffer) .

    Open source →
  38. 3.4.121 Oct 2012
    Release notes2 sources agree

    3.4 never worked - the decoding customization feature was improperly implemented and never tested.

    • The ServerConnection now allows custom classes to be supplied to customize the decoding of incoming lines. For example, to disable the decoding of incoming lines, replace the buffer_class on the ServerConnection with a version that passes through the lines directly:

      irc.client.ServerConnection.buffer_class = irc.client.LineBuffer

      This fixes #5.

    Open source →
  39. 3.420 Oct 2012
    Release notes

    Broken Release

    Open source →
    Additional notes

    18 Oct 2012

    Broken Release

    Open source →
  40. 3.318 Oct 2012
    Release notes2 sources agree
    • Added connection module with a Factory for creating socket connections.

    • Added connect_factory parameter to the ServerConnection.

    It's now possible to create connections with custom SSL parameters or other socket wrappers. For example, to create a connection with a custom SSL cert:

    import ssl
    import irc.client
    import irc.connection
    import functools
    
    irc = irc.client.IRC()
    server = irc.server()
    wrapper = functools.partial(ssl.wrap_socket, ssl_cert=my_cert())
    server.connect(connect_factory = irc.connection.Factory(wrapper=wrapper))

    With this release, many of the parameters to ServerConnection.connect are now deprecated:

    • localaddress

    • localport

    • ssl

    • ipv6

    Instead, one should pass the appropriate values to a connection.Factory instance and pass that factory to the .connect method. Backwards-compatibility will be maintained for these parameters until the release of irc 4.0.

    Open source →
  41. 3.2.314 Oct 2012
    Release notes
    • Restore Python 2.6 compatibility.

    Open source →
    Additional notes

    14 Oct 2012

    Restore Python 2.6 compatibility.

    Open source →
  42. 3.2.212 Oct 2012
    Release notes
    • Protect from UnicodeDecodeError when decoding data on the wire when data is not properly encoded in ASCII or UTF-8.

    Open source →
    Additional notes

    11 Oct 2012

    Protect from UnicodeDecodeError when decoding data on the wire when data is not properly encoded in ASCII or UTF-8.

    Open source →
  43. 3.2.111 Oct 2012
    Release notes
    • Additional branch protected by mutex.

    Open source →
    Additional notes

    11 Oct 2012

    Additional branch protected by mutex.

    Open source →
  44. 3.210 Oct 2012
    Release notes
    • Implemented thread safety via a reentrant lock guarding shared state in IRC objects.

    Open source →
    Additional notes

    09 Oct 2012

    Implemented thread safety via a reentrant lock guarding shared state in IRC objects.

    Open source →
  45. 3.1.17 Oct 2012
    Release notes
    • Fix some issues with bytes/unicode on Python 3

    Open source →
    Additional notes

    07 Oct 2012

    Fix some issues with bytes/unicode on Python 3

    Open source →
  46. 3.17 Oct 2012
    Release notes
    • Distribute using setuptools rather than paver.

    • Minor tweaks for Python 3 support. Now installs on Python 3.

    Open source →
    Additional notes

    07 Oct 2012

    Distribute using setuptools rather than paver.

    Minor tweaks for Python 3 support. Now installs on Python 3.

    Open source →
  47. 3.0.2dev30 Sept 2012pre-release

    Nothing published for this version

  48. 3.0.130 Sept 2012
    Release notes
    • Added error checking when sending a message - for both message length and embedded carriage returns. Fixes #4.

    • Updated README.

    Open source →
    Additional notes

    29 Sep 2012

    Added error checking when sending a message - for both message length and embedded carriage returns. Fixes #4 .

    Updated README.

    Open source →
  49. 3.05 Sept 2012
    Release notes2 sources agree
    • Improved Unicode support. Fixes failing tests and errors lowering Unicode channel names.

    • Sourceforge 18 - The ServerConnection and DCCConnection now encode any strings as UTF-8 before transmitting.

    • Sourceforge 17 - Updated strings.FoldedCase to support comparison against objects of other types.

    • Shutdown the sockets before closing.

    Applications that are currently encoding unicode as UTF-8 before passing the strings to ServerConnection.send_raw need to be updated to send Unicode or ASCII.

    Open source →
  50. 2.0.45 Sept 2012
    Release notes2 sources agree

    This release officially deprecates 2.0.1-2.0.3 in favor of 3.0.

    • Re-release of irc 2.0 (without the changes from 2.0.1-2.0.3) for correct compatibility indication.

    Open source →
  51. 2.0.330 Aug 2012

    Nothing published for this version

  52. 2.0.227 Aug 2012

    Nothing published for this version

  53. 2.0.127 Aug 2012

    Nothing published for this version

  54. 2.023 May 2012
    Release notes2 sources agree
    • DelayedCommands now use the local time for calculating 'at' and 'due' times. This will be more friendly for simple servers. Servers that expect UTC times should either run in UTC or override DelayedCommand.now to return an appropriate time object for 'now'. For example:

      def startup_bot():
          irc.client.DelayedCommand.now = irc.client.DelayedCommand.utcnow
          ...
    Open source →
  55. 1.111 May 2012
    Release notes
    • Added irc.client.PeriodicCommandFixedDelay. Schedule this command to have a function executed at a specific time and then at periodic intervals thereafter.

    Open source →
    Additional notes

    11 May 2012

    Added irc.client.PeriodicCommandFixedDelay. Schedule this command to have a function executed at a specific time and then at periodic intervals thereafter.

    Open source →
  56. 1.011 May 2012
    Release notes
    • Removed irclib and ircbot legacy modules.

    Open source →
    Additional notes

    10 May 2012

    Removed irclib and ircbot legacy modules.

    Open source →
  57. 0.92 May 2012
    Release notes2 sources agree
    • Fix file saving using dccreceive.py on Windows. Fixes Sourceforge 6.

    • Created NickMask class from nm_to_* functions. Now if a source is a NickMask, one can access the .nick, .host, and .user attributes.

    • Use correct attribute for saved connect args. Fixes Sourceforge 16.

    Open source →
  58. 0.824 Apr 2012
    Release notes
    • Added ServerConnection.reconnect method. Fixes Sourceforge 13.

    Open source →
    Additional notes

    24 Apr 2012

    Added ServerConnection.reconnect method. Fixes Sourceforge 13 .

    Open source →
  59. 0.7.124 Apr 2012
    Release notes
    • Added missing events. Fixes Sourceforge 12.

    Open source →
    Additional notes

    24 Apr 2012

    Added missing events. Fixes Sourceforge 12 .

    Open source →
  60. 0.724 Apr 2012
    Release notes2 sources agree
    • Moved functionality from irclib module to irc.client module.

    • Moved functionality from ircbot module to irc.bot module.

    • Retained irclib and ircbot modules for backward-compatibility. These will be removed in 1.0.

    • Renamed project to simply 'irc'.

    To support the new module structure, simply replace references to the irclib module with irc.client and ircbot module with irc.bot. This project will support that interface through all versions of irc 1.x, so if you've made these changes, you can safely depend on irc >= 0.7, <2.0dev.

    Open source →