Skip to content

Latest commit

 

History

History
350 lines (244 loc) · 13.5 KB

CHANGES.rst

File metadata and controls

350 lines (244 loc) · 13.5 KB

Release history

Version 2.0.0-beta (2013-03-31)

Features:

Major refactoring:

  • python 3 compatibility
  • xmpp backend has been replaced by sleekxmpp
  • flask has been replaced by bottle (sorry flask no py3 support, no future)
  • rocket is used as webserver with SSL support
  • now the IRC backend uses the smpler python/irc package
  • improved unittest coverage

Version 1.7.1 (2012-12-25)

Bugs:

  • unicode encoding on jabber

Version 1.7.0 (2012-12-24)

Incompatible changes:

For this one if your plugin uses PLUGIN_DIR, you will need to change it to self.plugin_dir as it is a runtime value now.

Bugs:

  • yapsy 1.10 compatibility
  • better detection of self in MUC
  • force python 2 for shebang lines
  • Parses the real nick and the room and put it in the from identity of messages
  • fix for JID Instance has no attribute '__len__'
  • partial support for @ in JIDs nodes
  • when a plugin was reloaded, it was not connect notified

Features:

  • botprefix is now optional on one on one chats
  • fine grained access control
  • better serialization to disk by default (protocol 2)
  • configurable separate rate limiting for IRC for public and private chats
  • added support for MUC with passwords
  • bot prefixes can be of any length
  • modular !help command (it lists the plugin list with no parameters instead of the full command list)

Dev Improvements:

  • better unit tests
  • Travis CI

Version 1.6.7 (2012-10-08)

Bugs:

  • the XMPP from was not removed as it should and broke the gtalk compatibility
  • fixed 'jid-malformed' error with build_reply()

Features:

Version 1.6.6 (2012-09-27)

Bugs:

  • bot initiated messages were not correctly callbacked on jabber backend
  • !apropos was generating an unicode error thx to https://github.com/zoni for the fix
  • corrected a serie of issues related to the sharedmiddleware on flask
  • fixed a regression on the IRC backend thx to https://github.com/nvdk for helping on those

Features:

  • added err-mailwatch to the official repo thx to https://github.com/zoni for the contribution
  • added a "null" backend to stabilise the web ui

Version 1.6.5 (2012-09-10)

Bugs:

Features:

  • The graphical backend now uses a multiline chat to better reflect some backends.

Version 1.6.4 (2012-09-04)

You will need to add 2 new config entries to your config.py. See below for details

