Lita 3.0 released
Version 3.0 of Lita, the chat bot built with Ruby, has been released. This new version contains many new features and improvements. The documentation on Lita.io has been updated to match, so head on over to the getting started guide, or read on for an overview of changes, and be sure to check out the source code on GitHub!
Changes for users
- The built-in web server is now powered by Puma. This should exhibit improved performance with a smaller memory footprint, especially on JRuby. (Rubinius currently does not support Ruby 2.0 syntax, so Lita will not run on it yet.)
- Lita is now internationalized. The language used for both CLI and runtime messages can be changed via environment variable or configuration attribute. Pull requests adding translations for new languages are most welcome!
partcommands allow administrators to manage channel presence at runtime.
- A new
infocommand tells you what version of Lita is running.
authcommands now accept a user name or mention name in addition to ID.
Changes for plugin authors
There are three changes which are not backwards-compatible, which plugin authors should be aware of:
- The previously deprecated method signatures for
Lita::Source.newhave been removed. Code in the wild has mostly already updated, so this should not have any effect.
Lita.configis now deeply frozen before the robot is started. This was done to improve thread safety when using globally accessible data. Any plugin code that is mutating
Lita.configoutside of the
default_configHandler class method will need to be updated. The major adapter plugins have already been updated to support this change.
Lita::RSpecnow requires RSpec version 3.
The following new features are available:
- The HTTP router now supports Sinatra-style path variables, globbing, and regular expression constraints.
- Lita is now internationalized and plugins can easily add support for new locales.
#partmethods for managing channel presence at runtime.
- Timers allow code to execute after a delay or repeatedly at intervals.
- New, more convenient methods for looking up users by partial name, mention name, or a fuzzy find that will accept any type of user identifier.
Additional changes include:
- Improved RSpec support, with better output for chat/HTTP/event routing tests when using the documentation formatter or when examples fail.
- Improved documentation.