pmxbot / CHANGES.rst

The default branch has multiple heads

Jason R. Coombs 2733bfd 

Jason R. Coombs b694ee4 

Jason R. Coombs 110bd41 
Jason R. Coombs b694ee4 
Jason R. Coombs dcdc188 

Jason R. Coombs caff2dd 
Jason R. Coombs 26ae240 

Jason R. Coombs dcdc188 
Jason R. Coombs 0dedcdd 

Jason R. Coombs d0b0c87 

Jason R. Coombs 1750fe6 

Jason R. Coombs 4ea199e 
Jason R. Coombs 6e14da1 

Jason R. Coombs 57effa8 

Jason R. Coombs 1148246 


* Include channel in hyperlink for logs for logged channels.


* Added support for logging leave events as well as join events.
* Added a new ``@on_leave`` decorator, suitable for implementing custom
  handlers for leave events.
* ``pmxbot`` command now optionally accepts multiple config files.


* Added support for keepalives. To enable, set the 'TCP keepalive' config
  value to a non-zero number of seconds or a period string like '3 minutes'.
  If configured correctly, pmxbot will report during startup the interval
  that it detected, and every interval, it will send a 'ping' message to the
* Issue #27: Fix display of aliases in web help.
* Added a version command to get the pmxbot version or version of other
  package in the environment.


* Allow keyword arguments to @regexp decorator.


* Added `pmxbot.core.FinalRegistry` for registering callback functions to be
  called when the bot exits.


* Extracted `RSSFeeds.format_entry`.


* Added `pmxbot.core.SwitchChannel`. Handlers can yield this sentinel,
  constructed with the name of a new channel, to cause subsequest messages
  to be sent on the indicated channel.
* Removed db_uri from LoggingCommandBot (attribute and constructor).
  Clients that invoke the constructor or expect the attribute to be present
  will need to be updated to use the value from the config instead.


* Refactored FeedHistory, allowing for other classes to re-use the history
  concept in other RSS handlers.
* Exposed the bot instance as `pmxbot.core._bot` (experimental).


* New @regexp decorator. Similar to @contains, except allows regular
  expressions instead of simple string matching. See the README for an example
  of usage. Thanks to `Craig Wright <>`_ for the


* pmxbot will assume local host name is appropriate for logs URL if no logs
  URL is specified in the config.


* One may now specify the database name in the URI.
* pmxbot will log the config when starting up.


* Updated to work with irc 5.0


* @contains decorator has a new keyword parameter: `allow_chain`. Set to True
  to allow subsequent @contains decorators to match.
* Issue #18: Strip periods from acronym, fixing errors from remote service.


* Now use irc 3.3.
* Python 3 bug fixes.


* Updated to irc 3.1.
* Replaced cleanhtml with BeautifulSoup.
* Preliminary Python 3 support (compiles and runs).


* Initial support for logging joins/parts in logged channels.


* Added !logs command to query for the location of the logs.


* Moved config to 'pmxbot.config'.
* Config parameter no longer required.


This release incorporates another substantial refactor. The `pmxbotweb`
package is being removed in favor of the namespaced-package `pmxbot.web`.

Additionally, config entries for the pmxbotweb command have been renamed::

 - `web_host` is now simply `host`
 - `web_port` is now simply `port`

A backward-compatibility shim has been added to support the old config values
until version 1104.

The backward compatibile module `pmxbot.botbase` has been removed.


Build 1102 of `pmxbot` involves some major refactoring to normalize the
codebase and improve stability.

With version 1102, much of the backward compatibility around quotes and karma
has been removed::

 - The Karma store must now be referenced as `` (a
   class attribute). It is no longer available as `pmxbot.pmxbot:karma` nor
   `pmxbot.util:karma` nor `pmxbot.karma.karma`.
 - Similarly, the Quotes store must now be referenced as
   `` (a class attribute).
 - Similarly, the Logger store must now be referenced as
   `` instead of `pmxbot.botbase.logger`.

Other backward-incompatible changes::

 - The `config` object has been moved into the parent `pmxbot` package.
 - A sqlite db URI must always specify the full path to the database file;
   pmxbot will no longer accept just the directory name.

Other changes::

 - Renamed `pmxbot.botbase` to `pmxbot.core`. A backward-compatibility
   `botbase` module is temporarily available to provide access to the public
   `command`, `execdelay`, and similar decorators.