Files
Autobot/doc/CHANGELOG
T

306 lines
13 KiB
Plaintext

Auto IRC Bot 3.0: Change Log
-------------------------------------------------------------------------------
3.0 Indev
===============================================================================
* Bug fix: Fixed an exploit in QDB RAND.
* UNO: Fixed a formatting issue in duration.
3.0 Alpha 8
===============================================================================
* Full support for custom PREFIX installs (including global installs) has
been completed.
* Added fastest/slowest game, most cards and most players records to UNO.
* Fixed a bug in UNO that allowed users to join more than once.
* Added optional uno:english option. See documentation for UNO.
* UNO has a new config option, uno:msg, for setting what method the bot
uses for private messages.
* Added command aliasing.
* Moved botinfo to State::IRC.
* Added hook on_selfkick for when we are kicked from a channel.
* Moved chanusers to State::IRC.
* Created State::IRC.
* UNO now keeps game duration and cards played count.
* Added a LOLCAT module for translating English to LOLCAT.
* EightBall module rewritten.
* Fixed a bug in LinkTitle that caused multi-line <title>'s to display
wrong.
* Added `wizard`, for creating local Auto config directories.
* Made Auto respond properly to PRIVMSGs received before connection.
* Added an AUR module.
* Fixed an exploit in QDB that allowed users to use services fantasy
commands with the bot's account.
* Heavily improved ./install.
3.0 Alpha 7
===============================================================================
* Fixed a bug in UNO where rehashing during a game caused a crash.
* Proto::IRC::umodes renamed to Proto::IRC::botinfo{svr}{modes}.
* Fixed a bug where incoming PART's from ourselves were not parsed.
* Our usermodes are now tracked in Proto::IRC::umodes.
* Added an Oper module.
* Added events on_cmode and on_umode.
* Added event on_myinfo for RPL_MYINFO (numeric 004).
* Raw hooks now take hook names and support multiple hooks. This changes
rchook_add and rchook_del.
* Vim modelines must be at the bottom of files. Modules updated.
* Renamed Lib::Users to Core::IRC::Users.
* Added Lib::Users, for network-wide user tracking. This brings many new
possibilities to modules, including an account system.
* Added hook on_namesreply.
* All data related to a network is now deleted on disconnect.
* Added hook on_disconnect.
* Added various options to bin/auto, including support for multiple config
files. See bin/auto -h for details.
* Changed on_nick, on_quit, on_part, and on_kick source hashrefs to include
server, removing svr.
* Bumped minimum API version to 3.0.0a7.
* Fixed the arguments on_whoreply passes.
3.0 Alpha 6
===============================================================================
* Bug fix: Fixed an issue with SASL timeout.
* Added hook on_capack.
* CAP is now core.
* Fixed a bug with multi-prefix support.
* Added fpfmt() to API::Std.
* Auto::GR renamed to $Auto::VERGITREV.
* Bumped minimum version for API to 3.0.0a6.
* Changed on_topic args to: full source hashref, new topic array
* on_topic is now triggered for any topic change, regardless of source.
* Now parsing numeric 004.
* Added hook on_isupport.
* Added a BotStats module for returning statistics about the bot.
* Now parsing numeric 396.
* Added who() to API::IRC.
* Added hook on_whoreply.
* PRIVMSGs and NOTICEs that would cause a >512 bytes resulting message are
now divided into multiple messages.
* Renamed botnick to botinfo.
* Renamed Parser::IRC to Proto::IRC.
* Added an Eval module.
* Added an UNO module.
* Added on_part hook.
3.0 Alpha 5
===============================================================================
* Bug fix: Fixed broken rehash.
* Ignore PRIVMSG's if they're from an invalid source.
* Fixed an odd bug when viewing non-existent quotes.
* You can now define how many results are returned by QDB SEARCH/MORE at a
time with qdb_search_resnum in the config.
* Added SEARCH and MORE to QDB.
* Killed EMODS in the starter script and updated MODS
* Added core command MODLIST.
* Added command level 3 for logchan-only command.
* Added a LinkTitle module for getting the title of a web page posted in a
channel.
3.0 Alpha 4
===============================================================================
* Added a Dictionary module for looking up definitions of words.
* server:ajoin now supports channel keys by spacing the name and key.
* Hooks can now block events by returning -1.
* bin/buildmod now retrieves the POD from modules and creates man(1) page
plus HTML file.
* cjoin() now supports a channel key as the last argument.
* Added a ChanTopics module for advanced management of channel topics.
* bantype is now a required configuration value.
* Added ban() to API::IRC.
* Changed on_cprivmsg arguments to: \%src, $channel, @msg
* Changed on_uprivmsg arguments to: \%src, @msg
* Bug fix: Commands getting Permission denied even with incorrect prefix.
* Changed command callback arguments to: \%src, @args
* Bundle server with \%src in the on_rcjoin event.
* logchan is now joined automatically.
* Changed on_notice arguments to: \%src, $target, @msg
* Clean up shutdown.
* Created event on_shutdown.
* Shutdown if there are no more IRC connections.
* Added the ability to use printf(3) % variables in trans().
* Added slog() to API::Log for logging to IRC.
* Added a Greet module for greeting users on join.
* Added PostgreSQL support. Official modules do not support this yet.
* database:format now a required configuration value.
* Added support for MySQL. ./install --with-mysql
* Added a database upgrade script for upgrading the `qdb` table in 3.0.0a3
to the new format used by 3.0.0a4.
3.0 Alpha 3
===============================================================================
* Added command rate limiting.
* Added module installer to ./install.
* Added a module buildsys.
* Added a QDB module.
* SIGHUP now triggers a rehash.
* Added core command REHASH.
* Moved signal handlers to Lib::Auto.
* Renamed src/ to lib/.
* Switched from Auto-Flatfile to SQLite for database backend.
* Added a Badwords module.
* Added kick() to API::IRC.
* Added DBI and DBD::SQLite to core dependencies.
* Added on_connect hook, triggered after we receive 001.
* Updated hooks to use hashrefs.
* Moved CTCP VERSION reply to Core::IRC.
* Renamed Core::IRC to Core::Cmd.
* Parse MODE.
* Added CertFP support.
* Rewrote socket read/write methods.
* Added SSL support.
* Added act() to API::IRC.
* Added IPv6 support.
3.0 Alpha 2
===============================================================================
* Added update check for non-indev releases.
* Added Git revision to version string for dev releases.
* Added an FML module for retrieving random FML quotes.
* Privilege to use a command is now handled by the priv arg of cmd_add.
* HELP now only displays help if the user has the appropriate privileges.
* Updated Core::IRC and all modules to obey the updated API.
* Deleted shelp from cmd_add, replaced with privilege. Renamed fhelp to
help.
* If fantasy HELP is used, only display fantasy commands, if private HELP
is used, only display private commands.
* Fixed cmd_add syntax. Correct format: name, level, short help, full help,
callback.
* Added core command HELP.
* Added core command RESTART.
* Added config option server:autorejoin for rejoining on kick.
* Added event on_kick.
* Parse KICK.
* Added event on_quit.
* Parse QUIT.
* Added event on_part.
* Parse PART.
* Update chanusers on JOIN.
* Properly parse NICK and update chanusers.
* Added --enable-ssl to ./install for the future SSL support.
* Added chanstatus-based permissions. This works via user:chanstatus.
* Catch __WARN__ and __DIE__, logging to file.
* Added Spanish translations.
* Added EightBall module.
* Rewrote the socket engine. This should fix random timeouts.
* Added IsItUp module.
* Added user:net for network-specific user blocks.
* Bug fix: Fixed broken no-parameter config blocks.
* Added core command SHUTDOWN.
* Added core command MODRELOAD.
* Added core command MODUNLOAD.
* Added core command MODLOAD.
* Added Weather module.
* Added Calc module.
* Fixed the NAME,VER,SVER,REV,RSTAGE constants.
* Added a CTCP VERSION reply.
* Created Core::IRC.
* Added Bit.ly module.
3.0 Alpha 1
===============================================================================
* Added mod_exists() to API::Std.
* Added SASL support with modules/SASLAuth.
* Added mdelete() to DB/Flatfile.
* Added topic() to API::IRC.
* Added has_priv() to API::Std.
* Finished the host-based privilege/permission system.
* Added hook on_preconnect, this comes before USER (after PASS).
* Added match_mask() to API::IRC and match_user() to API::Std, match_user
checks config user:mask to find a user block, if a match is found, the
configured username is returned.
* Added rchook_add() and rchook_del() to API::Std.
* Parse NOTICE and added hook on_notice.
* Added hooks on_uprivmsg and on_cprivmsg.
* Module names are now case sensitive.
* Added config option module for auto-loading a module.
* Fixed a bug in API::Log that caused invalid months.
* Changed how command data is passed to fix a bug.
* Removed dependency Async.
* Rewrote the socket engine.
* Added cmd_add|del|run() to API::Std for commands.
* Parse PRIVMSG.
* Enabled ./install features are now stored in $Auto::ENFEAT.
* Added --enable-sasl option to ./install for enabling SASL.
* Added names() to API::IRC which sends NAMES.
* Parse NAME replies (Numeric:353).
* Parse Numeric:005 and store PREFIX's data.
* Bug fix: The bot's nick is now stored correctly.
* Added server:modes config option for setting modes on connect.
* Parse TOPIC. (and added hook on_topic)
* Added DB::Flatfile for DB:: database functions.
* Added umode() to API::IRC.
* Added events on_ucjoin, on_rcjoin and on_nick.
* Parse numerics 465, 471-475 and 477.
* Added an optional @args onto event_run() for sending @args to the subs
that have hooked onto the event.
* Parse the channels the bot is in.
* Parse Numeric:438.
* Added timer_add() and timer_del() to API::Std for timers.
* Added events: on_sigterm, on_sigint and on_sighup.
* Added event_add|del|run() and hook_add|del() to API::Std for managing and
running events/hooks.
* server:nspass removed. server:idstr added.
* Changed the way we parse strings to support multi-word strings in config
values.
* Added server:nspass to config options. Will be replaced in the future by
idstr.
* Parse NICK.
* Added usrc() to API::IRC for formatting a source.
* Added awarn() to API::Std for warnings.
* Parse Numeric:432.
* Parse Numeric:433.
* Added nick() to API::IRC.
* Added %got_001 to Parser::IRC for checking if we've been sent 001.
* Renamed API::IRC::mode() to cmode()
* Added mod_init() and mod_void() to API::Std.
* Use Class::Unload.
* Handle SIGTERM, SIGINT and SIGHUP.
* Added quit() to API::IRC.
* Added notice() to API::IRC.
* Added privmsg() to API::IRC.
* Added mode() to API::IRC.
* Added PASS support.
* Bug fix: err() fatal errors now work. They didn't work due to bad regex.
* Added an installation script.
* Fork into the background if not in debug mode.
* Begin on API::IRC.
* Parse PING and Numeric:001.
* Begin on the IRC parser.
* Added sockets, support for multiple asynchronous sockets.
* Bug fix: conf_get() now returns correct data by checking what type of
reference the requested value is.
* Foundation completed.
* Added API function err()
* Added API function dbug()
* Added a debug mode.
* Old logs can now expire if set to do so in config.
* Added API function alog()
* Added API::Log::expire_logs()
* Added API function println()
* Use Mouse.
* Added contributor; Chazz "Alexandria" Wolcott.
* Gettext is no longer used.
* German translations. Contributed by Chazz "Alexandria" Wolcott.
* Converted English and French files to new format.
* Created a new method of translation.
* Use Exporter for the API functions.
* Added developer; Timothy Estes.
* Added developer; Russell Bradford.
* Require Perl 5.10.0 or higher.
* Removed developer; Russell Bradford.
* Renamed config value language to locale.
* Added an example config file.
* Added API function conf_get()
* Renamed API::Standard to API::Std
* Created a configuration file parser.
* New developer; Russell Bradford.
* Import the POSIX module.
* Fixed accent marks in French translation files.
* French translations.
* Added gettext compile script.
* Gettext English language files.
* New developer; Matthew Barksdale.
* Added documentation for the future Auto-Flatfile database format.
* Added a basic launcher.
* Finished standard documentation.