Releases: irssi/irssi
Releases · irssi/irssi
1.2.0
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
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
1.0.7
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
Warning. Irssi is broken and will crash with OpenSSL < 1.0.2 due to openssl/openssl@5b4b9ce
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
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
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
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
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
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).