You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v20.4.0
=======
Features
--------
- Replace deprecated ssl.wrap_socket with SSLContext.wrap_socket and update examples in connection.py docs. (#216)
v20.3.1
=======
No significant changes.
v20.3.0
=======
Features
--------
- Added support for SASL login. (#195)
Bugfixes
--------
- Better handling of escape sequences in message tags. (#205)
v20.2.0
=======
Features
--------
- Require Python 3.8 or later.
v20.1.1
=======
* #213: Pinned against jaraco.text 3.10 due to change in interface.
v20.1.0
=======
* #196: In irc.bot, avoid hanging idle when the first connection
attempt fails.
v20.0.0
=======
* ``SingleServerIRCBot`` no longer accepts ``reconnection_interval``
as a parameter.
* Added server support for NOTICE commands.
* Require Python 3.7 or later.
v19.0.1
=======
* #176: Fix issues with version number reporting. Restored version
version number reporting in bot and client.
v19.0.0
=======
* ``irc.client`` no longer exposes a ``VERSION`` or ``VERSION_STRING``.
To get the version, call ``importlib.metadata.version('irc')`` directly.
v18.0.0
=======
* Require Python 3.6 or later.
17.1
====
* Rely on
`importlib_metadata <https://pypi.org/project/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()
17.0
====
* Removed ``irc.buffer`` module, deprecated in 14.2.
* #153: Drop support for Python 3.3 and 2.7.
16.4
====
* Long Term Service release for Python 2.7.
* #149: ``AioConnection.connect`` moved to coroutine, added
disconnect handling for AsyncIO.
16.3
====
* #140: Methods now use 'connection' and 'event' for parameter names.
* #135 via #144: Added AsyncIO implementation.
16.2.1
======
* Package refresh and cleanup.
16.2
====
* #133: In ``irc.server``, add support for ISON.
16.1
====
* #131: Add ``Connection.encode`` and ``Connection.transmit_encoding``
to enable encodings other than UTF-8 to be used when transmitting
text.
16.0
====
* Removed deprecated ``execute_*`` methods on ``Connection``
and ``Reactor`` as introduced in 15.0.
* Fixed link in README.
15.1.1
======
* New ``send_items`` method takes star args for simplicity
in the syntax and usage.
15.1
====
* Introduce ``ServerConnection.send_items``, consolidating
common behavior across many methods previously calling
``send_raw``.
15.0.6
======
* Now publish `documentation <https://python-irc.readthedocs.io/>`_
to Read The Docs.
15.0.5
======
* #119: Handle broken pipe exception in IRCClient _send() (server.py).
15.0.4
======
* #116: Correct invocation of execute_every.
15.0.3
======
* #115: Fix AttributeError in ``execute_at`` in scheduling
support.
15.0.2
======
* #113: Use preferred scheduler in the bot implementation.
15.0.1
======
* Deprecated calls to Connection.execute_*
and Reactor.execute_*. Instead, call the
equivalently-named methods on the reactor's
scheduler.
15.0
====
* 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 <https://pypi.org/project/tempora>`_, allowing
it to be re-used for other purposes.
14.2.2
======
* Issue #98: Add an ugly hack to force ``build_sphinx``
command to have the requisite libraries to build
module documentation.
14.2.1
======
* 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.
14.2
====
* Moved buffer module to `jaraco.stream
<https://pypi.python.org/pypi/jaraco.stream>`_ for
use in other packages.
14.1
====
* ``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.
14.0
====
* 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.
13.3.1
======
* 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.
13.3
====
* 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.
13.2
====
* Moved hosting to github.
13.1.1
======
* Issue #67: Fix infinite recursion for ``irc.strings.IRCFoldedCase``
and ``irc.strings.lower``.
13.1
====
* Issue #64: ISUPPORT PREFIX now retains the order of
permissions for each prefix.
13.0
====
* 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.
12.4.2
======
* Bump to jaraco.functools 1.5 to throttler failures in Python 2.
12.4
====
* Moved ``Throttler`` class to `jaraco.functools
<https://bitbucket.org/jaraco/jaraco.functools>`_ 1.4.
12.3
====
* Pull Request #33: Fix apparent escaping issue with IRCv3 tags.
12.2
====
* Pull Request #32: Add numeric for WHOX reply.
* Issue #62 and Pull Request #34: Add support for tags in message
processing and ``Event`` class.
12.1.2
======
* Issue #59: Fixed broken references to irc.client members.
* Issue #60: Fix broken initialization of ``irc.server.IRCClient`` on
Python 2.
12.1.1
======
* Issue #57: Better handling of Python 3 in testbot.py script.
12.1
====
* Remove changelog from package metadata.
12.0
====
* Remove dependency on jaraco.util. Instead depend on surgical packages.
* Deprecated ``irc.logging`` in favor of ``jaraco.logging``.
* Dropped support for Python 3.2.
0 commit comments