Skip to content


Subversion checkout URL

You can clone with
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

2677 lines (2434 sloc) 134.485 kB
v0.8.15 2010-04-03 The Irssi team <>
+ Add active_window_ignore_refnum option
With active_window_ignore_refnum ON, the current behavior for the
active_window key (meta-a by default) is preserved: it switches to the
window with the highest activity level that was last activated.
With active_window_ignore_refnum OFF, the old behavior is used:
it switches to the window with the highest activity level with the
lowest refnum. (by Matt Sparks, bug #667)
+ Show new Charybdis +q list in channel windows (numerics 728 and 729).
+ Allow servers to belong to multiple networks.
+ Improve paste detection. Irssi now detects a paste if it reads at
least three bytes in a single read; subsequent reads are associated to
the same paste if they happen before 'paste_detect_time' time since
the last read. If no read occurs after 'paste_detect_time' time the
paste buffer is flushed; if there is at least one complete line its
content is sent as a paste, otherwise it is processed normally.
+ Show "target changing too fast" messages in the channel/query window.
+ Use default trusted CAs if nothing is specified. This allows useful
use of -ssl_verify without -ssl_cafile/-ssl_capath, using OpenSSL's
default trusted CAs.
+ Show why an SSL certificate failed validation.
+ Make own nick and actions use default colour instead of white
(by Tim Retout).
- Change some characters illegal in Windows filenames to underscores in
- Fix disconnects when sending large amounts of data over SSL
- Show all nicks instead of just the first in an /accept * listing
(Bug #704)
- Make several signals without parameters available to perl again.
In particular, this includes the "beep" signal
(by Matt Sparks, bug #674)
- Close the config file fd after saving (by Sven Wegener)
- Check if an SSL certificate matches the hostname of the server we are
connecting to.
- Fix bash'isms, use command -v instead of which and use bc -l in /CALC.
- Fix a crash with handling the DCC queue.
- Fix crash when checking for fuzzy nick match when not on the channel.
Reported by Aurelien Delaitre (SATE 2009).
v0.8.14 2009-07-28 The Irssi team <>
+ Make /reset an alias for /set -default.
+ Make /unset an alias for /set -clear.
+ Allow ctrl+home / ctrl+end to go to the beginning / end of scrollback.
+ Accept WHOX reply (354 numeric) as a /who reply.
+ Show numerics directed at channels in the channel window.
+ The time duration parser is more strict now.
- Fix out of bounds access in event_wallops().
- Build fix for OS X.
- Fix the autolog_ignore_targets logic to work correctly with manually
opened log files (see bug #673).
v0.8.13 2009-04-01 The Irssi team <>
+ Reject some obviously invalid values in /set.
+ Add perl bindings for Window::get_history_lines
+ Use an io channel to write the config file.
+ Use memory slices instead of memory chunks for text buffer.
+ Remove methods to create/destroy TextBuffer and TextBufferView and low level
api to add/remove lines, scripts should be fine using Window::print_after and
+ Add print_after method to Window perl object analogous to
gui_printtext_after but which also expands formats and forces a full line.
+ Better mapping of signal parameters to Perl. All signals used in scripts
now need to be registered with Irssi::signal_register.
+ Add public header with interfaces to manage statusbar items (bug #535)
+ Recode: assume utf-8 encoding for an ascii string in which no escape
character occurs (bug #392).
+ Allow /BAN, /UNBAN, /KICKBAN, /KNOCKOUT if channel is not synced.
Requesting ban lists from an unsynced channel will ask
them from the server, banning a user whose u@h irssi
does not know will ban nick!*@* and only bans irssi
knows about can be removed.
+ Allow storing multiple "other" prefixes such as +q and +a (original patch
by JasonX)
+ Add /set autolog_ignore_targets for cherry-picking targets that shouldn't
get logged.
+ Add support for 16 colors. Formats KBGCRMYW and mirc colors are now
mapped to colors 8-15. fe-text translates colors 8-15 to bold/blink+0-7
if the terminal supports only 8 colors. If your theme uses one of
the high color formats and you really want bold you can change
%FMT<string> to %fmt%_<string>%_, it will work fine in all irssi versions.
+ Better 005 PREFIX support (bug #580).
+ Display 407 numerics other than "duplicate channel".
+ Fix display of ratbox-style operspy whois.
+ Recode outgoing irc away messages (bug #412).
+ Recode outgoing irc quit messages.
+ Remove scrollback_levelclear_levels setting and add a 'level' option
to 'sb levelclear' to specify a comma separated list of levels.
+ Add perl __WARN__ handler for scripts (bug #427).
+ Add Irssi::command_parse_options function to parse options for a command.
+ Revert recode changes introduced in 0.8.12.
+ Add completion for /WINDOW SERVER.
+ Support for reading kicks/msgs from TARGMAX/MAXTARGETS 005 tokens.
+ Enhancements to the redirections code.
+ Support for RPL_WHOISACTUALLY (338 numeric) for both ratbox and ircu
(bug #428).
+ -idle option of /notify is gone.
+ /layout save now makes window-channel bindings instantly effective
(bug #35).
+ /ping without arguments does not send anymore a ctcp ping to a channel
(bug #542).
+ Track IRC operator status of nicks a bit better.
+ new 'actlist_names' option to add active items names in 'act'
statusbar item.
+ new 'word_completion_backward' command to scroll backwards in the
completion list.
+ add 'list' option to /bind to print all the available commands.
+ show setter/time in +I lists
+ apply -usermode before -autosendcmd (bug #548).
+ reduce memory usage of the scrollback buffer and make the display
in /sb status more accurate (higher).
+ fix data getting dropped when a lot is sent at a time (e.g. when
attaching to irssi-proxy, bug #528).
+ introduce the type Irssi::Irc::Client and signals to communicate with
proxy clients to allow for scripting parts of the irssi-proxy.
+ Add, a script for /SCROLLBACK SEARCH
- Fix /NOTIFY list when nick is seen joining (bug #642).
- Include hostmask in 001 event sent by proxy (bug #650).
- Be more power-friendly: don't run any always-on <1s timers (bug #641).
- Don't get confused by a failed /JOIN -window (bug #644).
- Properly initialize embedded Perl (PERL_SYS_INIT3).
- Replace invalid utf-8 bytes with U+FFFD when drawing a line.
- Properly unload the original script when using /script load to reload it.
(bug #525, patch by Lukas Mai)
- Clean up script loading in general:
* Don't leak local variables to eval'd code.
* Set filename/line number to get better error messages from perl.
* Use three-arg open and lexical filehandles to avoid surprises.
* Include error reason in message for unopenable scripts.
* Don't wrap script code in sub handler { } - this avoids spurious warnings and
should at least allow __END__ to work properly.
(Patch by Lukas Mai)
- Fix NETSPLIT_SERVER_REC in signals for Perl.
- Remove buggy /SCROLLBACK redraw and /SET scrollback_save_formats.
- Always preserve the active mainwindow when resizing.
- Ignore DNS not found errors when considering reconnect.
- Do not strip the comma in a mirc color if it is not followed by a digit (bug #250).
- Fix building perl module with perl-5.10 (bug #630).
- fix leak with $L expando.
- fix possible crash with /script reset.
- ignore exceptions take precedence over ignores in all cases.
- honour -channels preference for ignore -replies (bug #227).
- Fix mode display in whois with unreal (379 numeric) (bug #479).
- Fix regressions that prevented external modules from building/working
(bugs #537 #539).
- Fix /set hilight_level not taking effect immediately (bug #598).
- Fix bold, blinking and indentation in /LASTLOG and
v0.8.12 2007-10-06 The Irssi team <>
+ Some changes to character set recoding.
+ Rewrite SSL connection/handshake code.
+ Remove support for glib 1.x.
+ Do not send our hostname to the server (bug #488).
+ Add $tag to 'window' item in default configuration.
+ Pick up host changes on charybdis and ircu servers (396 numeric).
+ Show various errors such as "cannot send to channel" and "cannot
/msg, user is +g" in the channel or query window, if possible,
and always include the user or channel name.
+ Channel forwarding in hyperion and charybdis is now recognized
(470 numeric) and the target channel is joined in the window where
the original channel would have been joined.
+ Add support for the ACCEPT command, which is part of the CALLERID
server side ignore system in hybrid7 and derived ircds.
+ Make /WINDOW GOTO start searching at the window after the active
one and stop at the one before (bug #332).
+ Improve completion for /SET.
+ Use CASEMAPPING dependent comparison to match channel names.
Patch by Jon Mayo (bug #436).
+ Various improvements to the help files.
+ Add Perl bindings for some gui_entry methods
+ Make alt/meta+arrow keys work in recent versions of xterm (bug #496)
- Fix DCC get when file size is 0 (bug #494).
- Ignore empty lines when pasting.
- Fix large file support on AIX (bug #404).
- Remove broken code that prevents unloading of a script in some cases.
- Fix logging lines with no target to all logs, broken in 0.8.11.
- Fix casemapping dependent nick and channel matching (bug #436).
- Update chanop flag before emitting nick mode changed signal (patch
by Johan Kiviniemi)
- Fix recognition of realnames starting with spaces in /WHO.
- Show "Target left IRC" error messages fully (instead of reporting
no such nick "*")
- Repair channels_rejoin_unavailable. Enabled by default, this retries
joins that failed because of netsplits (channel temporarily
unavailable (437), duplicate channel). A few servers abuse 437 for
juped channels which should not be retried, you should disable
channels_rejoin_unavailable if this is a problem.
- Display 437 and 407 numerics if channels_rejoin_unavailable
is not enabled (bug #495).
- Don't add the same mask to the /KNOCKOUT list multiple times
(bug #510).
- Use MSGLEVEL_NICKS again for printing a nick change in queries,
broken in r2389.
- Fix some /LASTLOG -before/-after issues.
- Some fixes to the build system.
- Fix paste sending the first line twice (bug #405)
- When parsing a numeric option verify that the whole argument, rather
than only the first character, is numeric.
- Some fixes for notices, actions and ctcps to @#channel and +#channel
(bug #46)
v0.8.11 2007-04-25 The Irssi team <>
+ Add completion for /WINDOW GOTO
+ New crapbuster-like "scrollback levelclear" command
+ irssi now aborts a connection when, on an attempt to connect, the server
returns code 432 (Erroneous Nickname), bug #425
+ Allow identifiers in config file to start with a digit, bug #177.
+ Modify Irssi::UI::Window::command to restore the original active window
only if the command executed has not made another one active, bug #403.
+ Make awaylog_file respect --home, bug #304
+ Send /QUOTE immediately if server didn't send the 001 event yet
+ If dcc_own_ip contains IPv4 address, listen only in IPv4
+ Negative scroll_page_count scrolls screensize-n lines
(Patch by Chris Moore)
+ Sort nicks with custom prefix by the order defined in isupport in /NAMES
+ New perl command send_raw_first, patch by ComradeP (Bug 413)
+ Let the module loader also check for fe_common_$protocol files
+ Don't wait for all /NAMES replies before syncing if we can't combine
queries anyways (Patch by jilles)
+ Renamed to
+ /SCROLLBACK CLEAR accepts the same arguments as /CLEAR
+ Check if binary exists and can be executed before /UPGRADE
+ Change default value of override_coredump_limit to OFF
+ UPTIME command by Lauri Nurmi with some modifications (Bug 458)
+ Remove CR and LF from Perl commands, to make it harder to introduce a
security bug
+ Remove bookmark on a line when line is removed (instead of moving it)
+ Don't fallback to generic word completer if the command specific
completion list is not empty.
+ Recognize cursor left and cursor right sequences sent by recent xterm
- Fix some UTF-8 issues, bugs #452 (Patch by Yi-Hsuan Hsin), #459, #460
- Fixed segfault on quit introduced in 0.8.10
- Fixed a bug where tab-completion didn't work with utf8/big5 properly
- Ignore joins without a nick from broken servers
- Fix whois_hide_safe_channel_id: only look at the beginning of a channel
name, not in the middle
- Don't assume that 7bit ascii strings are encoded in UTF-8, only
validate the strings when they contain octest with highest bit set
(patch by Mikko Rauhala)
- Make random really random when resolving
- Don't get confused by a join command with too many arguments, keys
can't have spaces in them (Bug 437)
- Don't crash on /QUIT with scripts causing and catching signals on UNLOAD
- Fix %k and %K mappings in curses frontend
- Fix bold on monochrome terminals in terminfo frontend
- Fixed colors with TERM=xterm-{88,256}color in terminfo frontend
- Fix crash with one line high terminal in terminfo frontend
- Fix building with srcdir != builddir
- Don't get confused and keep saying "Netsplit over" on every join for
user that only rejoined some channels
- Fix crash in /EXEC (Bug 439)
- Fix format string in printtext_dest call from Perl, patch by loafier
- Fix memory leaks in expandos_deinit by Nicolas Collignon (Bug 419)
- Detect off_t size using AC_CHECK_SIZEOF because it works also when
cross-compiling in autoconf-2.50 and higher
- Fix failed assertion when the config file is unreadable, patch by
Daniel Koning (Bug 164)
- Removed automatic glib downloading and compiling.
- Fix /FORMAT -delete daychange so it doesn't print an empty line
- Forbid /WINDOW SHOW when the target window is sticky rather than when
there is a window bound to the container of the target window.
- Improve interaction between autolog and non autolog logs
- Recognize local oper mode on ircnet (mode +O)
- Properly initialize reference count for a new setting (Bug #235)
v0.8.10 2005-12-11 The Irssi team <>
* Long delayed release, with lots of changes. Most important ones:
+ Recode support, by decadix and senneth
+ isupport (005 numeric), by David Leadbeater
+ Passive DCC support, by Francesco Fracassi
- Many memleak fixes, by Toby Peterson
+ Moved to subversion
+ /SET paste_join_multiline ON - When paste detection is enabled and
you paste lines which look like they're being copy&pasted from irssi
itself, it attempts to merge lines said originally in a single line.
How this really works is that all indented lines must have the same
amount of indentation. Indented lines are merged to last
unindented line. If line gets longer than 400 characters, it's split.
+ /SET whois_hide_safe_channel_id ON - Hides the channel ID prefix
of !channels in WHOIS replies
+ When reconnecting to server, say that it can be aborted with
+ /WHOIS -<server tag> is supported now
+ /SET whois_hide_safe_channel_id - removes the ugly IDs for !channels
in /WHOIS (default)
+ If we can't connect to server using given own IP, show the IP to
user in the error message. Should help figuring out wrong
/SET hostname or /SERVER -host settings.
+ If channel has more nicks than /SET channel_max_who_sync, don't ask
/WHO list to avoid getting kicked out of server (Max SendQ exceeded).
+ /LOAD loads the perl script
+ /IGNORE -network ignores only on specified network
+ /SET use_status_window and /SET use_msgs_window make the effects
+ Changed the confusing "ircnet" to "network" everywhere
+ Don't autoget files sent to channels, unless dcc_autoget_masks is set
+ Added a default "*" target which matches everything on the server,
including NULL items associated with it, by jimmy
+ /UPGRADE now saves server->version
+ If available, send who set topic and when to irssi-proxy clients
+ Cleaned up network list: removed smaller networks, added QuakeNet
+ New default aliases: MANUAL-WINDOWS, EXEMPTLIST and ATAG
+ Recode support: /RECODE for manipulation of the conversion database.
Setting "term_type" has been renamed to "term_charset".
/SET recode OFF to disable recode completely.
/SET recode_out_default_charset <charset> to specify the default
outgoing charset.
/SET recode_fallback <charset> to specify a charset that will be
used when the normal conversion is failing.
/SET recode_transliterate ON to enable character transliteration,
so unavailable characters will be transliterated into something
<charset> can be almost everything listed by 'iconv -l'
+ Added transpose_words, capitalize_word, downcase_word, upcase_word
key bindings
+ Avoid accidentaly /VER in a channel, by requiring parameter
- Pasted lines weren't added to command history. Some other paste
detection fixes
- Fixed /BIND escape_char
- Fixes for Chinese multibyte characters handling and cursor movement
by Wang WenRui
- Pasting multibyte chars was buggy, patch by Kuang-che Wu
- Fixed handling WHOIS printing once and for all. Everything unknown
between "beginning of whois" and "end of whois" events is now printed
as whois_special. Removed whois_registered and whois_help, they're
printed with whois_special as well.
- Don't replace channel key when receiving channel mode numeric. It
could be a fake key there.
- Don't crash if dcc chated user changes nick
- Help files are always lowercased. Make sure /HELP COMMAND works too.
- /EXEC crashed with 64bit systems. Patch by Soren Jacobsen
- Handle 432 numeric (errorneus nickname) as "nick in use". Fixes
problems with ircnet 2.11 ircd when irssi tries to reconnect using
UID as nick. Patch by Petr Baudis
- /SET -default fixes
- /DCC SEND didn't actually use /SET dcc_upload_path
- Fixed /WHOIS -yes (Bug 67)
- Make /JOIN -tag #channel and /JOIN #channel<space> switch to that
channel (Bugs 13 and 93)
- Fixed readded (changed) hilights being in config twice, resulted in
duplicate hilights or removed hilights coming back (Bug 39)
- Fixed messages to @#channel showed *your* nickmode, not the one of
the sender (part of Bug 80)
- Fixed /KNOCK support
- Fixed own nick changes in irssi-proxy
- Fixed /HILIGHT -actcolor -mask (Bug 131)
- Recognise a param of signal_emit/continue in perl script if it's int
- Fixed bug 120 where proxy doesn't set the server_rec->away_reason
- Fixed /join -invite -window bug if there is no invite
- Fixed bug with time settings where hours actually returned 60*hours
- Fix multiple entries for local IP in /etc/hosts prevents connecting,
patch by eridius (Bug 167)
- Fixed a bug with /me, use the right arguments for
"message irc own_action"
- Update our own nickrec->gone flag on /away <reason> or on /away
- Fixed output of /hilight (add a space after -levels if any)
- Add libtool's -module flag to get built properly on all platforms,
by Toby Peterson (Bug 212)
- Don't apply emphasis on _foo_^ if it's a nick (Bug 52)
- Fix displaying of ctcp userinfo and clientinfo (Bug 222)
- Remember alternate_nick and max_whois on reconnect (Bug 181)
- Fix tr_TR locale problem for glib2 (still a bug with glib1.2)
by David Pashley
- Fixed pasting not using the character translation (Bug 151)
- Fixed a bug where the channel list to join/rejoin on reconnect
gets too long, not all channels will be joined. (Bug 108)
- Print glib errors nicely, by David Pashley
- Handle ^Z better, by David Pashley
- Fixed /eval recursion crashing, by David Pashley
- Fix notify with more nicks than max_whois_in_cmd (Bug 257),
based on patch by Krzysztof Kowalik (Borys)
- Fixed irssiproxy sometimes missing (parts of) lines
- Fixed remote /WHOWAS
- Parse negative time setting values, makes it possible again to do
/SET server_reconnect_time -1 to disable reconnecting
- Compile with gcc4
- Compile with readonly srcdir
- Fixed crash if receiving broken privmsg without source
(which bitlbee can send if you msg yourself)
- Fixed crash with invalid TERM and termcap
- When looking up IP addresses, return random IP instead of the first one
v0.8.9 2003-12-11 Timo Sirainen <>
* Fixes a remote crash with:
a) non-x86 hardware (one requiring memory alignmentation)
b) script using "gui print text" signal (with x86 hardware too)
+ /SET auto_whowas OFF allows now disabling automatic /whowas when
/whois doesn't find a nick (by Borys)
- If pasted line starts with command char, treat it as command always.
Paste detection can go on too easily with lagged connections.
v0.8.8 2003-11-23 Timo Sirainen <>
- Just a few fixes to converting old settings automatically
v0.8.7 2003-11-23 Timo Sirainen <>
* Settings changes - we have now "time", "size" and "level" setting
- Level settings should work the same as before.
- Time settings can have units: days, hours, mins, secs,
milliseconds (or msecs). The units can be combined and written
in shorter form as well, for example "5d 30m 10ms"
- Size settings can have units: gbytes, mbytes, kbytes, bytes.
They can be written in shorter form as well, eg. "gb" or "g".
Your existing settings should be converted automatically.
+ Pasting detection. All keys except CR and LF are pasted as-is into
prompt in pasting mode.
/SET paste_detect_time controls how closely each others characters
must occur for it to be considered pasting. Paste mode goes on when
first pasted CR/LF is found.
The first line may also contain some command characters. They are
executed, but their action in entry line is reverted once pasting
is detected.
What this means in practise is that even if you have TABs (assuming
TAB is completion key) in the first pasted line, they get pasted as
This detection isn't perfect, so if it annoys you it can be disabled
with /SET paste_detect_time 0
+ If pasting more lines than /SET paste_verify_line_count, irssi asks
if you actually want to do that. This should be useful to prevent
accidental copy&paste mistakes. Setting it to 0 disables this
+ Support for sending SSL certificate to server and optionally verify
server's certificate. See the -ssl_* options for /SERVER and
/SERVER ADD. Patch by Joel Eriksson.
+ DCC SERVER support by Mark Trumbull
+ Support for DCC sending larger files than 2GB if supported by
operating system (ie. 64bit file support). Receiving has always
been possible, but the statistics were wrong with >4GB files
if 64bit support isn't enabled.
+ Better displaying of DCC file transfer statistics.
- Several other minor fixes and enhancements, see ChangeLog
v0.8.6 2002-11-17 Timo Sirainen <>
* Tons of changes, here's only the largest that come to my mind now:
+ SSL support by
+ DCC send queues by Heikki Orsila
+ Better support for !channels
v0.8.4 2002-03-13 Timo Sirainen <>
* Continuing to fix my stupid mistakes...
- When a queried nick did a nick change, it might have crashed irssi
- read ChangeLog for some other minor changes
v0.8.3 2002-03-13 Timo Sirainen <>
- Perl scripts handling channel parts/kicks/quits printed some
- Connecting to IPv6 servers without IPv4 record didn't work
- When queries were auto-created by you using /MSG and you had
/SET autoclose_query non-zero, the query was always destroyed
almost immediately.
- Fix to some stupid ircds not sending us 001 numeric, but
beginning from MOTD
v0.8.2 2002-03-11 Timo Sirainen <>
* Changed the list of scripts distributed with irssi. Separated
example scripts to scripts/examples/ directory.
* Hated infobar was removed, the same info is now in topicbar in
empty windows. I don't think it would disturb anyone in there.
If you still preferred always-empty topicbars, use
/SBAR topic REMOVE topic_empty
+ Added info_eol field to theme. If true, timestamp and server tag
are added to end of line, not at beginning.
+ If -4 or -6 option is used with /SERVER, irssi now forces the
connection using the given protocol or fails.
+ /SET max_wildcard_modes (default 6) - if a wildcard to /OP, /DEOP,
/VOICE or /DEVOICE matches more nicks than this, -yes option is
required. This is trying to prevent accidental massops. Setting
it to 0 disables this check.
+ Supports now correctly servers which use '.' char as channel owner
character in /NAMES list. Also supports multiple mode chars, eg.
@+nick (if some server actually used it).
+ Never ignore kick message if you get kicked from channel.
+ Sending irssi SIGHUP now does a /RELOAD - useful if you
accidentally messed up something which doesn't let you do the
/RELOAD inside irssi (eg. /SBAR prompt DISABLE).
+ irssi-proxy: PROXY CTCP ON|OFF - proxy clients can send this
command to specify that they want to handle the received CTCP
requests. Useful for specifying who gets to handle DCCs.
+ Added escape_char /BIND command. The next char after that would be
added as-is to input line.
- Writing lines longers than 1024 chars to input buffer crashed
irssi (stupid missing sizeof() bug :)
- Some UTF-8 fixes
- Better flood protection for lines with >100 chars
- Control characters aren't printed as-is in topicbar (or statusbars
in general) anymore
- /OPER can be now aborted by giving empty password
- Netjoin messages were buggy in +channels
- Part message parameter for /CYCLE was never used.
- Don't send -autosendcmd after /UPGRADE.
- /SET autoclose_query - now only last received private message
affects when the query is closed, ie. /WHOIS requests or nick
changes don't reset the counter.
- Foreground ANSI colors weren't working
- Deleting one character replaced cutbuffer with that character.
Also ^Y leaked memory.
- /SCRIPT LOAD looked scripts from prefix/lib dir, not prefix/share
where they were actually installed.
- Highascii chars in replaces block in theme files could have
crashed irssi.
v0.8.1 2002-02-17 Timo Sirainen <>
* 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 <>
* 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 (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 <>
* 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 <>
+ /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
- 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 <>
- fixed stupid remote crash with nick_match_msg()
v0.7.98 2001-02-22 Timo Sirainen <>
* 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.
/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 <>
* 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
+ /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
+ /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
+ /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
+ /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 <>
* 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
- 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 <>
* 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
+ 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
- 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 <>
* 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 <> 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
- 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 <>
+ 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 <>
* Some changes:
/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
- 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 <>
+ 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
+ /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 <>
* 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
+ 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
-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 -except *!* 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_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 <>
+ 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 [ | -<days ago>] hh:mi[:ss]
/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 <>
* 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
+ 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 <>
- Space (and maybe other keys) didn't work when caps/numlock was on.
v0.7.25 2000-02-19 Timo Sirainen <>
+ /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 <> [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
+ /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
- 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 <> [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 <> [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:*!*@* hilights people from 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 <> [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 <> [unstable]
* I just started #irssi in 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 <> [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
- 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 <> [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
+ 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 does the same as /connect
+ 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 <> [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 <> [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
- Removed a Gdk-Critical warning when opening themes dialog without
- 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 <> [unstable]
+ Irssi text widget! (replaces zvt)
- supports proportional fonts
- 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 <> [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
- 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 <> [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 <> [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
+ "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 *!*
+ /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
+ 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 <> [unstable]
!!! My E-mail changed to, 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 <>
+ 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
- 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 <> [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
- /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 <> [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 <> - 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
+ 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@*
- Host - *!*
- Domain - *!*@*
- Custom [nick] [user] [host] [domain]
eg. /bantype custom nick domain - nick!*@*
eg. /bantype custom user host - *!
+ /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
- Matching irc masks (nick!host@address) was case-sensitive..
v0.7.12 1999-07-06 Timo Sirainen <> [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
- 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
+ /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 <> [unstable]
* Because of the color system changes, remove the [colors]
section from irssi's configuration file or you will get some weird
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
+ 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 <> [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 <> [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 <> [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!*@*, altnick!*@*
+ "your nick is owned by blah (" 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 <> [unstable]
+ speech plugin :) This is currently made to work with 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
- 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, could be fixed somehow but too difficult for me..
- Joining to +k channel crashed
v0.7.6 1999-03-29 Timo Sirainen <> [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 (
+ 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
- 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 <> [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 <> [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 <>
+ Window/find moves the scrollbar to position where you can
actually see the found text (usually, find prev misses it
- 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 <> [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
+ 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
v0.7.2 1999-03-10 Timo Sirainen <> [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 <> [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.
/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
You can use these levels, ALL is set by default:
+ 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
- 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 <> [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
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 <> [unstable]
+ Plugins! See plugins/* and src/plugin-commands.h for more
+ 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 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
- 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 <>
+ 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.
- 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 <>
+ 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 <> [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 <> [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
- 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
- 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 <>
+ 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 <> [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 <> [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 <> [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
- 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 <>
* 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, 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
+ If you get kicked from channel the channel window won't get
- Query was in op submenu in nicklist's popup menu .. whops.
- 0.3.0 broke server tag generation so using multiple servers didn't
v0.3.0 1999-01-18 Timo Sirainen <>
* 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
+ 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 <>
+ 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 <>
+ 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 <>
* First release
Jump to Line
Something went wrong with that request. Please try again.