Irssi Versions Save

The client of the future

1.4.5

7 months ago

Note. Apply perl-again.patch when building Irssi with Perl 5.37 or later. Otherwise Irssi's locale/unicode handling may break due to a bug in Perl. See Perl/perl5#21366. The fix given in #1498 was unfortunately not sufficient.

Fixes

  • Fix Perl scripts broken by Perl 5.38 (scripts.irssi.org#851, #1474). With input from Leon Timmermans
  • Document workaround to fix linker errors when building with meson on Apple (#1435, #1492)
  • Fix meson using wrong filenames on Apple, leading to broken Perl support (#1483, #1493)
  • Fix /upgrade not accepting ~ (#1460, #1462). By Lukas Mai
  • Improve compatibility with Perl5-IDEA (#1465, #1467). By Charlie Daffern
  • Fix logic in how own actions are printed for other protocols (codeberg!5, #1471). By Andrej Kacian
  • Fix crash on old PowerPC Mac (#1482, #1484)
  • Fix wrong prototype of library function used in terminal handling (#1495). By Emil Engler
  • Minor cleanups (#1488, #1497). Includes work by Emil Engler
  • Minor help and documentation fixes (#1458, #1494, #1477, #1478). Includes work by KindOne

1.4.4

1 year ago

Note. Apply perl-ntype.patch when building Irssi with Perl 5.37 or later. Otherwise some script functions will be broken due to a change in Perl's ExtUtils::ParseXS. See #1474

Changes

Additions

  • Levels can now be inverted using ^ prefix in the /WINDOW (HIDE)LEVEL commands (#1428)
  • Support receiving monospace (#1370, #1442). By Linus Heckemann

Fixes

  • Fix config broken by /WINDOW LOGFILE without parameter (#1392, #1432)
  • Fix broken /LASTLOG -window switch (#1418, #1424, regression introduced in #1398)
  • Fix logic in how actions are printed for other protocols (codeberg!3, #1454). By Andrej Kacian
  • Fix stale special collector use after free (#1456). Reported by ednash
  • Help and message fixes (#1421, #1429, #1431, #1434, #1438, #1452, #1453, #1455). Includes work by Jimmie Tyrrell and Sven Grewe

1.4.3

1 year ago

Fixes

1.4.2

1 year ago

Changes

  • Add irssimoduledir to irssi-1.pc in the Meson build (#1383, #1378)

Fixes

  • Use -isystem includes, limiting warnings to Irssi code. Fixes compilation with Perl 5.36 (#1381, gentoo#851522, #1384)
  • Fix missing lines when changing dynamic textbuffer contents (#1382, #1387). Reported by externalserver15
  • Fix Perl cross compilation with Meson 0.60.0 (#1377)
  • Fix default channel prefix used for /JOIN to default to # (#1385, #1388)
  • Fix crash in /LASTLOG by getting line texts before printing (#1367, #1398)

1.4.1

1 year ago

Note: botti no longer compiles; get in touch if you use it

Changes

  • Format the output of /QUOTE HELP (#1371, an#82). By Val Lorentz. Add /SHELP as default alias (an#83)

  • /SET resolve_reverse_lookup setting was removed (#1034, #1135)

  • Irssi will try to connect on IPv4 if IPv6 connection failed (#1146). By Shivaram Lingamneni

  • The display system now renders formats on the fly (#1079, #1188, #1191, #1192, #1204, #1205, #1209, #1349, #1355, an#13, an#14, an#28, an#29, an#36, an#37, an#49)

    This major change will break scripts that try to modify printed text during "print text" signal (#1189). They need to be ported to modify the text during "print format" instead. It also breaks the usage of using /FORMAT to add different colours to a line. Such usage needs to be ported to using $expando variables instead. Affected scripts include format_identify.pl, friends_peder.pl, nickcolor.pl, nm.pl, people.pl

    The "gui print text finished" and "gui print text after finished" signals gained a TEXT_DEST_REC *parameter in the process.

    A new "gui render line text" signal is available to change the rendering of a line

  • made the $Z expando (time) dynamic (#1087, #1207, #1208)

    This change breaks the usage of /SET timestamp_format to supply a custom displayed time stamp. Affected scripts include binary_time.pl

  • /HILIGHT -priority now affects which hilight rule gets applied (#1228, #1232)

  • The NAMES list is now hidden by default if there are more than 18 users on the channel (an#7)

    To revert to the previous behaviour

    /SET show_names_on_join_limit -1
    
  • -tls_verify is now enabled by default (#1170, an#18, #1309, an#23, #1343, #1351)

    This may cause an ugly display of notls_verify in the output of /SERVER LIST, even on plain-text connection, on old configs. Kindly remove the "tls_verify = "no";" entries from your config file manually.

  • Irssi will now attempt STARTTLS if advertised (#1170, #1312, an#19)

    Use -disallow_starttls if you absolutely do not want this

    In order to check for a STARTTLS advertisement, Irssi will now wait for a response (even an error) to CAP LS 302. If your bouncer/server does not want to communicate before receiving USER/PASS at all, use -nocap to disable the CAP check.

  • Channel sync requests (WHO, MODE) are now sent "later" than user commands. This should improve responsiveness to user commands in the autojoin phase (an#26, an#32, an#33)

  • Irssi is now using full paths in #include directives and consequently does not add all directories to the include path anymore (#1040)

  • The Build System was ported to Meson (#1064, #1065, #1068, #1071, #1072, #1073, #1074, #1075, #1084, #1085, #1118, #1166, #1223, #1224, #1245, #1313, #1314, an#31)

  • Scriptassist was changed to use a YAML database (#1163)

    It will tell you when you need to update your setting

  • /BIND shows all partial matches (#1155)

  • Cleanup of unused functions (#1017, #1132, #1145, #1182, #1246, #1264)

    Functions removed:

    NET_CALLBACK
    NET_HOST_CALLBACK
    RESOLVED_NAME_REC
    net_gethostbyaddr_nonblock
    net_connect_nonblock
    [ SIMPLE_THREAD_REC, simple_init, simple_readpipe ]
    hash_save_key
    

    Functions deprecated:

    dec2octal
    g_timeval_cmp
    get_timeval_diff
    

    Function names corrected:

    g_input -> i_input
    g_istr -> i_istr
    g_io_channel -> i_io_channel
    g_hash_free_value -> i_hash_free_value
    remove g_free_true
    gslist -> i_slist
    glog_func -> i_log_func
    glist -> i_list
    

    If multi-version compatibility is desired, module authors can find an example of backwards compatible code in cdidier/irssi-xmpp#55

Additions

  • GLib log message filter: /SET glib_log_domains (an#50, an#59). By Andrej Kacian

  • An option to clear the cutbuffer: /SET empty_kill_clears_cutbuffer (an#58). By Mikael Magnusson

  • Scriptable pastebin (an#60, an#88)

  • Configurable actlist separator: /SET actlist_separator (#1364, an#61)

  • Add MSGLEVEL_HIDDEN to Perl (#1044)

  • Add $view->set_hidden_level and $view->remove_lines_by_level to Perl (#1026)

  • Add a /SET scrollback_max_age setting (#1022). By Heikki Orsila

  • Add /SET actlist_prefer_window_name (#1025)

  • Add -window option to /CAT (#1023, #1159)

  • Add an option to list specific sections with

    /SET -section lookandfeel
    

    (#1048)

  • Add support for IRCv3 CAP LS 302 (#1091)

  • Add a new "print noformat" signal that goes together with "print format" (#1088, #1192)

  • Add support for IRCv3 extended-join. /SET show_extended_join to enable (#1097, #1107, #1124)

    There are two new /FORMATs, join_extended and join_extended_account, that theme writers need to take into account if desired.

  • Add support for IRCv3 setname (#1093, #1104, #1254, GL#33)

  • Add support for IRCv3 account-notify (#1100, #1098, GL#33, #1105, #1131). Credit to oss-fuzz /SET show_account_notify to enable

  • Add support for IRCv3 invite-notify (#1094)

  • Add support for receiving IRCv3 message-tags (#576, #1090)

  • Add support for sending IRCv3 message-tags (#1092, an#34)

  • Enable the znc.in/self-message CAP by default (#1123)

  • Add support for IRCv3 away-notify. /SET away_notify_public to enable (#1099, GL#33, #1105)

  • Add support for IRCv3 chghost (#1096, GL#33, #1105)

    For servers with broken chghost implementation that fill the status window with host changed messages, one may add "quote cap req -chghost" to the -autosendcmd or, if the host change messages are entirely undesired, "/format -delete host_changed"

  • Add support for IRCv3 server-time. /SET show_server_time to enable (#1108)

  • Add support for logging IRCv3 server-time. /SET log_server_time to disable (#1318, an#16)

  • Add IRCv3 features to signals.txt (#1111)

    In particular, "message join" now takes 2 additional arguments, script and module authors must beware of this change.

  • Show the unignore time in /IGNORE output (#1158, #1161)

  • Add /SET quit_on_hup to make the behaviour of SIGHUP configurable (#828, #1169). By Pinguin1234

  • Support numeric 489 as ERR_SECUREONLYCHAN (#1193, #1196). By Michael Hansen

  • Improve support for building Irssi in Termux-Android with Meson (#1199)

  • Add usermode key to Irssi::Irc::Chatnet in Perl (#1288). By Jessica Sophie Porter

  • Add format_string_expand and format_string_unexpand functions to Perl (#1286)

  • Add ...->format_create_dest(...)->printformat("format", args...) and ...->printformat_module("module", "format", args...) methods to Perl (#1284)

    You can avoid any CORE::GLOBAL::caller hacks using the printformat_module method, especially sind that hack was not safe during signal emissions

  • Add tracking of user accounts in the channel nicklist using WHOX on join (#1250)

  • Add auto-loading of the Perl and otr module from /SET autoload_modules (#1295)

  • Add /IGNORE ... NOHILIGHT to ignore some hilights (#1260)

  • Do not beep on hidden lines with /SET beep_msg_level ... -HIDDEN (#1259)

  • Added /CS, /MS, /NS, and /OS aliases to the default config (#1316). By Mathis Beer

  • Allow -tls_ca{file,path} '' to unset an argument (#730, #1060, an#30)

  • Add a "server outgoing modify" signal to intercept outgoing messages (#1148, #1151, an#15, an#43). Original by JustAnotherArchivist

Fixes

  • Fix window left/right not skipping visible windows (an#57). By Mikael Magnusson

  • Fix wrong printf-format on OpenBSD (an#66, an#68). Reported by Aaron Bieber

  • Fix erroneous output produced by autoload_modules (an#72)

  • Fix scroll_page_count setting with . (#1365, an#76)

  • Fix memory leak in /IGNORE (#1373, an#84). Found by Jookia

  • Misc fixes (an#45, an#67, an#70, #1368, an#77)

  • CHANTYPES take precedence over (missing) STATUSMSG in /join (#1358, an#54)

  • Fix crash in Perl's $view->set_bookmark (freebsd#254237, an#56)

  • Minor help fixes (an#51, an#52)

  • Fix regression where own channel status was forgotten after /UPGRADE (#1357, an#53)

  • remove some hard-coded 510 byte assumptions (#1086)

  • Several fixes for error checks in SSL (#944, #1037, #943, #1036). Reported by Chi Li

  • Wrong variable tested in mask_match (#902, #1035)

  • Fix bug where irssi-proxy with ?-port would not reconnect (#1041)

  • Allow shrinking of /SET rawlog_lines (#957, #1020). By Marcus "Teschi" Prinz

  • Fix /WINDOW BALANCE warning (#1054)

  • fix overflow when first command history entry expires (#1070)

  • begin modularising IRC module (#1067, #1112, #1113)

  • fix some memory leaks in /DCC RESUME and settings_add (#1077). By Zero King

  • fix cut-off text with theme_indent module and /SET indent_always OFF (#1078)

  • fix the cap_queue order (#1095)

  • add reference counted strings (#1089)

  • Fix irc_op_public messages not triggering hilights (#354, #891, #1129). By Dan Collins

  • Fix /IGNORE not setting the right level in irc_op_public messages (#1280). Credit to oss-fuzz

  • Fix GTimeVal deprecation (#1141, #1144, #1145, #1350, an#44)

    If multi-version compatibility is desired, module authors can find an example of backwards compatible code in cdidier/irssi-xmpp#53

  • Fix /IGNORE ... MODES NO_ACT not working (#1164)

  • Deprecated -ssl* options are hidden from tab completion (#1171)

  • Make /SET actlist_sort a choice type (#1198)

  • Fix crash from self-unloading script (#1206). By Thomas Stagner

  • Fix crash during Perl signal emission (#1233, #1234)

  • Fix a case where empty lines or comments inside channels or servers in the config would confuse Irssi (#1062, #1242, #1243)

  • Fix reported freezing in DCC GET on slow disks (#159, #1271)

  • Fix message-tags parsing (#1274, #1275). Credit to oss-fuzz

  • Fail redirects when receiving numeric 263 (RPL_TRYAGAIN) in response to /WHO (#1283)

  • Some updates to .gitignore (#1302). By Rene Kita

  • Fix build on operating systems with X/Open Curses, version 2 (#1305, #1308). By Nia Alarie (Regression introduced with #1290, alternative fix for Irssi 1.2.3 no-term.h.patch)

  • Fix otr module not using g_strndup, e.g. on Solaris 10 (#1315). By Claes Nästén

  • Fix cursor getting stuck for auto completions that changes case (#1176, #1322, an#8). By ffrogman

  • Restore operation of tag/* in /SET activity_hide_targets (#1337, an#11) nb. the ::all syntax was working in Irssi 1.1 and 1.2 (and continues to work)

  • Fix /SERVER ADD -matrix -network my_matrix_network (an#12). By Andrej Kacian

  • Fix /SERVER ADD creating duplicated entries in the config file (#1317, an#22, an#41)

  • Fix critical when SASL user is set and SASL password is empty (#1325, an#21)

  • Misc fixes (#1106, #1141, #1272, #1297, an#35)

  • Fuzz fixes (#1116, #1117, #1119, #1125, #1126, an#20)

  • Build system fixes (#1101, #1102, #1069, #1140, #1181, #1253)

  • Sync docs and scripts (an#39)

  • Text and Help updates

    • add -tls_* options to manual (#1029, #1030). By Jacob V. Rasmussen
    • missing targets in /MSG (#1032)
    • wrong parameter in /ECHO (#1024)
    • Spelling in OTR (#1047). By David Gall
    • Clarify statusbar priority (#1049). By Marius Gedminas
    • Document get_irssi_dir in Perl (#1051, #1052). By Alex Shafer
    • typo in /HILIGHT help (#1081). By DFrostByte
    • improved clarity of your_nick_owned (#1138). By Mike Quin
    • Update some URLs to https (#1163)
    • Add documentation for escaping some characters (#1329, #1330, an#9). By Guntbert Reiter
    • Fix some typos (#1336, an#10). By Francis Mteo
    • Document $abiversion and parse_special (an#38). By bw1
  • Infrastructure updates:

    • Support for Github Actions (#1039, #1103, #1160, #1212, #1231, #1252, #1261, an#40)
    • Run clang-format on pull requests (#1172, #1173, #1184, #1230, #1247, #1287)
    • Run abidiff on pull requests (#1179, #1195)
    • Test CI-Fuzz (#1279, #1304, an#17)

1.2.3

3 years ago

Note. Apply no-term.h.patch on NetBSD and other systems using libcurses. This regression is introduced by trying to fix rendering on Apple ARM. See #1305

Fixes

  • Fix the compilation of utf8proc (#1021)
  • Fix wrong call to free. By Zero King (#1076)
  • Fix a colour reset in true colour themes when encountering mIRC colours (#1059)
  • Fix memory leak on malformed CAP requests (#1120)
  • Fix an erroneous free of SASL data. Credit to Oss-Fuzz (#1128, #1130)
  • Re-set the TLS flag when reconnecting (#1027, #1134)
  • Fix the scrollback getting stuck after /clear (#1115, #1136)
  • Fix the input of Ctrl+C as the first character (#1153, #1154)
  • Fix crash on quit during unloading of modules on certain platforms (#1167)
  • Fix Irssi freezing input after Ctrl+Space on GLib >2.62 (#1180, #1183)
  • Fix layout of IDCHANs. By Lauri Tirkkonen (#1197)
  • Fix crash when server got reconnected before it was properly connected (#1210, #1211)
  • Fix multiple identical active caps (#1249)
  • Minor help corrections (#1156, #1213, #1214, #1255)
  • Remove erroneous colour in the colorless theme. Reported and fixed by Nutchanon Wetchasit (#1220, #1221)
  • Fix invalid bounds calculation when editing the text entry. Found and fixed by Sergey Valentey (#1269)
  • Fix passing of negative size in buffer writes. Found and fixed by Sergey Valentey (#1270)
  • Fix Irssi freezing on slow hardware and fast DCC transfers (#159, #1271)
  • Fix compilation on Solaris (#1291)
  • Fix null pointer dereference when receiving broken JOIN record. Credit to Oss-Fuzz (#1292)
  • Fix crash on /connect to some sockets (#1239, #1298)
  • Fix Irssi rendering on Apple ARM. By Misty De Méo (#1267, #1268, #1290)
  • Fix crash on /lastlog with broken lines (#1281, #1299)
  • Fix memory leak when receiving bogus SASL authentication data. Found and fixed by Sergey Valentey (#1293)

1.2.2

4 years ago

Note. Apply glib-2-63.patch if you intend to use Irssi on GLib >2.62 in order to fix #1180

Fixes

  • Fix a use after free issue when receiving IRCv3 CAP information from the server (GL#34)
  • Fix a crash during startup when windows weren't fully initialised yet (#1114, bdo#935813)

1.2.1

4 years ago

Contains all changes from 1.1.3

Fixes

  • Fix a test on big endian machines (#1014)
  • Fix the compile time conditionality of wcwidth implementation (#1019, gentoo#677804, #720)
  • Fix /save no longer working on old Solaris (pre POSIX.1-2008) (#1042, #1043)
  • Fix regression of #764 where display of 8-bit (legacy encoding) in the input prompt was broken (#1018, #1057). Initial patch by Артём Курашов

1.1.3

4 years ago

Contains all changes from 1.0.8

Fixes

  • Fix regression of #779 where autolog_ignore_targets would not matching itemless windows anymore (#1012, #1013)

1.0.8

4 years ago

Fixes

  • Fix a use after free issue when sending the SASL login on (automatic and manual) reconnects (#1055, #1058). Reported by ilbelkyr