Skip to content

Releases: luk3yx/miniirc

v1.9.1

14 Dec 02:53
Compare
Choose a tag to compare

Changed

  • Fixed handling of socket timeouts when trying to recover nickname
  • The socket is now closed if there's a connection timeout while writing data since the socket may have partially written data.
  • Removed use of the deprecated socket.error

v1.9.0

14 Dec 00:05
Compare
Choose a tag to compare

Added

  • miniirc will now attempt to regain the originally specified nickname if it cannot used when connecting. For compatibility, irc.nick will return the current nickname while connected, however changing it will change the desired nickname. This may change in the future.

Changed

  • The current nickname is now obtained from the 001 numeric after connecting.

v1.8.4

22 Aug 07:47
Compare
Choose a tag to compare

Changed

  • Fixed a socket-related oversight in v1.8.3.

There are probably more bugs in the socket code, please open an issue if you find any.

v1.8.3

22 Aug 05:15
Compare
Choose a tag to compare

Changed

  • Receiving from the SSL socket is now done with a lock to prevent sending and
    receiving at the same time (which can break with SSL). This should fix
    random disconnects with Ubuntu 22.04 / OpenSSL 3.
  • Because of the above change, irc.sock is now non-blocking and things that
    call irc.sock.settimeout() may break the connection or cause deadlocks.
    • irc.sock hasn't been in the API documentation and has been deprecated
      for a while.

v1.8.2

26 Apr 03:05
Compare
Choose a tag to compare

Added

  • Support for SNI.

Changed

  • socket.create_connection() is now used internally. If a domain name has multiple IP addresses and the connection fails, socket.create_connection() will attempt to connect to the next IP address in the list. This is an improvement over miniirc's previous behaviour of only trying the first IP address.
  • ping_timeout is now used as a connection timeout during socket setup.
  • A warning is now emitted if verify_ssl is disabled.
  • SSLContext.wrap_socket() is used instead of ssl.wrap_socket().
  • The miniirc PyPI package now requires Python 3.4 or later.

v1.8.1

08 Apr 01:26
Compare
Choose a tag to compare

Changed

  • Don't try and abort SASL authentication when receiving 904 numerics if it has already been aborted.

v1.8.0

11 Jan 05:01
Compare
Choose a tag to compare

Added

  • The irc.wait_until_disconnected() function has been added so that it's
    possible to stop the main thread from exiting while miniirc is still
    connected.

Changed

  • Calling Handler or CmdHandler without colon=False will create a
    deprecation warning (unless the handler only handles IRCv3 capabilities).
  • The irc.main() function has a deprecation warning as well.

v1.7.0

26 Sep 00:33
Compare
Choose a tag to compare

Added

  • The ability to make miniirc run handlers in thread pools using the "executor" keyword argument. I strongly recommend using this (executor=concurrent.futures.ThreadPoolExecutor()) if you plan to support Python 3.7 to 3.8 because of a memory leak (see BPO 37788 for more information).

Changed

  • Fixed truncation of strings containing non-ASCII characters.
  • A couple of catch-all except statements now only handle more specific exceptions.

v1.6.3

20 Oct 05:19
Compare
Choose a tag to compare

Added

  • Unit tests.

Changed

  • Fix 432 (ERR_NICKNAMENUSE) handling.

v1.6.2

08 May 02:20
Compare
Choose a tag to compare

Changed

  • Minor bugfix.