Bugs:

  • Identity stripping problems
  • fixed warn_admin that regressed
  • close correctly shelves on connection drop [Thx to linux techie https://github.com/linuxtechie]
  • corrected the !status reporting was incorrect for non configured plugins (label C)
  • force a complete reconnection on "See Other Host" XMPP message

Features:

  • You can now change the default prefix of the bot (new config BOT_PREFIX) [Thx to Ciaran Gultnieks https://github.com/CiaranG]
  • Added an optional threadpool to execute commands in parallel (Experimental, new config : BOT_ASYNC)
  • Now the bot waits on signal USR1 so you can do a kill -USR1 PID of err to make it spawn a local python console to debug it live
  • Now you can have several config_*.py, one per backend (to be able to test specifically a backend without having to reconfigure each time the bot)

Version 1.6.3 (2012-08-26)

Bugs:

  • !reload was causing a crash on templating
  • !update was failing on internal_shelf
  • several consistency fixups around Identity and Message, now they should behave almost the same was across all the backends
  • corrected several unicode / utf-8 issues across the backends
  • unified the standard xmpp and hipchat keep alive, they work the same

Features:

  • added err-timemachine, an "history" plugin that logs and indexes every messages. You can query it with a lucene syntax over specific dates etc ...
  • Added a webserver UI from the webserver builtin plugin (disabled by default see !config webserver to enable it)
  • Now if a config structure changed or failed, the bot will present you the config you had and the default template so you can adapt your current config easily
  • Added the schema for xhtml-im so you can use your favorite xml editor to check what your templates are generating

Version 1.6.2 (2012-08-24)

Bugs:

Features:

  • Added basic IRC support
  • Now the BOT_EXTRA_PLUGIN_DIR can be a list so you can develop several plugins at the same time

Version 1.6.1 (2012-08-22)

Simplified the installation.

Bugs:

  • put pyfire as an optional dependency as it is used only for the campfire backend
  • put PySide as an optional dependency as it is used only for the QT graphical backend

Version 1.6.0 (2012-08-16)

Bugs:

  • corrected a threading issue that was preventing err to quit
  • the python shebangs lines where not generic
  • the config path is not inserted first so we don't conflict with other installs
  • corrected a corruption of the configs on some persistance stores on shutdown

Features:

Version 1.5.1 (2012-08-11)

Bugs:

  • the pypi package was not deploying html templates

Version 1.5.0 (2012-08-10)

Bugs:

Features:

  • Added XHTML-IM support with Jinja2 templating see https://github.com/gbin/err/wiki/xhtml-im-templating to get started.
  • Better presentation on the !repos command
  • load / unload of plugins is now persistent (they are blacklisted when unloaded)
  • Better presentation of the !status command : Now you can see loaded, blacklisted and Erroneous plugins from there
  • A new !about command with some credits and the current version
  • Implemented the history navigation in the graphic test mode (up and down)
  • Added an autocomplete in the graphic test mode
  • Added the logo in the background of the graphic mode

Version 1.4.1 (2012-07-13)

Bugs:

  • corrected a vicious bug when you use metaclasses on plugins with botcmd decorator generated with parameters
  • don't call any callback message if the message is from the chat history
  • dependency problem with dnspython, it fixes the compatibility with google apps [Thx to linux techie https://github.com/linuxtechie]
  • on repos updates, err now recheck the dependencies (you never know if they changed after the update)

Features:

  • Added a new check_configuration callback now by default the configuration check is basic and no implementation has to be done on plugin side
  • Warn the admins in case of command name clashes and fix them by prefixing the name of the plugin + -
  • A brand new graphical mode so you can debug with images displayed etc ... (command line option -G) it requires pyside [thx to Paul Labedan https://github.com/pol51]
  • A new !apropos command that search a term into the help descriptions [thx to Ben Van Daele https://github.com/benvd]
  • Now the bot reconnects in case of bad internet connectivity [Thx to linux techie https://github.com/linuxtechie]
  • The bot now supports a "remote chatroom relay" (relay all messages from a MUC to a list of users) on top of a normal relay (from a user to a list of MUC)
    With this you can emulate a partychat mode.
  • err-music [thx to Ben Van Daele https://github.com/benvd and thx to Tali Petrover https://github.com/atalyad]

Version 1.4.0 (2012-07-09)

Bugs:

  • improved the detection of own messages
  • automatic rejection if the configuration failed so it the plugin restart with a virgin config

Features:

Version 1.3.1 (2012-07-02)

Bugs:

  • nicer warning message in case of public admin command

Features:

  • added a warn_admins api for the plugins to warn the bot admins in case of serious problem
  • added err-tv in the official repos list
  • added an automatic version check so admins are warned if a new err is out
  • now if a repo has a standard requirements.txt it will be checked upon to avoid admins having to dig in the logs (warning: it added setuptools as a new dependency for err itself)

Version 1.3.0 (2012-06-26)

Bugs:

  • Security fix : the plugin directory permissions were too lax. Thx to Pinkbyte (Sergey Popov)
  • Corrected a bug in the exit of test mode, the shelves could loose data
  • Added a userfriendly git command check to notify if it is missing

Features:

  • Added a version check: plugins can define min_err_version and max_err_version to notify their compatibility
  • Added an online configuration of the plugins. No need to make your plugin users hack the config.py anymore ! just use the command !config
  • Added a minimum Windows support.

Version 1.2.2 (2012-06-21)

Bugs:

  • Corrected a problem when executing it from the dev tree with ./scripts/err.py
  • Corrected the python-daemon dependency
  • Corrected the encoding problem from the console to better match what the bot will gives to the plugins on a real XMPP server
  • Corrected a bug in the python path for the BOT_EXTRA_PLUGIN_DIR setup parameter

Features:

  • Added a dictionary mixin for the plugins themselves so you can access you data directly with self['entry']
  • admin_only is now a simple parameter of @botcmd
  • Implemented the history commands : !history !! !1 !2 !3

Version 1.2.1 (2012-06-16)

Bugs:

  • Corrected a crash if the bot could not contact the server

Features:

  • Added a split_args_with to the botcmd decorator to ease the burden of parsing args on the plugin side (see https://github.com/gbin/err/wiki/plugin-dev)
  • Added the pid, uid, gid parameters to the daemon group to be able to package it on linux distributions

Version 1.2.0 (2012-06-14)

Bugs:

  • Don't nag the user for irrelevant settings from the setting-template
  • Added a message size security in the framework to avoid getting banned from servers when a plugin spills too much

Features:

  • Added a test mode (-t) to ease plugin development (no need to have XMPP client / server to install and connect to in order to test the bot)
  • Added err-reviewboard a new plugin by Glen Zangirolam https://github.com/glenbot to the repos list
  • Added subcommands supports like the function log_tail will match !log tail [args]

Version 1.1.1 (2012-06-12)

Bugs:

  • Fixed the problem updating the core + restart
  • Greatly improved the reporting in case of configuration mistakes.
  • Patched the presence for a better Hipchat interop.

Version 1.1.0 (2012-06-10)

Features:

  • Added the !uptime command
  • !uninstall doesn't require a full restart anymore
  • !update a plugin doesn't require a full restart anymore
  • Simplified the usage of the asynchronous self.send() by stripping the last part of the JID for chatrooms
  • Improved the !restart feature so err.py is standalone now (no need to have a err.sh anymore)
  • err.py now takes 2 optional parameters : -d to daemonize it and -c to specify the location of the config file

Version 1.0.4 (2012-06-08)

  • First real release, fixups for Pypi compliance.