Skip to content

Releases: weechat/weechat

v3.1

07 Mar 11:17
Compare
Choose a tag to compare

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

https://weechat.org/download/weechat/3.1/

v3.0.1

31 Jan 09:43
Compare
Choose a tag to compare

Bug fixes

  • exec: fix search of command by identifier
  • spell: fix refresh of bar item "spell_suggest" when the input becomes empty (issue #1586)
  • spell: fix crash with IRC color codes in command line (issue #1589)

Download

https://weechat.org/download/weechat/3.0.1/

v3.0

11 Nov 08:37
Compare
Choose a tag to compare

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

https://weechat.org/download/weechat/3.0/

v2.9

18 Jul 12:34
Compare
Choose a tag to compare

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

https://weechat.org/download/weechat/2.9/

v2.8

29 Mar 08:06
Compare
Choose a tag to compare

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

https://weechat.org/download/weechat/2.8/

v2.7.1

20 Feb 21:34
Compare
Choose a tag to compare

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

https://weechat.org/download/weechat/2.7.1/

v2.7

08 Dec 09:28
Compare
Choose a tag to compare

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

https://weechat.org/download/weechat/2.7/

v2.6

08 Sep 06:38
Compare
Choose a tag to compare

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

https://weechat.org/download/weechat/2.6/

v2.5

06 Jun 19:18
Compare
Choose a tag to compare

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

https://weechat.org/download/weechat/2.5/

v2.4

17 Feb 07:57
Compare
Choose a tag to compare

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)

Download

https://weechat.org/download/weechat/2.4/