updates.
authorPekka Riikonen <priikone@silcnet.org>
Mon, 25 Feb 2002 15:19:02 +0000 (15:19 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Mon, 25 Feb 2002 15:19:02 +0000 (15:19 +0000)
14 files changed:
CHANGES
TODO
apps/irssi/ChangeLog [new file with mode: 0644]
apps/irssi/Makefile.am
apps/irssi/NEWS [new file with mode: 0644]
apps/irssi/TODO [new file with mode: 0644]
apps/irssi/docs/Makefile.am
apps/irssi/scripts/Makefile.am
apps/irssi/src/perl/Makefile.am
apps/silcd/protocol.c
configure.in.pre
doc/Makefile.am.pre
lib/silcclient/protocol.c
lib/silcske/silcske.c

diff --git a/CHANGES b/CHANGES
index 014ded546a64a203c7901dae1aa1786c4bed898e..cc9ce437d766057caf9cac9f58c171473d423993 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+Mon Feb 25 17:19:05 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Removed 0.6.x backwards support.
+
 Sun Feb 24 12:53:25 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Changed all integer type names:
diff --git a/TODO b/TODO
index 0b9927e8f114eca7aaaa2d3623e88ecbf842d36b..d9f38eb3db8110e372a541d97bf26a3ff0575a89 100644 (file)
--- a/TODO
+++ b/TODO
@@ -35,10 +35,11 @@ TODO/bugs In SILC Client Library
 TODO/bugs In SILC Server
 ========================
 
- o Remove old  0.6.x backwards support.
-
  o Configuration file additions:
 
+       o Add version handling, to allow, disallow certain versions to
+         connect.
+
        o Add incoming connection frequency, incoming connection frequency
          for single IP address, key exchange frequency, key exchange
          frequency for single IP. Add also frequency base.
diff --git a/apps/irssi/ChangeLog b/apps/irssi/ChangeLog
new file mode 100644 (file)
index 0000000..e69de29
index 4f79ed20aa09e5a3322428796e039d62de5c1262..4665195fab24e17dc2bfba220f2f8293606e95ec 100644 (file)
@@ -21,7 +21,7 @@ include $(top_srcdir)/Makefile.defines.in
 confdir = $(silc_etcdir)
 conf_DATA = silc.conf
 
-themedir = $(datadir)/irssi/themes
+themedir = $(datadir)/silc/themes
 theme_DATA = default.theme
 
 noinst_HEADERS = irssi-version.h.in
@@ -30,7 +30,6 @@ EXTRA_DIST = \
        autogen.sh \
        curses.m4 \
        README \
-       README.cygwin \
        file2header.sh \
        irssi.spec \
        irssi.spec.in \
diff --git a/apps/irssi/NEWS b/apps/irssi/NEWS
new file mode 100644 (file)
index 0000000..458a96e
--- /dev/null
@@ -0,0 +1,2155 @@
+v0.8.1 2002-02-17  Timo Sirainen <tss@iki.fi>
+
+       * Expected bugfix release :) Worst thing was that I forgot always to
+         debug why /cat /dev/urandom crashed irssi. Well, found two ways
+         that could make it happen.
+
+       - Irssi was linked with -lcurses AND -lncurses
+       - Logging could have produced GLib errors with certain conditions
+       - A few compiler warnings fixes
+
+v0.8.0 2002-02-17  Timo Sirainen <tss@iki.fi>
+
+       * I really should make releases more often. Once in every two weeks
+         used to be nice. Maybe once in a month would be good now. There
+         was many reasons why this release took this long .. first being
+         addicted to books, then life stuff, then it took forever to figure
+         out that irssi was crashing under solaris (and not because of one
+         of the big changes I made while moving to IRC from solaris box).
+
+         And now.. well, after this release I'll start working more with
+         the yet another irssi rewrite :) The code is getting too ugly
+         again, and some things need rewriting to support some new features
+         more easily. It will take a while to get it all done, so I'll try
+         to keep updating this "stable" irssi as well.
+
+         There's too many changes since 0.7.98.3 (and .4 which was just
+         minor bugfix), about 6600 lines in ChangeLog. I'm not going to
+         read all that, so I'll just list the biggest changes that I can
+         remember now.
+
+         This version was supposed to be called 0.7.99, but since there
+         were so many changes, and I originally though of putting 0.8.0
+         out long time ago, and 0.7.100 would look stupid, I guess it's
+         time for 0.8.0 :)
+
+       + /UPGRADE - upgrade irssi to new version on-the-fly without
+         disconnecting from server, so other people won't even notice you
+         quit from IRC. This ONLY executes the new binary, it does NOT
+         download/compile/whatever irssi.
+       + UTF-8 support with /SET term_type UTF-8, default is "8bit".
+         It's also automatically detected from system locale (if supported).
+       + Fully configurable statusbar. Yes. FULLY. Don't bother asking if
+         something could be done with it, it can, just ask how. Well,
+         there's a few things I didn't have time/energy to finish:
+         window-specific statusbar groups and support for multiple input
+         lines in screen.
+       + Rewritten keyboard handling. No more the CTRL-X and ALT-x handling,
+         now you can create whatever keyboard combinations your terminal
+         can send to irssi.
+       + Rewritten text buffer (scrollback) handling.
+       + Irssi doesn't depend on curses anymore, so it can be installed
+         anywhere a working terminfo/termcap exists. This also allows us to
+         use all the possible colors terminal has (curses limits to 64), so
+         eg. %0 is now always black background, not the default terminal
+         background (%n).
+
+         Several systems have also terminfo/termcap database that doesn't
+         support colors, so I've added /SET term_force_colors option to
+         force ANSI-style colors. Note that eg. BitchX does this by default.
+
+         Getting rid of curses allows also one great thing for you people
+         copy&pasting long urls :) If a long word gets split to two lines,
+         doubleclicking the word selects it from both lines.
+       + Rewritten server event redirections. Before it was pretty easy to
+         mess up irssi's expectations of what server sends, and some things
+         might have stayd in the buffer forever. Especially notify lists
+         messed up /WHOIS requests for the notified people. Now all this
+         should be history and it's a lot easier for scripts to use the
+         redirections as well.
+       + New ICB chat protocol plugin - very basic and doesn't support
+         nicklist, but works. :)
+       + --home and --config parameters to specify alternate ~/.irssi
+         directory or config file.
+       + Scripts can be unloaded separately with /SCRIPT UNLOAD. You can get
+         a list of runnning scripts with /SCRIPT.
+       + /SERVER PURGE [<target>] - purge the output buffer (for given
+         target). Useful for example if you accidentally paste 100 lines :)
+         The buffer is automatically purged if you get kicked from channel,
+         or if you /PART the channel and there's more than 10 lines in
+         output buffer.
+
+v0.7.98.3 2001-03-17  Timo Sirainen <tss@iki.fi>
+
+       * Highlighting changes: /HILIGHT -color, /SET hilight_color and
+         /SET hilight_act_color don't accept the numeric color value
+         anymore, the colors must be the %code format (see the beginning
+         of docs/formats.txt). The color can also have background and
+         underline/blinking set (%F%Y = blinking yellow)
+
+       * Statusbar rewrite: Statusbar should finally work well when
+         there's not enough space for it in screen. Least important items
+         start shrinking/disappearing before more important ones, activity
+         list should be always fully visible now.
+
+         /SET statusbar_xxx settings have been removed, everything is
+         configurable from theme now. Even the texts in the statusbar
+         items. See end of default.theme.
+
+         FULLY configurable statusbar with possibility to create your own
+         items and support for multiple lines will hopefully come soon.
+
+       + /WINDOW CLOSE [<first> [<last>] - you can close multiple
+         windows at once now.
+       + Emphasis work with actions now
+       + If there's any unknown settings in your configuration file, irssi
+         asks at startup if they should be removed.
+       + All abstracts in theme files now default to same as in
+         default.theme, so you may override only those you want to change
+         leaving the rest commented out.
+       - Irssi crashed when specifying vhost to use (not always?)
+       - Fixed one nasty usage of already free'd memory. Hopefully solves
+         some weird crashes?
+       - Some perl fixes, Irssi::Nick and "massjoin" signal didn't work
+         properly which broke all auto-op scripts.
+       - If one server fails because of DNS error, don't stop reconnecting
+         to entire chatnet.
+       - Updated default config to have max_query_chans=1 in undernet to
+         avoid those channel syncing problems.
+       - /SERVER didn't autojoin channels if it was used when you weren't
+         connected to any other servers
+       - /CONNECT -ircnet didn't load ircnet specific settings correctly
+       - /SET scroll_page_count - don't crash if /0 is given. Works now
+         properly if /0.xx is given.
+       - ^O did reset only colors, not underlines etc.
+       - Several fixes with handling blinking text
+       - Irssi crashed almost immediately with NetBSD/Alpha, fixed. Still
+         not sure if it was compiler bug or is my code just non-standard C.
+       - Reconnecting in IPv6 server shouldn't change to IPv4
+       - Irssi proxy didn't work properly with systems where irssi was
+         compiled with --enable-ipv6 but OS didn't support IPv6
+
+v0.7.98.2 2001-03-04  Timo Sirainen <tss@iki.fi>
+
+       + /LASTLOG: added -case option for case-sensitive matching.
+         -force option is now required to print lastlogs longer than
+         1000 lines.
+       + /BANTYPE -> /SET ban_type. /BAN: -type option added to override
+         default ban type.
+       + /NAMES: -ops -halfops -voices -normal options added.
+         /NAMES without parameters now prints nicklist in active channel,
+         /NAMES ** shows all nicks in all channels.
+       + delete_next_word key implemented, patch by Tinuk
+       + /SET beep_when_window_active - works with /SET beep_msg_level,
+         should we beep when the msg is printed to active window. If msg
+         is printed to some other window it always beeps.
+       + /JOIN #channel and /QUERY nick won't anymore automatically move
+         channel/query to active window but send a notice to user how to
+         move it. This was confusing people who did it accidentally.
+       + /SET autostick_split_windows (default ON) - should we do
+         /WINDOW STICK ON to all new split windows and hidden windows that
+         are created inside it. This hopefully makes it easier to use split
+         windows.
+       - All IPv6 problems are hopefully fixed. Everything now keeps both
+         v4 and v6 addresses in memory and at connect() time it's decided
+         which one should be used.
+       - /IGNORE * level printed GLib error. /RELOADing printed some
+         unignore texts. Autoignores had some problems.
+       - Using /LAYOUT SAVE with split windows crashed irssi at startup
+         when it tried to restore them..
+       - /WINDOW SHOW command didn't work properly
+       - /LAST -clear crashed if window contained only lastlog lines.
+         Beeping after /LAST -clear also could have crashed.
+       - HILIGHT level didn't work with logs.
+       - /SET prompt - if $T (target) had %c or something in it, it
+         shouldn't be treated as color code. So color codes can now be
+         used in /SET prompt string itself, but in none of the $variables
+         it uses.
+       - Generated help files had joined lines in chapter together but
+         didn't add spaces between lines.
+       - Statusbar could have gotten to endless loop when trying to give
+         more space to some item when there was no more available space.
+       - When /SET autoclose_windows is ON, don't destroy windows if they
+         have some level set (like /join -w + /part in status window)
+       - If GLIB was unpacked to irssi directory, make install tried to
+         install it also.
+       - Always save theme to ~/.irssi/ no matter where it was read from.
+       - If /SET names_max_width was too low, irssi crashed
+       - /CONNECT -ircnet "" - even if someone does this don't make the
+         server tag empty :)
+       - /QUERYing #channel that was already /JOINed crashed irssi after
+         a while
+       - /SET -clear printed GLib error when done to boolean settings
+
+v0.7.98.1 2001-02-22  Timo Sirainen <tss@iki.fi>
+
+       - fixed stupid remote crash with nick_match_msg()
+
+v0.7.98 2001-02-22  Timo Sirainen <tss@iki.fi>
+
+       * Theme files aren't fully compatible with old ones, there's a few
+         naming changes and some new items. Added lots of comments and help
+         to default.theme, so creating themes should be a bit easier now :)
+
+       * Perl scripts aren't compatible with old ones anymore. Biggest
+         change is that $object->values()->{xxx} calls are now just
+         $object->{xxx}, but there's a lot of other changes as well.
+         docs/perl.txt is now up to date so you may want to read it.
+
+       * Several settings have changed their names:
+           /SET beep_on_msg -> beep_msg_level
+           /SET activity_levels -> activity_msg_level
+           /SET hilight_levels -> activity_hilight_level
+           /SET noact_channels -> activity_hide_targets
+
+       + /SET prompt, /SET prompt_window - Specifies the text in prompt.
+         'prompt' is used when channel or query is active in window and
+         'prompt_window' is used with empty windows. You can also use
+         % color codes in prompt.
+       + /EXEC - rewrote it, has now all the same features as EPIC and a
+         few more, like "interactive shell in window" support. See
+         /HELP exec for information.
+       + /SAVEWINDOWS renamed to /LAYOUT SAVE. Added /LAYOUT RESET.
+         /LAYOUT SAVE now saves split windows and queries properly.
+         Windows that contain saved channels are never used for anything
+         else (ie. if the saved channel isn't joined, no other channels
+         can be joined to the window)
+       + /WINDOW SERVER: added -sticky and -unsticky options. If window
+         server is sticky, it will never be automatically changed, and it
+         cannot be changed to anything else without -unsticky option.
+         Should be useful for people who want status or msgs windows for
+         each server.
+       + /WINDOW STICK [ON|OFF|<ref#>] - stick window to specified split
+         window. After setting window to sticky non-sticky windows can't
+         replace the active sticky one. Each split window can have it's own
+         sticky window group.
+       + /WINDOW LEFT, /WINDOW RIGHT - Go to previous/next window in the
+         current sticky window group, or if there's no sticky windows go to
+         previous/next non-sticky window. Alt-Left/Right keys default to
+         these commands now.
+       + /WINDOW NUMBER: -sticky option added. Closing windows before a
+         sticky window won't change refnum of the sticky window and windows
+         after it.
+       + /SET windows_auto_renumber - should window refnums be packed when
+         some window is destroyed in the middle
+       + /SET scroll_page_count - how many lines to scroll with pgup/pgdn.
+         either an absolute value, or if the count starts with '/', it's
+         calculated as lines_in_screen/count. The default is /2.
+       + /SET timestamp_format specifies the format to use with timestamps
+         in "man strftime" format.
+       + Emphasis (*word*, _word_) replacing works better now. It doesn't
+         try to change nicks or any non-words. This time people might want
+         to actually use it :)
+       + Nick completion logic changes, should work better now. Changed
+         meaning of /SET completion_keep_publics to be number of publics
+         to keep instead of time to keep them.
+       + /HILIGHT: Added -priority option (deciding which color should stay
+         in activity list), /SET hilight_level to specify the default level
+         for /HILIGHTs. -word option renamed to -full. Added new -word
+         option meaning to highlight only the found word in line. Removed
+         -nonick option but added -line which means pretty much the same.
+         -actcolor specifies what color to show in activity list, default
+         is the same as -color or if there's no -color it defaults to
+         /SET hilight_act_color. Colors can have background color set with
+         fg,bg. Works with activity list too, useful for example blinking.
+       + DCC rewrite. File names with spaces work properly, you can have
+         multiple dcc chats with same people (or more useful, same nick in
+         different ircnets), /DCC CHAT|GET|RESUME with no arguments accepts
+         the last request, notifies if dcc request was sent to channel,
+         warns about connecting to lowports, /SET dcc_autoget_lowports
+         specifies if autogetting should work with lowports, complains of
+         invalid DCC CTCPs instead of ignoring, /SET dcc_autoresume is like
+         dcc_autoget except resumes the files if possible.
+       + /NAMES can print columns with different widths now. You can change
+         the max. width with /SET names_max_width and /SET names_max_columns
+         settings. Default is max. 6 columns.
+       + /LASTLOG: Added options -file <filename> for writing lastlog to
+         file, -window <ref#|name> for specifying which window's lastlog to
+         print (output is always to active window) and -clear option to
+         remove all lastlog lines from window.
+       + /OPER [<nick> [<password>]] - syntax changed. If password isn't
+         given, it's asked.
+       + /FOREACH server|channel|query|window <command>
+       + /UNBAN <ref#> works. /BAN list shows reference numbers.
+       + /PERL <code> - runs perl code (like /PERL Irssi::print "hello")
+       + /CLEAR -all - clear all windows
+       + /KICKBAN and /KNOCKOUT accepts multiple nicks separated with commas
+       + /SET theme - says what theme was changed to, and complains if
+         theme wasn't found. Setting theme's name to "xxx.theme" now works,
+         too many people tried it with the .theme suffix :)
+       + /WHOIS without parameters in query does now same as
+         /WII <queried nick>
+       + IPv6 updates: /CONNECT, /SERVER, /SERVER ADD: added -4 and -6
+         options for specifying if we should connect to IPv4 or IPv6 address
+         of the server. If -host or /SET hostname is set, irssi determines
+         from it if it should use IPv4 or v6. If irssi still isn't sure of
+         it, it fallbacks to /SET resolve_prefer_ipv6
+       + Logs and rawlogs write to files through special "write buffer". By
+         default everything gets written immediately, but you can make it
+         wait until there's specified amount of data in buffer or write once
+         in a hour or so. Useful for people who want to keep hard disk at
+         sleep at nights but still want to log. /SET write_buffer_mins and
+         /SET write_buffer_kb specifies when to flush the buffer.
+         /FLUSHBUFFER flushes it immediately.
+       + LOTS of other smaller things that should make your life easier :)
+       - /SET dcc_autorename OFF didn't work before.
+       - Irssi compiled with IPv6 support didn't work properly with some
+         operating systems.
+       - Theme saving to home dir didn't work correctly if globaldir
+         already had the same theme.
+       - If log file locking failed, irssi always assumed it was locked
+         while it could have been because filesystem didn't support locking
+         or some other problem..
+
+v0.7.97 2000-12-03  Timo Sirainen <tss@iki.fi>
+
+       * Added templates for themes - this allowed separation of the
+         actual texts and styling/coloring. See default.theme file for
+         more information. You should remove your old ~/.irssi/default.theme
+         or at least merge it with the defaul.theme.
+
+       * If GLIB sources are found unpacked from some subdirectory, always
+         compile it and use it even if GLIB is already installed somewhere
+         else.
+
+       + /SCROLLBACK REDRAW - redraw contents of current window according
+         to active formats, ie. changing theme updates the scrollback.
+         This requires /SET scrollback_save_formats ON.
+       + /SET log_theme <theme> - you can specify what theme to use for
+         writing texts to log file.
+       + /WAIT [-<server tag>] <milliseconds> - wait for <milliseconds>
+         before sending anything else to server
+       + /EXEC <command> - execute command and print it's output (stdout
+         only) to screen. (by Tinuk)
+       + Don't indent the next line when long word is split, this should
+         help a bit when copying long URLs.
+       + Remember who set the topic and when, display the info when using
+         /TOPIC.
+       + /SET emphasis - convert _underlined_ and *bold* words (and phrases)
+         to use real underlines/bolds. (by tommik)
+       + While waiting for more netsplits/netjoins, if anything else is
+         printed to screen, print the current netsplit/netjoin messages
+         before that text.
+       + Print multiple identical mode changes in one line
+         (mode +o nick by nick1, nick2, nick3)
+       + /WINDOW ITEM GOTO <name> - sets <name> active in current window
+       + /WINDOW ITEM MOVE <window#>|<name> - moves window item to another
+         window.
+       + /SET autocreate_windows - should we create new windows for new
+         window items or just place everything to one window
+       + /JOIN #already_joined_channel, /QUERY already_queried_nick - same
+         as /WINDOW ITEM MOVE <name>
+       + /SET activity_level, /SET hilight_level - specifies which message
+         levels should be treated as msg/hilight activity. (by tommik)
+       + DCC queries are now created automatically only if /SET
+         autocreate_query_level has DCCMSGS level
+       + If other side replies to our DCC CHAT request with DCC CHAT
+         request of their own (maybe we were inside firewall and other
+         side noticed it), connect to it immediately.
+       + Don't allow more than one identical DCC request, if more is
+         received just update the port of the previous request.
+       + Added KILL handling - user/server kills are now printed formatted.
+       + If server KILLs you, connect back (almost) immediately (don't wait
+         for the default 5 minutes)
+       + Nick completion now completes nicks from all channels in active
+         window, except when completing the first word in line only nicks
+         in active channel are completed.
+       + /SET show_nickmode_empty - when nick has no mode, should we
+         display " " or ""
+       + /SET part_message - default message with /PART
+       + Added -current, -window and -level options to /ECHO
+       + Ctrl-T = transpose_characters
+       + Perl scripting supports now printformat(), ie. user can change
+         the text format with /FORMAT just like any other formats.
+       + Proxy plugin now supports multiple servers, blocks CTCPs from
+         clients behind it and if one client sends message to channel,
+         other clients + proxy itself also receives the message.
+       - Netsplit/netjoin printing fixes. Sometimes netsplits were hidden
+         completely and some netjoins were forgotten and printed as normal
+         joins instead.
+       - Lag checking broke sometimes when nick was changed
+       - Don't close non-autolog logs when leaving channel / closing query.
+       - Time formats didn't work in directory name of autologs.
+       - Sometimes join to channel didn't ever get synced.
+       - IPv6 support didn't work correctly with all non-Linux OSes.
+       - Lots of minor fixes and changes to make your life easier.
+
+v0.7.96 2000-10-19  Timo Sirainen <tss@iki.fi>
+
+       * new configure option: --disable-curses-windows. Use this if curses
+         always redraws the window when scrolling. This is a weird problem,
+         I'd like to know why it happens. :)
+       * Log settings are incompatible with previous versions. You'll need
+         to setup them again. Or the targets are actually the only ones
+         that irssi won't read correctly.
+       * Lots of moving and cleaning and rewriting stuff from irc to core
+         so adding other IRC-like protocols (but not IRC) would be easier.
+         This was mostly done to make SILC plugin work.
+       * Perl was split to Irssi and Irssi::Irc packages. You'll currently
+         need to use both of them with perl scripts ("use Irssi; 
+         use Irssi::Irc;). This might not be needed in future :)
+       * Changes:
+          - /SET default_nick -> /SET nick
+          - /FORMAT own_me -> /FORMAT own_action
+          - /FORMAT own_dcc_me -> /FORMAT own_dcc_action
+
+       + Small tutorial to new irssi users - docs/startup-HOWTO.txt
+       + Proxy plugin works again, thanks to fuchs for fixing it :)
+       + You can now connect multiple times to same server and
+         reconnections will work correctly with them.
+       + Support for half-ops (+h)
+       + Actions will now show up in window activity with hilight or
+         message-color, not the text-color as before.
+       + Added tab-completion for /BIND's commands.
+       + Perl support is now built as runtime loadable module by default. 
+         You can still build it statically with --enable-perl=static 
+         configure option.
+       + /SET completion_nicks_lowercase - when completing nicks always
+         write the nick with lowercase (uppercase letters are ugly ;)
+       + /BIND <key> /command works now directly instead of needing the
+         "command" id in the middle
+       + /connect + /server server/chatnet completion by tommik.
+       + Keyboard should never get stuck again when receiving huge amounts
+         of text from server that irssi doesn't handle fast enough.
+       - Hopefully fixed the problem when Irssi starts eating 100% CPU
+       - Fixes to make irssi work with other (older and newer) perl
+         versions than 5.005
+       - /MSG -servertag crashed irssi.
+       - /BAN could crash when showing bans
+       - log_day_change was never printed in logs
+       - /mode #channel -oooo... would deop the first 3, and then op the
+         rest.
+       - When pressing down key, the command line wasn't saved to history.
+       - Closing or moving window didn't update the window activity list.
+       - Autologging with same named channels in different networks works
+         now correctly.
+
+v0.7.95 2000-08-13  Timo Sirainen <tss@iki.fi>
+
+       * Changes:
+           - /LOG: Removed the -rotate option, it was pretty useless since
+             adding the % formats to file name already tells that the log
+             should be rotated.
+           - WJOIN -> /JOIN -window and WQUERY -> /QUERY -window. Added
+             WJOIN and WQUERY aliases for them in default config..
+       + /SAVEWINDOWS saves the current layout of windows. It's
+         automatically reloaded at startup.
+       + Theme fixes: /RELOAD reloads them, /SET theme changes the default
+         theme, you can have window specific themes with /WINDOW THEME.
+       + Irssi uses now real curses windows, irssi should work now better
+         with non-ncurseses.
+       + Autologging supports log rotating now too, just add the wanted %
+         formats to /SET autolog_path
+       + /MSG nick completion now gives the nicks in right time order when
+         using multiple irc networks.
+       + /SET beep_on_msg now works with all message levels, including
+         HILIGHT.
+       + You can change the default line indentation with /SET indent
+       + /channel add -bots: You can now use @ or + before the nick mask to
+         indicate that bot should have either ops or voices/ops.
+       + Perl scripting:
+           - Added namespaces, you don't have to worry about if someone
+             else also happens to be using event_privmsg function..
+           - You can unload scripts with /UNLOAD <name>.
+           - Running scripts that are already loaded, destroys the old
+             script from memory.
+           - Added Irssi::print_window() function to print text to current
+             window.
+       - Don't autoclose window after part/unquery if there was still some
+         channels/queries left in window.
+       - Autologging fixes: Don't log WHOIS replies by default
+         (autolog_level = all -crap). And with /msg nick1,nick2 don't log
+         to file nick1,nick2.log but nick1.log and nick2.log separately.
+         It also failed if you hadn't created the base path for the logs,
+         now irssi creates the whole directory path.
+
+v0.7.94 2000-07-24  Timo Sirainen <tss@iki.fi>
+
+       * Help files! Use /HELP <command> to see them.
+         They're just very first beta versions so don't expect too much.
+         They were written by Markus Vuori <mm@vuori.net> with some help
+         from EPIC's help files :)
+
+       * Changes:
+          - /SET completion_disable_auto -> completion_auto
+          - Changed the names of /BIND commands to be epic-compatible.
+            Also added several new commands.
+          - If --prefix is used, add the default perl library directory to
+            same prefix.
+       + Implemented /WINDOW LAST for changing to last current window.
+       + Added DCCMSGS message level. Actions match now either MSGS or
+         PUBLIC level as well as the ACTIONS level always.
+       + SET print_active_channel - if you have multiple channels in same
+         window, should we always print the channel for each message
+         (<nick:#channel>) or only when the channel isn't active.
+       + Don't print nick changes and quit messages from same nick more
+         than once in the same window (if you had joined multiple channels
+         in same window).
+       + /SET settings_autosave - If set ON, settings are automatically
+         saved when quitting and once per hour.
+       + Don't allow recursive aliases, ie. /alias echo echo hello does
+         print hello instead of going to infinite loop.
+       + Implemented /IGNORE -time <seconds>, patch by fuchs.
+       + /PERLFLUSH now cleans up the Perl interpreter properly (closes
+         all the files opened in perl scripts, etc)
+       - Awaylog didn't work right if you did /AWAY multiple times.
+       - /NOTIFY -idle sometimes printed the unidle-message even if the
+         nick really didn't stop idling. Fixed several other notify list
+         bugs.
+       - Tab-msgcompletion didn't work right after you had used
+         /msg -ircnet nick
+       - Fixed the long standing text buffer bug which could sometimes
+         crash irssi if you were unlucky.
+       - The channel key given in /JOIN should override the one given
+         in setup.
+       - /RELOAD caused several bugs
+
+v0.7.93 2000-07-09  Timo Sirainen <tss@iki.fi>
+
+       + Implemented /BIND [<key> [<action> [<data>]]] command.
+         <key> can be CTRL-x, ALT-X or ALT-SHIFT-X
+         The most useful action is "command", give the command in <data>.
+         You can see the rest of the actions with typing /BIND without
+         any parameters. Some actions might have more than one word,
+         to use them type the action in "quotation marks".
+       + When netsplit is over, irssi prints "Netsplit over, joins: (nicks)"
+         and hides all the real JOIN messages.
+       + /^COMMAND hides the output of the command, it's not written to
+         log either. Good for sending passwords for example.
+       + If you're pasting text to channel and some of it starts with /,
+         Irssi will send the "/command" to channel if it doesn't exist
+         (instead of just printing "unknown command").
+       + --enable-perl[=libdir] to configure - you can specify what
+         directory to install the perl libraries.
+       + Implemented runtime loadable modules. /LOAD loads a module,
+         /UNLOAD unloads it.
+       + You can change statusbar colors with /SET statusbar_xxx.
+       + Added -clear option to /SET.
+       + Tab-completion for /FORMAT.
+       + Ctrl-Y undeletes the last line deleted with Ctrl-U.
+       - Reconnecting to server had a few bugs
+       - /RELOADing configuration produced a few bugs
+       - Highlighting had several bugs
+       - Automatic command and option completions had some bugs
+       - -option tab-completion didn't work
+
+v0.7.92 2000-06-30  Timo Sirainen <tss@iki.fi>
+
+       * Some changes:
+           /REHASH -> /RELOAD
+           /SERVER -add, -remove, -list -> /SERVER ADD, REMOVE, LIST
+           /SET window_close_on_part -> /SET autoclose_windows
+           /HILIGHT -nick -> /HILIGHT -mask (see below)
+       + Automatic completion of /commands. Automatic completion of
+         command -options. Complains about unknown -options.
+       + /MSG [-<server tag>] <nick> <msg> - you can specify what server
+         to send the message to.
+       + Rewrote tab-completion to be modular, it's REALLY easy to add
+         completion to whatever you want. It now handles:
+           - Command completion works better, subcommand completion works
+           - Command -option completion
+           - /MSG completion completes from all IRC servers, so if you had
+             message from ircnet and efnet, irssi will complete with
+             /MSG -ircnet nick1 -> /MSG -efnet nick2
+           - #channel completion works - it completes only channels you
+             have joined or have in setup
+           - File name completion with /DCC SEND (and other commands)
+           - /TOGGLE settings completion
+           - Completion for command parameters or subcommands work right
+             even if the command was typed as alias.
+       + /HILIGHT updates:
+            - -nick highlights only the nick, not the whole line. Works
+              only with public messages.
+            - -mask option matches the text for nick mask (it didn't even
+              work before).
+            - Window numbers in activity list are colored with hilight
+              color.
+            - You can give real color names with -color option. All the
+              "normal" colors can be given, if you want bold colors, use
+              b+color name, like bgreen.
+            - /SET hilight_color specifies the default highlight color
+            - /SET hilight_only_nick specifies if we should highlight the
+              nick or the whole line if -nick or -nonick wasn't specified
+              with /HILIGHT.
+       + /LAST -away checks only lines that came after last time you
+         went away.
+       + You can specify command(s) to be sent automatically to server
+         after connected with /IRCNET -autosendcmd. Useful for sending
+         your password to NickServ.
+       + Added /SET reuse_unused_windows setting, default is OFF. Works
+         only when /SET autoclose_windows is ON. This specifies if new
+         windows should be joined to new window, or if existing empty
+         windows should be used.
+       + /SET lag_min_show -1 disables displaying lag entirely.
+       - /SCROLLBACK HOME, END and GOTO commands weren't working right.
+       - Closing active window that had channels/queries could crash
+       - Using \n with /SET expand_escapes ON didn't work right.
+       - Logging HILIGHT messages didn't work
+       - The "max. count" parameter in /LAST didn't work right.
+
+v0.7.91 2000-06-14  Timo Sirainen <tss@iki.fi>
+
+       + Ctrl-X changes IRC server in stats/msgs/empty windows.
+       + /JOIN -<server tag> #channel joins to channel in specified server.
+       + /WHOIS automatically sends a /WHOWAS query if nick wasn't in IRC.
+       + if some unknown /command had another / in it, like /usr/bin,
+         send it as normal message. good for copypasting paths :)
+       + If you're not allowed to connect to server (K-lined, no I-line),
+         Irssi won't try to reconnect back to the server.
+       + You can disable window activity notifies in specified channels
+         with /SET noact_channels #chan1 #chan2 .. The activity is
+         displayed if window had a message to you.
+       + Tab-completion works now with /commands and /set variables
+       + /SET close_window_on_part - should we close the window too when
+         /PARTing channel
+       + /SET autocreate_own_query ON - creates query window when you
+         send message with /MSG nick.
+       + /SET mail_counter specifies if we should show mail counter in
+         statusbar.
+       + /SET wall_format specifies the text that's sent with /WALL
+       + If you /SET expand_escapes ON and type \n or \t to text line, they
+         will be expanded to newline and tab.
+       + Ctrl-W deletes word in left
+       - Flood was detected wrong - /SET flood_timecheck's argument was
+         supposed to be seconds, not milliseconds.
+       - Unignoring autoignored nicks didn't work
+       - Logging wrote messages to log file twice
+       - /WINDOW MOVE <number> could put irssi to infinite loop
+       - ANSI blink code crashed irssi.
+       - Replying to DCC GET and CHAT requests didn't work
+       - /HILIGHT displayed levels twice, /HILIGHT -channels didn't work
+       - /SET ignore_signals wasn't read at startup..
+
+v0.7.90 2000-06-04  Timo Sirainen <tss@iki.fi>
+
+       * On the way to 0.8.0 .. Major rewriting/rearranging code. There's
+         some changes in behaviour because I'm trying to make Irssi
+         compatible with EPIC as much as possible (except the scripting,
+         perl should be enough?)
+
+       * DOCUMENTATION! See docs/manual.txt
+
+         This NEWS file contains only the biggest new features, you should
+         browse through the documentation to find the rest. Some of the
+         parameters of commands listed in this file aren't really up to
+         date since I got a bit bored writing them here too.. They are
+         correct in the manual.
+
+       * Irssi isn't anymore IRC specific client, you could easily take the
+         whole IRC part away and use some other chat protocol instead, or
+         use both at the same time. Currently however, only IRC protocol
+         is supported. See docs/design.txt for more information.
+
+       * libPropList isn't needed anymore - I'm using my own configuration
+         library. This is mostly because different proplists worked a bit
+         differently everywhere and several people had problems with it.
+         It's also yet another extra library that you needed to compile
+         Irssi. New configuration library has several advantages:
+
+         You can add comments to configuration file and they also stay
+         there when it's saved.
+
+         It's not nearly as vulnerable as proplist. If some error occurs,
+         instead of just not reading anything it will try to continue if
+         possible. Also the error messages are written to irssi's text
+         window instead of stdout.
+
+         It can be managed more easily than proplist - setting/getting the
+         configuration is a lot more easier.
+
+       * Coding style changes - I'm not using gint, gchar etc. anymore,
+         they're just extra pain when moving code to non-glib projects and
+         syntax hilighting doesn't work by default with most editors ;)
+
+         Indentation style was also changed to K&R because of some political
+         reasons ;) And I'm already starting to like it.. :) It forces me
+         to split code to different functions more often and the result is
+         that the code gets more readable.
+
+         And finally I'm also using `const' all over the place.
+
+       * Signal handlers changed - you don't anymore return value 0 if you
+         wish to stop signal. Instead use signal_stop() or
+         signal_stop_by_name().
+
+       + Flood protection when sending commands to server works now better.
+         It allows sending first 5 messages immediately, but after that
+         only one message is sent every 2.2 seconds.
+
+         This is the same flood protection that most IRC servers use, so
+         the only affect this protection has is that when sending a lot of
+         commands to server you won't get kicked out from server because of
+         "excessive flood".
+
+         This can be changed from settings `cmd_max_at_once' and
+         `cmd_queue_speed'. If you want to disable this for some reason, use
+         /SET cmd_queue_speed 0
+       + Split windows in text version, all the normal ircII /WINDOW
+         commands should work: new, kill, grow, shrink, balance, show, hide
+       + /EVAL <commands> - Expand all the special variables from string and
+         run it. Commands can be split with ; character. See
+         docs/special_vars.txt for more info.
+       + Aliases are parsed just like /EVAL - arguments are in $0..$9.
+       + Text formats are also parsed like /EVAL, arguments used to be in
+         $1..$9, now they're in $0..$8 so it messes up existing themes..
+       + /SET [key [value]] - no more the '=' character. Boolean values
+         also need to be changed with ON/OFF/TOGGLE values (not yes/no).
+       + /SAVE [<filename>] - saves the settings to file.
+         /REHASH [<filename>] - re-read the configuration file on the fly
+       + /TOGGLE <key> [ON/OFF] - same as /SET <key> TOGGLE
+       + /ALIAS [-]<alias> [<command>], /UNALIAS <alias>
+         Show, add or remove aliases. /ALIAS -alias = /UNALIAS alias
+       + /NOTIFY [-list] [-away] [-idle [minutes]] <mask> [ircnet [ircnet...]]
+           -away notifies about away-status changes
+           -idle notifies if idle time is first larger than `minutes'
+            (default is hour) and then it drops down.
+            -list lists the notify list entries with all their settings
+         /UNNOTIFY <mask>
+
+         /NOTIFY without any arguments displays if the people in notify
+         list are online or offline.
+       + /HILIGHT [-nick | -regexp | -word] [-color <color>]
+                  [-level <level>] [-channels <channels>] <text>
+           -nick: match only for nick
+           -regexp: `text' is a regular expression
+           -word: `text' must match to full words
+           -color: print the reply with `color' - color can be a bold (^B),
+                   underline (^_) etc. too
+           -level: match only for `level' messages, default is
+                   publics,msgs,notices,actions
+           -channels: match only in `channels'
+         /DEHILIGHT <ref#> | <text>
+       + /LASTLOG [-] [-new] [-regexp | -word] [-<level> [...]]
+                  [<pattern>] [<count> [<start>]]
+           -: don't print the "Lastlog:" and "End of Lastlog" messages.
+           -new: show only lines since last /LASTLOG
+           -regexp: `text' is a regular expression
+           -word: `text' must match to full words
+           -level: what levels to check, like -public -msgs (default is all)
+           <pattern>: text to search for, or all if empty
+           <count>: maximum number of lines to show
+           <start>: skip the last `start' lines
+       + /IGNORE [-regexp | -word] [-pattern <pattern>] [-except]
+                 [-channels <channel>] <mask> <levels> <^levels>
+           -regexp: `pattern' is a regular expression
+           -word: `pattern' must match to full words
+           -pattern: <pattern> must match to the message's text
+           -except: *DON'T* ignore
+           -channels: ignore only in channels
+           <mask>: either a nick mask or list of channels
+           <levels>: list of levels to ignore
+           <^levels>: list of levels to NOT ignore
+                      (/ignore -except nick notices = /ignore nick ^notices)
+         /UNIGNORE <ref#> | <mask>
+
+         The best match always wins, so you can have:
+           /IGNORE * CTCPS
+           /IGNORE -except *!*@host.org CTCPS
+       + /LOG OPEN [-noopen] [-autoopen] [-targets <targets>] [-window]
+                   [-rotate hour|day|month] <filename> [<levels>]
+           -noopen: create the entry to log list, but don't start logging
+           -autoopen: automatically open this log file at startup
+           -targets: log only in specified channels/nicks
+           -window: Log this window
+           -rotate: Reopen the log file every hour, day or month. This
+                    makes only sense if you specify date/time formats
+                    to file name.
+           <filename>: File name where to log, it is parsed with strftime(),
+                       so %d=day, etc. see "man strftime" for more info.
+           <levels>: Defaults to ALL
+          /LOG CLOSE <ref#> | <fname> - close log and remove from log list
+         /LOG START <ref#> | <fname> - start logging to file
+         /LOG STOP <ref#> | <fname> - stop logging to file
+         /LOG - display the log list
+         NOTE: Log files are locked after opened, so two irssi's can't
+         accidentally try to write to same log file.
+       + /WINDOW LOG ON|OFF|TOGGLE [<filename>]
+         Start/stop logging window, same as /LOG OPEN -window. If file name
+         isn't given, it defaults to ~/irc.log.<windowname> or
+         ~/irc.log.Window<ref#> if window doesn't have name.
+         /WINDOW LOGFILE <filename>
+         Creates the entry to log list, same as /LOG OPEN -window -noopen.
+         Also, if /WINDOW LOG ON is used it starts logging to this file.
+       + /SET AUTOLOG ON|OFF|TOGGLE
+         /SET AUTOLOG_LEVEL <level>
+         /SET AUTOLOG_PATH <path> - expandos can be used, $0 is the target.
+         Enables automatic logging, files are automatically created as
+         needed and after some time of inactivity, they are closed. If you
+         are using multiple servers, it makes sense to use the server tag
+         as part of the file name, for example ~/irclogs/$tag/$0.log (this
+         is the default).
+       + /SET window_auto_change - if enabled, irssi will automatically
+         change to automatically created windows (like queries). It will
+         also clear your command line and put it to command history so that
+         you don't accidentally write anything to wrong window. You'll get
+         the command back by pressing up arrow.
+       + /SET show_quit_once - show quit message only once instead of in
+         all channel windows the nick was joined.
+       + Server reconnections work better. It will now automatically set
+         your previous user mode and away message (and rejoin the channels,
+         which it already did before) after reconnected. If you use /SERVER
+         to connect to different IRC network, none of this will be done.
+       + /CAT <filename> - prints the file to screen
+       + /SET query_auto_close <secs> - automatically close queries after
+         <secs> seconds. It won't close queries that have unread messages,
+         and it won't close queries in the active window.
+
+v0.7.28 2000-03-11  Timo Sirainen <tss@iki.fi>
+
+       + irssi-text: New improved "text widget". It takes less memory and
+         if you resize the terminal horizonally, the text automatically
+         changes to right size. Several other changes too:
+
+         /CLEAR only clears the screen, you can still scroll the window up.
+         /SCROLLBACK, or the default alias /SB:
+            /SB CLEAR - Clear screen, free all memory used by texts in window.
+            /SB HOME - Jump to start of the buffer
+            /SB END - Jump to end of the buffer
+            /SB GOTO [[-|+]line#|time] - Jump to specified line or timestamp.
+
+           -100 jumps back 100 lines, +100 jumps forward 100 lines, or
+           100 simply jumps to 100. line in scrollback.
+
+           Time is the format [dd.mm | -<days ago>] hh:mi[:ss]
+
+           Examples:
+             /SB GOTO 15:00 - Jump to first text that came after 15:00 today
+             /SB GOTO -1 15:00 - First text after 15:00 yesterday
+             /SB GOTO 1.2 - First text in 1. February
+             /SB GOTO -100 - Jump back 100 lines
+             /SB GOTO +100 - Jump for
+
+       + After lost connection to server and reconnected or changed the
+         server manually with /SERVER, Irssi will rejoin back to the same
+         channels that you were in before disconnection. They will also be
+         placed to same windows they were, even if you were in same channel
+         in multiple servers.
+       + /SERVERS and disconnect dialog displays also servers that are
+         being currently connected and waiting reconnections. You can remove
+         them with /DISCONNECT <tag>.
+       + If you are in multiple irc servers and the active server of the
+         window isn't the same as where the message came from, the message
+         is prefixed with a [server tag].
+       + If you don't specify the path for Perl scripts, Irssi tries to
+         find them from ~/.irssi/scripts/ or /usr/lib/irssi/scripts/
+         directories. Irssi will also run automatically scripts in
+         ~/.irssi/scripts/autorun/ at startup. Several other updates to
+         Perl support too.
+       + Support for ircII translation tables, /set translation <file>
+         See /usr/share/ircII/translation/* (at least in Debian)
+       + /ACTION <target> <text> - Send action to target (like /ME), target
+         is either #channel, nick or =dcc_char_nick
+       + 5 CTRL-C's in a row quits irssi-text.
+       + %| in themes marks the line indentation position - works only in
+         irssi-text for now..
+       + You can have several msgs/status windows, one for each server.
+       + Option: start GNOME panel applet at startup
+       + --without-gtk option for configure disables building GTK frontend
+       + /LAST -new shows only the texts that came after latest /LAST.
+       - Autojoining doesn't switch automatically to the joined channel's
+         window (try #2 :)
+       - Several (Perl) compilation problems fixed.
+       - Text hilight color was dark grey, changed to white..
+       - /LAST doesn't display the texts found from previous /LAST blocks
+       - Fixed a few memory leaks
+
+v0.7.27 2000-02-25  Timo Sirainen <tss@iki.fi>
+
+       * Perl support - finally! Took only a year or so to imlement it ;)
+         Well, I could have done it ages ago but it wouldn't have had
+         all the flexibility it now has - you should be able to do almost
+         anything with perl scripts. See DOCS/PERL for some documentation
+         and examples/ directory for a couple of example scripts.
+
+         This is the very first version and I haven't even tested that all
+         functions work correctly! Any suggestions are welcome. I don't
+         really like the values() functions so if someone knows better ways
+         to do them I'd really like to hear.
+
+         BTW. I haven't had time to learn Perl well yet, so my scripts are
+         probably not the best examples.. :)
+
+         If for some reason you don't wish to use Perl, you can disble it
+         with giving --disable-perl to configure.
+
+       + /CYCLE [#channel] - parts/rejoins the channel
+       + Autojoining doesn't switch automatically to the joined channel's
+         window.
+       + Server tag generation is a bit smarter now.
+       + irssi-text: Resizing terminal works now right even if your curses
+         don't have resizeterm() function.
+       - /NAMES crashed when done in a non-channel window
+       - irssi-text: Resizing terminal when irssi had some empty windows
+         messed them up..
+       - toggle_show_nickmode didn't actually do anything :) It was
+         always on..
+
+v0.7.26 2000-02-19  Timo Sirainen <tss@iki.fi>
+
+       - Space (and maybe other keys) didn't work when caps/numlock was on.
+
+v0.7.25 2000-02-19  Timo Sirainen <tss@iki.fi>
+
+       + /WQUERY - create query to current window
+       + Irssi doesn't close the window anymore when using /PART
+       + irssi-text also displays user's address in topic bar in queries.
+       + /NAMES list is now displayed sorted
+       + irssi-text: /WINDOW MOVE PREV|NEXT
+       - Topic bar sometimes displayed some other channel's topic if the
+         channel didn't have a topic.
+       - Irssi automatically changed to auto-created query windows..
+       - When using /WINDOW CLOSE it didn't change to different window
+       - Made fontset_load() optional - it broke some fonts..
+       - Using Ctrl-B (bold) didn't move the cursor
+
+v0.7.24 2000-02-19  Timo Sirainen <tss@iki.fi> [stable]
+
+       + French translation
+       + Updated Brazilian Portuguese translation translation, now with
+         the right pot file name :)
+       + Using fontset_load() instead of font_load(), helps with using
+         some fonts (by hashao@telebot.com)
+       + /TS - display topics of all channels you're joined
+       + Automatically change to the created window
+       + Option: Show op/voice status in channel messages before nick.
+       + irssi-text: Displays topic bar op the top of the screen -
+         /set toggle_show_topicbar = yes|no
+       + Recognize +a (anonymous) and +r (reop when opless) modes
+       + Don't allow any setup file changes or log writing if another irssi
+         session is running.
+       + /whois without any arguments gives a whois of yourself
+       - Irc network list was still corrupted in channel dialog.
+       - /LIST dialog - users column is now sorted numerically
+         (10 shows after 9, not after 1)..
+       - Log setup dialog: Clear all button was over Client errors
+         toggle button.
+       - /LAST's output displayed some crap in log file.
+       - irssi-text should work better with other curses libraries than
+         ncurses
+       - irssi-text should work better with non-black backgounds
+       - Fixed tab completion when completion char was comma
+       - Couple of configure bugs fixed
+       - Specifying source host (vhosts) didn't work.
+       - DCC resume had been broken quite a while
+
+v0.7.23 2000-01-23  Timo Sirainen <cras@irccrew.org> [stable]
+
+       + channel's key (+k key) is displayed in irssi-text's statusbar if it
+         has one.
+       + Nick hilight detector is a bit smarter now, for example if your
+         nick happens to be "its", "it's blahblah" doesn't trigger it..
+       + colorless irssi-text (/set colors = no): activity list is split in
+         two, Act and Det lists. Det displays list of windows where there's
+         new messages for you.
+       - /LAST without any parameters crashed
+       - if queried nick was changed, GUI didn't notice it.
+       - config file was invalid in .22
+       - irssi text widget didn't work in .22
+       - dcc transfers always displayed 0.00kB/s in .22
+
+v0.7.22 2000-01-16  Timo Sirainen <cras@irccrew.org> [stable]
+
+       + configure displays a summary of things to compile
+       + /set colors = yes|no, sets colors on/off in irssi-text
+       + /window goto active now finds first the window with the higest
+         activity (msgs to you -> msgs -> rest). Alt-A is also default key
+         shortcut for this
+       + When connection is lost to server, irssi will remember the channels
+         in windows. After reconnected, (auto)joining to same channels will
+         join the channels to the old windows.
+       + Improved hilighting: You can specify what color to hilight the text
+         with, to channel field type the (mirc) color number, like
+         "4 #blah" hilights the text with red in channel #blah, both color
+         and channel(s) are optional. You can also hilight nicks' colors, to
+         text field type "NICK:nick!mask", like NICK:nick, or
+         NICK:*!*@*.blah.fi hilights people from blah.fi domain
+       - Modeless channels (+channel) didn't get synced ever..
+       - Some kB/s messages displayed wrong values when resuming DCC
+         transfers. Also, kB/s is now displayed with two decimals
+       - "Day changed to 00-10-2000" .. month was wrong. No Y2K bugs
+         however ;)
+       - List of ircnets was displyed wrong in server dialog.
+       - Userhost replies didn't handle ircops right..
+       - Doesn't quit when receives SIGHUP - some window managers send it
+         when restarting itself (Afterstep)
+       - Specifying "source host IP" didn't work (vhosts).
+       - Using ctrl-b etc. didn't move the cursor forward..
+       - Don't try to compile GTK parts of plugins if we don't even want
+         build GTK irssi
+       - Doesn't crash when trying to create DCC dialog after being
+         disconnected from IRC server
+       - Modeless channels (+channel) didn't get synced ever..
+       - Some transparency fixes, it's a lot faster now when moving the
+         window, but it's still too slow when creating it, not sure why..
+
+v0.7.21 1999-12-20  Timo Sirainen <cras@irccrew.org> [unstable]
+
+       + Irssi-text: Channel activities are displayed with different colors
+         in statusbar
+       + Keeps track of "wanted nick", ie. the nick you specified in the
+         setup or to /server or /nick. When reconnecting to server it always
+         tries the wanted nick before falling back to alternate nicks.
+       + IRC Network specific settings: nick, username, realname,
+         max. kicks/modes/msgs per command.
+       + Transparency works
+       + Automatic logging when you're away. Set it on/off from settings/misc
+       + /connect and /server changes the server in the current window if
+         the window isn't channel or query.
+       + Wallop actions are displayed right
+       + Ctrl-N/P keys change to previous/next window
+       + Polish translation updated
+       + /channel next, /channel prev - changes to next/previous channel in
+         the current window. Ctrl-X is by default bound to /channel next.
+       - /WHO could crash irssi
+       - /join !!channel crashed
+
+v0.7.20.1 1999-11-28  Timo Sirainen <cras@irccrew.org> [unstable]
+
+       * I just started #irssi in irc.openprojects.net too.. It's still in
+         IRCNet too, don't know yet if I'll keep both or drop the other one..
+
+       + You can use %n as current nick with aliases
+       - Closing a window with split windows open crashed
+       - Channel widgets weren't being updated when joined to channel in
+         empty window
+       - configure didn't check if we wanted to build MySQL plugin or not,
+         now it's built only if you give --with-mysql to configure
+       - Using the whois, ping, etc. buttons in queries crashed
+
+v0.7.20 1999-11-27  Timo Sirainen <cras@irccrew.org> [unstable]
+
+       + Polish and finnish translations started
+
+       + SQL plugin which doesn't do much, currently supports MySQL only.
+         Meant to be used by other plugins.
+
+       + Botnet to bot plugin - it should already be possible to create a
+         big bot network with this (each bot having multiple clients +
+         uplink). The functionality is limited only to BCAST message for
+         now which sends a message to all bots. Read docs/botnet.txt for my
+         plans for it :)
+
+       - If plugins failed in initialization (plugin_init()), irssi could
+         crash.
+       - Server settings (nick, realname, etc.) were saved to different
+         place in configuration file than where they were read from..
+         So, saving them didn't really work.
+       - Plugin autoloading didn't work
+       - When trying to show channel's window from panel and you weren't
+         using helvetica font (itext's internal default), irssi crashed..
+       - Irssi crashed if you didn't have menubar enabled and didn't
+         compile with gnome.
+       - When invalid theme was found from global directory, irssi
+         complained about it every time. Now the fixed theme is saved to
+         ~/.irssi/ directory and used thereafter.
+       - Deleting ircnets didn't work right
+
+v0.7.19 1999-11-20  Timo Sirainen <cras@irccrew.org> [unstable]
+
+       * Text formats changed - they should be compatible with epic/bx now.
+          See docs/FORMATS for more information
+
+       + Internationalization support - finally. No languages yet though..
+
+       + /window new split creates a new splitted window
+       + Automatic text replaces, useful for things like :9 -> :) .. This
+         is actually almost same as completions, except they are activated
+         with different keys..
+       + Nicklist popup menu is configurable
+       + ~/.irssi/startup - add all commands here you want to run at startup
+       + Much more levels for ignoring/logging/etc. See docs/COMMANDS for a
+         list
+       + Ignoring joins, parts, etc. work, ignoring channels work
+       + Automatically loading plugins at startup works in irssi-text and
+         irssibot too
+       + Autoaccept dcc get/chat from given nick/address
+       + /help
+       + Server/Links dialog, displays list of servers in tree view.
+         Doubleclicking a hub asks the servers behind the hub (doesn't seem
+         to work in efnet)
+       + /server +irc.server.net does the same as /connect irc.server.net
+       + Nicklist is resizeable
+       + Buttons for closing and moving window left/right
+       + Query windows display nick's address in topic widget and the
+         address isn't displayed in every msg in query windows.
+       + It's possible to add bold/colors/etc to default quit message
+       + MIRC colors are finally displayed with right colors
+       + You can run multiple command in alias, separate them with &&.
+         You can create a & character with \&
+       + Hilighting changes: Your own /msgs won't trigger channel activity,
+         received private messages get the "new text" color
+       + /MODE accepts multiple modes at once and they're split automatically
+         to 3 modes/command, like /MODE #chan +oooooo nick1,nick2,.. is
+         split to two commands which are sent to server.
+       + /KICK, /MSG, /NOTICE, /CTCP and /NCTCP are also automatically split
+         into multiple real commands. /KICK can kick max. 4 nicks per
+         command, privmsg/notice can send max. 3 nicks per command.
+       + Option: Show timestamps in msgs.
+       - Joining to channel from channels dialog that had password set
+         didn't work.
+       - When scrolling, Irssi text widget sometimes left black spots in
+         text area if some other window was overlaping it.
+       - DCC resumes still didn't work
+       - Fixed some memory leaks
+
+v0.7.18.1 1999-11-04  Timo Sirainen <cras@irccrew.org> [stable]
+
+       - Window didn't scroll if you were using GtkText
+       - Resuming DCC transfers could mess up the existing transfers with
+         the same nick..
+       - Some PONGs were displayed on screen if you were enough lagged..
+       - --help works now without gnome (gtk/text versions)
+       - Sending data to irc server/dcc chats/proxy's clients/etc. won't
+         block forever anymore - I once got it to happen with proxy..
+       - Some fixes for channel limit/key widgets above nicklist
+       - Speech plugin works now right with timestamps enabled
+       - irssibot (gui-none) doesn't crash at startup anymore and it doesn't
+         link with ui-common anymore. Also added a --load / -l command line
+         option to specify what plugin to load at startup. Default = bot
+
+v0.7.18 1999-10-18  Timo Sirainen <cras@irccrew.org> [stable]
+
+       * Finally a version I dare to call stable :) Just a bugfix release
+         for 0.7.17 but it had only a few problems..
+
+       * Status window is now off by default
+
+       - Sound and speech plugins weren't working.
+       - Proxy plugin shouldn't crash now while not connected to server
+       - Using some menuitems crashed when using the popup menus instead of
+         menubar.
+       - Removed a Gdk-Critical warning when opening themes dialog without
+         GNOME
+       - When resuming DCC transfers the average transfer rate was incorrect
+       - If you tried to connect to server while themes dialog was open,
+         it crashed.
+       - Several problems fixed with changing background pixmaps
+       - Fixes for building from different directory
+       - Trying to save theme crashed..
+
+v0.7.17 1999-10-16  Timo Sirainen <cras@irccrew.org> [unstable]
+
+       + Irssi text widget! (replaces zvt)
+          - supports proportional fonts
+           - FAST
+           - background pixmaps (scaled, tiled, scrollable, shaded)
+
+       + Proxy plugin - Unlike other irc proxies, this is more than just a
+         simple proxy. You can connect to it from multiple clients at the
+         same time, but each client will use the _same_ irc session, so you
+         can keep one irc client open all the time in your home, one at
+         work, one at wc, etc. All the clients get the same "normal"
+         messages from server, but if you request a /whois or /who or some
+         other commands, the reply will be sent to only the client that
+         requested it. Check README how to use it.
+
+       + Irssi is now much faster catching up things after joined to
+         channel, it asks channels' MODE and WHO first, all with the same
+         command (WHO #a,#b,#c), after them it asks the ban lists etc. less
+         important things.
+       + Workaround for GTK themes eating X server's memory
+       + Command line arguments:
+               -c server [-p port] : connects to server at startup
+               -! : don't autoconnect to any servers
+               -n : specify nick to use (override setup)
+       + Server lag displayed in statusbar, you can also set irssi to
+         automatically disconnect from server if it is too lagged
+       + Channel limit and key is displayed above nicklist
+       + Number of ops and total number of nicks in channel is displayed
+       + Nicklist background color can be changed
+       + Each window can have it's own command history buffer
+       + Try to let the server disconnect the socket (5 sec timeout) to make
+         sure that quit message gets through.
+       + Improved /gwhois dialog
+       + Setup dialogs are resizeable
+       + You can specify what port to use with DCC.
+       - Channel dialog fixes: after editing channel, it was moved to the
+         end of the list, opening multiple channels edit dialogs didn't
+         work right
+        - Reconnecting to server didn't work (always)
+       - Giving multiple nicks for /gwhois messed up irssi
+
+v0.7.16 1999-09-13  Timo Sirainen <cras@irccrew.org> [unstable]
+
+       + Started bot plugin, it has simple user management functions and
+         auto-opping/voicing done (but it does it well :)
+       + "channel synced" text doesn't trigger channel activity anymore
+       + Rawlog displays where event was redirected
+       + /wjoin - you can join multiple channels in same window
+       + /window goto #channel - moves you to window with the
+         channel, query or dcc chat
+       + /window goto active - moves you to first window with activity
+       + /list and /names complains if they're run without any arguments,
+         -YES overrides this
+       + Giving -nogui parameter to /list and /who commands doesn't use the
+         GUI dialog
+       + All the dialogs that have clist widget: you can resize columns and
+         sort the list by clicking the headers
+       + /list and /who dialogs displays total number of items and the list
+         is searchable
+       + Autojoining to channels work with irssi-text too
+       + /gwhois dialog has now refresh button, /gwhois is used when clicking
+          whois from nicklist popup menu
+       - Restoring saved window size didn't work very accurately, restoring
+         position also had some problems..
+       - Rawlog doesn't crash anymore if not connected to server
+       - Notifylist and checking of who uses your nick uses WHOIS again,
+         WHO didn't display user info unless s/he was -i or in same
+         channels..
+       - You had to run /list a couple of times until it worked..
+       - WHO was sent to people who joined channel to find out who they
+         were, unfortunately it had a small bug and didn't work..
+       - DCC didn't work with IPv6
+
+v0.7.15-3 1999-08-31  Timo Sirainen <cras@irccrew.org> [unstable]
+
+       * _TOO_ many bugs in .15, mostly compilation problems, I really
+         should test things better when I release them. This will be the
+         last time, I swear :)
+
+       + Rawlog window, /rawlog <file name> also saves it.
+       + --without-imlib configure switch
+       - After opened themes dialog, "(none)" window appeared, after opening
+         it, irssi crashed.
+       - "day changed" message was displayed at startup
+       - Addresses in DCC connections were displayed wrong
+       - Didn't compile without gnome
+       - The first .15 didn't compile without IPv6 support, -2 fixed it
+
+v0.7.15 1999-08-29  Timo Sirainen <cras@irccrew.org> [unstable]
+
+       * Only week since last version, much better :) Lots of internal
+         changes, hope they work right. No "weird crashes" found since last
+         version, 0.8.0 can't be too far away :)
+
+         CVS is also working again, no anonymous but I can give access if
+         someone wants.
+
+       + IPv6 support - yet another thing irssi is one of the first to
+         support ;) Give --enable-ipv6 switch to configure to compile it.
+         Because of IPv6 addresses naming style (xxx:xxx:xxx..), /server
+         server:port doesn't work anymore, you have to use /server
+         server port instead.
+
+       + Sound plugin updates, should work much better
+       + Default config file is build into irssi, it's used if no other
+         configuration file is found
+       + Implemented "idle queue", list of commands which should be sent to
+         server when there's nothing else to send.. Changed CTCPs to use
+         this.
+       + "massjoin" signal is sent when people join to channel, if many
+         people join to channel quickly (netjoins), it waits for a while
+         before everyone are joined and then sends the signal. This is used
+         to update nicklist more quickly and some other internal stuff.
+       + /msg <tab> completion: after you send msg to someone, the nick will
+         go first in completion list.
+       + Giving --with-servertest to configure now builds test irc server
+         which you can use to try crash irc clients :)
+       + /sv displays system name and revision and irssi's website url
+       + You can give server password to /server as /server server port pass
+       + /unban completion, eg. /unban *!*@*.de unbans *!*@hu232hu2.blah.de
+       + /rmreconns removes all servers from reconnect list. I hate it when
+         some server is down and irssi tries to reconnect it every 5 minutes
+         and there was no way to cancel it..
+       + Displays day change message in all windows if you're using
+         timestamps
+       + Realname is displayed in statusbar when mouse is moved over nick
+         in nicklist
+       + /last displays the last buffer only from the current window
+       + option: beep when you receive private message
+       + Typing /dcc without any arguments is same as /dcc list
+       + Some code rearranging, moved more code to ui-common from gui-xxx
+       + IPv6 for /ban, it bans all the last 64k addresses .. not sure if
+         it's THAT good idea but did it anyway.
+       - DCC resume was broken.
+       - If someone quit from one ircnet but stayed on another, the nick was
+         removed from both ircnets' channels.
+       - Irssi tried to find it's default config from
+         $prefix/etc/irssi/irssi/config (one irssi too much :)
+       - You couldn't use ~/ when saving window buffer
+       - Trying to save window buffer twice crashed irssi
+       - ZVT transparency couldn't be removed on the fly
+       - Using find/new/close buttons in toolbar crashed
+       - Doesn't complain anymore about "You're not channel operator" with
+         some irc networks that don't understand e or I modes
+       - /ban removed ident-character from username (~blah@ -> blah@) so bans
+         didn't work..
+       - /knockout calculated the time left wrongly.
+       - irssi added -I/usr/include to compile parameters which broke
+         compiling with several platforms..
+       - Irssibot notified about new development version when there was none
+       - Some problems/crashes fixed with plugin support
+       - --without-socks didn't do anything..
+       - Password should first be sent to server first, not after nick/user.
+         At least MUH (irc proxy) didn't like it.
+
+v0.7.14 1999-08-22  Timo Sirainen <cras@irccrew.org> [unstable]
+
+      !!! My E-mail changed to cras@irccrew.org, don't use the old one
+      !!! anymore!
+
+       * Hm.. Again a month since last version, 3 weeks should be max :)
+          Hopefully this one will be bugfree, so I could finally release a
+         "stable" version.. (somehow I think I'll end up with 0.7.14-2
+         anyway.. ;)
+
+       * Irssi uses now libPropList to read and save configuration file, so
+         you need to have libPropList installed, it's also in different
+         format so your old config file doesn't work anymore. 
+
+         Configuration file is located now in ~/.irssi/config file.
+         Themes are also now stored in separate files in ~/.irssi/*.theme
+
+       + Irssi can now notify you about new versions, you can also directly
+         download them with DCC. (This will probably be changed to HTTP
+         instead of using irssibot in IRC..)
+
+       + User interface changes (settings, menus) as suggested by
+         James M. Cape <jcape@jcinteractive.com>
+       + You can use ctrl-b,c,g,v,- when setting realname
+       + /version [server] - prints irssi version and irc server's version
+       + /ver [nick/channel] - sends ctcp version to nick/channel
+       + /sv [nick/channel] - sends irssi version text to nick/channel
+       + Added widget depends to several places, changed several modal
+         dialogs to use gui_widget_depends() instead
+       + Added Socks5 initialization, maybe it works now?
+       + You can specify what host address you want to use if you have many..
+       + Away and kick reason dialog have history
+       + irssi-text option: activity list can be sorted by window number
+         You can change this with /set toggle_actlist_moves=yes/no
+       + /msg <text><tab> completes now people in current channel too
+       + You can set channel password in channel dialog
+       + /SET [key [=value / [key [key..]] - /SET displays all settings,
+         /set key key2 displays values of key and key2, /set key=value sets
+         key to value.
+       + DCC GET now gets all the files coming from user if file name isn't
+         specified. DCC CLOSE also can close all dcc connections from user.
+       + The whole usermode is now displayed in statusbar, it used to display
+         only the modes it knew (+iwsr)
+       + Ctrl-N and Ctrl-P go to next/previous window
+       - When using zvt and joining to new channels, window size grew bigger
+       - /msg <tab> completion was a bit buggy, if someone sent you multiple
+         messages, you had to press tab multiple times until the nick changed
+         to someone else..
+       - Defaut format for signon time in whois displayed nick instead of
+         the signon time..
+       - Disconnecting server while it was still trying to connect hung irssi
+       - If old configuration file wasn't found, irssi (could have?) crashed
+         on startup .. Could this really happen?!? Why did nobody tell me??
+       - irssi-text finally handles screen resizing right
+       - Gnome panel applet works with "old" (like non-cvs now :) panels
+         too.
+       - If you left from channel before syncing was done, syncing stopped
+         working after it..
+       - Removing ban exceptions didn't update irssi's internal list
+       - Rejecting dcc chat didn't work properly, when receiving reject
+         get/send irssi didn't remove it from dcc lists
+       - Save/find dialogs weren't working after being closed.
+       - irssi-text complained about "Not enough parameters given" when
+         pressing entry in empty line
+       - Mirc colors weren't removed properly for logs and could have
+         crashed irssi
+       - Using /ban with mask (x!x@x) instead of nick crashed
+       - gui_widget_depends() wasn't working properly - didn't harm much :)
+
+v0.7.13-2 1999-07-22  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * Again, a small bugfix release
+
+       + You can specify what string to send to IRC proxy after connected,
+         this lets at least some proxies work with irssi.
+       + Notifylist now displays which irc network nick joined/left (or if
+         unknown, just IRC)
+       - After closing some window, the numbers in window tabs didn't get
+         updated
+       - /window next and prev didn't work properly
+       - status/msgs windows got destroyed a while after joining to channel..
+         or simply by doing "/mode (status)" command ..
+       - We don't try to DCC SEND file via dcc chat if the other side is
+         using mirc ctcps.
+       - Default setting or autodetection of mirc ctcps weren't working.
+       - Actions from mirc users in dcc chat was displayed in double.
+
+v0.7.13 1999-07-21  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * %p in text formats is changed to $, looks much cleaner :) Old
+          formats in configuration files are automatically converted.
+
+       * I got some documentation done! :) I wrote a list of all commands
+         irssi knows with (very) short descriptions, see COMMANDS file
+
+       + Hebrew support by Ronen Tzur <rtzur@shani.net> - see README-HEBREW
+        + Users with gone-flag are displayed with different color in nicklist
+          List is updated with USERHOST commands in small pieces every now and
+          then..
+        + Statusbar with some information in it ..
+        + Away message is displayed differently in /whois and /msged people
+          who's gone
+        + /window goto <n>, /window prev, /window next
+        + /window level [+/-]pub/msgs/...
+            /window level msgs      - creates messages window
+            /window level all -msgs - creates status window
+       + /bantype <normal/host/domain/custom>
+           - Normal - *!user@*.domain.net
+           - Host   - *!*@host.domain.net
+           - Domain - *!*@*.domain.net
+           - Custom [nick] [user] [host] [domain]
+               eg. /bantype custom nick domain - nick!*@*.domain.net
+               eg. /bantype custom user host - *!user@host.domain.net
+       + /version - just displays version number..
+        + You can use different font in each channel
+       + Alt-q..o changes channels to 11..19
+        + Color configuration changes..
+        + irssi-text : Reading manuals help ;) Text's backgound color isn't
+         changed to black anymore so pixmaps etc. should show up nicely :)
+        + /notify nick!mask@* [ircnets], /unnotify
+        + When trying to connect to server, you can abort it with the
+         cancel button in statusbar
+       + First parameter of /disconnect is now * (current server) or
+          server tag
+       + You can now use !channels with their short names (not always)
+        + Right clicking nick in channel pops up nicklist menu
+        + You can select multiple nicks from nicklist and execute the command
+          for all of them.
+        + Panel applet supports panel size changes
+       + Window tabs have numbers now
+       + Ctrl-N changes to next window, Ctrl-P changes to previous window
+       - Max. autoget size didn't work right, it got the file if the file was
+         bigger than the max. size.. and it was compared as bytes, not kB's.
+       - Panel applet should now work right
+        - Hilight words feature was completely broken
+        - DCC Chats were displayed twice in status dialog
+        - Closing DCC chat still had a few problems
+        - After trying to join to channel where you could get in (invite only,
+          banned, etc.) the created channel window wasn't destroyed.
+        - configure didn't check -lnsl right..
+       - Channel settings weren't read in the correct order -> autojoining
+          to channels created the windows in reverse order every time.
+        - ZVT in GNOME CVS broke irssi.. Fixed.
+        - Quit message wasn't displayed if there was some commands waiting
+          for transmit - quit was added to transmit queue and connection
+          closed..
+       - Matching irc masks (nick!host@address) was case-sensitive..
+
+v0.7.12 1999-07-06  Timo Sirainen <a@sicom.fi> [unstable]
+
+        * #irssi is now started in IRCnet
+
+       * Release #2 :) The next day..
+           + configure checks for -lnsl too
+           + changed default font to fixed size so I wouldn't have to hear all
+             the time how screen is messed up with zvt :)
+           - background color couldn't be changed with zvt
+           - irssi-text sometimes crashed at startup because of uninitialized
+             variable..
+           - you had to use --without-gnome-panel even if you didn't build
+            fwith gnome
+
+        + Colorless theme, should be easy to start a new theme with using
+          this. You need to copy the [theme:colorless] section to
+          ~/.irssi.conf (or ~/.gnome/irssi whatever you happen to use..) from
+          included irssi.conf to use this..
+        + You can DCC send and get files via DCC chat (don't need to be
+          connected to server), don't know if this works with any other client
+          or if any other client has this ability.. BitchX didn't seem to
+          have.
+        + /WALL [#channel] message - Send notice to all ops in channel
+       + /last [-pub -msgs etc..] <text> for text mode version
+        + Text mode version statusbar: -- more --, away (zZzZ)
+        + The "-!-" and "-!- Irssi:" texts and timestamp is now configurable
+        + Channel windows aren't destroyed anymore after getting disconnected
+        + /window close
+        + Outgoing flood protection: all commands you send to server are are
+          queued and sent every 2 seconds. (if queue is empty, the command is
+          sent immediately)
+        + Notify list popup dialogs are now optional
+        + /unalias (you could already do this with /alias)
+        + You can send Mirc style CTCPs now in DCC chat (preferences/dcc),
+          also if mirc user first sends ctcp, it's automatically set to
+          default for that dcc chat session.. You can also set it with
+          /mircdcc [y|n] or select from menu.
+        + Default color number in setup, this color is used if nothing else
+          is specified.
+        + Server reconnection - you can add several irc servers to setup with
+          same ircnet and autoconnect set and irssi goes through that list
+          every time server gets disconnected unintentionally.
+        + irssi-text word splits the lines. also if it needs to split the line
+          it leaves 10 empty spaces at the start of the next line.
+        + --without-gnome-panel switch to configure
+        - http://blah@a.b opened e-mail client instead of http client
+        - I set the socket non-blocking AFTER connect(), argh! This caused
+          irssi to hang when trying to dcc get from bogus IPs or something.
+        - Background color wasn't read right
+        - Log dialog had some bugs
+       - Banning ip addresses didn't work right
+        - Some DCC problems fixed..
+       - Some irssi-text bugs fixed
+
+v0.7.11 1999-06-06  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * Because of the color system changes, remove the [colors]
+          section from irssi's configuration file or you will get some weird
+          colors..
+
+          The colors are pretty much taken from BitchX, IMO it looks nice :)
+          But somehow I think many of you don't like it, so I made theme
+          selector. Just need to make a few default themes..
+
+       + Color system changed, the old one looked pretty ugly especially in
+          text mode version.. You can now have more than one color/line by
+          adding %fg[,bg] codes to text formats.. fg and bg are the normal
+          0-15 colors, in GUI version (without ZVT) you can use up to 99
+          user specified colors.
+        + Theme selector
+        + Text mode version: Entry line editing is working great! Command line
+          history works, scrollback buffer works, statusbar is working (again,
+          copying bitchx..), reads configuration file .. This is starting to
+          become usable :)
+        + ZVT working better: font can be changed, transparency and background
+          pixmap can be changed on the fly, the ugly block cursor isn't
+          displayed anymore and wordclicking (urls, etc.) works.
+       + New GUI dialogs for /list, /who, /gwhois and when receiving invites
+          to channels.
+        + Channels dialog changed a bit. New "Quick join" dialog where you can
+          specify server and channel to join
+        + Mirc DCC resumes are working. By Trever Adams
+          (trever_adams@bigfoot.com)
+        + List of text strings to hilight
+        + Notify dialog is created when someone in notify list joins irc.
+        + Nick completion improvements, /msg nick<tab> works and in channels
+          you can complete nicks anywhere in the entry.
+        + Window save size/position dialog
+        + DCC send added to popup menus
+        + Removing lines from GtkText is really slow, so now they're removed
+          with several lines at a time. (default is 20)
+        + /window new [hidden] creates new window, /window server <server tag>
+          changes server in current channel, useful in text mode version..
+        + You can try to find memory leaks with giving --with-memdebug switch
+          to configure
+        - Still some bugs with DCC SEND fixed..
+        - DCC list dialog crashed if there were dcc chats open, it also caused
+          some random crashes when running..
+        - Maybe window size/position saving finally works right?
+        - g_(s)list_remove_link() didn't work as I had always thought .. It
+          moves the link into separate list and doesn't free memory used by
+          it like I thought.. So, inserted a few g_list_free_1() calls.
+       - When not using menubars, popup menu should have displayed all the
+          items in it, it got broken in .10.
+        - signal_add_after() didn't work right.. actually it had a wrong name
+          too, changed to signal_add_first() and made it to run these events
+          before the normal events. This makes ignoring work again.
+        - /notice was buggy
+        - Configuration file handling (GTK version) was still a bit buggy..
+        - Lots of small bug fixes here and there..
+
+v0.7.10 1999-05-09  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * ALL KNOWN CRASHES FIXED !! Weird, after changing the code with
+          creating channels to empty windows, GtkText widget started working
+          again, it used to crash after running the test ircserver for a
+          while.. Maybe a few more versions and I'll release a "stable"
+          labeled version again (08.0).
+
+       + GNOME version can use ZVT widget to draw texts. This is a lot faster
+          than GtkText and with it you can use nice non-scrolling backgrounds
+          and transparency! However, you'll have to use the default colors
+          with it for now and Window/Save Buffer or Find doesn't work in it.
+          !!NOTE!! ZVT in gnome 1.0.9 is buggy, it sometimes crashes when
+          destroying zvt widget (leaving channels). It should be fixed in next
+          version (which doesn't currently exist..)
+       + DCC transfer dialog, display list of all going dcc transfers, the
+         old dialogs can also be created.
+        + Channel specific background pixmaps, if you don't have Imlib you can
+          use only .xpm images.
+       + /ban and /unban changed, they accept multiple arguments and channel
+          name may be specified as the first argument
+        + dcc actions from mirc should work now
+        - Text widget size is now saved instead of the window's size, should
+          work better.
+        - Right clicking text widget created a popup menu, but select
+          selection got broken after it
+        - Some potential bugs fixed after got kicked from channel
+        - Log dialog was buggy
+        - If dcc chat was closed but the query window was still there, trying
+          to chat again with the same nick created another query window but
+          used the old one..
+        - C-C, C-B, etc. add the character at the end of the entry, not at the
+          current position
+        - Redirecting commands was a bit buggy, it always expected to receive
+          the specified events. This worked with ISON command, but I forgot
+          that WHOIS could also return "no such nick" events.. So, notifylist
+          should now work right instead of sometimes printing whois results.
+        - You couldn't use the normal control-? keys (c-left, c-right,
+          c-insert, ..)
+        - mirc colors were displayed with wrong colors
+       - Changed all isspace(), isdigit() and isalnum() calls to cast their
+          argument as (gint) to remove warnings when compiling with IRIX.
+       - Speech plugin wasn't working again..
+        - After changing text format from setup, you couldn't change any
+          other lines without closing setup dialog first
+        - Font couldn't be changed by editing the entry line
+       - /knockout format changed, it's now /knockout [timeout] nick reason
+          (so the reason can have number at the start of it..), it also used
+          to crash when unbanning
+       - DCC send fixed, fast send didn't work and without it it was eating
+          all cpu.
+        - DCC sending files with spaces in their name didn't work (they're
+          changed to _ now.)
+
+v0.7.9 1999-04-22  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + Server/status dialog, displays list of all connected servers,
+          channels, queries and dcc chats.
+        + Host resolving is now done in a child processes. Hopefully works
+          better than threads which aren't used anywhere anymore..
+        + Window/Save window size and Save window position, next time the same
+          window (status, msgs, channel, query) is opened the saved size
+          and/or position will be used.
+        + gui_widget_depends_data(), widget will be automatically destroyed
+          if the specified signal is called with the specified argument. Used
+          to destroy DCC request dialogs when they're closed manually, timed
+          out or rejected at the other end..
+        - Fixed lots of memory leaks which some might have caused crashes..
+          src/memdebug.c has the debug functions I used ..
+        - DCC CLOSE closed always the last dcc connection instead of the one
+          that matched the parameters
+        - Commented out all GUI_INPUT_EXCEPTIONs .. I don't even know when
+          exceptions are sent and why (I thought that only when some error
+          occured..), Linux doesn't seem to send them ever? IRIX however sends
+          them all the time which made irssi eating all cpu.
+        - Fixed compiling gui-text with systems that had only slang/slang.h
+        - gui_widget_depends() had some bugs
+        - adding irc networks by typing it's name when adding server didn't
+          update the GUI of ircnets list.
+       - If some plugins were already loaded, and loading new plugin failed
+          and it called plugin_deinit(), the call (might have) called some
+          other plugin's plugin_deinit() and crash.. Some updated to change
+          all global plugin functions to plugin_name_* calls so they wouldn't
+          call other modules functions..
+       - If day changed when logging, the log file contained the day change
+          lines before each line after that..
+       - Channel labels were hilighted even when the channel was selected..
+
+v0.7.8 1999-04-12  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * This version has lots of internal changes, I haven't tried them
+          much so hopefully everything works right..
+
+       + external plugin, reads commands from named pipe and executes them
+        + sample plugin updated, creating new plugins should when based on
+          this one
+        + gui-none is built, it tries to run bot plugin which doesn't exist..
+       + Moved the configuration code to the lowest level, made settings
+          to be common with all guis.
+        + /set command: /set [category[/key[=value]]] [all]
+        + /alias, /ignore and /unignore commands work again
+        + Nick completion finally working, and better than ever (unless it
+          has bugs of course ;). It tries to be smart when completing, first
+          it checks if someone with same letters had recently written message
+          to you, then it checks for nicks that recently wrote messages and
+          finally for the rest of the nicks in channel. Clicking tab more
+          scans the list. Clicking tab in empty line completes to /msg <nick
+          who sent you last message>. Before trying to complete nicks, tab
+          completion checks if the word is in setup's completion list.
+        + Wrote some functions to make possible handling events in different
+          places depending where the command which created the event was sent.
+          This is useful for example to notify list which needs to send ISON
+          requests but user should still be able to use /ison command
+          normally (this has always worked btw).
+        + Notify list's notify event now displays user's host and real name
+          (made with the previous functions which grabbed WHOIS). Notify list
+          GUI also updated for this
+        + You can use user/host masks with notify lists, wildcards are
+          allowed. Nick must always be specified (could be fixed but everyone
+          is invisible anyway so it would be useless). Examples:
+          friend!*friend*@*, friend_!*friend*@*,
+          another!*@*.blah.com, altnick!*@*.blah.com
+       + "your nick is owned by blah (blah@blah.org)" when connected
+        + Text formats page uses now GtkText widget, it displays colors too.
+          It's not perfect but better than before...
+        + There's now three different colors indicating what's happened in
+          channel: red = some text was written there, bright red = public
+          message, magenta = public message to you
+        + Ignore checking is now done by stopping the entire signal so
+          plugins etc. don't have to deal with them.
+        + You can use user/host masks with ignores
+        + Autoraise (in window menu) window when new message comes to channel
+        + Channel settings: You can specify list of bots (masks) and command
+         to send the first one found bot (nice for auto-opping ourself)
+        - Changing user modes from menus didn't work. Moved the menu under
+          server menu.
+       - Speech plugin problems fixed.. It didn't compile without gnome
+          libraries and with gnome libraries it didn't say anything because
+          for some reason one line in sources was commented out..
+        - IRC network things and server password didn't work because of stupid
+          little bug
+        - Configuration file handling was a bit broken in GTK version
+       - Rewrote menu handling in GTK version, it was crashing when trying
+          to load plugins..
+
+v0.7.7 1999-04-05  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + speech plugin :) This is currently made to work with festival
+          (http://www.cstr.ed.ac.uk/projects/festival/), it's not very usable
+          but nice to play with :)
+        + C-b (bold), C-c (color), C-g (bell), C-v (reverse), C-- (underline)
+          keys work now but they don't display anything in entry line.
+        + Beel character beeps are now optional
+        + Fixes and new features for plugins. Each plugin has now it's own
+          menu under plugin menu and "Unload" menuitem there by default.
+        - GTK version didn't build .. again..
+        - I broke DCC send in 0.7.5
+        - SIGPIPE is ignored, maybe fixes some "crashes" when server
+          connection is lost (I never got this btw.)
+        - Using irssi with click to focus sent commands to window where mouse
+          cursor was..
+        - Fixed some bugs when scrollback buffer got full (GTK's text widget
+          seems to crash sometimes with small scrollback buffer and _lots_ of
+          text!)
+        - Plugin dialog didn't show any plugins
+       - Plugins are now created with automake things to make them portable
+          for compilers/linkers that don't work with -shared switch. The
+          disadvantage is that a lot of unnecessary files are created for
+          each plugin (.a, .la, .so.0, .so.0.0, .so.0.0.0) while irssi uses
+          only libplugin.so, could be fixed somehow but too difficult for me..
+       - Joining to +k channel crashed
+
+v0.7.6 1999-03-29  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * New default colors .. I think they're better, not the best possible
+          but anyway, I'm not good with these :)
+        + Text mode version working again with colors! :)
+       + New settings/servers dialog, changed connect and channels dialogs.
+          You can now automatically connect to multiple servers at startup.
+          All this made by Kari Lavikka (tuner@bdb.fi)
+        + Server password support
+        + IRC proxy support
+        + Right clicking the channel name in panel pops up channel menu
+        + private ctcp and notice messages now show up in query windows if
+          it exists for sender
+        - Fixed logging a bit, you can now log stuff from nicks without
+          having query window for them.
+        - If time stamps were enabled, log files had time stamps twice in each
+          line
+        - Color settings had some bugs
+       - GNOME version crashed if ~/.irssi.conf didn't exist .. because I
+          read the configuration file before gnome_init() which was necessary
+          for "create gnome panel applet" option in setup -> removed it
+
+v0.7.5 1999-03-17  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * Text mode version is broken and isn't built.
+        * Configuration file has changed quite a lot, might be better if you
+          would just erase the old one.. Server configuration is also going
+          to change soon..
+
+        + Plugins are back! But unfortunately I can't get perl plugin to work.
+          See TODO for more information.
+        + I divided setup dialogs to separate windows and grouped the options
+          to different frames so they actually make some sense now :) Also
+          some new options:
+               - Create GNOME panel applet
+                - Lots of DCC options, the page looked so lonely that I had
+                  to put more options there :)
+                    - get: autorename file if it exists (currently this is
+                      done always..)
+                    - autoget: max. file size to get
+                    - fast send (don't wait for responses from the other
+                      side, just keep sending the data..)
+                    - upload path
+                    - block size
+                    - timeout
+       + Checks for slang/slang.h too ..
+        + Text mode version doesn't have my name/nick hardcoded in it
+          anymore :) Uses IRCNAME and IRCNICK environment variables.
+        + Status window is now optional, when enabled it grabs all
+          "status" messages there. This needed quite a lot of inner changes,
+          hopefully works :)
+        + /nctcp - send ctcp reply
+        + Window size is now saved when quitting and it's used when creating
+          windows in next session
+        - Fixed lots of GLib-CRITICAL messages when disconnected from server
+          while it was still trying to find ip address.
+        - Window/find should now scroll to right position and it doesn't
+          corrupt the text widget with inserting new texts to found texts
+          positions.. It's also case-insensitive now.
+       - Fixed compile error when building without gnome panel..
+
+v0.7.4 1999-03-13  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + Applet for GNOME panel working again
+       + You don't have to specify --without-gnome anymore, configure checks
+          this for you (finally)
+        + Some widget packing changes and tooltips for channel mode buttons
+          by Kari Lavikka <tuner@bdb.fi>
+        + Window/find moves the scrollbar to position where you can
+          actually see the found text (usually, find prev misses it
+          sometimes..)
+        - Disconnect button in disconnect dialog still wasn't working.
+        - Channel mode buttons didn't change if channel wasn't focused
+        - I added separators to menus in v0.7.3, but forgot to make GTK
+          version work with them
+       - Closing DCC chat crashed
+       - Destroying window with WM now really destroys the window, no hide
+          it like it used to..
+        - Several fixes with window handling..
+
+v0.7.3 1999-03-11  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * Text mode version is not called irssi-text so make install can
+          install both of them without overwriting the other..
+        + Window menu: find text, save window buffer, close window, new,
+          new tabbed .. And lots of fixing code to make empty windows
+          possible.
+        + After kicked from channel, the window isn't destroyed
+        - While connecting to server and receiving "nick is temporarily
+          unavailable" irssi didn't try different nick but got just stuck
+          there.
+
+v0.7.2 1999-03-10  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + GUI for logging, /log start, /log stop
+       + You can drag file from GMC over to nick in nicklist to send the file
+          with DCC
+        + Nicklist changed to GtkCList, ops and voices are marked with
+          pixmaps (stolen from X-Chat, someone want to do better ones?). Had
+          to be done because adding drag'n'drop to GtkList was too slow..
+       - Pretty bad bugs with GTK version fixed, using several dialogs'
+          buttons crashed..
+        - WHOIS's idle line displayed seconds wrong. Maybe I finally got it
+          fixed right this time.. :)
+       - Unknown commands still didn't work. They were sent to server with
+          the / character at start..
+
+v0.7.1 1999-03-08  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * The 0.7.0 was actually quite stable, I thought it would crash all
+          the time by itself and do some weird things :)
+        * Hopefully now that GTK 1.2 is finished more people start using it
+          and don't ask me to continue supporting GTK 1.0. So, this version
+          requires GTK 1.1/1.2.
+
+        + Started gui-text.. Should work somehow :) Prefers SLang but should
+          work with curses also, except in X terminals I couldn't get colors
+          out of it.
+        + Logging, still lacks GUI.
+
+          Syntax:
+            /log create <filename> [<+/->level ...] [#channel/nick [
+                                   [<+/->level ...] ...]
+            /log close <filename>
+            /log list
+
+          Example: /log create mylog -all +msgs #linux +chan +public +notices
+          (or simply #linux +all logs everything that appears in #linux
+          window).
+
+          You can use these levels, ALL is set by default:
+          ALL, CRAP, PUBLIC, MSGS, NOTICES, WALLOPS, SNOTES, ACTIONS, DCC,
+          CTCP, CLIENTNOTICES, CLIENTERRORS
+       + Automatically create query window when received msg (option)
+       + No more "WHO: unknown commmand"s, all unknown commands are sent to
+          server just like they were written
+       + Working again: msgs window, aliases, /kickban, /knockout
+        + Changed quite a lot of GString's to g_strdup_printf
+        + cleaned configure.in
+        - Disconnect button in disconnect dialog didn't work.
+        - Writing to DCC chat only sent the first word..
+        - setting ircnet to server record was done without strdup()ing from
+          setup server record, so after disconnecting preferences or
+          reconnecting could have crashed.
+
+v0.7.0 1999-02-25  Timo Sirainen <a@sicom.fi> [unstable]
+
+       * Lots and lots and LOTS of rewriting code. Hope you like it :) At
+          least I do, mostly. GUI still needs rewriting but.. well, it works
+          anyway now.
+
+          The [unstable] tag in this version really means that IT IS UNSTABLE.
+          See TODO for what features that 0.6.0 have are still missing.
+
+          Because of the new great signaling system :) lots of things can be
+          done easier. Now all the dialogs should be up to date, like channel
+          mode dialog. When you receive ops, widgets come sensitive, when you
+          lose your ops, the widgets become unsensitive.
+
+          irssi source is now also divided in to separate directories:
+
+          irc-base: this shouldn't change much, it has all basic functionality
+                    needed to create a working IRC client.
+
+          irc-extra: all kinds of extra functionality: dcc, flood detection,
+                     ignore lists, (logging soon), notify lists and plugins.
+
+          common-ui: here's all the functions that need to print some texts to
+                     screen.
+
+          gui-gnome: GTK/GNOME specific code
+
+          These haven't been started yet:
+          ui-none: make irssi work as a bot with plugins/scripts
+          ui-text: text mode interface
+          gui-kde, ...: I'm not going to do these, anyone?
+
+v0.6.0 1999-02-12  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + Plugins! See plugins/* and src/plugin-commands.h for more
+          information
+        + Small PERL plugin, anyone want to continue developing this?
+        + Show menubar option
+       - Some fixes and changes with clicking words.
+        - Notify list didn't work if ircnet was specified.
+        - socks5 needed -DSOCKS to work (but this is still untested..)
+
+v0.5.1 1999-02-10  Timo Sirainen <a@sicom.fi>
+
+       * A big bugfix release, hopefully no crashes anymore? :)
+       * Removed intl directory, we don't have any i18n support yet so it's
+          not needed...
+
+       + Time stamps
+        + Use --with-pthreads=no if they don't work right
+        + socks4/5 support (untested), use --with-socks=no if you don't want
+          them.
+       - If you got kicked from channel irssi was in quite unstable state
+       - Using channel mode buttons in the upper right corner crashed
+       - Whois displayed idle time wrong
+       - Adding first item to empty list (notify, completions, aliases,
+          ignores) crashed.
+       - It didn't actually compile without pthreads lib..
+       - If any texts contained %s, %d, etc.. irssi tried to expand them
+       - Solaris (and probably some others) need -D_REENTRANT flag to make
+         threads work corretly.
+       - gtk_container_add() should be used instead of
+          gtk_scrolled_window_add_with_viewport() when handling clists..
+
+v0.5.0 1999-02-08  Timo Sirainen <a@sicom.fi>
+
+       + DCC CHAT, SEND, GET
+       + pthread support, no more blocking server connections.
+       + Notify list
+       + Getting more paranoid :) Added a lot of g_return_if_fail()s.
+          Hopefully not in wrong places :) But these surely save some crashes
+          with buggy code..
+        + BUILD_DOCK, HAVE_GNOME, etc. defines are now placed in config.h
+          instead of being in -D arguments for gcc.
+        + Format strings are more flexible now, you can change the order of
+          the parameters and you don't need to specify if the argument is
+          supposed to be string or integer or .. Should be easy to use, %p1
+          matches the first argument, %p2 the seconds, etc.
+        + /PING
+        - Changing topic from topic entry widget didn't work.
+        - If window had only one channel, the channel widgets (topic, modes,
+          etc) didn't show up.
+       - Using popup menu from status window's channel lists crashed.
+        - Channel menu didn't work
+
+v0.4.1 1999-02-04  Timo Sirainen <a@sicom.fi>
+
+       + Preferences: completion - if you type <tag> in entry field and
+          press tab it gets completed, like setting homepage to http://blah
+          and typing: home page is homepage<tab> -> home page is http://blah
+       + Tab nick completion.
+        + ':' nick completion also changed a bit.. If it fits to more than
+          one nick it's completed in bash style. Like if there's mynick1 and
+          mynik2, "my:" gets completed to "myni:"
+        + glib 1.0.6 didn't have g_get_user_name(), g_get_real_name(),
+          g_get_home_dir() and g_strncasecmp(), made them..
+        - Using --no-applet crashed..
+       - Using items in user modes menu crashed
+        - Several small bugs fixed..
+
+v0.4.0 1999-02-01  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + *Lots* of internal changes with window handling, fixed some memory
+          leaks also while doing them. You can now have multiple real windows
+          with tabbed subwindows in them. It's also possible to have multiple
+          channels in one subwindow. Commands for handling these.. :
+           - /join - Works like before, creates real or subwindow depending
+             if "use tabbed windows" is set in setup.
+           - /wjoin - Joins channel to current window
+           - /hjoin - Creates new subwindow and joins there
+           - /njoin - Creates new real window and join there
+        + Changed URL max length from 20 to 200.. Didn't realize it was that
+          low :)
+        + Shows the nick who sent wallop, you need to change the second
+          line in format texts from "%s" to "%s: %s" to make this it work.
+          Need to do some kind of autoupgrading for formats that change..
+       + Found new functions from glib :)
+            - g_getenv("HOME") -> g_get_home_dir()
+            - getpw() -> g_get_user_name() and g_get_real_name()
+            - strcasecmp() -> g_strcasecmp()
+            - strncasecmp() -> g_strncasecmp()
+        + GNOME version uses ~/.irssi.conf if it exists
+        - Opping/deopping anyone made irssi think that you were opped/deopped
+        - read_line() had some pretty bad bugs...
+
+v0.3.6 1999-01-29  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + irssi.spec to easily build .rpm
+       + Preferences:
+           - Alternative nick which is used when default nick is in use.
+           - Create own window for msgs
+           - Tab orientation
+           - Flood settings
+           - Max lines to keep in command line history
+           - Scrollback buffer size
+           - Text formats
+        + Toolbar .. we need pixmaps .. Needs also window (channel/query)
+          specific items.
+        + Using horizontal panel works right now.
+        + Alt-1..0 changes between windows
+        - Private actions didn't show up in query windows where they should
+          have.
+        - Alias and ignores lists were mixed together and didn't work.
+        - Setting max channels to display in panel to -1 (which is default..)
+          displayed actually only one channel.. Also setting this to 0 works.
+        - Topic didn't change when changing between windows in tabbed windows
+          mode.
+       - When op received +v, @ was changed to + in nick list
+       - Connect/disconnect/channels dialogs fixed so that they won't crash
+          when clicking buttons with empty lists.
+
+v0.3.5 1999-01-26  Timo Sirainen <a@sicom.fi>
+
+       + Finished the channels dialog, you can automatically join to
+          channels in specific irc networks.
+        + Changed the look of connect and disconnect dialogs
+       + servertest/ directory, just a test program to try if irssi crashes
+          with _HEAVY_ network load (ie. if there's buffer overflows or some
+          other weird bugs). It doesn't :)
+        + Preferences: Maximum number of channels to display in panel
+        - When leaving from channels, panel didn't redraw it's list correctly        
+       - Leaving channels in tabbed window mode crashed
+       - Fixed crash if connection got lost
+
+v0.3.4 1999-01-24  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + Tabbed windows work a lot better
+        + User mode menu
+        + Preferences: default user mode
+        - Connecting to more than one server crashed...
+       - Nick list redrawing was broken
+       - Dock applet wrote the texts to pixmap but didn't draw the pixmap
+          into screen then properly..
+
+v0.3.3 1999-01-23  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + /ignore never - never autoignore nick
+        + You can hide/show channel nick list from Channel menu, default
+          state can be set from preferences.
+        + Preferences: Strip styles from text, misc options
+        + Launching URLs work!
+        + More str[nnn] -> GString changes, should be no more potential
+          buffer overflows
+        + Started the tabbed windows, probably quite buggy and the
+          window_create() code is getting REALLY ugly..
+        - Servers didn't display QUIT message.. Couldn't think of any better
+          way to fix this than not to disconnect the link but let the server
+          do it.
+        - ANSI colors didn't work right
+
+v0.3.2 1999-01-22  Timo Sirainen <a@sicom.fi> [unstable]
+
+       + Dock applet, works at least with Enlightenment..
+        - GTK version tried to move temp config file to real config file
+          with rename() .. didn't work if /tmp and home were in different
+          partitions.
+       - Some servers sent a mode change before /names list, irssi didn't
+          like that and crashed..
+        - No more Gtk-Critical messages if irssi is run with --no-applet
+
+v0.3.1 1999-01-22  Timo Sirainen <a@sicom.fi>
+
+       * 4 days since last relase. too long :) I'm now starting to create
+          "unstable" versions of irssi. They have the latest and greatest
+          features while they might not build/work too well. Check
+          http://www.sicom.fi/~ikioma/irssi-download.html, new versions will
+          probably be released quite often.
+       * GNOME version now builds without GNOME panel applet library
+        * Works with GTK+ 1.0.6 now, maybe with older too.
+        + Connect / disconnect dialogs, channel dialog also started
+        + Server setup dialog changed some.
+        + Status window has a list of channels, queries and (yet not
+          implemented) DCC chats. Also the tiny panel window isn't displayed
+          unless you're running irssi in panel..
+        + Menu bar in all windows
+       + Cleaned read_line() to use GStrings.
+        + $(sysconfdir)/irssi.conf is copied to default user file if it isn't
+          found.
+        + If you get kicked from channel the channel window won't get
+          destroyed.
+        - Query was in op submenu in nicklist's popup menu .. whops.
+        - 0.3.0 broke server tag generation so using multiple servers didn't
+          work.
+
+v0.3.0 1999-01-18  Timo Sirainen <a@sicom.fi>
+
+       * Config changes in GTK version, delete old .irssi.conf file (or
+          change all "tag = values" to "tag=values")
+        * Default set of servers and aliases can be found from irssi.conf,
+          copy that to ~/.gnome/irssi (if build with GNOME) or ~/.irssi.conf
+          (if build without GNOME).
+        + servers page added to preferences. Without connect dialog this is
+          quite useless though :) But if you set "connect to IRC server at
+          startup" on, irssi connects you to first local server.
+       + aliases :
+          - /ALIAS <alias> <command to execute>
+           - alias page added to preferences
+           - these codes are extracted in commands:
+               %0            : alias name
+               %1, %2, %3 .. : word %
+               &1, &2, &3 .. : word & + the rest of the text after it
+               %c            : channel name
+           - typing extra / before /command (//command) ignores any aliases
+        + ignore list :
+           - /IGNORE <mask> <ignore level>
+           - /UNIGNORE <mask> <ignore level>
+           - ignore page added to preferences
+           - ignore levels: ALL, CRAP, CHAN, PUBLIC, MSGS, NOTICES, WALLOPS,
+             SNOTES, ACTIONS, DCC, CTCP, CLIENTNOTICES, CLIENTERRORS
+        + autoignoring msg and ctcp flooders
+        + options page added to preferences
+        + invite lists (channel mode I)
+        + !channels should work now
+        + replaced quite a lot of g_new()'s with GStrings. fixed one buffer
+          overflow with this also..
+        + /AWAYALL - sends /away to all connected servers
+        + /KNOCKOUT [secs] <nick> <reason> - kick+ban+delay (5min)+unban
+        - nick completion was case-sensitive
+        - again some minor bugs fixed and features added
+
+v0.2.1 1999-01-17  Timo Sirainen <a@sicom.fi>
+
+       + Preferences: color and font selection
+        + gnome-stuff.c has some gnome_* compatible functions to get GTK+
+          version work. They're pretty slow and dum and maybe even buggy so
+          if you want better, just compile the gnome libs :)
+        + Doubleclicking in topic sets the entry editable/uneditable
+       - nick completion was buggy
+        - some minor bugs and features fixed
+
+v0.2.0 1999-01-16  Timo Sirainen <a@sicom.fi>
+
+       + CTCP VERSION returns system name and revisions
+        + msgs window has now autoraise set on as default
+        + status window is used only when there's no window active..
+        + Done server handing:
+           /server = /disconnect + /connect
+           /connect = connects to new server without disconnecting from
+                      any old ones
+           /disconnect = disconnect from current server
+        + msgs and status window have a server selector menu
+        + clicking a server tag in msgs window changes server
+        + channel information box
+        + --no-panel command line switch so you can build with GNOME support
+          but don't need to be running it in panel.
+       - some automake fixes
+       - If someone was kicked, the kicker was removed from nick list
+          insted of the kicked..
+        - Fixed some weird situtation where snapshot window wouldn't
+          disappear from screen..
+
+v0.1.0 1999-01-14  Timo Sirainen <a@sicom.fi>
+
+       * First release
diff --git a/apps/irssi/TODO b/apps/irssi/TODO
new file mode 100644 (file)
index 0000000..b1b76bc
--- /dev/null
@@ -0,0 +1,595 @@
+ - /UPGRADE:
+    - support DCCs
+    - topic time/nick isn't transferred
+    - rewrite to work by fork()ing a new process and transfer file handles
+      with unix sockets. this would allow the scrollback buffers to be
+      transferred with them as well.
+    - current window layout needs to transferred
+    - reconnections aren't transferred(?)
+
+ - Logging:
+    - /LOG OPEN doesn't autocreate directories..
+    - /LOG OPEN -targets *!*cras@*.fi
+    - /SET autolog -> /LOG OPEN -targets * (internally, at least)
+    - /LOG OPEN shouldn't really open the file until first line is 
+      written in it
+    - /WINDOW LOG OFF doesn't work
+    - autoclosing logs doesn't work too well. Problems are:
+       - after certain inactivity private message logs should be closed
+       - but DCC chats shouldn't be closed until the chat itself is closed
+          - which we can't know really currently, since they don't need
+            to be in queries
+       - channels should be closed when they're left
+          - /WINDOW CLOSE shouldn't close it immediately, since we'll still
+            receive at least the PART message
+    - so, log items should know more about what they are exactly, and when
+      they should be closed. private messages could have the same timeout
+      as now, time_t closetime field updated every time msg is received.
+      channels could do the same when receiving "window item destroy" signal,
+      except with a small timeout. DCC chats are more problematic...
+    - support for mirc/ansi color logging
+    - people want to show ignored stuff in logs.. how?
+    - private messages could show mirc-style "Session Ident: nick (host)"
+      which would update when nick's host changes. Then you wouldn't need to
+      print the host before each msg.
+    - support for logging channel messages from specific people
+
+ - Awaylogs:
+    - either fully support logging only in servers you're away, or change the
+      awaylog to open immediately after /AWAY command, not based on any
+      away replies from server. Maybe the later would be better, since you
+      would want to set yourself away when connections to all servers were
+      disconnected at the time.. Maybe /AWAY should update status in
+      reconnection records as well?..
+    - /SET awaylog_auto_delete, after setting yourself unaway
+    - support for using strftime() formats (and $tag etc). only problem with
+      this is that all the different awaylogs would need to be tracked and
+      /CATed when setting yourself unaway
+
+ - Window item placing:
+    - !channel vs. !12345channel. it's layout saved with full name, but joined
+      with either one
+    - when dcc chat is accepted and query exists from the same nick, replace
+      the query window with the dcc chat window.
+    - closed DCC chats should add temporary window bind to the dcc chat so
+      future chats for same nick would use the same window
+
+ - DCC
+    - /DCC SEND wildcard support
+    - /DCC GET -4 / -6 with autodetection
+    - When we receive a DCC SEND request, irssi could warn if the file
+      already exists
+    - show estimated time left and kB/s in /DCC list.
+    - implement requesting files with DCC GET from remote client for dcc file
+      servers. good for people behind firewalls. Does this feature exist
+      in other clients, or should I create DCC REQUEST? Same for DCC CHAT..
+      Maybe it could be just that the port was specified as 0, so the other
+      side would know that it needs to be the one to do listening.
+    - /SET dcc_autoresume ON, and sending the same file again while it's
+      already being downloaded doesn't work too well.. Even autorename doesn't
+      work.
+    - With fast DCC SENDs (90kB/s, FreeBSD) typing get laggy (really?)
+    - /DCC CLOSE #, /DCC would print the IDs
+    - /SET dcc_use_proxy to use IRC proxy for DCC connects as well
+    - support for special vars in /SET dcc_download_path, so $N could be used
+
+ - Generic chat commands:
+    - /MSG /CTCP /ACTION =dcc_chat,#channel
+    - /ACTION -ircnet with good tab support like in /MSG
+    - -nick -channel parameters to /ACTION
+    - /MSG a,b,#c,#d - it should print the message to #c and #d channel
+      windows and show only "a,b" as target when printing it to msg window..
+      Or if autoquery is set, it should print them to those windows. Hmm.
+      maybe some multipeople query support? :) /query nick1,nick2 and sending
+      text there would send it to both. Seems to work already but receiving
+      messages from either nick1 or nick2 don't go to that window..
+    - /^MSG nick creates query with /SET qutocreate_own_query YES
+    - /WHOIS -servertag
+    - /BAN: setting of what netmask to use for banning with IPv6 addresses
+
+ - Netsplits
+    - BUG: said "+1 more", while the /SETs to control that were set properly,
+      with one guy it only said that +1 more..
+    - BUG: netsplit quit isn't printed if quit -> join -> quit -> join
+      happens fast (really?)
+    - maybe the "+x more" should be configured in theme file instead in
+      future with the embedded scripting.. At least I'd want to print all
+      the splitted nicks in log files.
+    - per-window listing of splitted servers, it looks very stupid when
+      you see 4 lines of servers splitting in each window but only a few
+      nicks after them.
+    - per-window listing of splitted nicks, so the split messages isn't shown
+      multiple times for each channel with possibly same nicks
+    - /NETSPLIT <server>|<#channel>|<nick wildcard>
+    - SERVERMODE +ov nick nick is shown instead of just Netjoin @nick because
+      code is stupid. fixed in irssi-rewrite..
+    - show in query windows
+
+ - Crashes:
+    - irssi crashes at quit if perl is loaded as module
+    - #1  0x68cc7 in module_file_deinit_gmodule (file=0x110e20) at modules-load.c:356 
+    - <dg> i've managed to reproduce the bug, if i make three split windows (/window show 3..5), then set the windows to not be sticky  and go to one of the windows, then alt+number to another window then go back the other window the display prints two windows in the same window
+    - irssi -cserver -nnick -> crashes - lib-popt is buggy!
+        - bug as well but not crash: --config=foo --home=bar -c server
+    - /SB CLEAR still crashing sometimes?
+    - make sure irssi works with 0x0 sized terminal. 1x1 sized terminal
+      doesn't work if we use recreate_windows()
+    - /UNLOAD dcc, etc. static modules
+
+ - Scripts:
+    - print whois in active window
+    - some script to handle ctcp floods, like doing /IGNORE * CTCPS when it 
+      happens.
+    - move into scripts:
+       - /SET timestamp_timeout
+       - /MSG completion list should be modifyable from scripts
+          - script to remove nick from list after /IGNORE nick
+       - nick completion list should be modifyable afterwards:
+          - /SET completion_nicks_lowercase (remove from irssi)
+          - /SET completion_nicks_capitalize
+          - /SET completion_nicks_strip (keep only alphanumeric chars)
+    - irchat-like JOIN/PART/QUIT combiner (QUIT: nick1, nick2, nick3), would
+      require the line replacing work properly which it doesn't..
+
+ - Irssi proxy:
+    - doesn't propagate your own nickchanges to other clients
+    - better support for CTCP replies / DCC
+
+ - Misc IRC related things:
+    - better support for !channels (don't log the ID, show nicer in whois,
+      layout save doesn't work, /win item move !channel)
+    - support for mode +q in dancer - also same as +b %xxx modes..
+    - properly support RFC-1459 charset (ircnet specific option), eg.
+      /QUERY p[ and msgs from p{ aren't placed there.
+    - /BAN -ip, -time [<time>] (/ALIAS knockout?)
+    - /KICKBAN to support same options than /BAN (would /ALIAS kickban work?)
+    - ban list prints "x seconds ago" .. should be x days, mins, hours, ..
+    - /WALL could maybe check if server supports /WALLCHOPS or @#channel?
+      maybe too much trouble figuring out if it can or not.
+
+ - Windows:
+     - /WINDOW SIZE -sticky, so f.e. /WINDOW BALANCE wouldn't affect it.
+     - /LAYOUT save|reset doesn't affect anything immediately, only after
+       restart
+     - Check that /LAYOUT SAVE works properly with all the different /SETs,
+       like reuse_unsued_windows, windows_auto_renumber and autoclose_windows.
+       What should it do if some channel is /PARTed with autoclose_windows 
+       set?..
+     - /LAYOUT SAVE  should ask if we want to save those window items that
+       are "bound sticky" but of which server is currently not connected.
+     - /WINDOW scrollback_lines /WINDOW scrollback_hours
+     - Optionally always start the lines from bottom of the screen when 
+       screen is empty (how would scrolling work?)
+     - Vertically split windows
+     - /SET use_msgs_window and /SET use_status_window should take effect
+       immediately
+     - /WINDOW notify_level - would specify what window activity will be
+       shown for the window
+     - Some sort of autobalancing for split windows after terminal resize,
+       maybe with window-specific options that "this window is n lines",
+       "this is at least n% of available space", etc.
+
+ - Keyboard handling:
+    - Some kind of state support for it, so it would be possible to make
+      support for vi keys easily.
+    - Editor-like (or bash-like) line editor - it would wrap to next line
+      instead of scrolling.
+    - When pasting text, irssi could notice it and ask "pasting 30 lines
+      of text, ok?" .. Could send some signal that sends the pasted lines
+      in GList which signal handlers could modify. Also the first pasted
+      line could be somehow buffered so that it isn't sent immediately
+      so these paste handlers could modify it too.
+        - Already existing / at start of line handler should use this
+        - Automatically remove empty space at the start/end of lines,
+         from start of line it would work so that if each line begins with
+         4 spaces but some more, it would only remove those 4 spaces from
+         each so pasting code wouldn't mess up indents etc.
+       - Skip all autoreplaces and completions, so that f.e. tabs are
+         printed as-is (a few /BINDs would do this but...)
+       - Should empty lines be pasted too? Maybe optionally
+    - /BIND -askkey command
+    - /BIND -delete doesn't print that it did the deleting
+    - /BIND -deletes should be saved in config
+    - ^W (and some others) don't update cut buffer.
+    - default binds: M-d, M-y
+    - capitalize-word (meta-c), downcase-word (meta-l),
+      transpose-words (meta-t), upcase-word (meta-u)                          
+    - UTF-8 support
+    - /PASSWORD command that asks you to type the password to entry line and
+      would hide it with asterisks, good if people spy on you :)
+    - ^R-like history search
+
+ - Notify list:
+    - showing who's online and who's offline doesn't work properly.
+    - adding/removing people in notify list don't show in /NOTIFY immediately
+    - when someone in notify list joins, should it be placed to start of
+      /MSG completion list?
+    - /NOTIFY -away and -idle: support for wildcards in nicks (requires of
+      course that we're in same channel as nick)
+    - Automatically add queried nicks to notify list temporarily .. display
+      the notifys for the nick in the query window
+    - /NOTIFY -once - notify only once when the user comes to IRC, forget
+      this after it.
+    - /NOTIFY -comment xxx - add a comment to notify. print the comment when
+      user comes to irc.
+    - "Should we check people in notify list when you're away" option
+    - use /WATCH instead of /ISON in servers that support it
+
+ - Ignores:
+    - /IGNORE -ircnet or -tag
+    - /IGNORE <nick> -> use hostmasking (related to channel syncing problem,
+      see "bigger code changes") with support for -type and /SET ignore_type
+    - /IGNORE -strip -pattern away * actions ..
+    - can't have multiple ignore -patterns with same nick
+    - /ignore -activity .. would ignore it just in window activity list,
+      not hide the text.
+    - The nick cache stuff just made it slower. Remove it or figure out how
+      it could be faster.
+
+ - Hilights:
+    - /HILIGHT list doesn't print several options. Maybe some generic
+      function which could be used for printing those options for all these
+      /IRCNET, /SERVER ADD, etc. commands.
+    - /HILIGHT -mask <mask> <word>: not possible use both.
+    - case sensitive hilight checking.
+    - ignore coloring in the words it matches, so eg. /hilight foo would
+      match to f^Bo^Bo
+    - BUG: it STILL sometimes creates hilight activity while there's no
+      hilights, around mode changes (haven't heard for a while though,
+      maybe it is anyway fixed? :)
+    - change the colors of both the nick and the matched word.
+    - /SET hide_text_style still breaks /HILIGHT -words
+    - even if hilight_color is "", %n is printed after hilighted text.
+    - /hilight -actcolor %M -color %w -regexp -level publics
+               -channels #channel1,#channel2 .*
+      removes the bold from /me actions of other users
+    - people want to hilight their own nicks everywhere, eg. /HILIGHT $N
+    - automatic nick hilighting at beginning of line should be optional,
+      like some people would want -word hilighting in it..
+    - exceptions
+
+ - Scrollback:
+    - Optionally show a "bookmark" (line mark actually, a line full of '-'
+      chars) in a window. It would be displayed at the position where you
+      were when the window was active last time. /MARK command to force
+      updating it to bottom of screen in active window.
+    - /SCROLLBACK REDRAW doesn't do anything to non-format lines (should
+      redraw timestamp, etc.)
+    - /LAST -since <timestamp>
+    - /LAST : use /SET timestamp_format
+    - /LAST -allwindows would check the lastlog from all open windows
+    - /SCROLLBACK CLEAR all -public - a bit like /LAST -clear
+      (make /LAST -clear do /SB CLEAR lastlog)
+
+ - Formats / themes:
+    - scripting for formats (see the themes.txt), and make the default.theme
+      so that you REALLY don't need to touch /FORMATs, unless you want to
+      change english texts (eg. joins/parts/quits etc. are fully configurable
+      in theme file)
+    - Possibility to modify abstracts and replaces in themes from irssi.
+      (or maybe not, just makes it more difficult)
+    - Document the different formats briefly :)
+    - /FORMATs don't have styling anymore, so translation to different
+      languages should be possible with still the ability to use different
+      themes easily. /SET formats <filename> could change the file where
+      to read all /FORMATs, but formats in theme file would override them.
+    - terminfo/termcap supports changing palette. add support for themes
+      as well to specify it.
+    - hilight formats. pubaction_hilight would be nice, but so would many
+      others as well. something generic for all these would be nice .. would
+      it be possible to do this in theme side with scripting without a
+      format for each different thing?
+
+ - Server commands:
+    - Optionally wait for a while (0.5-1sec) before sending the message to
+      server, if arrow up key is pressed abort it. Also remove the line from
+      screen and put some notice about it being not sent.
+    - If we receive "cannot send to channel" from server or "you're not 
+      chanop" events, remove the privmsgs/notices or modes/kicks/etc. from
+      send queue automatically. Useful for aborting things when you get
+      kicked after pasting lots of text or deopped after doing /OP * or
+      something ;) .. use /SERVER PURGE <target> for this..
+    - Split PRIVMSGs and NOTICEs automatically to multiple commands if
+      their length exceeds the 512 bytes (or it should be shorter actually
+      so server won't split it when it adds your nick+host mask)
+    - Fix the flood protection to be aware of max. input buffer, which is
+      1024 bytes by default (/STATS d, CF). Now irssi may excess flood when
+      sending lots of lines longer than ~200 chars.
+    - Flood protection doesn't count the extra penalty for MODEs and KICKs
+      in ircnet.
+
+ - Text buffer:
+    - support for printing ALL characters in text buffer, including ^B, ^C,
+      etc. etc. so we could selectively decide what mirc colors to translate
+      and what not. Like, we would want to show (or hide) it in normal
+      messages, but we would want to show it as-is in user's ident and
+      ban lists. This should fix /HILIGHT -word as well.
+    - EPIC-like /SET mangle_inbound, maybe mangle_outbound?
+    - %> should work in normal text lines
+    - support for iso-2022-jp? does anyone even want this? ;) it works with
+      esc$B..encoded text...esc(B - encoded text is in 7bit chars, not sure
+    - fix the textbuffer code so that typofix.pl actually works
+    - if you're in beginning of scrollback when lines are being removed,
+      the screen is messed up (?). Also, after /SB END the --more-- is
+      still there and you can't get rid of it (couldn't reproduce)
+    - does /SB REFRESH work? Make it update the lines lazily, only when
+      needed so it would be fast.
+    - Make /SET HOLD_MODE
+    - /CAT should pause on every screenful of text, this should be some kind
+      of printtext_multiline_paused() function which would use some callback
+      to ask for new text.
+    - when scrolling, using pgup/down. it would be neat if the last/first
+      overlapping line in the newly redrawn buffer would be colorized for a
+      second or two, indicating where to continue reading
+
+ - Statusbar
+    - finish the support for multiple statusbar groups, and add
+      /WINDOW STATUSBAR command.
+    - finish the support for multiple input lines and a way to switch
+      between them, so eg. each split window could have it's own input line.
+    - padding char so instead of just spaces you could have ------
+    - hide the whole statusbar if none of it's items use any space
+      (visible = "auto")
+    - /SBAR # PLACEMENT top|bottom sometimes messes up the screen a bit,
+      ^L helps though
+    - /STATUSBAR prompt DISABLE hangs irssi because there's no input line.
+      Add some check to not allow this.
+    - /STATUSBAR could list also disabled bars
+
+ - Server connecting:
+    - More verbose connecting
+        - show if we're using IPv4 or IPv6
+       - show hostname we're using
+       - show the proxy settings we're using
+    - Reconnecting shouldn't try to remember all those settings, especially
+      /SET real_name xx + /RECONNECT should work.
+    - DNS problems may cause removal of i-line, irssi shouldn't stop
+      trying to reconnect the server if it happens.. Maybe it never should
+      stop reconnecting to servers that are in config.
+    - Remember the previous IP while reconnecting, if DNS lookup fails use
+      it. Some DNS servers return "host not found" when their internet
+      connection is broken and irssi stops reconnecting..
+    - /RECONNECT <servertag> - If <servertag> belongs to some IRC network,
+      reconnect to next server in that ircnet, otherwise just reconnect
+      to the server.
+    - /SERVER <number> would connect to n'th server in list. Show the
+      numbers with /SERVER LIST
+    - /CONNECT <ircnet> could remove existing ircnet connection from
+      reconnect queue if it exists (only if there's only one?). Also if
+      we're already connected to the ircnet it could complain about it
+      and -yes would force it.
+    - connect() may be stuck forever, timeout it after a few minutes.
+    - Raise the reconnect time every time you get disconnected, so if your
+      network goes up/down all the time, we'd see you join/part channels
+      more and more often instead of flooding all the time.
+    - Better support for round robin addresses (eg. irc.openprojects.org)
+    - /CONNECT -raw? A bit like telnet/nc host.
+
+ - Tab completion:
+    - Command parameter completion doesn't work properly when -options 
+      are used.
+    - Possibility to complete -option parameters? Like -ircnet <tab>, also
+      /MSG -servertag<tab> and /LAST -level<tab> should work. All of these
+      require some command definition changes..
+    - bash-style (or whatever it should be called) tab-completion
+    - key for reverse completion
+    - /MSG <tab> completion shouldn't include queried nick there (optional)
+    - nick completion shouldn't try completing nicks everywhere,
+      like /SET <tab>
+    - File completion could guess when it's wanted, word beginning with /
+      (not at start of line of course, unless / isn't in cmdchars)
+      or ~/ or ./
+    - filename completion doesn't work properly if path has spaces
+
+ - Modules:
+    - Figure out module vs. plugin wording, what is what ;)
+    - API for plugins which would be guaranteed not to change
+      (at least too much/too often :)
+    - "chat protocol modules" - they could be loaded at startup so they'd be
+      equal to IRC protocol (autoconnecting servers would work etc.)
+    - on-demand autoload modules (f.e. by /command or maybe some signal)
+    - Try to make them create only .so files instead of .a and all..
+    - dependencies for modules? double /[un]load prints a bit stupid text
+
+ - perl scripting:
+    - /LOAD [-script | -module], /UNLOAD script
+    - Possibility to modify entry line somehow
+    - Add structures: MODULE_REC, THEME_REC, KEYINFO_REC, 
+      CHAT_PROTOCOL_REC, etc.
+    - signal_emit() - if emitting unknown signal, it could automatically
+      save the types of sent parameters so another perl script could
+      signal_add() it
+    - Irssi::keyboard_entry_redirect()
+    - Irssi::format_get_text()
+    - "use Symbol(delete_package)" doesn't work with perl 5.004 and crashes
+      irssi .. at least remove the crashing!
+    - Irssi::signal_remove() could accept hashes
+    - /command parameter parser so it'd be easier to handle -options etc.
+    - when reloading scripts, Irssi::settings_add_int() prints glib errors,
+      while settings_add_str() doesn't
+    - Try to get the Makefiles generated so that compiling with GCC would
+      always work even if the perl wasn't compiled with GCC..
+
+ - Bigger code changes:
+    - Restructure code tree so that non-IRC chat protocols would be in
+      same places than IRC protocol. Something like:
+        - src/irc (like now)
+       - src/irc/fe-common, src/irc/fe-text
+      SILC could then make symlinks to src/silc to whereever the SILC
+      module was unpacked. Make it possible to build SILC support built-in.
+    - /SETs have now boolean/number/string types. Add more:
+        - Time: Allow to use s|m|h|d to specify the time, default to
+          seconds. When sending reply to user, use the time formatting too,
+          not just x seconds or minutes. "10d 5s" should also work.
+       - Level: Like "all -msgs -public". Complain about unknown strings.
+       - size: 5M, 5k, ..
+    - Reading configuration file should be changed somehow .. at least add
+      some helper functions for reading lists since comments inside them
+      now crash irssi. Also if setting wasn't expected type can cause
+      crashes so add proper error checkings everywhere. And is_node_list()
+      etc. should be in uppercase..
+    - Would this work..? : command_bind() could specify the parameters
+      it uses, then some generic command parser could parse the commands
+      and options and if all is ok, send the parsed parameters directly with
+      signal_emit() .. I'm just thinking some type checking problems but
+      if all commands would be in format SERVER_REC, WI_ITEM_REC,
+      GHashTable *options, char ** (NULL terminated parameters list) .. ?
+    - support for multiple subcommands in the command parser, like
+      /window name foo level msgs.
+    - Channel syncing is evil. Make it optional, and use /USERHOST when
+      needed if host isn't known. /BAN at least should do this, and while
+      at it, we could make /IGNORE as well to ignore based on mask.
+    - Irssi saves some setting strings to static const char * variables in
+      several places.. this works pretty well usually, except when /RELOADing
+      config and some "setup changed" signal handler goes and calls some
+      function that still uses the old saved string which points to free'd
+      memory.. this should somehow be fixed failsafe. maybe just g_strdup()
+      them everywhere or figure out something better..
+    - Better priority specifying for signals, probably should add
+      int priority without limited range.
+
+ - extra spaces after commands don't always work, eg /wii  nick, /help  xx
+ - hide channel key in statusbar. This would require a $cmode_nokey or
+   something..
+ - fe-none doesn't compile with --with-perl-staticlib because it doesn't find
+   the ui/textui stuff..
+ - we should probably print timestamp even if level contains MSGLEVEL_NEVER,
+   as long as it's not the only level..
+ - If /SET print_active_channel is ON, actions still don't show the channel
+ - nick's user/host can't be printed for public messages
+ - /HELP <alias> should work
+ - /CLEAR -all should clear the window activities as well, leaving hilights
+ - support :: properly in IPv6 masks
+ - /SET activity_hide_targets ircnet/#irssi
+ - when you get disconnected, print your quit message to all channel windows
+ - possibility to print rawlog in window
+ - should $10 work (in special vars)?
+ - /VER should be alias
+ - /MODE #channel b should resync the banlist, and /QUOTE NAMES #channel
+   should resync the nicklist (irssi/ircd bugs).
+ - #include support to config file
+ - make detaching work
+ - with solaris, /EXECs don't die when irssi does (tail -f ...)
+ - /EXEC -interactive: print the commands you send
+ - handle /JOINs with server redirections so they get aborted if we're not
+   seing a JOIN for a while.
+ - make sure the config file is never lost, write it to some temp file first
+   and after then move it over real config file.
+ - you could configure which events (whois, notify, etc.) to show in what
+   windows (all, current, status, msgs)
+ - /SET -reset?
+ - printnickmsg() which would print nick changes and quit messages. And
+   export that function to perl so kills.pl could print kills with it too.
+ - regexp host masks
+ - automatically switch to status window when using commands that always
+   print their output to status window, like /whois.
+ - automatic whowas if whois wasn't found should be moved to fe-common.
+   it could also print something like "nick $0 not in IRC, but this user
+   WAS in IRC:"
+ - Add command for changing automatic replaces and completions
+   (/autoreplace, /complete ?) .. could these be scripts? ..
+ - commands to move channels and servers in the config list, to set the
+   join/connect order of them.
+ - All those options to /WHO and /LIST commands that EPIC has
+ - Use different formats for /WHO #channel? There's no need to show the
+   channel in every line then (NOTE: /WHO #chan1,#chan2 should have two
+   headers)
+ - nick/channel lists at right side of the text version of irssi. Ctrl-N
+   for example could hide/show them. add mouse support for it.
+
+ - try profiling the code with /cat filewith10000lines
+ - /JOIN #foo could *optionally* move the channel to active window
+   (default off, it confuses people)
+ - /SERVER ADD -ircnet foonet bar 6000 pass1,
+   /SERVER ADD -ircnet barnet bar 6000 pass2
+   dircproxy identifies ircnets based on password
+ - $@0 always returns 4 (?)
+
+ - HÄMÄRÄT BUGIT:
+   ( - /win new hide, /win new, /win down, /win close -> crash ?)
+     - active_mainwin oli jotenkin NULL ja kaatoi.. /window killi teki sen,
+       liittyy varmaan jotenkin siihen että window_close() vaihtoi samaan
+       hiddenikkunaan splitti-ikkunan sisällä jota oltiin kuitenkin tappamassa
+       kun se ei ollut sticky..
+
+
+*** GTK UI
+
+ - %| doesn't work with irssi text widget
+ - some problems when using multiple windows with focus being all the time in
+   one of the windows and it can't be changed to different window?! Probably
+   has something to do with click to focus.
+ - split windows are buggy, destroying them doesn't really work well..
+ - mirc ctcp togglemenuitem isn't updated right
+
+*** Big things
+
+ - some sort of address book? our own irssi ctcp to ask for other irssi users
+   for their information (of course not without asking (except optionally))..
+   could be nice also to automatically update it, keep track of all seen
+   users gathered when joining channels, whois, who, etc. commands.
+   automatically updating information could be host masks, nicks, ips, seen in
+   channels, operator in channels, .. user specified checks like last topic or
+   mode changes or even msgs to you/some channel/with some keyword. great for
+   spying people ;) maybe even useful sometimes..
+
+   .. but what database would be best for this?
+
+ - GTK (non-GNOME) version: icons to toolbars, accelerators to menus
+ - Windows style MDI windows are possible with GtkFixed .. Some people would
+   like this.. too much job for me, it would need building the MDI windows
+   ourself (title bar, borders, resizing, etc.)
+
+ - online help, documentation, ...
+ - plugins:
+     - scheme, tcl, python scripting? eggdrop/epic compatible scripting?
+     - IRC bot, eggdrop is too old, needs a replacement ;) (started, aborted)
+     - Multiplayer games! :) Chess, tic-tac-toe, othello, battleship, tetris,
+       etc. Existing games should probably be used .. though there doesn't
+       seem to be any of these (except tetris) for gnome right now..
+     - audio / video chat :)
+
+*** Needs rethinking ..
+
+ * Notify list GUI
+ - _one_ popup dialog could open which lists all nicks in notifylist, maybe
+   sorted by arrival time, display the dates, latest joined could be with
+   different color? etc.
+ - nick-specific options:
+    - pop up the dialog
+    - run some command (like /exec as soon as I get that done :)
+
+ * common api for statusbar handling
+ - it should work just as well in text mode and gui, colors could be done
+   with the normal % formats. GUI just ignores the colors..
+ - display number of ops, voices, normals and ircops in statusbar
+
+ * API for creating/modifying menus and toolbar, especially from plugins
+ - at least one configurable menu ("usermenu"), or maybe make the whole
+   menubar user configurable
+
+
+*** ..in GTK UI .. just some things to remember if i'll rewrite it again.
+
+ - itext:
+     - save/find text
+     - text selection draws the entire selection every time you move the
+       mouse...
+     - if some other window has got much text, switching to it first time
+       takes some time..?
+ - editor in setup for ~/.irssi/startup
+ - dcc floods could pop up lots of dialogs..
+ - gui help
+ - change signal handling in gui-gnome so that the actual drawing and
+   functionality are in different signals, so that plugin could change the
+   whole look and feel of irssi.
+ - currently irssi sends USERHOST commands every now and then to find out
+   who are away and who are not.. optionally it could instead just watch if
+   someone hasn't written anything to channel in n minutes and mark it "away"
+   to nicklist.
+ - check new irssi versions with http rather than with irssibot..
+ - gnome statubar:
+    - clock?
+    - dcc transfer meter (gtk progressbar)
+ - dcc send: allow selection of multiple files to send (also for dnd from
+   gmc!) Allow dropping files to anywhere in irssi.
index e78d297c34a33dffab2d5c83473ee9b953eac9f9..f3d02a5ae17e66c871a96321331da061166535a6 100644 (file)
@@ -1,13 +1,9 @@
 include $(top_srcdir)/Makefile.defines.in
 
-#docdir = $(prefix)/doc/irssi
 docdir = $(silc_docdir)
 
-doc_DATA =
-#      formats.txt \
-#      manual.txt \
-#      faq.txt \
-#      startup-HOWTO.html \
+doc_DATA = signals.txt formats.txt manual.txt startup-HOWTO.html
+#      faq.txt
 #      startup-HOWTO.txt
 
 EXTRA_DIST = $(doc_DATA)
index 7a5a7ab492a808e8a0108fab983eae22261fc1a9..8674354805fcbf800dab3aaa0a2c49ba18432282 100644 (file)
@@ -1,4 +1,4 @@
-scriptdir = $(datadir)/irssi/scripts
+scriptdir = $(datadir)/silc/scripts
 
 script_DATA = \
        autoop.pl \
index 81be9c67042274a08ebbb60b84a6d1ac8fe20975..7e0be0231a7f06c4a77285d2e1d5a6d33034d22e 100644 (file)
@@ -23,7 +23,7 @@ INCLUDES = \
        -I$(top_srcdir)/src/fe-common/core \
        -I$(top_srcdir)/src/fe-common/silc \
        $(GLIB_CFLAGS) \
-       -DSCRIPTDIR=\""$(libdir)/irssi/scripts"\" \
+       -DSCRIPTDIR=\""$(libdir)/silc/scripts"\" \
        -DPERL_USE_LIB=\""$(PERL_USE_LIB)"\" \
        -DPERL_STATIC_LIBS=$(PERL_STATIC_LIBS) \
        $(PERL_CFLAGS)
index 29eb07a707d6f8cc7f3cea6728a1a2e08115d745..d3c0fce5f066598f41e294456daedb7f722d092e 100644 (file)
@@ -373,10 +373,6 @@ SilcSKEStatus silc_ske_check_version(SilcSKE ske, unsigned char *version,
   if (maj == 0 && min < 5)
     status = SILC_SKE_STATUS_BAD_VERSION;
 
-  /* XXX backward support for 0.6.1 */
-  if (maj == 0 && min == 6 && build < 2)
-    ske->backward_version = 1;
-
   return status;
 }
 
index 795dfdedae07a0ae3142a6d470d72451af6703dd..fa3957bc28b10558eb629bf31434a91d6ee245e0 100644 (file)
@@ -770,7 +770,8 @@ fi
 #
 # Other configure scripts
 #
-if test "x$silc_dist" = "xsilc-client"; then
+if test "x$silc_dist" = "xsilc-client" || 
+   test "x$silc_dist" = "xsilc-toolkit"; then
 AC_CONFIG_SUBDIRS(irssi)
 fi
 AC_CONFIG_SUBDIRS(lib/silcmath/mpi)
index 9f210b676966b9018004b0e81508ace8eda873ab..778714a448e31af8a5bdaa55b2e2c153ce76529c 100644 (file)
@@ -78,7 +78,7 @@ endif
 endif
 
 if SILC_DIST_TOOLKIT
-SILC_EXTRA_DIST = toolkit examples *.gif
+SILC_EXTRA_DIST = toolkit examples
 else
 if SILC_DIST_SERVER
 SILC_EXTRA_DIST = examples
index 4bf277c8a2e5759eb330a1b1e343fc487a097cf9..4044fbbdaa78a9c34a7ce1ab460adfff38032b69 100644 (file)
@@ -212,10 +212,6 @@ SilcSKEStatus silc_ske_check_version(SilcSKE ske, unsigned char *version,
   if (maj != maj2)
     status = SILC_SKE_STATUS_BAD_VERSION;
 
-  /* XXX backward support for 0.6.1 */
-  if (maj == 0 && min == 6 && build < 2)
-    ske->backward_version = 1;
-
   if (status != SILC_SKE_STATUS_OK)
     client->internal->ops->say(client, conn, SILC_CLIENT_MESSAGE_AUDIT,
                               "We don't support server version `%s'", 
