Features:
* 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).
Bugfixes:
* Change some characters illegal in Windows filenames to underscores in logs
* 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).
Features:
* 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.
Bugfixes:
* 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).
Also contains security fix for CVE-2009-1959 (patch-ab).
Based on patch provided by Leonardo Taccari in PR 41785.
ChangeLog for 0.8.13
Features:
* 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 TextBufferView::remove_line.
* 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, /KICBAN, /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%_%_,
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 sb_search.pl, a script for /SCROLLBACK SEARCH
Bugfixes:
* 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 buf.pl.
* Add a set of patches to re-introduce irssi-config which was removed in this
release. We need this file for chat/irssi-icb to work. An upstream bug
has been opened about this.
http://bugs.irssi.org/?do=details&task_id=537&histring=icb
From the CHANGELOG:
Rewrite SSL connection/handshake code.
Remove support for glib 1.x.
Do not send our hostname to the server (bug #488).
Improve completion for /SET.
Various improvements to the help files.
Make alt/meta+arrow keys work in recent versions of xterm (bug #496)
Fix DCC get when file size is 0 (bug #494).
Fix logging lines with no target to all logs, broken in 0.8.11.
v0.8.11 2007-04-25 The Irssi team <staff@irssi.org>
+ 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 irc.efnet.net to irc.efnet.org
+ /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
as well as quite a number of bug fixes.
- Recode support
- Isupport (005 numeric)
- Passive DCC support.
- Many memleak fixes.
- Network specific ignoring.
- Updated internal error handling.
- Complete 64bit support.
- Revised default aliases.
- Updated paste detection and settings.
- Tons of bugfixes.
- Other changes
The 'pre-install' hack from the pr is no longer needed after a fix from
jlam. Don't delete the patch-ae, which was removed in the pr.
Recode support won't work at the moment on NetBSD.
Bump the version for irssi-icb, due too the upgrade of irssi.
v0.8.9 2003-12-11 Timo Sirainen <tss@iki.fi>
* 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.
used and others were added where needed.
Main NetBSD changes:
- switched from glib1 to glib2.
- added IRSSI_USE_SSL, defaulting to YES, for ssl server support
- make it possible to disable IPv6
v0.8.8 2003-11-23 Timo Sirainen <tss@iki.fi>
- Just a few fixes to converting old settings automatically
v0.8.7 2003-11-23 Timo Sirainen <tss@iki.fi>
* Settings changes - we have now "time", "size" and "level" setting
types.
- 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
TABs.
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
entirely.
+ 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
* Tons of changes, here's only the largest that come to my mind now:
+ SSL support by vjt at users.sf.net
+ DCC send queues by Heikki Orsila
+ Better support for !channels
The new Makefile.common will be used by Irssi plugins.
Approved by wiz.
the only change in the distfile is some 'configure' hackery
Distfile will be updated ftp.netbsd.org as well
Fixes pkg/16395 by Paul Dokas <dokas@cs.umn.edu>
Patch sent in by Otto Hilska <mutru@cc.hut.fi> in private mail.
Changes:
v0.8.4 2002-03-13 Timo Sirainen <tss@iki.fi>
* 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 <tss@iki.fi>
- Perl scripts handling channel parts/kicks/quits printed some
errors.
- 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 <tss@iki.fi>
* 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.
Patch submitted by Otto Hilska <mutru@cc.hut.fi> in private mail.
Changes:
v0.8.1 2002-02-17 Timo Sirainen <tss@iki.fi>
* Expected bugfix release :) Worst thing was that I forgot always to
debug why /cat /dev/urandom crashed irssi. Well, found two ways
that could make it happen.
- Irssi was linked with -lcurses AND -lncurses
- Logging could have produced GLib errors with certain conditions
- A few compiler warnings fixes
v0.8.0 2002-02-17 Timo Sirainen <tss@iki.fi>
* I really should make releases more often. Once in every two weeks
used to be nice. Maybe once in a month would be good now. There
was many reasons why this release took this long .. first being
addicted to books, then life stuff, then it took forever to figure
out that irssi was crashing under solaris (and not because of one
of the big changes I made while moving to IRC from solaris box).
And now.. well, after this release I'll start working more with
the yet another irssi rewrite :) The code is getting too ugly
again, and some things need rewriting to support some new features
more easily. It will take a while to get it all done, so I'll try
to keep updating this "stable" irssi as well.
There's too many changes since 0.7.98.3 (and .4 which was just
minor bugfix), about 6600 lines in ChangeLog. I'm not going to
read all that, so I'll just list the biggest changes that I can
remember now.
This version was supposed to be called 0.7.99, but since there
were so many changes, and I originally though of putting 0.8.0
out long time ago, and 0.7.100 would look stupid, I guess it's
time for 0.8.0 :)
+ /UPGRADE - upgrade irssi to new version on-the-fly without
disconnecting from server, so other people won't even notice you
quit from IRC. This ONLY executes the new binary, it does NOT
download/compile/whatever irssi.
+ UTF-8 support with /SET term_type UTF-8, default is "8bit".
It's also automatically detected from system locale (if supported).
+ Fully configurable statusbar. Yes. FULLY. Don't bother asking if
something could be done with it, it can, just ask how. Well,
there's a few things I didn't have time/energy to finish:
window-specific statusbar groups and support for multiple input
lines in screen.
+ Rewritten keyboard handling. No more the CTRL-X and ALT-x handling,
now you can create whatever keyboard combinations your terminal
can send to irssi.
+ Rewritten text buffer (scrollback) handling.
+ Irssi doesn't depend on curses anymore, so it can be installed
anywhere a working terminfo/termcap exists. This also allows us to
use all the possible colors terminal has (curses limits to 64), so
eg. %0 is now always black background, not the default terminal
background (%n).
Several systems have also terminfo/termcap database that doesn't
support colors, so I've added /SET term_force_colors option to
force ANSI-style colors. Note that eg. BitchX does this by default.
Getting rid of curses allows also one great thing for you people
copy&pasting long urls :) If a long word gets split to two lines,
doubleclicking the word selects it from both lines.
+ Rewritten server event redirections. Before it was pretty easy to
mess up irssi's expectations of what server sends, and some things
might have stayd in the buffer forever. Especially notify lists
messed up /WHOIS requests for the notified people. Now all this
should be history and it's a lot easier for scripts to use the
redirections as well.
+ New ICB chat protocol plugin - very basic and doesn't support
nicklist, but works. :)
+ --home and --config parameters to specify alternate ~/.irssi
directory or config file.
+ Scripts can be unloaded separately with /SCRIPT UNLOAD. You can get
a list of runnning scripts with /SCRIPT.
+ /SERVER PURGE [<target>] - purge the output buffer (for given
target). Useful for example if you accidentally paste 100 lines :)
The buffer is automatically purged if you get kicked from channel,
or if you /PART the channel and there's more than 10 lines in
output buffer.
differently than suggested.
Don't let package look in LOCALBASE for curses (especially if
USE_BUILDLINK_ONLY is set, and ncurses buildlink.mk is already included...).