File Release Notes and Changelog
Notes:
After one and a half months of development, including a shift of servers,
followed by a more or less complete move to sourceforge (except for web
content), we're not ready to serve the next version of Anna^ codenamed
"caprice".
This time, some effort has been put into making it easier to install, run and
upgrade Anna^. Thus, Anna^ is now able to handle database-updates with new
versions. Should you happen to use version 0.10... well, tough luck :)
For users of 0.2x, Anna^ will automatically update your database on the first
run.
Enjoy caprice! Remember to report bugs and file wishes to <and@vmn.dk> (or
through the sourceforge-system)
Changes:
0.30 Sat Nov 25 19:47:58 CET 2006
- Anna^ now recovers her nick correctly. Rejoice! (Bug since 0.10).
- Anna^ catches SIGINT and disconnect properly from irc and the
database.
- Ircname is now set correctly... blame lame Net::IRC documentation.
- (internal) trim functions added. Input will now be trimmed for
whitespace.
- (internal) command-line arguments are now parsed with getopt::long
- Added check for database file.
- Experimental color-coding of terminal output. I'm not sure if I'll
keep it. In other news, subroutine warning() now handles warnings and
error() make errors a little more spiffy.
- Improved parsing of HTML source.
- You can now specify how many results a google search should return.
use !google <int> <query>. Otherwise, google will return the first
result. A new range-search concept has been added to todo as well.
- Squashed bug that nix'ed newlines from privmsg output.
- You no longer get booted from #channel if you lose in a private game
of roulette.
- !fortune now accepts -a, -o and -e as well as a packagename.
- !lart me makes Anna^ insult YOU!
- Specify your own trigger. You no longer _have_ to use !. Just change
the $trigger variable.
- Use --silent to suppress all output to the terminal. --verbose still
overrides this.
- No more SQL injection vulnerabilities (hopefully).
- !google now displays correct number of results.
- (internal) colour()-routine now handles colourization of strings.
- Notices are now printed on stdout, unless the --silent flag is used.
- Nick changes no longer invokes a quit notice.
- Orders have been moved to the database.
- Anna^ now checks for the presence of /etc/anna.conf and
~/.anna/config and uses those two instead of default values.
Precedence is as follows: cmd-line > configfiles > default values.
- Anna^ will now kick users that utter a banned word. You can define
banned words in the configuration file.
- Makefile added - use su -c "make install" to install anna.
- New first-run check will copy config and db if they aren't present.
- New anna_init subroutine will take care of initial checks
- Don't lowercase nicks when nicks are changed (happened due to
lastseen functionality)
- Handle kills properly (don't appear to be trying to reconnect)
- More consistency and fewer deadly sins... hooray! \o/
- Autpdetect database version and update if out of sync
- (internal) Use constants, not variables for stuff that really are
constant during the session.
- Output will only be colourized if STDOUT is a tty. This might create
a problem with output going to STDERR, but since this _should_ be
sent through error() anyway, I've added a check for STDERR->tty
there.
- Quoting of messages in lastseen-system fixed.
- (internal) escape_shell()-function added. Escapes a string for use
in a shell environment.
- Flagparsing i !fortune fixed.
- New functions:
- Note - yep, a note-taking system (somewhat). Syntax is
!note <text1> = <text2> where <text1> is a short identifier
and <text2> is the note. View a note with !note <text1>.
!calc without anything prints a random note.
- Mynotes - show all notes belonging to yourself, with
!mynotes. Send Anna^ a privmsg to see all if you have more
than 15.
- Rot13 - translate rot13-strings with !rot13 <string>
- Search - use !search to search various tables in Anna^'s
database. So far, you can use 'notes', 'quotes' and 'all'.
Syntax is !search <table> <str>.
- !addorder - add a new order to the database. Syntax is
!addorder <key> = <order>, and <order> must contain
the string "##".
- !rstats - print statistical information from roulette games.
- New requirements:
- Perl module HTML::Parser (for HTML::Entities)