Several new servlets were added. The API has been
cleaned up and major code refactoring was done to
pave the way for true Servlet 2.3 support in
version 4.0. Better integration with freenode's
chanserv/nickserv services has been achieved. New
modules include Bable (translation), CardGames,
Trivia, PeopleWatcher, Assassin, and Karma.
New servlets have been added, including a TellServlet for passing mesages among channel idlers, a HangmanServlet for playing games, and the AdminServlet to send the bot between channels. It also adds multi-part/multi-party reply support in the container, and upgrades all existing servlets to use this feature. The container attempts to throttle its output with some success, and the communication layers handle more messages more effectively.
Sashenka's request dispatcher has been re-written from a single threaded process to a multithreaded dispatcher in this release. Requests are now deposited in a synchronized queue and a configurable number of worker threads process and dispatch the requests to the Servlets. A new Bot Servlet has been added to the distribution and a couple of existing ones have been slightly modified. The default behavior of the FortuneServlet has been changed so it will not annoy channel members without being explicitly set to do so.
Another bot has been added in this release and the container functionality has changed to support idle channel behavior. The annoying chatter every 10 minutes into the channel has been modified to send a bit of trivia only if the channel has been idle for 10 minutes. All of this behavior is of course configurable. For module writers there are now doIdle() methods available as well as command parameter parsing in the Request objects.