Irssi 0.8.13 Released

Irssi 0.8.13 has been released and no, this is not an April fool’s joke.

Check out irssi.org for more information and remember to read the NEWS and ChangeLog files.

New 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, /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 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 less-than 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.
  • 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.

Article published on April 1, 2009. Tagged in Free Software, and Irssi. If you would like to contact me with comments about this article, please write me an email.