index 1eb290032f5114e789a97cc47d85dfc98f63949f..836a4fb8a27032df82fab62ef574a2a9433ac720 100644 (file)
@@ -1607,18 +1607,20 @@ static SilcSKEStatus silc_ske_make_hash(SilcSKE ske,
     KEY = silc_mp_mp2bin(ske->KEY, 0, &KEY_len);
     
     /* Format the buffer used to compute the hash value */
-    /* XXX Backward support for 0.6.1 */
-    if (ske->backward_version == 1) {
-      SILC_LOG_DEBUG(("*********** Using old KE payload"));
-      buf = silc_buffer_alloc(ske->start_payload_copy->len + 
-                             ske->ke2_payload->pk_len + e_len + 
-                             f_len + KEY_len);
-      silc_buffer_pull_tail(buf, SILC_BUFFER_END(buf));
+    buf = silc_buffer_alloc(ske->start_payload_copy->len + 
+                           ske->ke2_payload->pk_len + 
+                           ske->ke1_payload->pk_len + 
+                           e_len + f_len + KEY_len);
+    silc_buffer_pull_tail(buf, SILC_BUFFER_END(buf));
 
+    /* Initiator is not required to send its public key */
+    if (!ske->ke1_payload->pk_data) {
       ret = 
        silc_buffer_format(buf,
-                          SILC_STR_UI_XNSTRING(ske->start_payload_copy->data,
-                                               ske->start_payload_copy->len),
+                          SILC_STR_UI_XNSTRING(ske->start_payload_copy->
+                                               data,
+                                               ske->start_payload_copy->
+                                               len),
                           SILC_STR_UI_XNSTRING(ske->ke2_payload->pk_data, 
                                                ske->ke2_payload->pk_len),
                           SILC_STR_UI_XNSTRING(e, e_len),
@@ -1626,43 +1628,20 @@ static SilcSKEStatus silc_ske_make_hash(SilcSKE ske,
                           SILC_STR_UI_XNSTRING(KEY, KEY_len),
                           SILC_STR_END);
     } else {
-      /* Initiator is not required to send its public key */
-      SILC_LOG_DEBUG(("*********** Using new KE payload"));
-      buf = silc_buffer_alloc(ske->start_payload_copy->len + 
-                             ske->ke2_payload->pk_len + 
-                             ske->ke1_payload->pk_len + 
-                             e_len + f_len + KEY_len);
-      silc_buffer_pull_tail(buf, SILC_BUFFER_END(buf));
-
-      if (!ske->ke1_payload->pk_data) {
-       ret = 
-         silc_buffer_format(buf,
-                            SILC_STR_UI_XNSTRING(ske->start_payload_copy->
-                                                 data,
-                                                 ske->start_payload_copy->
-                                                 len),
-                            SILC_STR_UI_XNSTRING(ske->ke2_payload->pk_data, 
-                                                 ske->ke2_payload->pk_len),
-                            SILC_STR_UI_XNSTRING(e, e_len),
-                            SILC_STR_UI_XNSTRING(f, f_len),
-                            SILC_STR_UI_XNSTRING(KEY, KEY_len),
-                            SILC_STR_END);
-      } else {
-       ret = 
-         silc_buffer_format(buf,
-                            SILC_STR_UI_XNSTRING(ske->start_payload_copy->
-                                                 data,
-                                                 ske->start_payload_copy->
-                                                 len),
-                            SILC_STR_UI_XNSTRING(ske->ke2_payload->pk_data, 
-                                                 ske->ke2_payload->pk_len),
-                            SILC_STR_UI_XNSTRING(ske->ke1_payload->pk_data, 
-                                                 ske->ke1_payload->pk_len),
-                            SILC_STR_UI_XNSTRING(e, e_len),
-                            SILC_STR_UI_XNSTRING(f, f_len),
-                            SILC_STR_UI_XNSTRING(KEY, KEY_len),
-                            SILC_STR_END);
-      }
+      ret = 
+       silc_buffer_format(buf,
+                          SILC_STR_UI_XNSTRING(ske->start_payload_copy->
+                                               data,
+                                               ske->start_payload_copy->
+                                               len),
+                          SILC_STR_UI_XNSTRING(ske->ke2_payload->pk_data, 
+                                               ske->ke2_payload->pk_len),
+                          SILC_STR_UI_XNSTRING(ske->ke1_payload->pk_data, 
+                                               ske->ke1_payload->pk_len),
+                          SILC_STR_UI_XNSTRING(e, e_len),
+                          SILC_STR_UI_XNSTRING(f, f_len),
+                          SILC_STR_UI_XNSTRING(KEY, KEY_len),
+                          SILC_STR_END);
     }
     if (ret == -1) {
       silc_buffer_free(buf);