Releases: weechat/weechat
Releases · weechat/weechat
v2.3
New features
- core: add repeat of string in evaluation of expressions with "repeat:count,string" (issue #958)
- core: allow specifying buffer number/name for /buffer localvar (issue #1259)
- core: allow multiple arguments in command /buffer close
- core: allow multiple options "-r" ("--run-command") in command line arguments (issue #1248)
- core: add option "-P" (or "--plugins") to customize the plugins to load at startup
- core: allow partial buffer name in command /buffer close (issue #1226)
- api: add function hook_line
- irc: display a warning when the value of option irc.server.xxx.autojoin is set to an invalid value
- relay: add real IP in client description (issue #1256)
- trigger: allow creation of temporary variables with the regex
- trigger: add hook "line"
Bug fixes
- core: fix evaluation of nested ternary operators (issue #1263)
- core: fix evaluation of condition when the left operand is an empty string
- core: fix string evaluation with regex replacement when the string is empty
- core: fix check of tags in lines (command /filter and hook_print)
- core: fix clear of completion item in case of partial completion (issue #1162)
- core: send signal "key_pressed" for mouse code only if the string is UTF-8 valid (issue #1220)
- api: fix memory leak in function string_split
- lua: fix return code of mkdir functions in case of error (issue #1267)
- scripts: fix duplicated lines in output of script eval (python, perl, ruby, lua and guile)
Tests
- unit: add tests on line and hook functions
Build
- php: add detection of PHP 7.3
Download
v2.2
New features
- core: change default value of option weechat.look.hotlist_add_conditions to check connected relay clients via weechat protocol (issue #1206)
- core: add reverse of string in evaluation of expressions with "rev:" (issue #1200)
- core: send buffer pointer (when possible) in signal "hotlist_changed" (issue #1133)
- core: add support of list options in curl (issue #826, issue #219)
- core: allow merge of buffers by name in command /buffer (issue #1108, issue #1159)
- api: add function hashtable_add_from_infolist()
- api: add function string_format_size in scripting API
- irc: add nick, host and log tags in message displayed in private buffer when the nick comes back on the server (issue #1221)
- irc: add support for IRCv3.2 chghost, add options irc.look.smart_filter_chghost and irc.color.message_chghost (issue #640)
- irc: add support for IRCv3.2 invite-notify (issue #639)
- irc: add support for IRCv3.2 Client Capability Negotiation (issue #586, issue #623)
- irc: display current nick on connected servers in output of /server list|listfull (issue #1193)
- irc: add option "-server" in command /list (issue #1165)
- irc: add indexed ban list, add completion for /unban and /unquiet (issue #597, task #11374, task #10876)
- relay: add filtering on protocol in info "relay_client_count"
- trigger: hide password in command "/msg nickserv set password"
- xfer: add option xfer.network.send_ack (issue #1171)
Bug fixes
- core: fix TLS handshake failure on server connection when there are multiple addresses in the server (issue #1196)
- core: count number of chars instead of bytes for suffix in function string_cut
- core: fix delete of previous/next word (keys Ctrl+w and Alt+d) (issue #1195)
- core: fix infinite loop in evaluation of strings (issue #1183)
- core: change default value of option weechat.look.window_title from "WeeChat ${info:version}" to empty string (issue #1182)
- buflist: fix crash when setting the option buflist.look.signals_refresh with a list of signals
- fset: fix memory leak when switching the format with Ctrl+x
- fset: fix truncation of option values when the length is greater than 4096 (issue #1218)
- fset: fix crash when applying filters after closing the fset buffer (issue #1204)
- irc: display message 354 (WHOX) received with missing parameters (issue #1212)
- irc: always set nick away status on WHO response (sent manually or automatically with server option "away_check")
- irc: fix a crash when calling the function hdata_string on the "prefix" variable in the nick
- irc: fix split of messages when server option "split_msg_max_length" is set to 0 (no split) (issue #1173)
- irc: send whole IRC message including IRCv3 tags in the signals irc_in, irc_in2, irc_raw_in and irc_raw_in2 (issue #787)
- irc: fix memory leak when receiving a message with IRCv3 tags
- guile: fix memory leak in 7 functions returning allocated strings
- lua: fix macros used to return values
- php: fix return code of functions config_write_option and config_write_line
- php: fix memory leak in 72 functions returning allocated strings
- python: fix crash when loading a script with Python >= 3.7 (issue #1219)
- relay: fix socket creation for relay server on OpenBSD (issue #1213)
- ruby: fix memory leak in 7 functions returning allocated strings
- script: fix memory leak in case of invalid XML content in list of scripts
- scripts: fix memory leak in hook_info callback
- scripts: fix return value of hook_infolist callback (pointer instead of string)
- scripts: return long integer instead of string in function infolist_time
- xfer: set option TCP_NODELAY on socket when receiving a file via DCC (issue #1171)
Documentation
- core: split man pages weechat and weechat-headless
Tests
- unit, scripts: add tests on infolists
Build
- core: fix build with CMake and Ninja
- debian: add package weechat-headless with the headless binary and its man page
- javascript: fix compilation of javascript plugin with autotools on some Linux distributions (issue #1208)
- python: add detection of Python 3.7
Download
v2.1
New features
- core: add binary weechat-headless to run WeeChat without interface, with optional daemon mode (command line option "--daemon") (issue #1120)
- core: add options "-newbuffer", "-free" and "-switch" in command /print (issue #1113)
- core: add option "-y" in command /print, add support of buffers with free content
- core: add option "add" in command /buffer (issue #1113)
- core: add option weechat.completion.partial_completion_templates to force partial completion on specific templates
- api: add hashtable with variables in plugin structure
- api: add time in info "date" (WeeChat compilation date/time) (issue #1138)
- irc: add server option "split_msg_max_length"
- irc: allow ${irc_server.xxx} and ${server} in server evaluated options (issue #1144)
- logger: add option logger.file.fsync (issue #1145)
- logger: add option logger.look.backlog_conditions (issue #1132)
- script: change default value of option script.look.sort from "p,n" to "i,p,n"
- scripts: add configuration file for each script plugin (python.conf, perl.conf, ...)
- scripts: add "eval" option in script commands and info "xxx_eval" (python, perl, ruby, lua and guile) (issue #128)
- scripts: add infos "xxx_interpreter" and "xxx_version" in script plugins (issue #1075)
- scripts: add option "version" in script commands (issue #1075)
- scripts: display the script name in stdout/stderr output from scripts
Bug fixes
- core: fix regression on execution of hook_print callbacks (introduced in version 2.0)
Build
- ruby: add detection of Ruby 2.5 (issue #1122)
Download
v2.0.1
Bug fixes
- python: fix arguments status/gnutls_rc/sock in hook_connect() callback
- python: fix argument fd in hook_fd() callback
Download
v2.0
New features
- core: add flag "input_get_empty" in buffer
- core: add signals "buffer_filters_enabled" and "buffer_filters_disabled"
- core: support loading of plugins from path in environment variable "WEECHAT_EXTRA_LIBDIR" (issue #971, issue #979)
- core: make value optional in command /buffer set (issue #746, issue #1088)
- core: allow floating point and hexadecimal numbers in comparison of evaluated values
- core: add option weechat.look.save_config_with_fsync (issue #1083)
- api: add support of prefix "quiet:" in function key_unbind() to quietly remove keys
- api: add argument "recurse_subdirs" in function exec_on_files()
- alias: add infolist "alias_default" (list of default aliases)
- buflist: add two new bar items ("buflist2" and "buflist3") using the same format configuration options (issue #990)
- buflist: add option buflist.look.add_newline (issue #1027)
- fset: new plugin "fset" (fast set of WeeChat and plugins options)
- php: new plugin "php" (issue #909)
- script: add local variable "filter" in the script buffer (issue #1037)
Bug fixes
- core: do not change the chat prefix size when a filtered line is added (issue #1092)
- core: fix display of nicks in nicklist when they are in a group with sub-groups (issue #1079)
- core, plugins: check return code of strftime function
- core: fix cast of time_t (to "long long" instead of "long") (issue #1051)
- core: call the config hook when options are renamed or removed
- api: change type of arguments status/gnutls_rc/sock in hook_connect() callback from string to integer (in scripts)
- api: change type of argument fd in hook_fd() callback from string to integer (in scripts)
- buflist: remove recursive evaluation of extra variables (issue #1060)
- guile: return integer (0/1) instead of boolean in API functions
- guile: fix return value of static strings in API functions
- irc: do not clear nicklist when joining an already joined channel if the option irc.look.buffer_open_before_join is on (issue #1081)
- irc: fix CTCP PING reply when the option irc.ctcp.ping is set to non-empty value
- lua: fix boolean return value (as integer) in API functions
- relay: fix parsing of CAP command without arguments in irc protocol, send ACK only if all capabilities received are OK and NAK otherwise (issue #1040)
Tests
- scripts: add scripting API tests (issue #104)
- unit: display an error if the required locale en_US.UTF-8 is not installed
Build
- core: fix build with ncurses and separate tinfo (bug #41245, issue #1090)
- javascript: fix detection of libv8 with autotools on Ubuntu Trusty
Download
v1.9.1
Bug fixes
- buflist: fix crash in auto-scroll of bar when the buflist item is not the first item in the bar
- logger: call strftime before replacing buffer local variables (CVE-2017-14727)
- relay: fix send of "PART" command in backlog (irc protocol)
Download
v1.9
New features
- core: improve speed of nicklist bar item callback
- core: allow index for hdata arrays in evaluation of expressions
- api: allow update of variables "scroll_x" and "scroll_y" in bar_window with function hdata_update
- api: add functions config_option_get_string() and hdata_compare()
- buflist: add option buflist.look.auto_scroll (issue #332)
- buflist: add keys F1/F2, Alt+F1/Alt+F2 to scroll the buflist bar
- buflist: display a warning when the script "buffers.pl" is loaded
- buflist: add support of char "~" in option buflist.look.sort for case insensitive comparison
- buflist: add variable
${format_name}
in bar item evaluation and option buflist.format.name (issue #1020) - buflist: add variables
${current_buffer}
and${merged}
(booleans "0" / "1") in bar item evaluation - relay: add option "start" in command /relay
- trigger: add "irc_server" and "irc_channel" pointers in data for IRC signal/modifier hooks
Bug fixes
- core: fix bind of keys with space key, like Alt+Space (bug #32133)
- core: fix infinite loop when the terminal is closed on the secure password prompt (issue #1010)
- buflist: fix long mouse gestures
- buflist: fix slow switch of buffer when there are a lot of buffers opened (issue #998)
- buflist: add option "bar" in command /buflist, do not automatically add the "buflist" bar when the option buflist.look.enabled is off (issue #994)
- buflist: fix crash on drag & drop of buffers
- irc: don't reset nick properties (prefixes/away/account/realname) on /names when the nick already exists (issue #1019)
- irc: fix memory leak in case of error in "ecdsa-nist256p-challenge" SASL mechanism
- relay: rebind on address after option relay.network.bind_address is changed
- relay: fix parsing of CAP command arguments in irc protocol (issue #995)
Download
v1.8
New features
- core: add option weechat.completion.nick_case_sensitive (issue #981)
- core: add wilcard matching operator (
+=*+
and+!*+
) in evaluation of expressions (issue #611) - core: add cut of string in evaluation of expressions with "cut:" (number of chars) and "cutscr:" (number of chars displayed on screen)
- core: add ternary operator (condition) in evaluation of expressions (
${if:condition?value_if_true:value_if_false}
) - core: add resize of window parents with /window resize [h/v]size (task #11461, issue #893)
- core: add hotlist pointer in buffer structure
- core: add last start date in output of command /version after at least one /upgrade (issue #903)
- api: add arraylist functions: arraylist_new(), arraylist_size(), arraylist_get(), arraylist_search(), arraylist_insert(), arraylist_add(), arraylist_remove(), arraylist_clear(), arraylist_free()
- api: add dynamic string functions: string_dyn_alloc(), string_dyn_copy(), string_dyn_concat(), string_dyn_free()
- api: add special key "__quiet" in hashtable for function key_bind()
- api: add
${re:#}
to get the index of last group captured in function string_eval_expression() - aspell: add options to control delimiters in suggestions: aspell.color.suggestion_delimiter_{dict|word} and aspell.look.suggestion_delimiter_{dict|word} (issue #940)
- buflist: new plugin "buflist" (bar item with list of buffers)
- irc: add option "open" in command /server (issue #966)
- irc: send signal "irc_server_lag_changed" and store the lag in the server buffer (local variable)
- irc: send multiple masks by message in commands /ban, /unban, /quiet and /unquiet, use ban mask default for nicks in /quiet and /unquiet, display an error if /quiet and /unquiet are not supported by server (issue #579, issue #15, issue #577)
- irc: add option "-include" in commands /allchan, /allpv and /allserv (issue #572)
- irc: don't smart filter modes given to you (issue #530, issue #897)
- script: remove option script.scripts.url_force_https, use HTTPS by default in option script.scripts.url
Bug fixes
- core: fix memory leak in display of mouse event debug info
- core: fix command /cursor stop (do not toggle cursor mode) (issue #964)
- core: fix delayed refresh when the signal SIGWINCH is received (terminal resized), send signal "signal_sigwinch" after refreshes (issue #902)
- irc: fix update of server addresses on reconnection when the evaluated content has changed (issue #925)
- irc: fix crash in case of invalid server reply during SASL authentication with dh-blowfish or dh-aes mechanism
- irc: fix double decoding of IRC colors in messages sent/displayed by commands /msg and /query (issue #943)
- irc: fix parsing of message 324 (modes) when there is a colon before the modes (issue #913)
- relay: check buffer pointer received in "sync" and "desync" commands (weechat protocol) (issue #936)
- relay: remove buffer from synchronized buffers when it is closed (fix memory leak)
Build
- core: fix compilation on FreeBSD with autotools (issue #276)
- python: add detection of Python 3.6
- ruby: add detection of Ruby 2.4 (issue #895)
Download
v1.7.1
v1.7
New features
- core: add option weechat.look.align_multiline_words (issue #411, issue #802)
- core: add optional command prefix in completion templates "commands", "plugins_commands" and "weechat_commands"
- core: add optional arguments in completion template, sent to the callback
- core: add option "time" in command /debug
- core, xfer: display more information on fork errors (issue #573)
- core: add a slash before commands completed in arguments of /command, /debug time, /key bind, /key bindctxt, /mute, /repeat, /wait
- core: add a warning in header of configuration files to not edit by hand (issue #851)
- api: add info "uptime" (WeeChat uptime)
- api: add info "pid" (WeeChat PID) (issue #850)
- alias: add a slash before commands completed in arguments of /alias
- exec: add option "-oc" in command /exec to execute commands in process output, don't execute commands by default with "-o" (issue #877)
- fifo: add file fifo.conf and option fifo.file.path to customize FIFO pipe path/filename (issue #850, issue #122)
- irc: add server option "usermode" (issue #377, issue #820)
- irc: add tag "self_msg" on self messages (issue #840)
- irc: evaluate content of server option "ssl_fingerprint" (issue #858)
- irc: change default value of option irc.network.lag_reconnect from 0 to 300 (issue #818)
- trigger: do not hide email in command "/msg nickserv register password email" (issue #849)
Bug fixes
- core: fix deadlock when quitting after a signal SIGHUP/SIGQUIT/SIGTERM is received (issue #32)
- core: fix display of empty lines in search mode (issue #829)
- api: fix crash in function string_expand_home() when the HOME environment variable is not set (issue #827)
- exec: fix memory leak in display of process output
- irc: fix option "-temp" in command /server (issue #880)
- irc: fix close of server channels which are waiting for the JOIN when the server buffer is closed (issue #873)
- irc: fix buffer switching on manual join for forwarded channels (issue #876)
- irc: add missing tags on CTCP message sent
- lua: fix integers returned in Lua >= 5.3 (issue #834)
- relay: make HTTP headers case-insensitive for WebSocket connections (issue #888)
- relay: set status to "authentication failed" and close immediately connection in case of authentication failure in weechat and irc protocols (issue #825)
- script: reload a script after upgrade only if it was loaded, set autoload only if the script was auto-loaded (issue #855)
Build
- core, irc, xfer: fix compilation on Mac OS X (add link with resolv) (issue #276)
- core: add build of xz package with make dist (cmake)
- tests: fix compilation of tests on FreeBSD 11.0