Releases: weechat/weechat
Releases · weechat/weechat
v3.1
New features
- core: add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch (issue #992, issue #993)
- core: add option sec.crypt.passphrase_command to read passphrase from an external program on startup, remove option sec.crypt.passphrase_file (issue #141)
- core: improve debug in command /eval: display more verbose debug with two "-d", add indentation and colors
- core: add options "setvar" and "delvar" in command /buffer, rename option "localvar" to "listvar"
- core: add buffer local variable "completion_default_template" (evaluated) to override the value of option "weechat.completion.default_template" (issue #1600)
- core: add option "recreate" in command /filter
- core: add raw string in evaluation of expressions with "raw:xxx" (issue #1611)
- core: add evaluation of conditions in evaluation of expressions with "eval_cond:xxx" (issue #1582)
- api: add info_hashtable "secured_data"
- irc: add info "irc_is_message_ignored"
- irc: add server option "default_chantypes", used when the server does not send them in message 005 (issue #1610)
- trigger: add variable "${tg_trigger_name}" in command trigger evaluated strings (issue #1580)
Bug fixes
- core: fix quoted line in cursor mode (issue #1602)
- core: fix wrong size of the new window after vertical split (issue #1612)
- core: do not remove quotes in arguments of command /eval as they can be part of the evaluated expression/condition (issue #1601)
- core: display an error when the buffer is not found with command /command -buffer
- buflist: add option buflist.look.use_items to speed up display of buflist (issue #1613)
- irc: add bar item "irc_nick_prefix"
- irc: fix separator between nick and host in bar item "irc_nick_host"
- irc: fix completion of commands /halfop and /dehalfop
Documentation
- do not build weechat-headless man page if headless binary is disabled (issue #1607)
Download
v3.0.1
v3.0
New features
- api: add optional list of colors in infos "nick_color" and "nick_color_name" (issue #1565)
- api: add argument "bytes" in function string_dyn_concat
- api: add function string_color_code_size (issue #1547)
- exec: add option "-oerr" to send stderr to buffer (now disabled by default) (issue #1566)
- fset: add option fset.look.auto_refresh (issue #1553)
- irc: add pointer to irc_nick in focus of bar item "buffer_nicklist" (issue #1535, issue #1538)
- irc: allow to send text on buffers with commands /allchan, /allpv and /allserv
- irc: evaluate command executed by commands /allchan, /allpv and /allserv (issue #1536)
- script: add option script.scripts.download_enabled (issue #1548)
- trigger: add variable "tg_argc" in data set by command trigger (issue #1576)
- trigger: add variable "tg_trigger_name" in data set by all triggers (issue #1567, issue #1568)
Bug fixes
- core: set "notify_level" to 3 if there is a highlight in the line (issue #1529)
- core: do not add line with highlight and tag "notify_none" to hotlist (issue #1529)
- irc: remove SASL timeout message displayed by error after successful SASL authentication (issue #1515)
- irc: send all channels in a single JOIN command when reconnecting to the server (issue #1551)
- script: do not automatically download list of scripts on startup if the file is too old (issue #1548)
- spell: properly skip WeeChat and IRC color codes when checking words in input (issue #1547)
- trigger: fix recursive calls to triggers using regex (issue #1546)
- trigger: add
${tg_tags} !!- ,notify_none,
in conditions of default trigger "beep" (issue #1529)
Tests
- core: add tests on GUI line functions
Build
- core: disable debug by default in autotools build
- tests: fix compilation with CppUTest ≥ 4.0
Download
v2.9
New features
- core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732)
- core: add Alacritty title escape sequence support (issue #1517)
- core: display notify level for current buffer with command /buffer notify (issue #1505)
- core: count only visible nicks in bar item "buffer_nicklist_count", add bar items "buffer_nicklist_count_groups" and "buffer_nicklist_count_all" (issue #1506)
- core: set default size for input bar to 0 (automatic) (issue #1498)
- core: add default key Alt+Enter to insert a newline (issue #1498)
- core: add flag "input_multiline" in buffer (issue #984, issue #1063)
- core: add a scalable WeeChat logo (SVG) (issue #1454, issue #1456)
- core: add base 16/32/64 encoding/decoding in evaluation of expressions with "base_encode:base,xxx" and "base_decode:base,xxx"
- core: add case sensitive wildcard matching comparison operator (
==*
and!!*
) and case sensitive/insensitive include comparison operators (==-
,!!-
,=-
,!-
) in evaluation of expressions - core: add default key Alt+Shift+N to toggle nicklist bar
- core: add command line option "--stdout" in weechat-headless binary to log to stdout rather than ~/.weechat/weechat.log (issue #1475, issue #1477)
- core: reload configuration files on SIGHUP (issue #1476)
- api: add pointer "_bar_window" in hashtable sent to hook focus callback (issue #1450)
- api: add info_hashtable "focus_info" (issue #1245, issue #1257)
- api: rename function hook_completion_get_string to completion_get_string and hook_completion_list_add to completion_list_add
- api: add functions completion_new, completion_search and completion_free
- api: add hdata "completion_word"
- buflist: add default key Alt+Shift+B to toggle buflist
- buflist: add options enable/disable/toggle in command /buflist
- buflist: evaluate option buflist.look.sort so that sort can be customized for each of the three buflist bar items (issue #1465)
- irc: add support of UTF8MAPPING (issue #1528)
- irc: display account messages in buffers (issue #1250)
- python: add WeeChat sharedir python directory to PYTHONPATH (issue #1537)
- relay: increase default limits for IRC backlog options
- relay: add command "handshake" in weechat relay protocol and nonce to prevent replay attacks, add options relay.network.password_hash_algo, relay.network.password_hash_iterations, relay.network.nonce_size (issue #1474)
- relay: add command "completion" in weechat relay protocol to perform a completion on a string at a given position (issue #1484)
- relay: add option relay.network.auth_timeout
- relay: update default colors for client status
- relay: add status "waiting_auth" in irc and weechat protocols (issue #1358)
- trigger: evaluate arguments of command when the trigger is created (issue #1472)
Bug fixes
- core: fix command /window scroll_beyond_end when buffer has fewer lines than chat height (issue #1509)
- core: force buffer property "time_for_each_line" to 0 for buffers with free content (issue #1485)
- core: don't collapse consecutive newlines in lines displayed before the first buffer is created
- core: don't remove consecutive newlines when pasting text (issue #1500)
- core: don't collapse consecutive newlines in bar content (issue #1500)
- core: fix WEECHAT_SHAREDIR with CMake build (issue #1461)
- core: fix memory leak in calculation of expression on FreeBSD (issue #1469)
- core: fix resize of a bar when its size is 0 (automatic) (issue #1470)
- api: fix use of pointer after free in function key_unbind
- api: replace plugin and buffer name by buffer pointer in argument "modifier_data" sent to weechat_print modifier callback (issue #42)
- buflist: add "window" pointer in bar item evaluation only if it's not NULL (if bar type is "window")
- exec: fix use of same task id for different tasks (issue #1491)
- fifo: fix errors when writing in the FIFO pipe (issue #713)
- guile: enable again /guile eval (issue #1514)
- irc: use new default chantypes "#&" when the server does not send it
- irc: add support of optional server in info "irc_is_nick", fix check of nick using UTF8MAPPING isupport value (issue #1528)
- irc: fix add of ignore with flags in regex, display full ignore mask in list of ignores (issue #1518)
- irc: do not remove spaces at the end of users messages received (issue #1513)
- irc: fix realname delimiter color in WHO/WHOX response (issue #1497)
- irc: reuse a buffer with wrong type "channel" when a private message is received (issue #869)
- python: fix crash when invalid UTF-8 string is in a WeeChat hashtable converted to a Python dict (issue #1463)
- relay: add missing field "notify_level" in message "_buffer_line_added" (issue #1529)
- relay: fix slow send of data to clients when SSL is enabled
- trigger: only return trigger's return code when condition evaluates to true (issue #592)
- trigger: fix truncated trigger command with commands /trigger input|output|recreate
- trigger: do not hide values of options with /set command in cmd_pass trigger
Documentation
- add includes directory
- merge 53 auto-generated files into 11 files
- fix broken literal blocks in Japanese docs with Firefox (issue #1466)
Tests
- core: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
- core: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
- core: run tests on plugins only if the plugins are enabled and compiled
- irc: add tests on IRC color and channel functions
Build
- javascript: disable build by default and remove Debian packaging of JavaScript plugin (issue #360)
- core: make GnuTLS a required dependency
- core: fix build with CMake 3.17.0
- core: fix build with cygport on Cygwin
Download
v2.8
New features
- core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
- core: add debug option "-d" in command /eval (issue #1434)
- api: add functions crypto_hash and crypto_hash_pbkdf2
- api: add info "auto_connect" (issue #1453)
- api: add info "weechat_headless" (issue #1433)
- buflist: add pointer "window" in bar item evaluation
- irc: add support of fake servers (no I/O, for testing purposes)
- relay: accept hash of password in init command of weechat protocol with option "password_hash" (PBKDF2, SHA256, SHA512)
- relay: reject client with weechat protocol if password or totp is received in init command but not set in WeeChat (issue #1435)
Bug fixes
- core: fix memory leak in completion
- core: flush stdout/stderr before forking in hook_process function (issue #1441)
- core: fix evaluation of condition with nested "if" (issue #1434)
- irc: split AUTHENTICATE message in 400-byte chunks (issue #1459)
- irc: copy temporary server flag in command /server copy
- irc: add nick changes in the hotlist (except self nick change)
- irc: case-insensitive comparison on incoming CTCP command, force upper case on CTCP replies (issue #1439)
- irc: fix memory leak when the channel topic is changed
- logger: fix crash when logging is disabled on a buffer and the log file was deleted in the meanwhile, when option logger.file.info_lines is on (issue #1444)
- php: fix crash when loading script with PHP 7.4 (issue #1452)
- relay: update buffers synchronization when buffers are renamed (issue #1428)
- script: fix memory leak in read of script repository file if it has invalid content
- script: fix unexpected display of scripts list in buffer with command /script list -i
- xfer: send signal "xfer_ended" after the received file has been renamed (issue #1438)
Tests
- scripts: fix generation of test scripts with Python 3.8
- unit: add tests on IRC protocol functions and callbacks
- unit: add tests on function secure_derive_key
- unit: add tests on functions util_get_time_diff and util_file_get_content
Build
- core: fix Cygwin build
- guile: add detection of Guile 3.0.0 (issue #1442)
- irc: fix build with GnuTLS < 3.1.0 (issue #1431)
- php: add detection of PHP 7.4
- ruby: add detection of Ruby 2.7 (issue #1455)
Download
v2.7.1
Bug fixes
- irc: fix crash when receiving a malformed message 352 (who)
- irc: fix crash when a new message 005 is received with longer nick prefixes
- irc: fix crash when receiving a malformed message 324 (channel mode) (CVE-2020-8955)
Download
v2.7
New features
- core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635)
- core: add different icons sizes (16x16 to 512x512) (issue #1347)
- core: add file weechat.desktop
- core: add reverse of string for screen in evaluation of expressions with "revscr:"
- core: add length of string (number of chars and on screen) in evaluation of expressions with "length:xxx" and "lengthscr:xxx"
- core: add calculation of expression in evaluation of expressions with "calc:xxx" (issue #997)
- core: add optional default path (evaluated) in completion "filename"
- core: add support of modifiers in evaluation of expressions with "modifier:name,data,string"
- api: add modifier "color_encode_ansi" (issue #528)
- api: add modifier "eval_path_home"
- irc: add filters on raw buffer (issue #1000)
- irc: add option irc.look.display_pv_warning_address to display a warning in private buffer if the remote nick address has changed (issue #892)
- irc: add server option "ssl_password" (issue #115, issue #1416)
- irc: add "user" in output of irc_message_parse (issue #136)
- irc: add options irc.color.message_kick and irc.color.reason_kick (issue #683, issue #684)
- logger: add option logger.file.color_lines (issue #528, issue #621)
- script: add options "-ol" and "-il" in command "/script list" to send translated string with list of scripts loaded, display "No scripts loaded" if no scripts are loaded
- xfer: add option xfer.file.download_temporary_suffix with default value ".part" (issue #1237)
Bug fixes
- core: set buffer name, short name and title only if the value has changed
- core: fix scrolling up in bare mode when switched to bare mode at the top of the buffer (issue #899, issue #978)
- core: optimize load of configuration files
- core: fix window separators not respecting window splits (issue #630)
- core: fix cursor mode info when prefix_align is none and with words split across lines (issue #610, issue #617, issue #619)
- core: add support of reverse video in ANSI color codes
- core: fixed segfault during excessive evaluation in function string_repeat (issue #1400)
- buflist: fix extra spaces between buffers when conditions are used to hide buffers (regression introduced in version 2.6) (issue #1403)
- irc: do not automatically open a channel with name "0" (issue #1429)
- irc: remove option irc.network.channel_encode, add server option "charset_message" to control which part of the IRC message is decoded/encoded to the target charset (issue #832)
- irc: use path from option xfer.file.upload_path to complete filename in command "/dcc send" (issue #60)
- logger: fix write in log file if it has been deleted or renamed (issue #123)
- python: send "bytes" instead of "str" to callbacks in Python 3 when the string is not UTF-8 valid (issue #1389)
- relay: send message "_buffer_title_changed" to clients only when the title is changed
- xfer: fix memory leak when a xfer is freed and when the plugin is unloaded
Tests
- unit: add tests on GUI color functions
Build
- core: fix build on Haiku (issue #1420)
- core: fix build on Alpine
- core: remove file FindTCL.cmake
- core: display an error on missing dependency in CMake (issue #916, issue #956)
- debian: disable Javascript plugin on Debian Sid and Ubuntu Eoan
- debian: build with Guile 2.2
- guile: add support of Guile 2.2, disable /guile eval (issue #1098)
- python: add detection of Python 3.8
Download
v2.6
New features
- core: add support of 32767 color pairs (issue #1343, issue #1345)
- core: add option "close" in command /window (issue #853)
- api: add infos "term_colors" and "term_color_pairs"
- api: add function list_user_data (issue #666)
- api: add argument "strip_items" in function string_split
- buflist: add infolist "buflist" with list of buffer pointers (issue #1375)
- exec: evaluate option exec.command.shell, change default value to "${env:SHELL}" (issue #1356)
- fset: add filters "h=xxx" and "he=xxx" to filter options by description (translated or in English)
- irc: make command char optional in server option "command" (issue #615)
- irc: add variables "user_max_length" and "host_max_length" in server structure (issue #1387)
Bug fixes
- core: use fixed-width integer for computing nick and hashtable DJB2 key hashes, add values "djb2_32" and "sum_32" for option weechat.look.nick_color_hash (issue #1394)
- core: create or update option weechat.notify.xxx when function buffer_set is called with "notify" property (issue #1390)
- core: fix memory leak in case of error when building content of bar item for display (issue #1384)
- core: send command line parameter to plugins only if the name starts with the plugin name followed by a colon
- core: auto disable upgrade process (command line option "--upgrade") if the file weechat.upgrade is not found
- core: replace newlines by spaces in argument "completion" of function hook_command (issue #538)
- core: replace char "," by "~" in color codes to separate foreground from background (issue #1264)
- alias: remove default aliases /AME and /AMSG (issue #1355)
- buflist: use extra variables in option buflist.look.display_conditions (issue #1393)
- irc: fix parsing of messages 346 (invite list), 348 (exception list), 367 (ban list) and 728 (quiet list) when there is a colon before the timestamp (issue #1396)
- irc: fix memory leak when removing a server
- irc: fix length of user/nick/host in split of messages (issue #1387)
- irc: quote NICK command argument sent to the server only if there's a ":" in the nick (issue #1376, issue #1319)
- irc: return all arguments in the PONG response to a PING (issue #1369)
- irc: disable server reconnection when the server buffer is closed (issue #236)
- irc: strip spaces at beginning/end of addresses in server option "addresses" (issue #195)
- irc: fix display of enabled/disabled client capabilities received in command CAP ACK (issue #151)
- ruby: fix conversion of big integers on 32bit architecture (issue #1395)
Tests
- unit: add tests on IRC ignore, message and nick functions
Build
- core: fix compilation with autotools on FreeBSD 12.0
- debian: disable Javascript plugin on Debian Buster/Bullseye (issue #1374)
- python: compile with Python 3 by default
- python: use pkg-config to detect Python (issue #1382)
Download
v2.5
New features
- core: use getopt to parse command line arguments
- core: add option weechat.look.prefix_same_nick_middle (issue #930, issue #931)
- core: add option weechat.look.buffer_time_same (issue #1127)
- core: use seconds by default in /repeat interval, allow unit for the interval
- core: allow text in addition to a command in command /repeat
- core: add option "addreplace" in command /filter (issue #1055, issue #1312)
- api: return allocated string in hook_info callback and function info_get
- api: replace argument "keep_eol" by "flags" in function string_split (issue #1322)
- api: add function command_options (issue #928)
- api: add function string_match_list
- irc: add bar items "irc_nick", "irc_host" and "irc_nick_host"
- irc: add variable "host" in server structure
- relay: add support of UNIX socket (issue #733, issue #1333)
- relay: add option relay.weechat.commands (issue #928)
- script: use SHA-512 instead of MD5 for script checksum
- spell: rename aspell plugin to spell (issue #1299)
- trigger: add hooks "info" and "info_hashtable"
- xfer: rename option xfer.network.speed_limit to xfer.network.speed_limit_send, add option xfer.network.speed_limit_recv (issue #269)
Bug fixes
- core: don't execute command scheduled by /repeat and /wait if the buffer does not exist any more
- core: set max length to 4096 for /secure passphrase (issue #1323)
- core: refilter only affected buffers on filter change (issue #1309, issue #1311)
- fset: fix slow refresh of fset buffer during /reload (issue #1313)
- irc: fix parsing of MODE command when there are colons after the first mode argument (issue #1296)
- irc: fix memory leak in infos "irc_server_isupport" and "irc_server_isupport_value"
- irc: fix length of string for SHA-512, SHA-256 and SHA-1 in help on ssl_fingerprint option
- irc: display an error with /allchan -current or /allpv -current if the current buffer is not an irc buffer (issue #1325)
- irc: fix update of channels modes with arguments when joining a channel (issue #1324)
- irc: quote NICK command argument sent to the server (issue #1319)
- php: fix memory leak in functions string_eval_expression, string_eval_path_home, key_bind, hook_process_hashtable, hook_hsignal_send, info_get_hashtable, hdata_update
- relay: fix crash when a weechat relay client reloads the relay plugin with /plugin reload relay (issue #1327)
- spell: fix detection of nick followed by the nick completer (issue #1306, issue #1307)
- trigger: fix split of hook arguments (issue #1322)
Tests
- unit: add tests on function util_signal_search
Build
- core: fix value of libdir in file weechat.pc (issue #1341, issue #1342)
- core: fix generation of man page weechat-headless with autotools
- core: add CMake option "ENABLE_CODE_COVERAGE" to compile with code coverage options (CMake ≥ 3.0 is now required)
- core: fix compilation on Mac OS (issue #1308)
- lua: add detection of Lua 5.3 with autotools
- ruby: add detection of Ruby 2.6 (issue #1346)
- tests: fix compilation of tests on FreeBSD
Download
v2.4
New features
- core: do not automatically add a space when completing "nick:" at the beginning of command line (the space can be added in option weechat.completion.nick_completer)
- core: add default keys Ctrl+F11/Ctrl+F12 to scroll up/down one page in nicklist (same action as F11/F12)
- core: add command line option "-t" (or "--temp-dir") to create a temporary WeeChat home (deleted on exit)
- api: add functions string_base_encode and string_base_decode, remove functions string_encode_base64 and string_decode_base64
- api: add support of Time-based One-Time Password (TOTP), add infos "totp_generate" and "totp_validate"
- buflist: add default keys Ctrl+F1/Ctrl+F2 to scroll up/down one page in buflist (same action as F1/F2)
- buflist: add variable ${number2}, always set with the indented buffer number
- exec: add option exec.command.shell to customize the shell used with /exec -sh
- relay: add support of close frame in websocket connection (issue #1281)
- relay: add support of Time-based One-Time Password (TOTP) as second authentication factor in weechat protocol
Bug fixes
- core: fix compilation of empty regular expression (not allowed on FreeBSD)
- core: fix forced highlight on messages sent to other buffers (issue #1277)
- aspell: look for suggestions only if the misspelled word has changed (issue #1175)
- buflist: add alternate key codes for F1/F2 and Alt+F1/Alt+F] (compatibility with terminals)
- buflist: fix warning displayed when script buffers.pl is loaded (issue #1274)
- irc: fix parsing of whois messages in notify
- irc: fix parsing of MODE, 341 (invite) and CHGHOST commands when there are colons (issue #1296)
- irc: return IRC color code instead of WeeChat color code when decoding a too short ANSI color sequence
- irc: fix encoding of italic attribute when colors are removed
- irc: fix parsing of "time" message tag on FreeBSD (issue #1289)
- relay: fix crash on /upgrade when the real IP is not set (issue #1294)
- relay: fix memory leak in connection of client
Tests
- unit: fix UTF-8 and evaluation tests on FreeBSD
- unit: add tests on IRC configuration and protocol functions
Build
- core: add C compiler flag "-fsigned--char" to force "char" data type to be always signed (issue #1277)