Irssi Versions Save

The client of the future

1.2.0

5 years ago

Contains all changes from 1.1.2

Changes

  • Improved the /STATUSBAR commands (#858)
  • /SET no longer shows = between setting and value (#886)
  • /CUBES removed from default config (available as script) (#956)
  • /1 /2 /3 ... removed from default config (available as new setting window_number_commands) (#958)
  • Always redraw the screen on resize. By David Phillips (#896)
  • Private notices intended for channels are now displayed on the channel (new setting notice_channel_context) (#959)

Additions

  • Imported the "Off-the-record" module into Irssi tree (#854, #589, #196)
  • Initial support for sideways split windows (#697, #431, #224, #807, FS#310, #947, #955, #989)
  • Change the implementation of wcwidth. This is used to calculate the width of emojis on your terminal screen (#917, #720)
  • Make the wcwidth functions available from Perl (#973): string_width(str) string_chars_for_width(str, width) wcwidth(char)
  • Added completion_keep_word setting (#979)
  • Allow activity_hide_targets to hide activity in itemless windows (#967, #997, #1001, #1003)
  • Added activity_hide_visible setting (#990)
  • Allow hiding of lines through the /IGNORE system (#901, #900, #892, #890, #884, #937)
  • Add window_default_hidelevel setting. By Doug Freed (#941)
  • Add activity_hide_window_hidelevel setting, defaulting to ON (#938)
  • Add autolog_only_saved_channels setting, to autolog only channels that are in the config (#968)
  • Add format support for the input line. By Ben Paxton, originally by Jonas Hurrelmann (#764, FS#621, #1004) use Irssi::TextUI; gui_input_set_extent(pos, text) gui_input_set_extents(pos, len, left, right) gui_input_clear_extents(pos, len) gui_input_get_extent(pos) gui_input_get_text_and_extents() gui_input_set_text_and_extents(...)
  • Parsing of IRCv3 CAP 3.2 (#775, #869)
  • Show CAP-related events in the user interface (#918, #916, #870, #704)
  • Continue using separators when addressing multiple nicks with tab completion. By Manish Goregaokar (#822)
  • Bind Shift-tab by default. By Niklas Luokkala (#830, #829)
  • Fuzzing more things (#913, #780, #813)

Fixes

  • Disconnect SASL properly in case the SASL module got unloaded from server (#931, #629, #618, #616)
  • Fix backward completion jumping to the first instead of last word (#979)
  • Improve empty topic handling (#961, #905, #911, #897, #888)
  • Prevent config truncation when no space left. By dequis and Lukas Waymann (#922, #925, #910, #909, #906, #871, #817)
  • Also time-out servers in lookup phase (#866, #130)
  • Fix build with LibreSSL 2.7. By Dorian Harmans (#865)
  • Fix a crash when appending to a textbuffer without line. Reported by Jari Matilainen (#862)
  • Fix segfault on sending large messages (#803, #796, #802)
  • Fix segfault on invalid statusbar config (#993, #994)
  • Fix random memory writes on restoring queries of foreign protocols (#999, #1000)
  • Make default keybinds deletable (#859, #507)
  • Fix freeze when resizing Irssi very small (#946)
  • Compare channels case-insensitively, avoiding confusions with the config file (#857, #856)
  • Fix DCC GET on Android. By Martin Staron (#844)
  • Improve rawlog performance (#957)
  • Fix nick escaping erroneously escaping quotes (#978, #974, #709)
  • Protect against theme recursion, improve padding performance, limit alignment padding. Credit to Oss-Fuzz (#835, #851, #850, #846, #848)
  • Fix recursive loop in replaces (#833, GL#23)
  • Fix headers for compilation of C modules (#939)
  • Documentation. By Zero King (#814). (#852)
  • Sync NEWS, docs, scripts (#849, #855)
  • Build system (#868, #867, #985, #988)
  • Fix build on IBM i and AIX. By Calvin Buckley (#975)
  • Misc fixes (#840, #839, #843, #953, #962). Tests (#806, #875, #905, #964, #1011). Fuzzing (#929).

1.1.2

5 years ago

Fixes

  • Fix the resetting of window hiddenlevel (#861)
  • Fix clearing of hidelevel in layout (#951)
  • Fix accessing unallocated text when checking entry position (#928, #930)
  • Fix uninitialised memory on empty lines (#873, GL#31, #878, #877, #907, #914)
  • Fix use-after-free on expiration of hidden lines (#948)
  • Fix use-after-frees. By Maya Rashish (#919)
  • Fix out of bounds access in help display when window width is small (#949)
  • Fix paste_join_multiline (#970, #971)
  • Correctly check for errno when displaying SSL errors. By Janik Rabe (#895)
  • Fix wrong signal emission argument count (#965)
  • Documentation (#920). Sync NEWS, scripts (#849)
  • Fix Perl detection on MacOS. By Dominyk Tiller (#927)
  • Misc fixes. By Jaroslav Škarvada (#981, #982)

1.1.1

6 years ago

Contains all changes from 1.0.7

Fixes

  • Restore compatibility with OpenSSL < 1.0.2 (#820, #831)
  • Fix test compilation on some platforms (#815, #816)
  • Fix portability and backwards compatibility of test runner (#818, #845)

1.0.7

6 years ago

Fixes

  • Prevent use after free error during the execution of some commands. Found by Joseph Bisch (GL#17, GL!24).
  • Revert netsplit print optimisation due to crashes (#465, #809, #812, #819, #824).
  • Fix use after free when SASL messages are received in unexpected order (GL#26, GL!33).
  • Fix null pointer dereference in the tab completion when an empty nick is joined (GL#24, GL!31).
  • Fix use after free when entering oper password (GL#22, GL!32).
  • Fix null pointer dereference when too many windows are opened (GL#27, #837).
  • Fix out of bounds access in theme strings when the last escape is incomplete. Credit to Oss-Fuzz (#842).
  • Fix out of bounds write when using negative counts on window resize (GL#25, GL#29, #836).
  • Minor help correction. By William Jackson (#834).

1.1.0

6 years ago

Warning. Irssi is broken and will crash with OpenSSL < 1.0.2 due to https://github.com/openssl/openssl/commit/5b4b9ce976fce09a7a92e2f25b91a1635cb840fe

Changes

  • Colour is now re-set when reaching a comma, matching mIRC behaviour (#742, #740, #790)
  • Irssi now shows the initial nick and name on first start (#785, #786)
  • lynx is no longer required to run autogen.sh (#81, #781)
  • The command history no longer permits wrapping around (#686)
  • /foreach now correctly sends arguments as commands, stopping you from embarassing AMSGs (#659)
  • /server does not connect to servers anymore, use /server connect to change servers (#559, #649).
  • The net_ip_compare API function is now deprecated, and the previously deprecated net_connect has been removed (#770)

Additions

  • Add an option to ignore all channels or ignore all queries using /set activity_hide_targets. By Jari Matilainen (#612, #779)
  • Add a startup warning if the TERM var is wrong inside tmux/screen (#726)
  • Add option to hide certain levels from the textbuffer using /window hidelevel (#746, #808)
  • Irssi now has its first unit test (for mode parsing). By Will Storey (#793)
  • Added access to global command history when using window history, and a binding to erase entries from the command history (erase_history_entry) (#762)
  • -alternate_nick is now available as a network specific property. By Paul Townsend (#120, #771)
  • On FreeBSD, Irssi now supports Capsicum sandbox (/capsicum enter). By Edward Tomasz Napierala (#735, #755, #772)
  • Filenames (directories) ending with a / now tab-complete (#741)
  • UTF-8 should now work in regular expressions when using GRegex (the default) (#636, #653)
  • Nicks are now properly escaped on completion. By Oscar Linderholm (#693, #709)
  • /server add -port now works. By Jari Matilainen (#703)
  • Add a setting key_timeout to make key sequences automatically re-set when not finished (#644, #645)
  • Warn users about expired client certificates, as servers may refuse them (#211, #627)
  • Add a new net_start_ssl function for StartTLS. This is available from ABI 8 and can be used by protocol modules (#615, #622).
  • The %# code is now stored in the textbuffer, so for example web scripts can make use of it (#626)
  • Add new setting break_wide which can be used to enable breaking of wide characters (for east-asian users). Originally from FreeBSD ports. (#625)
  • Add fuzzing code (#610, #620, #701, #713)

Fixes

  • Netsplits show properly again (#812)
  • Do not error on blank lines when using /exec -o. By Fabian Kurz (FS#902, #805)
  • Detect used nickname as reported by server. By Alexandre Morignot (#219, #804)
  • Prevent use after free error during the execution of some commands. Found by Joseph Bisch. (GL#17, GL!24)
  • Fix MODE parameter parsing when colon was used at a place Irssi didn't expect (#601, #766)
  • Fixed code to compile with -Werror=declaration-after-statement (#795)
  • Clang-format is now supported for git-clang-format (#784)
  • Fix use after free when changing the network of hilights. Reported by Rui Mathias. (#787, #788)
  • Fix positioning error when tab-completing non-ascii strings. (#752, #754)
  • In-development issues (#750, #751)
  • Clarify Alis in /help list (#699, #712)
  • Improve /lastlog performance from O(N^2) to O(N) (#715)
  • Fix a segfault on "script destroyed" signal. By Stephen Oberholtzer (#660, #661).
  • Fix early ISON error (#596, #647)
  • Documentation improvements. By Paolo Martini (#639). By Tristan Pepin (#731). By Paul Townsend (#684, #736). By Will Storey (#777)
  • Minor cleanups (#590). By Edward Tomasz Napierala (#734, #738). By Will Storey (#770)
  • Fix space issue in glib-2.0.m4 (#621)

1.0.6

6 years ago

Note: Code and aliases using $($-like constructs are no longer supported due to issue GL#18. Sorry about the inconvenience.

Bugfixes

  • Fix invalid memory access when reading hilight configuration (#787, #788).
  • Fix null pointer dereference when the channel topic is set without specifying a sender (GL#20, GL!25).
  • Fix return of random memory when using incomplete escape codes (GL#21, GL!26).
  • Fix heap buffer overflow when completing certain strings (GL#19, GL!27).
  • Fix return of random memory when using an incomplete variable argument (GL#18, GL!28).

1.0.5

6 years ago

Bugfixes

  • Fix missing -sasl_method '' in /NETWORK (#718, #719).
  • Fix incorrect restoration of term state when hitting SUSP inside screen (#737, #733).
  • Fix out of bounds read when compressing colour sequences. Found by Hanno Böck (GL#12, GL!18).
  • Fix use after free condition during a race condition when waiting on channel sync during a rejoin (GL#13, GL!19).
  • Fix null pointer dereference when parsing certain malformed CTCP DCC messages (GL#14, GL!20).
  • Fix crash due to null pointer dereference when failing to split messages due to overlong nick or target (GL#15, GL!21).
  • Fix out of bounds read when trying to skip a safe channel ID without verifying that the ID is long enough (GL#16, GL!22).
  • Fix return of random memory when inet_ntop failed (#769).
  • Minor statusbar help update. By Robert Bisewski (#758, #763).

1.0.4

6 years ago

Bugfixes

  • Fix null pointer dereference when parsing invalid timestamp (GL#10, GL!15). Reported by Brian 'geeknik' Carpenter.
  • Fix use-after-free condition when removing nicks from the internal nicklist (GL#11, GL!16). Reported by Brian 'geeknik' Carpenter.
  • Fix incorrect string comparison in DCC file names (#714).
  • Fix regression in Irssi 1.0.3 where it would claim "Invalid time '-1'" (#716, #722).
  • Fix a bug when using \n to separate lines with expand_escapes (#723).
  • Retain screen output on improper exit, to better see any error messages (#287, #721).
  • Minor help update (#729).

1.0.3

7 years ago

Regression info in 1.0.3: #716 Warnings on start up: invalid time '-1'

Bugfixes

  • Fix out of bounds read when scanning expandos (GL!11).
  • Fix invalid memory access with quoted filenames in DCC (GL#8, GL!12).
  • Fix null-pointer dereference on DCC without address (GL#9, GL!13).
  • Improve integer overflow handling. Originally reported by oss-fuzz#525 (#706).
  • Improve nicklist performance from O(N^2) to O(N) (#705).
  • Fix initial screen redraw delay. By Stephen Oberholtzer (#680, bdo#856201).
  • Fix incorrect reset of true colours when resetting background. (#711).
  • Fix missing -notls option in /SERVER. By Jari Matilainen (#117, #702).
  • Fix minor history glitch on overcounter (#462, #685).
  • Improved OpenSSL detection at compile time. By Rodrigo Rebello (#677).
  • Improved NetBSD Terminfo detection. By Maya Rashish (#694, #698).
  • Add missing syntax info for COMPLETION (#687, #688).
  • Minor typo correction in help. By Michael Hansen (#707).

1.0.2

7 years ago

Warning. Irssi is broken on GLib 2.46 (bgo#755496)

Bugfixes

  • Prevent some null-pointer crashes (GL!9).
  • Fix compilation with OpenSSL 1.1.0 (#628, #597).
  • Correct dereferencing of already freed server objects during output of netjoins. Found by APic (GL!10, GL#7).
  • Fix in command arg parser to detect missing arguments in tail place (#652, #651).
  • Fix regression that broke incoming DCC file transfers (#667, #656).
  • Fix issue with escaping \ in evaluated strings (#669, #520).