irclib -- Internet Relay Chat (IRC) protocol client library

ChangeLog 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. 2008-09-11 Keltus <keltus@users.sourceforge.net>
  2. * ircbot.py: Reverted a leftover testing fragment that broke ircbot.py
  3. 2008-08-29 Keltus <keltus@users.sourceforge.net>
  4. * irclib.py: Reverted changes in irclib that don't really belong in the core lib
  5. * irclib.py: Add support for ssl
  6. * irclib.py: Add support for ipv6
  7. * python-irclib now requires python 2.3 and above (for ssl and ipv6)
  8. 2006-03-09 Keltus <keltus@users.sourceforge.net>
  9. * README: Minor update
  10. 2005-12-24 Keltus <keltus@users.sourceforge.net>
  11. * Released version 0.4.6.
  12. * irclib.py (VERSION):
  13. * python-irclib.spec.in:
  14. Preparations for version 0.4.6.
  15. 2005-12-23 Keltus <keltus@users.sourceforge.net>
  16. * dccsend:
  17. * dccreceive:
  18. * irclib.py:
  19. * ircbot.py:
  20. * irccat:
  21. * irccat2:
  22. * servermap:
  23. * testbot.py:
  24. Code modernization - String methods used instead of deprecated
  25. string functions, keyword 'in' used for membership testing instead
  26. of 'has_key' method, etc.
  27. 2005-12-06 Keltus <keltus@users.sourceforge.net>
  28. * irclib.py (ServerConnection.process_data): Reversed fix from
  29. 2005-05-28. This is strange because there was a bug before and
  30. now it's gone. Either python changed something, or the IRC
  31. networks changed something. Confirmed by peter.
  32. 2005-11-03 Keltus <keltus@users.sourceforge.net>
  33. * irclib.py (numeric_events): Renamed numeric code 332 from topic
  34. to currenttopic (the message when "/topic <chan>" is sent), so it
  35. doesn't collide with TOPIC (the message when the topic is set).
  36. 2005-08-27 Keltus <keltus@users.sourceforge.net>
  37. * irclib.py (ServerConnection.disconnect): Fixed infinitely
  38. recursive calls when disconnecting with a failed connection. Bug
  39. reported by Erik Max Francis.
  40. 2005-08-18 Keltus <keltus@users.sourceforge.net>
  41. * irclib.py: Made ServerConnection.disconnect more consistant and
  42. changed some functions to use it instead of quit. Previously,
  43. disconnect would ignore the quit message, but now it sends a quit
  44. message and disconnect. Suggestion by Erik Max Francis.
  45. * ircbot.py: Changed to use ServerConnection.disconnect instead of
  46. ServerConnection.quit as well.
  47. 2005-05-28 Keltus <keltus@users.sourceforge.net>
  48. * irclib.py (ServerConnection.process_data): Fixed quit arguments
  49. to return a list rather than a list of a list. Patch from peter.
  50. 2005-05-18 Keltus <keltus@users.sourceforge.net>
  51. * Released version 0.4.5.
  52. * irclib.py (ServerConnection.__init__): Added self.socket = None
  53. to be able to process events when ServerConnection is not
  54. connected to a socket. Patch from alst.
  55. * irclib.py (VERSION):
  56. * python-irclib.spec.in:
  57. Preparations for version 0.4.5.
  58. 2005-04-26 Keltus <keltus@users.sourceforge.net>
  59. * irclib.py (IRC.__doc__): Corrected server.process_forever() to
  60. irc.process_forever(). Suggestion by olecom.
  61. 2005-04-17 Keltus <keltus@users.sourceforge.net>
  62. * irclib.py (ServerConnection.process_data): Moved event
  63. translation code.
  64. * irclib.py (ServerConnection): Reverted the 2005-01-28 change
  65. because it breaks jump_server().
  66. * irclib.py: minor comment changes
  67. 2005-04-03 Keltus <keltus@users.sourceforge.net>
  68. * irclib.py (protocol_events): Added "pong" and "invite" events.
  69. Patch from Adam Mikuta.
  70. * irclib.py (ServerConnection.part): Added message parameter.
  71. Patch from Adam Mikuta.
  72. 2005-02-23 Keltus <keltus@users.sourceforge.net>
  73. * Released version 0.4.4.
  74. * irclib.py (VERSION):
  75. * python-irclib.spec.in:
  76. Preparations for version 0.4.4.
  77. 2005-01-28 Keltus <keltus@users.sourceforge.net>
  78. * irclib.py: (ServerConnection): Moved
  79. self.irclibobj._remove_connection call from close() to
  80. disconnect(). Patch from Alexey Nezhdanov.
  81. 2005-01-25 Keltus <keltus@users.sourceforge.net>
  82. * irclib.py (ServerConnection.connect): closes socket if a
  83. connection does not occur
  84. * irclib.py (ServerConnection.connect): "Changing server" ->
  85. "Changing servers" (more ubiquitous quit phrase)
  86. 2005-01-23 Keltus <keltus@users.sourceforge.net>
  87. * irclib.py: Removed depreciated apply functions. python-irclib is
  88. now compatible with Python 1.6 and above.
  89. * testbot.py: Removed redundant extra start() call
  90. 2005-01-20 Joel Rosdahl <joel@rosdahl.net>
  91. * Released version 0.4.3.
  92. * Makefile: Removed more GNU make specific constructs.
  93. 2005-01-19 Joel Rosdahl <joel@rosdahl.net>
  94. * Makefile: Don't require GNU make.
  95. 2005-01-19 Keltus <keltus@users.sourceforge.net>
  96. * ircbot.py (IRCDict.__iter__): Added __iter__ method for IRCDict.
  97. 2005-01-17 Joel Rosdahl <joel@rosdahl.net>
  98. * ircbot.py (IRCDict.__contains__): Added __contains__method for
  99. IRCDict. Patch from Keltus.
  100. (SingleServerIRCBot.on_ctcp): Corrected default decoding of CTCP
  101. DCC CHAT. Patch from Keltus.
  102. * irclib.py (VERSION):
  103. * python-irclib.spec.in:
  104. Preparations for version 0.4.3.
  105. * debian: Removed Debian package directory since python-irclib is
  106. in Debian now.
  107. * ircbot.py (SingleServerIRCBot._on_namreply): Improved comment
  108. about arguments to the function. Patch from Keltus.
  109. (Channel.has_allow_external_messages): Renamed from
  110. has_message_from_outside_protection. Patch from Keltus.
  111. * irclib.py (ServerConnection.quit): Added comment about how some
  112. IRC servers' treat QUIT messages. Patch from Keltus.
  113. * ircbot.py (SingleServerIRCBot.jump_server): Improved jump_server
  114. behaviour. Patch from Keltus.
  115. 2004-08-04 Joel Rosdahl <joel@rosdahl.net>
  116. * irclib.py (ServerConnection.process_data): Added "bonus" action
  117. event that is triggered on CTCP ACTION messages.
  118. 2004-07-09 Joel Rosdahl <joel@rosdahl.net>
  119. * Released version 0.4.2.
  120. * debian/rules: Remove built *.pyc files before making package.
  121. * irclib.py (DEBUG):
  122. * debian/changelog:
  123. * python-irclib.spec.in:
  124. Preparations for version 0.4.2.
  125. * irclib.py (ServerNotConnectedError): New exception.
  126. (ServerConnection.send_raw): Fix bug #922446, "Raise
  127. IllegalStateException in send_raw when disconnected".
  128. 2003-10-30 Joel Rosdahl <joel@rosdahl.net>
  129. * Released version 0.4.1.
  130. * debian/examples: Added dccreceive and dccsend as example files
  131. in Debian.
  132. * python-irclib.spec.in: Likewise.
  133. 2003-10-29 Joel Rosdahl <joel@rosdahl.net>
  134. * debian: Added Debian packaging files.
  135. * setup.py.in: Create setup.py from setup.py.in.
  136. * python-irclib.spec.in: RPM spec file from Gary Benson.
  137. * testbot.py (TestBot.on_nicknameinuse): New method.
  138. * irclib.py (ServerConnection.process_data): Record nickname when
  139. welcome message is sent to trap nickname change triggered in a
  140. nicknameinuse callback.
  141. * ircbot.py (SingleServerIRCBot._on_join): Use
  142. Connection.get_nickname instead of relying on self._nickname.
  143. (SingleServerIRCBot._on_kick): Likewise.
  144. (SingleServerIRCBot._on_part): And here too.
  145. (SingleServerIRCBot._on_nick): No need to remember nickname change
  146. here.
  147. 2003-08-31 Joel Rosdahl <joel@rosdahl.net>
  148. * Released version 0.4.0.
  149. Implemented DCC support (based on patches from Adam Langley and
  150. Marco Bettio):
  151. * irclib.py (IRC.dcc): New method.
  152. (DCCConnectionError): New class.
  153. (DCCConnection): New class.
  154. (SimpleIRCClient.__init__): Added dcc_connections attribute.
  155. (SimpleIRCClient._dcc_disconnect): New method.
  156. (SimpleIRCClient.connect): Added localaddress and
  157. localport parameters. The socket will be bound accordingly before
  158. connecting.
  159. (SimpleIRCClient.dcc_connect): New method.
  160. (SimpleIRCClient.dcc_listen): New method.
  161. (ip_numstr_to_quad): New function.
  162. (ip_quad_to_numstr): New function.
  163. * ircbot.py (SingleServerIRCBot.on_ctcp): Relay DCC CHAT CTCPs to
  164. the on_dccchat method.
  165. * testbot.py: Added support for accepting DCC chats and for
  166. initiating DCC chats via a "dcc" command.
  167. * dccreceive: New example program.
  168. * dccsend: New example program.
  169. * Makefile: Added dccreceive and dccsend to dist files.
  170. Other changes:
  171. * setup.py: Added.
  172. * irclib.py (ServerConnection.connect, ServerConnection.user):
  173. Send USER command according to RFC 2812.
  174. (ServerConnection.connect): Added localaddress and
  175. localport parameters. The socket will be bound accordingly before
  176. connecting.
  177. (ServerConnection.process_data): Ignore empty lines from the
  178. server. (Patch by Jason Wies.)
  179. (ServerConnection._get_socket): Simplified.
  180. (ServerConnection.remove_global_handler): Added. (Patch from
  181. Brandon Beck.)
  182. * ircbot.py (SingleServerIRCBot.on_ctcp): Prepend VERSION reply
  183. with VERSION. (Patch from Andrew Gaul.)
  184. * Makefile: Added setup.py to dist files. Also create zip archive.
  185. * README: Added requirements and installation sections.
  186. 2002-03-01 Joel Rosdahl <joel@rosdahl.net>
  187. * Released version 0.3.4.
  188. Corrected problems spotted by Markku Hänninen <hmm@iki.fi>:
  189. * irccat2 (IRCCat.on_welcome): Added missing connection argument.
  190. (IRCCat.on_join): Likewise.
  191. (IRCCat.on_disconnect): Likewise.
  192. * irclib.py (ServerConnection.ison): Bug fix: Join nicks by space
  193. instead of commas.
  194. * irclib.py (ServerConnection.whowas): Bug fix: Let the max
  195. argument default to the empty string.
  196. * irclib.py (numeric_events): Added new events: traceservice,
  197. tracereconnect, tryagain, invitelist, endofinvitelist, exceptlist,
  198. endofexceptlist, unavailresource, nochanmodes, banlistfull,
  199. restricted and uniqopprivsneeded.
  200. 2002-02-17 Joel Rosdahl <joel@rosdahl.net>
  201. * Released version 0.3.3.
  202. * Makefile, README, .cvsignore: Removed documentation generated by
  203. pythondoc. Use pydoc instead.
  204. * servermap: Removed some excess whitespace.
  205. * README: Mention http://python-irclib.sourceforge.net.
  206. * Makefile (dist): Changed archive name from irclib-* to
  207. python-irclib-*.
  208. Changed license from GPL 2 to LGPL 2.1:
  209. * COPYING: New license text.
  210. * irclib.py, ircbot.py, servermap: New license header.
  211. 2001-10-21 Joel Rosdahl <joel@rosdahl.net>
  212. * Released version 0.3.2.
  213. * irclib.py (_parse_modes): Fixed problem found by Tom Morton: the
  214. mode parsing code bailed out if a unary mode character didn't have
  215. a corresponding argument.
  216. * irclib.py (_alpha): Fixed bug found by Tom Morton: w was missing
  217. in the alphabet used by irc_lower().
  218. * ircbot.py: Removed redundant import of is_channel.
  219. * servermap: Clarified copyright and license.
  220. * irccat: Ditto.
  221. * irccat2: Ditto.
  222. 2000-12-11 Joel Rosdahl <joel@rosdahl.net>
  223. * Released version 0.3.1.
  224. * irclib.py (IRC.process_once): Work-around for platform-dependent
  225. select() on Windows systems.
  226. * ircbot.py: Clarification of SingleServerIRCBot doc string.
  227. 2000-11-26 Joel Rosdahl <joel@rosdahl.net>
  228. * Released version 0.3.0.
  229. * Makefile (dist): Include ircbot.py again.
  230. * README: Updated.
  231. * irclib.py (ServerConnection.get_nickname): Renamed from
  232. get_nick_name.
  233. (ServerConnection._get_socket): Return None if not connected.
  234. 2000-11-25 Joel Rosdahl <joel@rosdahl.net>
  235. * irclib.py (ServerConnection.process_data): all_raw_messages
  236. instead of allrawmessages.
  237. (IRC._handle_event): Added "all_events" event type.
  238. (nm_to_n): Renamed from nick_from_nickmask.
  239. (nm_to_uh): Renamed from userhost_from_nickmask.
  240. (nm_to_h): Renamed from host_from_nickmask.
  241. (nm_to_u): Renamed from user_from_nickmask.
  242. (SimpleIRCClient): Created.
  243. 2000-11-22 Joel Rosdahl <joel@rosdahl.net>
  244. * irclib.py (lower_irc_string): Use translation instead.
  245. (ServerConnection.process_data): Split non-RFC-compliant lines a
  246. bit more intelligently.
  247. (ServerConnection.process_data): Removed unnecessary try/except
  248. block.
  249. (ServerConnection.get_server_name): Return empty server if
  250. unknown.
  251. (_rfc_1459_command_regexp): Tweaked a bit.
  252. * ircbot.py: Rewritten.
  253. 2000-11-21 Joel Rosdahl <joel@rosdahl.net>
  254. * irclib.py (IRC.process_forever): Default to processing a bit
  255. more often.
  256. 2000-10-29 Joel Rosdahl <joel@rosdahl.net>
  257. * Released version 0.2.4.
  258. * Makefile (dist): Include generated documentation in
  259. distribution.
  260. * Makefile (doc): Make documentation.
  261. * irclib.py: Updated documentation.
  262. * irclib.py (is_channel): Included "!" as channel prefix.
  263. 2000-10-02 Joel Rosdahl <joel@rosdahl.net>
  264. * Released version 0.2.3.
  265. * irclib.py (ServerConnection.connect): Make socket.connect() work
  266. for Python >= 1.6.
  267. 2000-09-26 Joel Rosdahl <joel@rosdahl.net>
  268. * Released version 0.2.2.
  269. * irclib.py (ServerConnection.user): Fixed erroneous format
  270. string.
  271. 2000-09-24 Joel Rosdahl <joel@rosdahl.net>
  272. * Released version 0.2.1.
  273. * irclib.py (ServerConnection.process_data): Bug fix (didn't keep
  274. track of nick name).
  275. (IRC.process_once): New method.
  276. (ServerConnection.process_data): Bug fix.
  277. (IRC.disconnect_all): Created.
  278. (IRC.exit): Removed.
  279. (ServerConnection.exit): Removed.
  280. (ServerConnection.connect): Follow RFC closer.
  281. (ServerConnection.user): Follow RFC closer.
  282. * ircbot.py: Removed.
  283. * irccat (on_disconnect): Just sys.exit(0).
  284. * servermap (on_disconnect): Just sys.exit(0).
  285. * irclib.py: Various documentation and some clean-ups.
  286. 1999-08-21 Joel Rosdahl <joel@rosdahl.net>
  287. * Released version 0.2.0.
  288. * servermap: Updated to work with irclib 0.2.0.
  289. * irccat: Updated to work with irclib 0.2.0.
  290. * ircbot.py: Updated to work with irclib 0.2.0. The bot now
  291. checks every minute that it is connected. If it's not, it
  292. reconnects.
  293. * irclib.py: Changes in how to create a ServerConnection object.
  294. Made the code for handling disconnection hopefully more robust.
  295. Renamed connect() to sconnect().
  296. 1999-06-19 Joel Rosdahl <joel@rosdahl.net>
  297. * irclib.py: Released 0.1.0.